안녕하세요~ 포스팅을 정말 오랜만에 하네요. 

그동안 돈에 눈이 멀어 외주도 정말 많이하고. 넥스터즈 활동도 하고~ 그동안 개발하던 앱도 업데이트하고~ 하나는 마무리하여 런칭을 앞두고 있어서 여유가 생겼네요ㅎㅎ

아! 런칭한 앱은 Gola~ 라는 먹거리 월드컵 앱입니다. 디자이너가 직접 디자인하여 깔끔한 UI를 갖고있는데요 . iOS, Android 둘 다 제공하고 있으니 한번 사용해보세요 ㅎㅎ

내일 새로운 외주 미팅이 있는데 외주가 성사되면 다시 얼마동안 안보일터이고~ 성사되지 않는다면 자주 찾아뵐 수 있겠네요 ㅋㅋㅋ

블로그는 항상 머리속에 "이번주엔 포스팅을 시작해야지!!! " 하고 있었지만 많은 정보를 한번에 포스팅하려니 겁을먹고 미루고 미루다 한가지 결심을 했습니다.

그 결심은 , 이제는 한 주제에 대해서 짧고 짧고 짧고!! 간략하게!(중요하죠.) 자세하도록 하나씩 포스팅하는게 좋겠다!! 라는거죠ㅋㅋㅋㅋㅋㅋ 

오늘은 스캐닝을 공부하면서 인터넷에 수 많은 키워드로 검색을 해봤는데, 아! 여기다! 싶을정도로 자세하게 적어놓은 글이 없더라구요.

답답한 나머지 스캐닝부분은 완벽하게 정리해서 올리겠다! 라는 마음을 갖게 되었습니다! 포스팅 시작하죠.


우리가 인터넷을 사용할 때 유선을 사용한다고 하면 먼저 랜선을 벽에 있는 포트에 잭을 꽂는게 우선이죠? 무선에서는 접속 가능한 네트워크를 찾습니다.

이런 특정 영역에 존재하는 네트워크를 식별하는 과정을 스캐닝이라고 합니다.


스캐닝은 검색하다,찾는다 라는 의미입니다.


스캐닝을 하기 위해선 무엇을 찾아라~~ 라고 명령할 수 있는 파라미터가 필요합니다.

조건에 맞는 네트워크를 찾기 위하여 파라미터가 필요한것이죠. 파라미터는 다음과 같습니다~!


1. BSSType 

인프라스트럭쳐 BSS를 찾아라, IBSS를 찾아라. 둘 다 찾아라.

이와 같이 BSSType는 기존에 여러분들이 생각했던거와 같이 2가지가 아니라 세가지입니다.

2. BSSID 

BSSID의 값을 대표적으로 AP의 물리주소를 사용합니다..
그렇기때문에, 특정 AP만 찾아라, 혹은 모든 AP만 찾아라 라고 명령할 수 있습니다.

이 값을 특정한 AP의 물리주소로 사용할 수 있다고 했는데요. 이 뜻은 집에 왔을땐 내가 등록한 물리주소, 즉 집에 있는 AP의 물리주소만 등록하여 집에있는 AP들만 잡아라~~ 라고 할 수 있습니다. 즉 나쁜마음을 갖고있는 이웃집에서 전송하는 AP는 잡지 말라고도 설정할 수 있죠. (반대로 물리주소를 사용하기 때문에 브로드캐스트 주소로 사용할 수 있죠.)

3. SSID 

BSSID는 맥 주소로 6바이트입니다. 이 값을 외우고 다니는사람은 없겠죠??ㅋㅋ 그렇기 때문에 나온것이 SSID입니다. 이 값은 인간을 위해서 나온값입니다. iptime / Olleh-5G와 같이 특정한 장소에 물어봤을 때, 친구보고 "야! 여기 와이파이 이름 뭐야!?"할 때 알려주는 이름이 SSID입니다.



스캔유형에는 능동스캐닝/수동스캐닝 두 종류가 있습니다.

능동스캐닝  - 스테이션(장치,기기,핸드폰(모바일))에서 AP에게 정기적으로 프로브 프레임 요청을 보내는것입니다. (보통 각 회사(휴대폰 기술)마다 다른데 비콘프레임이라고 부르는 회사도 많습니다.) 이건 이전에 공부한 ICMP 간청메시지와 비슷하죠. 

수동스캐닝 - 스테이션이 AP에게 프레임 요청을 보내지 않고 데이터를 수신하기만 하는것을 수동스캐닝이라 부릅니다. 이건 ICMP 라우터 광고메시지와 비슷하죠. 

스캐닝을 통하여 내가 어떤 AP 혹은 기지국에 포함되어있는지를 알아낼 수 있습니다.


옛날 나온 영화중  마이너리그 리포트라는 영화가 있었죠. 이 영화를 보면 톰 크로즈가 악당에게서 도망가던 중 어느 쇼핑몰에 들어간 장면이 나옵니다. 그 쇼핑몰에서는 톰 크루즈가 보는곳마다 "~~ 님 이 제품 사세요!" 라는식의 광고를 계속해서 보여주죠. 이 장면은 지금 이 시점에서 모두 구현이 되어있습니다.  요즘 백화점에 들어가면 핸드폰에 "~~제품 **%할인중입니다!" 라고 푸쉬가 날라오기도 하며 시럽어플을 사용하면 근처의 음식점을 지나갈때도 푸쉬를 날려줄때도 있습니다. 이런 푸쉬 알람들은 비콘에서 사용자의 디바이스에게 할인정보를 전송해주는것인데요. 이 개념은 수동스캐닝에서 발생된 개념을 활용한 실생활의 예입니다.

4. 채널목록.

이 파라미터를 보는순간 네트워크에는 특정한 채널 목록이 있구나~~ 라고 생각이 바로 듭니다. 아! 혹시 여러분은 집에서 사용하는 공유기의 채널을 설정해본적이 있으신가요? 

보통 모든 집에서 iptime을 많이 사용하죠. 저희 집에서도 iptime을 사용하는데요. iptime은 특별하게 가상 IP주소에서 채널을 설정할 수 있게끔 제공해줍니다. 

소비자가 채널을 설정하지 않는다면 공장에서 기본적으로 제공해주는 채널을 사용하게됩니다. 보통 1번대 채널을 많이 사용하죠. (실제로 채널 설정페이지로 들어가면 1번채널을 사용하고 있는 AP의 숫자가 굉장히 많습니다 )

AP가 제공하는 2.4Ghz에서는 1번부터 13번까지의 채널을 사용할 수 있습니다.(겹치지 않는 채널은 3개이며, KT에서는 4개를 제공해준다고 합니다!)

채널목록이 있다는 것은 1번채널을 뒤져라, 2번채널을 뒤져라 혹은 모든채널을 뒤져라 ! 라고 명령을 줄 수도 있는것이죠.
802.11ac를 지원한다면 5Ghz를 사용할 수 있는데요. 이 5Ghz가 제공하는 채널 갯수는 24개입니다. 

이와같이 채널들이 13개, 24개 이렇게 존재하니 사용자는 사용하기를 원하는 특정 채널목록 파라미터값을 주고, 원하는 채널만 스캔할 수도 있으며, 모든 채널을 찾을수 있습니다. 이런 채널목록을 알고있으면 원하는 채널에만 붙도록 하게끔 할 수 있다는 사실을 꼭 명심하세요!

-> 기본값은 모든 채널을 찾는것입니다. 그렇기 때문에 종종 wifi구역에 들어가도 wifi가 조금 늦게뜨는 경우는 채널을 탐색하기 때문에 늦게 출력되는겁니다.


5. 프로브 지연.

프로브는 탐사,탐침라는 뜻을 갖고있습니다. 스테이션은 해당 채널에 들어와서, 일정 시간동안 남의 소리가 안 들리면 프로브요청을 보냅니다. ( 광고가 안들리면 간청을 보내죠.) 이 말은 수동스캐닝을 하다가 아무 말도 안들린다면 능동스캐닝을 한다는 뜻이죠.

여기에서 일정 시간동안 남의 소리가 안들린다는것은 최소 채널 시간동안 다른 무선매체가 떠드는지 검사한다는 것인데요.  프로브 요청을 보내기 위해서 기다리는 시간을 프로브 지연이라고 합니다.

즉. 스테이션은 특정한 채널에 접속하자마자 능동 스캐닝을 발생시키지 않습니다. (프로브 요청을 보내지 않습니다.) 잠시 기다렸다가 광고가 없으면 프로브 요청을 보냅니다.

여기에서 사용하는 파라미터가 최소 채널 시간과 최대 채널 시간입니다. 스테이션은 최소 채널 시간 지연 및 최대 채널 시간을 지정해야합니다.

스테이션이 새로운 채널에 접속했을 때 처음은 프로브지연을 합니다. 즉 프로브 지연을 할 때 수동 스캐닝을 하는것이죠. 수동 스캐닝을 할 때, AP가 존재한다는 뜻은 내 주변에 하나 이상의 무선장치가 있다는 뜻입니다.

이 이야기는 현재 스테이션의 상태가 IBSS를 스캐닝하는것인지, 아니면 인프라스트럭쳐 BSS를 스캐닝하는것인지 모르기 때문에 하나 이상의 무선장치가 있어야 하는것이죠.

내 주변의 하나 이상의 무선장치가 있다면 광고/간청메시지를 보내거나 다른 메시지를 보내겠죠. 즉 적어도 하나 이상의 무선장치가 존재한다면 최소 시간만 기다리면 그 무선장치가 특정한 신호를 발생시킬것이다. 라고 인식할 수 있습니다. 이 이야기는 내 주변에 무선기기가 있다면 최소 시간동안 어떤 무선장치가 반드시 떠들것이다 라는 이야기가 되는것인데요. 만약 무선장치가 떠든다면 그때부터 광고메시지가 전송될때까지 기다리면 됩니다.

그럼 최소 채널 시간동안에만 기다리면 되는데, 최대 채널 시간은 왜 필요할까요?

최대 채널 시간은, 광고메시지나 데이터 프레임이 우선순위에 계속해서 밀릴 경우, 광고메시지를 받지 못할 만한 경우가 발행할 수 있기 때문입니다.(경쟁에서 계속 질 경우.)

자. 요약해보죠

스테이션은 AP만(인프라스트럭쳐 BSS만) 찾고있다고 가정하고, 스테이션은 새로운 채널에 접속해서 최소 채널 시간동안 기다렸습니다. 그러다가 다른 무선매체가 떠드는것은 들립니다. 하지만 광고메시지는 들어오지 않죠.(패킷이 최대 채널 시간동안 경쟁에서 계속 지기때문에) 그럴 경우 스테이션은 여기 근처에 AP가 있느냐! 라는 간청메시지를 보낼 수 있습니다.


다음 포스팅은 수동스캐닝/능동스캐닝에 대해서 좀 더 자세하게 알아보겠습니다.






+ Recent posts