2007.10.01
整理了關於無線傳播的機制,了解無線傳輸時機制後再去看無線模擬的 trace 會比較清楚是在傳送什麼。
DCF-CSMA/CA 機制︰分散協調功能
1.先進行『載波感知』的動作,也就是偵測所使用的頻道是否有別人正在使用。偵測期間需為 DIFS 時間加上一個亂數時間,若沒有人使用則繼續下一步。
2.傳送端送出 RTS(Request To Send) 封包給接收端,告訴對方想要傳送資料。
3.接收端收到 RTS 封包後,會在SIFS (Short IFS) 時間內回應 CTS(Clear To Send) 封包給傳送端。
4.傳送端收到 CTS 封包後,會開始傳送資料。假若沒有收到,就假設碰撞回到第一步重新開始。
5.接收端收到資料會回應 ACK(Acknowledge)封包進行確認;若傳送端未收到 ACK 封包,就判定傳送失敗,回到第一步重新開始。
在 RTS/CTS 封包中也會包含隨後的傳送過程會花多少時間的資訊,因此其他站台可以由 RTS/CTS 封包中得知接下來的一段時間內有節點在使用傳輸介質,因此若有要傳送資料則會自動多等這段時間。
備註︰
1. DCF 的資料傳送過程需傳送四個封包,所以也有人稱為 4-Way Handshake
2. DIFS 時間,隨所用的實體層技術不同而不同
3. DIFS = Distributed InterFrame Space or DCF InterFrame Space
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
PCF-CSMA/CA 機制︰無需競爭傳送方式
1.定時廣播 Beacon 封包宣傳此節點的存在,Beacon內含 ESSID、目前使用的頻道編號等資訊。進入 CF 模式時,AP 會在 Beacon 封包中加入使用 CF 模式的時間。各站台收到此封包,會將此時間加入他們的等待時間,因此接下來不會有人搶用媒體,整個網路就進入 CF 模式。
2.AP 開始依照內部清單的順序,用 [CF-Poll] 封包輪流詢問各站台是否要傳送資料。如果在詢問時,恰好有資料要傳給該節點,AP 會將資料連同詢問一起送出,稱為 [Data + CF-Poll] 封包。
3.被詢問的站台會在 PIFS 時間內回應,回應內容為下列︰
(1)沒有資料傳送,則回應不含資料的空封包
(2)有資料傳送,則回應資料封包
(3)若收到的是 [Data + CF-Poll] 封包,但沒有資料要傳送,則回應 CF 模式下的 ACK 封包(稱為 [CF-Ack] 封包)
(4)若收到的是 [Data + CF-Poll] 封包,但有資料要傳送,則回應資料以及確認資訊的封包(稱為 [Data + CF-Ack] 封包)
4.AP 繼續詢問下一個站台,若 AP 收到的是 [Data + CF-Ack] 封包,則 AP 會回應前一站台的 Ack 和詢問下一個站台的 CF-Poll 放在同個封包中送出(稱為 [CF-Poll + CF-Ack] 封包)。若剛好也有資料要送給下一個站台,也會一併送出形成( [Data + CF-Poll + CF-Ack] 封包)。
5.重複 3、4 步,直到 CF 時間結束。
6.AP 送出 [CF-End] or [CF-End + CF-Ack] 封包公告結束 CF 模式,接下來各站台又要以 DCF 提供的機制下去競爭了。
備註︰
1. CF 傳輸模式是由 PCF 所提供,PCF 功能為 AP 的選用功能,因此只能在 Infrastrcuture 模式中使用。
2. 必須 AP 有提供此功能才行。
3. 支援 CF 的 AP 會在預設的時間間隔啟動 CF 模式,此模式下,能否傳送資料由 AP 決定。
資料來源︰Tcp/Ip 協定觀念與實做 第二版(書)
歡迎對於 NS2 有研究或見解的同學、朋友可以一起討論 by Yo PM 10:55
留言列表