RTS/CTS: The Hidden Node Problems in WiFi Networks
In the world of wireless networking, collision avoidance is a critical challenge. Unlike wired networks where collisions can be detected, wireless networks must employ mechanisms to prevent collisions before they happen. One of the most important mechanisms in IEEE 802.11 (WiFi) networks is the Request to Send/Clear to Send (RTS/CTS) protocol. Let's dive into how this solution works and why it's essential for efficient wireless communications.
The Hidden Node Problem
Before understanding RTS/CTS, we need to understand the problem it solves: the hidden node problem.Imagine three wireless stations (STAs) - A, B, and C. Station-B can communicate with both A and C, but A and C are out of range of each other. If station A is transmitting to B, station C has no way of knowing this and might also try to transmit to B simultaneously, causing a collision at B. This is the "hidden node" problem - where some nodes in a network are invisible to each other but can still interfere with each other's transmissions.
RTS/CTS
The RTS/CTS mechanism is a virtual carrier-sensing protocol that addresses this issue. It's a handshake process that occurs before the actual data transmission, letting all nearby stations know about an upcoming transmission and how long it will take.
The RTS Frame
The Request to Send (RTS) frame is 20 bytes long and contains several important fields:
- Frame Control (2 bytes): Identifies this as an RTS control frame
- Duration/ID (2 bytes): Contains timing information crucial for the Network Allocation Vector (NAV)
- RA (6 bytes): Receiver Address - identifies the intended recipient
- TA (6 bytes): Transmitter Address - identifies the source
- FCS (4 bytes): Frame Check Sequence for error detection
The purpose of the RTS frame is to announce the sender's intention to transmit data and to share duration information with all stations in the coverage area. The duration represents the total time needed for the complete four-way handshake (RTS-CTS-Data-ACK) including the three SIFS (Short Interframe Space) intervals between these frames.
Wireshark Filter: wlan.fc.type_subtype == 27
CTS Frame
Upon receiving an RTS frame, the intended recipient responds with a Clear to Send (CTS) frame. This frame is 14 bytes long and contains:
- Frame Control (2 bytes): Identifies this as a CTS control frame
- Duration/ID (2 bytes): Timing information
- RA (6 bytes): Receiver Address - This is the Transmitter address of the RTS Frame
- FCS (4 bytes): Frame Check Sequence
The CTS frame is broadcast to all stations within range, including those that might not have heard the original RTS. The duration value in the CTS frame is calculated by subtracting one SIFS interval and the transmission time of the CTS frame from the duration value received in the RTS frame.
Wireshark Filter: wlan.fc.type_subtype == 28

The 4-Way Handshake
Together, RTS and CTS form the first half of what's known as the 4-Way Handshake:
- RTS: The transmitter sends an RTS frame to the receiver (Frame 1)
- CTS: The receiver responds with a CTS frame (Frame 2)
- Data: The transmitter sends the actual data or management frame
- ACK: The receiver acknowledges receipt of the data
How does the NAV Protection Mechanism help?
The key to collision avoidance is the Network Allocation Vector (NAV). When stations receive either an RTS or CTS frame, they update their NAV based on the duration field. This essentially sets a timer during which they will not attempt to transmit, even if they sense the medium is idle. This "virtual carrier sensing" mechanism ensures that all stations, even those that can only hear either the transmitter or the receiver (but not both), defer their transmissions.
Real-World Implications
In practice, RTS/CTS is particularly valuable in deployments such as:
- High-density environments: Office buildings, conference centers, stadiums
- Large coverage areas: Where hidden nodes are more likely such as Warehouses.
- Applications sensitive to latency: VoIP, video conferencing, Video Camera's streaming etc.

Comments
Post a Comment