RTS/CTS
Overview
The RTS/CTS (Request to Send / Clear to Send) mechanism in IEEE 802.11b is a collision-avoidance protocol that reduces data frame collisions on shared wireless media. It is particularly effective in environments with hidden stations, where multiple transmitters cannot sense each other’s activity.
RTS/CTS performs virtual carrier sensing using short control frames that reserve the medium before data transmission, ensuring that only one sender transmits during the reserved interval.
Purpose
Mitigate hidden node collisions.
Minimize retransmission cost by colliding only short control frames.
Reserve the channel using the Duration/ID field for all subsequent frames.
Enable fair medium access in dense networks.
RTS Threshold
RTS/CTS is not mandatory for all frames. A frame is preceded by an RTS/CTS
exchange only when its size exceeds the dot11RTSThreshold value.
Rule:
if MSDU_length > RTS_Threshold:
perform RTS/CTS exchange
else:
transmit DATA directly
Frame Roles
RTS/CTS Basic Exchange
Sequence
RTS → SIFS → CTS → SIFS → DATA → SIFS → ACK
Timing Diagram
|<-- DIFS -->|<-- Backoff -->| RTS | SIFS | CTS | SIFS | DATA | SIFS | ACK |
|:-------|:———| | DIFS | Interframe spacing before new contention | | SIFS | Short interframe spacing between controlled frames | | NAV | Network Allocation Vector (medium reservation timer) |
Duration Field Computation
Each frame carries a Duration/ID value indicating how long the medium will remain busy.
Stations hearing any of these frames update their NAV accordingly and defer transmissions until NAV expires.
Scenarios
Scenario 1 — Normal RTS/CTS Exchange
Condition: Two stations (A and B), no hidden nodes, RTS enabled.
Sequence:
A: RTS → SIFS → wait CTS
B: receives RTS → SIFS → sends CTS
A: receives CTS → SIFS → sends DATA
B: receives DATA → SIFS → sends ACK
Timeline:
STA A → STA B
-------------------------
RTS ---------------------------->
<--- CTS ---
---- DATA ---------------------->
<--- ACK ---
Outcome: - Medium reserved successfully. - NAVs updated for all overhearing stations. - ACK resets CW to CWmin.
Scenario 3 — RTS Collides (No CTS Received)
If multiple stations transmit RTS simultaneously → collision.
Behavior: - Receiver (B) does not decode either RTS. - No CTS is sent. - Senders (A, C) time out → increase CW → retry RTS after backoff.
Advantage: - Only small RTS frames collide (low overhead).
Scenario 4 — CTS Lost
Sender (A) transmits RTS; receiver (B) replies CTS.
CTS lost in transmission.
A waits CTS_Timeout → fails → retries after backoff.
B still expects DATA (no DATA received → discard context).
Scenario 5 — DATA Lost
RTS and CTS succeed.
DATA corrupted at receiver.
Receiver does not send ACK.
Sender waits for ACK_Timeout → retries.
Duration fields from RTS/CTS still protect channel (NAV active) during failure.
Scenario 6 — Small Frame (RTS Disabled)
When frame size < RTS Threshold → DATA transmitted directly.
Sequence:
|<-- DIFS -->|<-- Backoff -->| DATA | SIFS | ACK |
Simpler but susceptible to hidden node collisions.
Scenario 7 — CTS Heard by Third STA
STA A sends RTS to B.
STA C hears CTS (but not RTS).
C sets NAV based on CTS duration and defers.
This demonstrates virtual carrier sensing: CTS notifies all nearby STAs.
Scenario 8 — Capture Effect During RTS Collisions
If two RTS frames collide but one is much stronger:
Receiver decodes stronger RTS.
Responds with CTS to stronger sender.
Weaker sender times out → retries.
NAV of hidden stations updated via CTS.
Scenario 9 — Fragmentation with RTS/CTS
When fragmentation is used, only the first fragment is protected by RTS/CTS.
CTS Duration covers all fragments + ACKs.
No new RTS/CTS between fragments.
Subsequent fragments separated by SIFS.
Retransmission Rules
|----------|——–|----------------| | No CTS | RTS collision or CTS lost | Backoff; double CW; resend RTS | | No ACK | DATA or ACK lost | Backoff; double CW; restart exchange | | RTS/CTS success | DATA success | CW reset to CWmin |
Timing Values (IEEE 802.11b Example)
Parameter |
Typical Value |
|---|---|
SlotTime | 20 µs SIFS | 10 µs DIFS | 50 µs PHY preamble | 192 µs (long) ACK duration (1 Mbps)| ≈ 112 µs RTS duration (1 Mbps)| ≈ 352 µs CTS duration (1 Mbps)| ≈ 304 µs |
|
Advantages and Tradeoffs
Example Timing Diagram (Success Case)
STA A (Sender) STA B (Receiver) STA C (Hidden)
------------------------------ ------------------------- --------------------------
DIFS + Backoff
RTS -------------------------->
CTS ----------------------> NAV set (STA C defers)
<----------------------------- CTS
DATA ------------------------->
ACK ----------------------->
<----------------------------- ACK
(Success; C waits until NAV expires)
Implementation Notes
RTS/CTS frames are control frames sent at basic rate for reliability.
SIFS timing must be precise; CTS and ACK sent exactly after SIFS.
Duration field must reflect total exchange time.
NAV must be honored strictly for collision avoidance.
ACK/CTS timeouts depend on PHY characteristics.
Capture effect may cause asymmetric RTS collisions.
Summary Table
References
IEEE Std 802.11-2020, Clause 9.3.2.6 — RTS/CTS Procedure
IEEE Std 802.11b-1999, Clause 18 — DSSS PHY Details
Gast, 802.11 Wireless Networks: The Definitive Guide, O’Reilly
Heusse et al., Performance Anomaly of 802.11b, IEEE INFOCOM 2003
Tanenbaum & Wetherall, Computer Networks (5th Ed.)