이전 포스팅에서 스캐닝 파라미터에 대해서 알아봤습니다.

스캐닝의 종류에는 능동스캐닝과 수동스캐닝이 있다고 말씀드렸습니다.

이 아이디어는 어디에나 있는 아이디어입니다. 우리가 옷가게에 갔을경우, 박물관에 갔을경우 요즘엔 자동차들끼리 정보를 교환 한다거나 이런경우에 사용할 수 있습니다. 즉 나와 이웃해있는 노드들을 발견하는 아이디어에 사용되는 것이죠.


1) 수동 스캐닝.

수동스캐닝은 처음 채널에 접속했을 때 패킷을 전송하지 않기 때문에 배터리 전력 소모를 절감할 수 있습니다.

패킷을 전송하지 않는다는 것은 각 채널을 옮기면서 비콘 프레임(광고 메시지)을 기다린다는 말이죠.

광고 수신하면 해당하는 패킷에는 BSS에 대한 정보가 포함되어 있습니다.

그러면 스테이션은 BSS의대한 정보(파라미터)를 추출하여 통신가능한 상태가 됩니다.

즉 수동스캐닝은 특정한 광고 메시지가 들린다면 어느 AP(ㄴㅔ트워크)에 포함되어 있다는것을 알게 되는겁니다.

위의 그림을 보면 클라이언트가 와이파이를 활성화하면 스테이션은 프로브 지연을하게되고, 최소 채널 시간동안 수동 스캐닝을 하게됩니다.

수동 스캐닝동안 AP1 , AP2 , AP3의 비콘메시지를 듣게되는데요. 이 클라이언트는 AP4번의 비콘은 듣지 못합니다. 그렇다는건 4번의 BSS영역에는 포함되어있지 않다는것을 의미합니다.

즉 위의 클라이언트는 AP1,2,3의 영역에 있기 때문에 자신의 위치를 좀 더 정확히 알 수 있게됩니다. 

이건 즉, 어느 특정한 장소에서 와이파이를 켜시면 좀 더 정확한 위치를 측정할 수 있습니다! 라고 종종 보는것과 같은 의미입니다.

GPS는 오차범위가 50미터 이상이지만 AP는 수신 도달거리가 50미터 이하입니다. 또한 각각 AP에 겹치는것은 그만큼 좀 더 정확한 위치를 알 수 있다는것을 의미합니다. 또한 이 정보는, 해당의 클라이언트가 몇층에 있다는것을 알 수도 있는 정보가 되는것이죠!

그래서 우리가 코딩할때도 누가 누구를 찾을지 정하는것이 제일 중요한 문제입니다.


하지만 수동 스캐닝을 하다가 기다려도 AP가 없다면!? 아니면 너무나도 급한 상황이면?!

능동 스캐닝을 이용해야 합니다.(핸드폰에서 블루투스를 키면 바로 능동스캐닝을 시작합니다.)

2) 능동 스캐닝

스테이션(클라이언트)이 스캐닝을 위한 프레임을 전송 하는 것 입니다.

예를들면 각 채널에서 특정 이더넷 네트워크 (iptime , olleh-5G와 같은 SSID)에게 응답을 얻기 위하여 프로브 요청 프레임을 전송합니다. - 이것은 이전에 공부한 간청메시지와 같습니다.

네트워크가 전송하는 것을 듣기 위하여 기다리지 않고, 스테이션이 직접 네트워크를 찾아 내는 형태의 스캐닝입니다.

그럼 능동스캐닝의 절차를 알아보죠!

1. 특정 채널로 옮겨서 다음의 조건을 확인합니다.

 1.1 채널의 프레임이 전송중인지 확인합니다. - > 채널에 프레임이 전송중이라는것은 이 채널에는 나 말고도 다른놈이 존재한다! 라고 인식하면 됩니다. ( AP든 스테이션이든! )

 1.2 채널이 프로브 지연 시간동안 비어있는지 확인해야합니다 -> AP가 있는지 없는지 모르기때문에 바로 프로브 지연 시간동안 대기한 후, 요청을 보내고 바로 다음 네트워크로 이동합니다.


2.능동스캐닝은 기본적인 DCF접근 절차를 이용하여 매체에 접근하여 프로브 요청 메시지를 전송합니다

3.최소 채널 시간동안 대기합니다.

 3.1 프로브요청을 보내고 최소 채널 시간동안 매체가 사용중이지 않ㄷㅏ면 매체가 사용중이지 아니라는것입니다.

 3.2 만약 매체가 최소 채널시간동안 사용중이라면, 최대 채널시간동안 기다리며 모든 프로브 요청 프레임을 처리합니다.

-> 이 경우에서는 능동 스캐닝을 이용하여 "이 주변에 누구 있습니까! "라고 메시지를 보냈는데, 매체는 해당 메시지를 수신했고 답장을 보내고 싶지만 DCF시간동안 기다렸지만, 계속 경쟁에서 진다면 AP가 보내는 응답을 스테이션은 수신하지 못하게 되는거죠. 이 경우에 최대 채널시간동안 기다리게 됩니다.


이 이야기에서 간청 메시지와 광고 메시지와의 차이가 있다면 ㅇㅓ떤것일까요?

스테이션은 간청메시지를 보내게 된다면 광고메시지를 응답으로 보내줍니다.

스캐닝에서는 채널에 접속하면 비콘메세지를 수신하게 되고, 만약 스테이션이 비콘메시지를 수신하지 못한다면 스테이션은 프로브요청을 보내게됩니다. 여기에서 AP는 응답으로 비콘메시지를 보내는것이 아니라 프로브응답을 보내게됩니다.


정리해봅시다.

무선으로 주변에 있는 누군가를 발견한다는것은

1. 스테이션이 채널에 접속할때 프로브 지연시간동안 기다리며, AP는 비콘을 발송해야 합니다.

2. 스테이션은 그 비콘을 듣고 주변에 누가 있는지 알아냅니다.

3. 이걸 기다리지 못한다면 프로브요청(간청 메시지)를 보냅니다.


두 개의 BSS에 의한 다중 프로브 응답 전송 예.

이동 스테이션은 AP1,AP2를 찾기 위하여 프로브요청을 보내게됩니다. 여기에서 응답은 DIFS동안 기다리고 프로브 응답이 날라옵니다. 

->여기에서 프로브 응답은 Atomic(동기)될 수 없습니다. 그 이유는 해당 스테이션이 존재의 유무를 모르기 때문이죠.

프로브 응답이 오기 전에, 최소 채널 시간동안 스테이션은 대기합니다. 최소 채널 시간동안 스테이션은 기다립니다. 이 최소 채널시간동안 기다렸는데 아무런 대답이 없다면 이 채널에는 아무도 존재하지 않는것입니다.

하지만 이 채널시간에 누군가 떠든다면 일반 데이터일 수도 있고 프로브 응답일 수 있습니다. 즉 누군가 떠들었다는것은 해당 채널에 AP든 스테이션이든 누군가 존재한다는 말이 되는거죠. 그럼 누군가 떠들었던 데이터에 대해서 ACK를 전송합니다.

18:32





 


+ Recent posts