Wireless & Mobile Networks

the RTS/CTS handshake

/ request-to-send / clear-to-send /

RTS/CTS is a polite little ask-first ritual Wi-Fi can use before sending a big chunk of data, so that two stations hidden from each other do not clobber the receiver. Imagine a noisy meeting where some people cannot hear each other across the table. Before launching into a long speech, you say I'd like the floor; the chairperson announces Carl has the floor for two minutes — and now everyone, even those who could not hear Carl, knows to stay quiet. That is exactly the trick.

The mechanism, step by step: a station with data to send first transmits a short RTS (Request To Send) frame naming how long it needs the channel. The access point replies with a CTS (Clear To Send) frame echoing that duration. Because the CTS comes from the AP, it is heard by everyone in the AP's range — including stations that could not hear the original sender (the hidden terminals). Those stations read the announced duration and set a network allocation vector, a countdown during which they refrain from transmitting. Only after this reservation does the real data frame go out, followed by the AP's acknowledgment. This is sometimes called virtual carrier sensing: stations defer based on what they heard announced, not only on whether they sense energy.

Why it matters: RTS/CTS directly attacks the hidden-terminal problem, which plain CSMA/CA cannot fully solve. But it is not free — every exchange now costs two extra small frames, so it actually lowers throughput when there are no hidden terminals. For that reason Wi-Fi usually applies it selectively: only for frames larger than a configurable threshold, or when hidden terminals are detected. A common misconception is that RTS/CTS makes collisions impossible; it only makes them far less likely and much cheaper when they do happen (a tiny RTS collides instead of a large data frame).

Station A and station C are at opposite ends of a warehouse and cannot hear each other, but both reach the AP. With RTS/CTS on, A sends RTS, the AP broadcasts CTS, and C hears it and waits — so A's big data frame arrives at the AP uncorrupted instead of colliding with C's.

The AP's CTS reserves the air even for hidden stations.

RTS/CTS is off or threshold-limited by default on most Wi-Fi, precisely because its overhead hurts more than it helps when hidden terminals are absent. It is a targeted fix for a specific problem, not an always-on improvement.

Also called
request to send / clear to sendvirtual carrier sensing請求傳送/允許傳送