IEEE 802.11 RTS/CTS

RTS/CTS(Request to Send / Clear to Send)는 802.11 무선 네트워크 프로토콜에서 선택적으로 사용할 수 있는 통신 매커니즘이다. RTS/CTS는 은닉 노드 문제 (hidden terminal problem)로 알려진 프레임 충돌을 막기 위해 사용한다. 본래 이 프로토콜은 노출 노드 문제 (exposed terminal problem) 역시 해결 하였으나 최근의 RTS/CTS는 ACKs을 포함하고 있고 노출 노드 문제 문제를 해결하지 못한다.

개요 
데이터 전송을 원하는 노드가 송신 요청(Request To Send) 프레임을 보내는 것으로 프로세스가 시작된다. 송수신중인 다른 신호가 없어 전송이 가능한 무선 환경인 경우, 목적지 노드는 이 신호에 대해서 송신 확인(Clear To Send) 프레임을 보내 응답하게 된다. RTS나 CTS 프레임을 받은 다른 모든 노드는 정해진 시간동안 데이터 전송을 제한하게 된다. (은닉 노드 문제가 해결됨). 전송을 제한하게 되는 시간은 RTS와 CTS 프레임 안에 적혀있다. 이 프로토콜은 모든 노드가 같은 전송 범위를 갖는다는 것을 전제로 하고 있다.

RTS/CTS는 Carrier sense multiple access with collision avoidance (CSMA/CA) 논리적 신호 탐지(virtual carrier sensing) 을 구현하기 위한 추가적이고 선택적인 방법이다. 기본적인 802.11은 물리적 신호 탐지(physical carrier sensing) 만을 사용하고 이는 은닉 노드 문제 (hidden terminal problem)을 발생시킨다.

RTS/CTS 메커니즘을 사용하는 경우 노드에 RTS/CTS 패킷 사이즈 한계값을 설정하게 된다. RTS/CTS 패킷 사이즈 한계값(threshold)은 0-2347 octets 사이의 값을 갖는다. 일반적으로 패킷 사이즈가 RTS/CTS 패킷 한계값을 넘지 않는 경우에는 RTS/CTS 프레임을 전송하지 않는다. 즉, 전송하려고 하는 패킷 사이즈가 한계값 보다 큰 경우에만 RTS/CTS 교환이 시작된다. 그 외의 경우에는 데이터 프레임이 즉시 전송된다.
RTS/CTS 패킷에는 데이터 전송에 필요한 예상 시간이 적혀있고 이 시간동안 전송에 관계되지 않은 노드는 전송을 하지 않고 기다리게된다.

참조 
"A New Channel Access Method for Packet Radio" 
"Improving WLAN Performance with RTS/CTS" on wi-fiplanet.com
"How Effective is the IEEE 802.11 RTS/CTS Handshake in Ad Hoc Networks?"

RTS/CTS