Forum

  • I have been trying to understand the detail mechanism of the channel access in 802.11. The study guide only says that an STA must wait for a period of DIFS (assuming it has normal data frame to transmit) followed by the backoff algo (assuming it was deferring previously). I understand that during the contention period, the STA does the CCA every time slot. What about during DIFS? what happens during the DIFS period?

    Does the STA also perform CCA to ensure that no transmission were heard during the DIFS period? or it simply wait for a period of DIFS then enter the backoff algo?

    Can someone explain what happens during DIFS period and what is going to happen if STA detects that someone else transmitting during DIFS (assuming it does CCA during DIFS period). Does it stop the DIFS counter (if such thing exist) or does it reset the DIFS counter (ie. it starts from the beginning)?

    Thanks

  • Hi CGO:

    I recommend you think of clear channel assessment (CCA) logic and transmission logic as two threads that communicate rather than as one thread.

    CCA concerns itself with the following:

    Am I transmitting?
    Am I detecting energy above threshold?
    Has enough time for the immediate incoming frame passed?
    Has enough time for the immediate incoming series of frames passed?
    Has the appropriate interframe space amount of time passed?

    When all of this is what it ought the CCA logic sends an idle signal to the transmission logic, and continues monitoring. If changed conditions warrant it sends a busy signal to the transmission logic. While the idle signal is in effect the CCA locic sends a slot signal to the transmission logic after every slot amount of time has passed.

    Transmission logic concerns itself with the following:

    Receiving busy, idle, and slot signals from CCA
    Managing transmission queue
    Backoff
    Acknowledgement
    Retransmission

    During the DIFS period the transmission logic considers the medium to be busy! If during the DIFS period the CCA logic detects any of the other reasons to consider the medium to be busy, the CCA logic simply doesn't send the idle signal to the transmission logic. Cool.

    Beware: I believe this two threaded scary logic is true to the standard, but it is not a popular WLAN training tool, yet.

    I hope this helps. Thanks. /criss

  • So basically from your explanation,

    The transmitter logic assumes that the channel is busy during the DIFS period (the fact that whether it is actually busy or not as determined by the CCA logic is irrelevant).

    If this is the case then i got it. The confusing part is that many references in the study guide says that the network has to be idle for the period of DIFS (but really, this is not the case because the transitter logic just assumes that channel is busy)

    I am getting this right?

  • Hi CGO:

    The transmit logic assumes that the channel is busy until it gets an idle signal from CCA, and then assumes the channel is idle until it gets a busy signal from CCA. It never waits a DIFS.

    If the CCA logic discovers other "activity" on the channel while it is waiting for a DIFS amount of time to pass, then the DIFS timer is abandoned until all other "activity", real and virtual, is done, after which another DIFS amount of time is allowed to pass. CCA logic measuring off a DIFS amount of time is simply one last sort of "activity" before CCA logic sends an idle signal to the transmit logic.

    Most writers and trainers explain CCA and transmission logic as a single logic thread, which looks good and is essentially correct but fails to provide satisfying answers to questions such as yours.

    The study guide is correct that the channel must be otherwise idle before the DIFS is counted and other transmission logic issues such as backoff are considered. What is not so plain in the study guide explanation is that while transmission logic is wending its way through backoff, CCA logic is busy in the basement watching for reasons to either send the next in a series of slot signals or arrest the transmission logic by sending a busy signal.

    Again beware: Despite what is in the standard, virtually no one teaches nor tests that the medium is "idle" until after the DIFS is done. On a test stick to "idle medium, NAV zero, DIFS, backoff, transmit".

    I hope this helps. Thanks. /criss

  • Thanks Criss. I guess i am getting it. It is a more detailed explanation and i love it. Btw, i am a CWNA as of today :)

  • Congratulations!

  • Hi:

    The IEEE 802.11 standard uses the word "Idle" in two ways.

    "Idle" is an adjective for the state of the medium physically and virtually. This does not include the passing of an IFS. The appropriate IFS passes while the medium is idle. This is by far the more common use of the word idle.

    "IDLE" is also a signal that means the medium is "clear" and either transmission or backoff may proceed immediately. The appropriate IFS passes before the idle signal is sent. This is a much less common use of the word idle. It might have been less confusing to use the word "clear" instead.

    Here "idle" is an adjective for the state of the medium:

    9.2.1 CS mechanism
    "Physical and virtual CS functions are used to determine the state of the medium. When either function indicates a busy medium, the medium shall be considered busy; otherwise, it shall be considered idle."

    9.2.3 IFS
    "The time interval between frames is called the IFS. A STA shall determine that the medium is idle through the use of the CS function for the interval specified."

    Here "IDLE" is a signal that all conditions, including IFS, are met and transmission may proceed immediately, synonymous with "clear":

    15.2.6 Transmit PLCP
    "Based on the status of CCA indicated by PHY-CCA.indicate, the MAC will assess that the channel is clear. A clear channel shall be indicated by PHY-CCA.indicate(IDLE). If the channel is clear, transmission of the PPDU shall be initiated by issuing the PHY-TXSTART.request(TXVECTOR) primitive. A busy channel shall be indicated by PHY-CCA.indicate of class BUSY. A clear channel shall be indicated by PHY-CCA.indicate of class IDLE."

    17.3.11 Transmit PLCP
    "A clear channel shall be indicated by PHY-CCA.indicate(IDLE). The MAC considers this indication before issuing the PHY-TXSTART.request."

    18.4.8.4 CCA
    "A busy channel shall be indicated by PHY-CCA.indicate of class BUSY. A clear channel shall be indicated by PHY-CCA.indicate of class IDLE."

    19.3.5 CCA
    "A busy channel shall be indicated by PHY-CCA.indicate of class BUSY. A clear channel shall be indicated by PHY-CCA.indicate of class IDLE."

    I recommend we use the adjectives idle and clear precisely as above.

    I hope this helps. Thanks. /criss

Page 1 of 1
  • 1