Try   HackMD

802.11 - DCF (Access Procedure)

課程影片

第 3H 講 IEEE 802.11 無線區域網路 (Wireless LAN) L03 8

Image Not Showing Possible Reasons
  • The image file may be corrupted
  • The server hosting the image is unavailable
  • The image path is incorrect
  • The image format is not supported
Learn More →

第 3I 講 IEEE 802.11 無線區域網路 (Wireless LAN) L03 9

Image Not Showing Possible Reasons
  • The image file may be corrupted
  • The server hosting the image is unavailable
  • The image path is incorrect
  • The image format is not supported
Learn More →

DCF Access Procedure

DCF 是使用 CSMA/CA 的方式傳輸。他的步驟如下:

  1. Carrier Sense:傳輸之前,要確認有沒有人正在往這個目的地傳輸。接下來依照「接收端是否 busy」作為傳輸依據。在後面會更詳細地介紹如何去做 carrier sense,這邊暫時先省略。

  2. Collision Avoidance:接下依照「接收端是否 busy」,分兩種狀況處理:

    1. 若接收端「沒有」busy:這時候雖然沒聽到傳輸,但有可能是對方正在等待其他封包。所以這時要「繼續監聽一個 DIFS」時間。若這 DIFS 的時間內,仍然都沒有節點朝目的地傳輸,那麼就傳輸。

    2. 若接收端「正在」 busy:這時候就只能先等待目的地收完。但等待目的地傳輸結束之後,除了持續監聽「一個 DIFS」還要再加上「一段 random-backoff」的時間。

      這是因為:如果有其他人同時也在等,而且大家都同時目的地收完之後 DIFS 的時刻同時傳輸,那麼所有傳輸還是會撞在一起。因此還需要各自等待一段隨機時間。如果這段 random back-off 內都沒有聽到有人往目的地傳輸,那麼就可以往目的地傳輸。

    若上述 2, 3 當中等待的過程中,突然監聽到有其他節點往該目的地傳輸,那麼這個等待時間只會暫停。等該傳輸結束之後,再繼續倒數。

例子:目的地閒置的狀況

這個例子對應的狀況是上述的 1.,也就是

  1. Carrier Sense:發送方確認當下是否有節點向進行傳輸。發現當下沒有,於是繼續監聽 DIFS 的時間,確認這個閒置不是回覆其他節點前的等待時間。

  2. Collision Avoidance:確認在這一個 DIFS 的時間內,都沒有其他節點正在往目的地傳輸的話,就開始傳輸自己的封包。

    Image Not Showing Possible Reasons
    • The image file may be corrupted
    • The server hosting the image is unavailable
    • The image path is incorrect
    • The image format is not supported
    Learn More →

DIFS + Random Back-off = 賽跑

Image Not Showing Possible Reasons
  • The image file may be corrupted
  • The server hosting the image is unavailable
  • The image path is incorrect
  • The image format is not supported
Learn More →

這個 DIFS 加上 random back-off 的模式有點像是賽跑,只是每個人要跑的距離是隨機的。DIFS 就像是比賽開始前的倒數計時。

  1. 前一個節點傳輸完成後,比賽就準備開始。
  2. DIFS 像是比賽開始前的倒數計時。當這個 DIFS 倒數到
    0
    的時候,所有人要開始「跑」。跑的方法就是「倒數自己的 random back-off」。
  3. 每一場比賽中的 「冠軍」,也就是最先跑完自己 random back-off 的那個節點,可以得到向目的地傳輸封包的權限
  4. 而那些跑輸的,就只能繼續把剩下沒跑完的 random back-off 在下一輪比賽中跑完。

第一個封包

  1. A
    正在傳輸中。在
    A
    傳輸的過程中,
    D
    B
    C
    也希望往相同的目的地傳輸。
  2. 因為
    A
    正在往目的地傳輸中,所以
    D
    B
    C
    必須等待
    A
    傳輸完。

第二個封包

  1. A 傳輸結束之後,比賽準備開始。在比賽開始前的 DIFS 倒數計時一到,
    D
    B
    C
    就各自開始自己的 random back-off。誰最先把自己的 random back-off 等完,誰就可以贏得傳輸的權力。

  2. D
    B
    C
    三者的 random back-off 時間中,
    C
    random back-off 最先結束,因此
    C
    可以往目的地傳輸。而
    B
    D
    random back-off 時間則各自剩下 9 與 5 微秒。等待完
    C
    傳輸之後,他們要繼續恢復倒數這個 random back-off

  3. 這時

    E 也準備往相同的目的地傳輸,所以競爭者又多了
    E

第三個封包

  1. C 傳輸完之後,剩下的競爭者
    B
    D
    E
    等待一個 DIFS 。這個 DIFS 時間一到,
    B
    D
    E
    就繼續開始下一輪的 random back-off 競爭。這時,
    B
    random back-off 只剩下 9 微秒,而
    D
    的則只剩下 5 微秒。新加入的
    E
    也領到了自己的 random back-off,是 7 微秒。

  2. DIFS 倒數計時一結束,所有人開始倒數自己的 random back-off。這時因為

    Drandom back-off 只剩下 5 微秒,是所有競爭者中最短的,所以
    D
    random back-off 結束之後,換成
    D
    搶到往目的地傳輸的權力。

  3. 這時競爭者剩下

    B
    E
    。其中,
    B
    random back-off 剩下 4 微秒,而
    E
    則只剩下 2 微秒。

第四個封包

  1. D 傳輸結束之後,
    B
    E
    在倒數一個 DIFS 時,準備開始下一輪比賽,比誰先把自己的 random back-off 數完。

  2. 這時,因為

    E 則只剩下 2 微秒,而
    B
    還有 4 微秒,所以
    E
    會先把自己的 random back-off 數完。搶到