802.11 Hidden node

 




802.11의 히든노드 란 것은 이런 것이다.


하나의 AP내에 있는 Station들은 서로가 충돌하는 것을 막기 위해서

캐리어 센싱(데이터가 흐르고 있는지 확인)을 하게 되는데,

 


CSMA/CA라는 캐리어 센싱을 수행하는 것 자체는 station이므로 자신의 범위에 없으면 자신 외에는 station이 존재하지 않는다고 판단하기 때문에 문제가 된다.

 


위 그림의 상황이 되면 station들은 서로가 AP에게 패킷을 전송하려 하는데 이를 방지하기 위해서 RTS/CTS를 사용한다.

 


앞서 정의를 내렸지만 RTS란, NAV값과 함께 AP에게 보낼 데이터가 있다고 요청을 하는 것이고, CTS란 그 요청에 대한 응답이다.

 


이 설정을 해놓으면 station끼리 서로를 감지하지 못해도 CTS를 받은 station만 데이터 전송이 가능하기 때문에 서로 충돌이 일어나지 않는다.




출처 - 옛날 블로그 2011/02/09 02:19



Posted by extr
:

802.11 frame

  

이 그림은 802.11의 대략적인 프레임을 나타낸 것이다.

 

앞의 CSMA/CA에서 본 것과 연관지으면 편하게 볼 수 있다.




우선 처음으로 FC를 할당 시킨다(FC란건 프레임 컨트롤이라 하는건데 설명은 나중에 따로 포스팅할게요 ㅋ).


그리고 CSMA/CA와 같이,우선 연결이 됬으면 station이 AP에게 RST를 보내는데, 이 때 NAV값을 보낸다.





그 시간이 FC다음으로 할당 되고 다음 source address에는 출발지 주소.. 그러니까 station의 주소가 들어가게 된다.


그럼 당연히 그 다음에 있는 목적지 주소인 destination에는 AP가 된다.


Destination 사이에 있는 sequence control은 순서를 지정해 주어 누락된 데이터를 채워주기 위함으로 사용된다.


그리고 또다시 destination의 주소가 오고 데이터 송신을 하게 된다. 


데이터를 다 보내고 나면 FCS(Frame Check Sum)이라고 하는 프레임 오류 검사를 수행하고 끝이 난다.






출처 - 옛날 블로그 2011/02/09 02:10



Posted by extr
:

CSMA/CA (Carrier Sense Multiple Access/Collision Avoidance)

 

CSMA/CA란, CSMA/CD의 변형으로서, 기타 다양한 무선 접속방법들과 함께 사용되는 방법이다.

 




 

 

Station이 AP에게 NAV값을 실어 보낸다. 이 과정을 RTS(Request to Send)라 한다.

 

*NAV값이란 Network Allocate Vector의 약자로, ACK까지 걸리는 시간을 미리A가 정해놓은 시간을 말한다.

 

 

B는 Broadcast로 연결된 모든 Station들 에게 A의 NAV값에서 자신을 거친 시간을 뺀 값을 보낸다.

A가 아닌 다른 Station들은 그 값이 자신의 값이 아님을 알고 버린다. 이는 충돌을 방지하기 위함으로 쓰인다.

 

 

 

그리고 A도 B에게 Broadcast를 통해 NAV에서 B까지 거친 시간을 뺀 값을 보내는데 이 과정을 CTS(Clear to Send)라고 한다.



4. CTS과정이 끝나면 A는 B에게 데이터를 전송하게 된다.

 


5.  Data 전송이 끝나게 되면 B는 A에게 ACK패킷을 보내는데 이는 무선이 아직 안정적이지 않기 때문에 확인절차를 거칠 필요가 있어서 이 패킷을 보내는 것이다.


만약, ACK패킷을 받지 않았다면 Data가 수신되지 않을 줄 알고 A는 ACK패킷을 받을 때 까지 Data를 계속 보내게 된다.






출처 - 옛날 블로그 2011/02/09 02:05

 



Posted by extr
: