The CCA involves listening for 802.11 RF transmissions at the Physical layer, and the medium must be clear before a station can transmit. The problem with physical carriersense is that all stations may not be able to hear each other.
Remember that the medium is half-duplex and, at any given time, only one radio card can be transmitting. What would happen, however, if one client station that was about to transmit performed a CCA but did not hear another station that was already transmitting?
If the station that was about to transmit did not detect any RF energy during the CCA, it will also transmit. The problem is that you now have two stations transmitting at the same time.
The end result is a collision, and the frames will become corrupted. The frames will have to be retransmitted. The hidden node problem occurs when one client station’s transmissions are unheard by any or all the other client stations in the basic service set (BSS).
In Figure below you see the coverage area of an access point.
Note that a thick block wall resides between one client station and all of the other client stations that are associated to the access point. The RF transmissions of the lone station on the other side of the wall cannot be heard by all of the other 802.11 client stations even though all the stations can hear the AP.
That unheard station is the hidden node. What keeps occurring is that every time the hidden node transmits, another station is also transmitting and a collision occurs.
The hidden node continues to have collisions with the transmissions from all the other stations that cannot hear it during the clear channel assessment. The collisions continue on a regular basis and so do retransmissions, with the final result being a decrease in throughput.
A hidden node can drive retransmission rates above 15 to 20 percent or even higher. Retransmissions, of course, will affect throughput. The hidden node problem may exist because of several reasons.
Poor WLAN design often leads to a hidden node problem. Obstacles such as a newly constructed wall or newly installed bookcase can cause a hidden node problem. A user moving behind some sort of obstacle can cause a hidden node problem.
Users with wireless desktops often place their radio card underneath a metal desk and effectively transform that radio card into an unheard hidden node. The hidden node problem can also occur when two client stations are at opposite ends of an RF coverage cell and they cannot hear each other, as seen in Figure below.
This often happens when coverage cells are too large as a result of the access point’s radio transmitting at too much power. It is a recommended practice to disable the data rates of 1 and 2 Mbps on an 802.11b/g access point if you are planning for capacity.
Another reason for disabling those data rates is that a 1 and 2 Mbps coverage cell at 2.4 GHz can be quite large and often results in hidden nodes. If hidden node problems occur in a network planned for coverage, then RTS/CTS may be needed.
Another cause of the hidden node problem is distributed antenna systems. Some manufacturers design distributed systems, which are basically made up of a long coaxial cable with multiple antenna elements.
Each antenna in the distributed system has its own coverage area. Many companies purchase distributed antenna systems for cost-saving purposes, but a hidden node problem as pictured in Figure below will almost always occur.
Distributed antenna systems and leaky cable systems should always be avoided. So how do you troubleshoot a hidden node problem? If your end users complain of a degradation of throughput, one possible cause is a hidden node.
A protocol analyzer is a useful tool in determining hidden node issues. If the protocol analyzer indicates a high retransmission rate for the MAC address of one station, chances are a hidden node has been found.
Some protocol analyzers even have hidden node alarms based on retransmission thresholds. Another way is to use request to send/clear to send (RTS/CTS) to diagnose the problem.
Try lowering the RTS/CTS threshold on a suspected hidden node to about 500 bytes. This level may need to be adjusted depending on what type of traffic is being used.
For instance, let’s say you have deployed a terminal emulation application in a warehouse environment and a hidden node problem exists. In this case, the RTS/CTS threshold should be set for a much lower size, such as 30 bytes.
Use a protocol analyzer to determine the appropriate size. RTS/CTS is a method in which client stations can reserve the medium. In Figure below you see a hidden node initiating an RTS/CTS exchange.
The stations on the other side of the obstacle may not hear the RTS frame, but they will hear the CTS frame sent by the access point. The stations that hear the CTS frame will reset their NAV for the period of time necessary for the hidden node to transmit the data frame and receive its ACK frame.
Implementing RTS/CTS on a hidden node will reserve the medium and force all other stations to pause, thus the collisions and retransmissions will stop. Collisions and retransmissions as a result of a hidden node will cause throughput to decrease. RTS/CTS normally decreases throughput as well.
However, if RTS/CTS is implemented on a suspected hidden node, throughput will probably increase due to the stoppage of the collisions and retransmissions. If you implement RTS/CTS on a suspected hidden node and throughput increases, you have confirmed the existence of a hidden node.
RTS/CTS should normally not be viewed as a mechanism to fix the hidden node problem. RTS/CTS can be a temporary fix for the hidden node problem but should normally just be used for diagnostic purposes.
One exception to that rule is Point-to-MultiPoint(PtMP) bridging. The non-root bridges in a PtMP scenario will not be able to hear each other because they are miles apart.
RTS/CTS should be implemented on non-root PtMP bridges to eliminate collisions caused by hidden node bridges that cannot hear each other. If non-802.11 bridges are used, this may be an inherent feature.
The following methods can be used to fix a hidden node problem:
- Use RTS/CTS to diagnose. Use either a protocol analyzer or RTS/CTS to diagnose the hidden node problem.
- Increase power to all stations. Most client stations have a fixed transmission power output.
However, if power output is adjustable on the client side, increasing the transmission power of client stations will increase the transmission range of each station. If the transmission range of all stations is increased, the likelihood of the stations hearing each other also increases.
- Remove the obstacles. If it is determined that some sort of obstacle is preventing client stations from hearing each other, simply removing the obstacle will solve the problem. Obviously, you cannot remove a wall, but if a metal desk or file cabinet is the obstacle, then it can be moved to resolve the problem.
- Move the hidden node station. If one or two stations are in an area where they become unheard, simply moving them within transmission range of the other stations will solve the problem.
- Add another access point. If moving the hidden nodes is not an option, adding another access point in the hidden area to provide coverage will also rectify the problem.