More About CSMA/CA on Wireless
Background. Remember, CSMA/CA means Carriers Sense Multiple Access/Collision Avoidance. Due to the nature of wiring and measurable voltages, Ethernet is able to sense a collision when two or more stations send at the same time. Two stations transmitting at the same time increase the signal level on the wire, indicating to the transmitting stations that a collision has occurred. Due to the nature of wireless via the 802.11 specifications, the wireless transmitters do not have this capability. The 802.11 access mechanism has been designed to make great efforts to avoid all collisions.
At present we will reiterate and modify our conference call analogy that we used for CSMA/CD to apply to how CSMA/CA is implemented on wireless Ethernet. In our CSMA/CD description, each participant wanting to speak needs to wait for everyone else to stop speaking. Once the line is quiet, the participant can attempt to speak. If two or more participants attempt to speak at the same time, they must stop and try again.
CSMA/CA requires more information and the telephone conference call analogy becomes the following scenario. Though this scenario doesn't cover all the details as well as I would like, it illustrates most of the major issues.
In order to improve the accuracy of our description I need to get at least somewhat deeper into this. Unfortunately, it may take me a couple tries to find the best level.
In order for the IEEE 802.11 specification of CSMA/CA to be implemented there needs to be an overall, what is called, DCF - Distributed Coordination Function. But to really tie things together we need to discuss four more things, some of which are familiar from CSMA/CD.
Carrier Sense. A station that wants to transmit on a wireless medium must sense whether it is already in use. If it is in use, the station must defer transmission until it is available. The busy status of the medium is determined using two things.
The station can check for signals to see whether the medium is available. But in some instances, the medium might still be reserved for use by another station via the NAV. The NAV is a timer that is updated by data frames transmitted on the medium. It has built into time for both the transmission and the expected acknowledgement.
Remember a BSS is a broadcast domain, so anything one user sends, others on the BSS also receive.
DCF. The DCF is mandated by IEEE 802.11. The following diagram illustrates three basic time windows handled by the DCF.
|The actual implementation gets a bit more
complicated than I want to get into. But, with
wireless, a station wanting to transmit must wait a
specified amount of time after the medium actually becomes
available. This time interval is called the
DIFS - DCF Interframe Space.
Once this interval elapses the medium becomes available for
contention. There are also things such as random back
off timers built in so that more than one station is much
less likely to try to transmit at the same time when a
contention window becomes available. There are also
built in provisions for those that end up getting out
contended too often.
Acknowledgement Frame. A station should receive an acknowledgement of error free transmission from its immediate transmission destination, likely an AP. The 802.11 specifications are established so that this acknowledgement frame never has to contend for a transmission window. They do not have to go through the random back off contention and will be transmitted within a SIFS - Short Interframe Space. A SIFS is necessarily shorter than a DIFS.
RTS/CTS. A potential transmitter attempts to reserve the medium using a special control frame called an RTS - Request to Send. This RTS is sent to an AP (or something quite like it) and all stations within its range. The RTS also contains the expected duration of the transmission.
If the RTS gains its request then a CTS - Clear to Send frame is sent back that contains a duration field value long enough for the required transmission and for the Acknowledgement Frame. All stations within range of the AP also receive the CTS and update their NAVs so that they do not transmit during the specified interval.