DCF(Distributed Coordination Function)


DCF is one of the most fundamental functionality of WLAN MAC Protocol. The main role of this function is to schedule  the data transmission based on CSMA/CA, Backoff and various IFS(Inter Frame Space). Overall DCF cycle (algorithm) goes as follows (of course, it would look much complicated than just CAMA/CA + Backoff :).  Just take a look at the overall picture and try to make your own story out of this.



Step 1 : A device(Src) performs Carrier Sensing and check if the channel is free(idle) or not. If the channel is free for a certain time period(DIFS : DCF Inter Frame Space), it goes Step 2.

Step 2 : The Src (Initiator) device send RTS to the Dest (Repient) device.

Step 3 : All the other devices (Devices except Src and Dest) update their NAV based on Duration information in the RTS, so that they will not try channel acquisition until the communication between Src and Dest is done.

Step 4 : The Dest device send CTS to the Src device.

Step 5 : All the other devices update their NAV based on Duration information in the CTS.

Step 6 : After a short period of pause (SIFS : Short Interframe Space), the Src device send Data to the Dest device.

Step 7 : A short period (SIFS) after the reception of the data, the Dest device send ACK to the Src device.

Step 8 : After the completion of one data transmission cycle, all the devices (including Src and Dest) should take another short break (DIFS).

Step 9 : Then, every devices pause for a certain backoff time (this Backoff period is determined randomly for each device).