ELEC3506

MAC and LANsLecture 416 min

CSMA/CA, RTS/CTS and the Hidden Node Problem

Why wireless cannot detect a collision the way a wire can, how RTS/CTS avoids one before it happens, and which of the two classic wireless failures that actually fixes.

By the end of this page you should be able to

  • Explain why CSMA/CD cannot work over a wireless medium
  • Walk through the RTS/CTS handshake and what the NAV timer does with it
  • Distinguish the hidden node problem from the exposed node problem
  • State which of the two problems RTS/CTS actually solves

The idea

CSMA/CD works over a wire because a station can listen to its own cable while transmitting and hear a collision as a jump in energy level. None of that holds over a radio channel.

A collision in the air does not add enough energy for a station to notice it on its own transmission. Stations may sit far enough apart, or fade enough, that one end never hears a collision the other end would see. Received signal power is not something a wireless station can rely on the way a wired one can. And wireless has a problem a shared cable never does: a station can be hidden from another station entirely, in range of a shared destination but not of each other.

None of that lets a wireless network detect a collision after it happens. So instead of detecting collisions, wireless has to avoid them before they happen. That is CSMA/CA — Carrier Sense Multiple Access with Collision Avoidance.

The handshake

How it works

RTS, CTS, data, defer

Before sending data, a station sends a short request-to-send (RTS) packet to the base station, using ordinary carrier sensing. RTS packets can still collide with each other — two stations can key up at once — but because they are short, a collision there costs far less than losing a full data frame.

If the base station receives the RTS cleanly, it broadcasts a clear-to-send (CTS), heard by every station in range, not just the one that sent the RTS. That is what lets CSMA/CA work without collision detection: everyone who could interfere now knows a transmission is about to happen.

The original sender then transmits its data frame. Every other station that heard the CTS defers.

If the sender never receives a CTS, it assumes the RTS collided, falls back to its contention window, and backs off — the same idea as Ethernet’s backoff, just triggered by a missing reply instead of a sensed collision.

Both the RTS and the CTS carry the amount of time the exchange needs to occupy the channel. Every station that hears either one starts a timer called the Network Allocation Vector (NAV), not because it is told directly to wait, but because it now knows exactly how long the channel will be busy.

NAV counts down the time that must pass before an affected station is even allowed to check whether the channel is idle again. Every time a station sends an RTS, every other station in range restarts its own NAV based on the new duration.

ParameterDurationPurpose
DIFS (Distributed Inter Frame Space)50 µsChannel must be idle this long before a new transmission can start
SIFS (Short Inter Frame Space)20 µsGap before an ACK — shorter than DIFS, so replies get priority over new transmissions
Time slot10 µsThe unit the contention window counts down in
These three numbers set the rhythm of every CSMA/CA exchange.

Sender and receiver each run a matching half of the same rule:

  • Sender. If the channel is idle for a full DIFS, transmit the entire frame — there is no collision detection once transmission starts. If it is busy, start a random backoff timer that only counts down while the channel is idle, and transmit once it reaches zero. No ACK after transmitting means assume a collision, widen the backoff range, and try again.
  • Receiver. If the frame arrives intact, reply with an ACK after a SIFS.

There is no collision detection once data starts moving, so CSMA/CA never confirms success the way a wired station does. The ACK is the only signal that a frame got through. Silence means retry.

Hidden node and exposed node

Two wireless scenarios drawn with carrier-sense range ellipses. Hidden node: A and B sit either side of access point AP, each within range of AP but outside range of each other, so both can transmit to AP at once without either sensing the other, causing a collision at AP. Exposed node: A transmits to B while C, within range of A but not of A's destination, wants to transmit to a separate node D; C hears A's transmission and defers even though sending to D would not have collided with anything.Hidden node — A and B cannot hear each other, both hear APAAPBcollision hereExposed node — C hears A and defers, though C→D would not collideABCDdeferred unnecessarily
Same failure, opposite direction: hidden node stays silent when it should speak — a collision AP never sees coming — and exposed node stays silent when it is free to speak, wasting bandwidth for no reason. RTS/CTS fixes the first by making AP's neighbourhood declare itself; it does nothing for the second, which is why the lecture notes RTS/CTS solves hidden but not exposed node.

Hidden node. Stations A and B both want to reach the same access point, AP. Each is within range of AP, but they are outside each other’s range, so neither can hear the other’s handshake. Both can end up transmitting to AP at once, and the collision happens at AP — a place neither A nor B can sense.

Exposed node. Station A is transmitting to B. Station C is within range of A, so it hears A’s transmission and defers, even though C actually wants to send to a different node, D, and that transmission would never have collided with anything. C stays silent for no reason.

RTS/CTS fixes the first problem directly: the CTS from AP reaches both A and B, so each learns about the other’s pending transmission even though they cannot hear each other. It does nothing for the second — C still hears the RTS/CTS around A and B and still defers, whether or not its own transmission would actually interfere.

Where marks get lost

RTS/CTS solves one problem, not both

It is tempting to write “RTS/CTS solves the wireless collision problem” and stop there. An exam question phrased as “does RTS/CTS solve wireless collision problems” is checking whether you know it solves hidden node only. Exposed node is a real cost, wasted capacity rather than a corrupted frame, and the lecture gives no fix for it.

CSMA/CDCSMA/CA
MediumWiredWireless
StrategyDetect a collision while transmitting, then abortAvoid the collision before transmitting, using RTS/CTS
Confirms success howAbsence of a detected collisionAn ACK — silence means failure
Handles hidden stations?Doesn't need to — every station shares one wireYes, via RTS/CTS and NAV
CSMA/CA is not a wireless version of CSMA/CD. It solves a different problem, because detection is not available over the air at all.

Check yourself

A and B are hidden from each other but both reachable by AP. B sends an RTS. What stops A from transmitting into the same slot?

AP’s CTS in response to B’s RTS is heard by A too, even though A never heard B’s RTS. A now knows a transmission is about to happen and defers — that is the whole trick.

In the exam

  • List the reasons CSMA/CD does not work wirelessly. Not enough collision energy to detect, hidden node, distance and fading, unknown received power. Four separate reasons, not one.
  • Walk through RTS → CTS → data → defer, in that order, and say who hears the CTS — everyone in range of the base station, not just the RTS sender.
  • NAV is set by duration information in the RTS/CTS, not by a separate instruction. Every station restarts its NAV whenever it hears a new RTS.
  • Hidden node vs exposed node. RTS/CTS fixes hidden node. It does not fix exposed node, and the lecture gives no alternative for that one.
  • DIFS = 50 µs, SIFS = 20 µs, slot = 10 µs. SIFS is shorter than DIFS on purpose, so replies do not get overtaken by new transmissions.
  • No collision detection once transmission starts. CSMA/CA relies entirely on the ACK to confirm success.

Check yourself

  1. Which of these is NOT a reason CSMA/CD fails over a wireless medium?
  2. Who receives the CTS a base station broadcasts?
  3. A station's RTS gets no CTS in reply. What does it assume, and what does it do?
  4. C is in range of A's transmission to B, but C actually wants to send to a separate node, D. What happens?
  5. Why does SIFS being shorter than DIFS matter?