[Data Communication] 무선 연결에서의 MAC, CSMA/CA
지난 포스팅에서 이더넷에서의 MAC (Media Access Control) CSMA/CD 에 대해 살펴보았습니다.
이번 포스팅에서는 무선 연결에서의 MAC 인 CSMA/CA (Collistion Avoidance) 에 대해 알아보겠습니다.
이더넷의 CSMA/CD 에서는 동시 송수신을 통해 Collision Detection 을 수행합니다. 하지만, 무선랜 환경에서는 동시 송수신을 수행하기 위해서는 많은 Power 를 사용해야합니다. 또, 거리에 따라 신호 감쇄가 일어나는 경우 Collision Detection 이 어려워집니다. 뿐만 아니라, Hidden Station Problem 이 발생하여 충돌 감지가 어려워집니다.
Hidden Station Problem 이 무엇인지 알아봅시다.
Hidden Station Problem
위 상황을 Hidden Station Problem 이라합니다. 조금 더 상세히 설명해보자면, A가 B에게 데이터를 전송하는 동안 C도 B에게 데이터를 전송할 수 있습니다. 이 때, Collision Detection 을 수행하기 위해서는 A가 C가 말을하고 있는지를 식별할 수 있어야하는데, 무선연결이가지는 한계 때문에 A는 C가 말하는지 알 수 없습니다. (반대로, C의 입장에서 A를 바라보는 것도 같습니다.)
이러한 상황을 Hidden Station Problem 이라고 합니다.
동시 송수신에서 많은 power 사용, hidden station problem, 신호 감쇄 등의 이유로 무선 연결에서는 CSMA/CD 를 사용하지 않고 CSMA/CA (Collision Avoidance) 를 사용합니다.
CSMA/CA
위에서 제시한 문제들 때문에, Collision Avoidance 방법에서는 채널이 확실하게 idle 상태에서만 전송하도록 해야합니다. 즉, 충돌이 일어나지 않는 확실한 상황을 만들어 놓은 이후에 데이터의 송수신이 이루어집니다. 이것은 CSMA/CD 에서 일단 보내고, 충돌이 일어나면 다시 기다렸다가 재전송하는 것과 상반됩니다.
Collision Avoidance 를 위해 RTS (Request to send) 와 CTS (Clear to send) 를 사용합니다.
먼저, Carrier Sensing 을 통해 Media 가 Idle 상태인지 확인합니다. Idle 상태라면, IFS 시간 동안 대기합니다. IFS 시간 동안 대기한 이후 바로 데이터를 전송하면, 데이터 전송을 준비하던 다른 노드들도 이 때 동시에 데이터를 보내 충돌이 일어날 가능성이 있으므로, 추가적으로 Contention Window 내의 랜덤한 시간 동안 기다립니다.
이후, 송신자는 수신자에게 Request to send (RTS) 신호를 보냅니다.
만약, 데이터 전송이 가능한 상태라면 수신자는 송신자에게 Clear To Send(CTS) 를 보냅니다.
이후 송신자는 데이터를 수신자에게 전송하며, 전송이 잘되면, 수신자는 송신자에게 ACK 신호를 보냅니다.
RTS와 CTS를 이해하기 위한 비유를 살펴봅시다.
RTS / CTS
즉, Hidden Station Problem 의 상황에서 데이터 충돌이 발생하지 않도록, Alice 와 연결된 노드들 (Ted, Bob) 에 CTS 를 보냄으로써, 데이터 충돌을 회피할 수 있습니다.
NAV
NAV : 내가 보내고자하는 프레임이 얼마시간 동안 지속되는가? 즉, 매체가 얼마 시간 동안 busy 할 것인지를 알려주는 신호. 그러면, 다른 노드들은 아 내가 이 시간동안 데이터를 보내려고하면 충돌이 일어나겠구나 인지할 수 있음.
RTS/CTS 신호에는 데이터를 주고 받는데 얼마나 시간이 걸릴 것인가에 대한 정보가 들어있는데, 그러면 송/수신자를 제외한 네트워크에 연결된 다른 노드들은 이 정보를 읽고 NAV 시간만큼 Timer 를 설정하여, 매체에 접근하지 않도록 함.
하지만 무선 연결 상황에서는 또 다른 문제가 있습니다. 바로 Exposed Station Problem 입니다
Exposed Station Problem
무선 연결 상황에서는 이렇게 충돌을 회피하기 위해서 비효율적인 상황이 발생할 수 있습니다.