What is the hidden terminal problem?

Networks are comprised of nodesA node is a connection point in a communications network. that are connected using either a wired connection (for example, Ethernet) or a wireless connection (for example, Wi-Fi). These connections enable data transmission between nodes. A signal collision occurs when a node receives data simultaneously from multiple nodes.

Signal collisions cause the data received by the node to be corrupted so we need to avoid these. One scenario that results in collisions is the hidden terminal problem.

Description

The hidden terminal problem, also known as the hidden station and hidden node problem, occurs when two or more nodes that aren't in each other's coverage areaThe coverage area is the geographical area in which a node provides its service. simultaneously transmit data to a common node. An example of this phenomenon is illustrated below:

The diagram above shows two nodes, A and C, whose respective coverage areas are represented by the dotted circles. It can be seen that neither of the nodes is in the other's coverage area and thus is unaware of the other's existence.

This arrangement, however, becomes problematic when a third node is introduced inside the area of intersection of the two nodes, as shown below:

As we can see, since neither node A nor node C is aware of the other's existence, they transmit data to nearby nodes, including B, independently of the other's decision. If node B receives data from both A and C at the same time, a collision occurs, and the received data is discarded.

Solution

An algorithm called the Multiple Access with Collision Avoidance (MACA) is deployed to solve the hidden terminal problem in wireless networks and avoid collisions.

The key idea behind MACA is to have the sender and receiver exchange control frames before the sender transmits any data. This exchange informs all nearby nodes that a transmission is about to initiate. Two control frames are used in the exchange. These are as follows:

  • Request to Send (RTS)

  • Clear to Send (CTS)

Request to Send (RTS)

The sender sends the RTS control frame to the receiver before the data is transmitted. It includes a field that indicates the amount of data to be transmitted. As already mentioned, it is also received by all the other nearby nodes in the sender's coverage area.

Clear to Send (CTS)

The receiver replies to the sender's RTS with the CTS control frame indicating that it's alright for the transmission to go ahead. It broadcasts the field containing the amount of data back to the sender. Like the RTS, all the other nearby nodes in the receiver's coverage area also receive this frame.

Any node that sees the CTS frame knows that it is in close proximity to the receiver and therefore cannot transmit any data in the time it would take for the sender to send the specified amount of data.

Any node that sees the RTS frame but not the CTS frame knows that it is not close enough to interfere with a receiver and so it can transmit data freely.

The exchange of the CTS and RTS frames is illustrated below. Node A acts as the sender and node B acts as the receiver.

Node C doesn't get the RTS from A since it's not in A's coverage area. However, C does receive the CTS from B. Therefore, C knows not to send B any data because B is about to begin receiving the transmission from A.

Free Resources

Copyright ©2025 Educative, Inc. All rights reserved