What is the hidden node problem in wireless networks?
The hidden node problem occurs when two transmitters (A and C) can both reach a receiver (B) but cannot hear each other, causing undetected collisions at B.
* Hidden node: A and C reach B but are mutually invisible, so they collide. *
Setup:
- Node A and Node C both want to send to Node B
- A can hear B, and C can hear B
- But A cannot hear C (and vice versa) — they are "hidden" from each other
- A mountain, building, or simply distance blocks the signal between A and C
The problem:
- A checks the channel — it's clear (A can't hear C transmitting) → A starts sending
- C checks the channel — it's also clear (C can't hear A transmitting) → C starts sending
- Both signals arrive at B simultaneously → collision → data is corrupted
- Neither A nor C realizes there was a collision because they can't detect each other
This is different from normal interference because in a standard collision scenario, both transmitters would detect each other (carrier sense). Here, carrier sense fails completely.
Solution: The RTS/CTS (Request to Send / Clear to Send) mechanism — before transmitting, a node sends a short RTS to the receiver, which responds with CTS. The CTS is heard by all nodes in range of the receiver (including hidden nodes), telling them to back off. This is used in Wi-Fi (802.11) but adds overhead, so it's typically only enabled for larger frames.
Go deeper:
Hidden node problem (Wikipedia) — the A/B/C collision scenario and its mitigations.
IEEE 802.11 RTS/CTS (Wikipedia) — exactly how the handshake silences hidden nodes, and its overhead trade-off.