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 |
Symbol | Meaning |

|:-------|:———| | 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.

\[D_{RTS} = T_{CTS} + SIFS + T_{DATA} + SIFS + T_{ACK}\]
\[D_{CTS} = T_{DATA} + SIFS + T_{ACK}\]
\[D_{DATA} = SIFS + T_{ACK}\]
\[D_{ACK} = 0\]

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 2 — Hidden Node Problem (Solved)

Condition: STA A and STA C both transmit to STA B, but cannot hear each other.

Without RTS/CTS: DATA collisions occur at B. With RTS/CTS: CTS from B informs hidden stations to defer.

Timeline:

STA A (Tx)        STA B (Rx)        STA C (Hidden)
-----------       -----------       ---------------
RTS ------------>
                  <------ CTS ----------- NAV=Duration
DATA ------------>
                  <------ ACK
(Success; C waits due to NAV)

Effect: - CTS broadcast protects channel from hidden senders.

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.

Scenario 10 — NAV and Virtual Carrier Sensing

Stations hearing RTS or CTS frames update NAV (Network Allocation Vector):

NAV_from_RTS = Duration_RTS
NAV_from_CTS = Duration_CTS

NAV ensures all nearby stations remain silent until transmission sequence ends.

Retransmission Rules

Failure | Cause | Recovery Action |

|----------|——–|----------------| | 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

    1. 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.)

Figures

RTS/CTS timing diagram

RTS/CTS + DATA + ACK sequence timing.

Hidden node scenario

Hidden node problem resolved by CTS protection.