2013년 1월 10일 목요일

PC는 주변의 AP들을 어떻게 찾는가? – WLAN scanning


공항이나 커피숖에서 WiFi 서비스를 찾아서 접속하는 일은 이제 초딩도 알아서 하는 일상이 되었다. 밧데리 소모를 감당 못한다느니 하며 몇 PDA나 탑재되던 WLAN이 이제 모든 스맛폰에 들어간지는 벌써 냄새나는 옛날 일이다. PC의 오른쪽 아래 WiFi 아이콘을 클릭하거나 스맛폰의 WLAN 세팅 메뉴를 들어가면 주변에 있는 AP(Access Point)들이 나타나고 이 중 원하는 AP를 클릭해서 접속하면 끝.
Passive Scan
AP들은 일정 간격으로 자신의 정보를 실은 신호를 사방에 보낸다. 이 신호를 엔지니어 용어로 beacon이라고 하며, beacon을 쏘는 주기를 beacon interval이라고 한다. 이들 AP에 접속하려는 PC나 스맛폰 또는 iPad나 태블릿등은 가만히 앉아서 주변의 beacon신호들을 수집해서 AP들을 찾을 수 있는데 이것을 passive scan이라고 한다.
이 beacon에는 AP의 이름(SSID)과 지원하는 주파수 대역등의 정보가 담겨 있다[1].
Active Scan
아 그럼 passive의 반대인 active도 있나? PC나 스맛폰등 AP에 접속하려는 클라이언트(Client)들이 먼저 ‘이 신호를 받은 AP들은 응답해 봐라’라고 신호를 쏘고 이 신호를 받은 AP들이 응답을 기다리는 방법. 이것이 active scan이다. 이 때 클라이언트가 보내는 응답을 요구하는 신호를 probe request라고 하고 AP가 응답하는 신호를 probe response라고 한다.
CSMA/CA
보통 우리 주변에는 많은 AP들과 클라이언트들이 있다. 그런데 어떤 클라이언트가 probe request를 보냈는데 AP들이 동시에 응답을 보내면 어떻게 될까. 마치 여러 사람이 동시에 얘기하면 알아들을 수 없는 것 처럼 신호가 엉켜서 클라이언트에 도달하지 못하게 될 것이다. 이런 일을 막기 위해서 WiFi 장비들은 누가 신호를 보내고 있지는 않은지 확인 후 신호를 보낸다. 또 신호를 받은 상대방은 잘 받았다고 다시 알려주는데 이것을 acknowledge(ACK)라고 한다. 만약 ACK를 받지 못하면 ACK를 받을 때 까지 다시 신호를 보낸다. 이런 약속들을 CSMA/CA(Carrier Sense Multiple Access/Collision Avoidance)라고 한다[2].

이 글은 제 블로그에 포스팅된 글을 옮겨온 것입니다.

댓글 없음:

댓글 쓰기