第四章 PCF-DMAC
4.5 PCF-DMAC Handshake Mechanism
在 PCF-DMAC 這一個方法中節點傳送 RTS、DATA 與 ACK 封包的方式與 F-DMAC 相同。但是傳送 CTS 時則有所不同,在此方法裡 CTS 可以透過全方向性以 及控制功率的方向性等兩種方式來傳送,圖 4-4 為 PCF-DMAC 送出 CTS 封包的運作 流程。
圖 4-4 PCF-DMAC Handshake Mechanism
PCF-DMAC 在 Block 狀態下傳送控制功率的方向性 CTS 封包 Handshake Mechanism 說明如下: 經完成通訊。這一個連線會因為 Receiver 發出的 pCTS 封包所造成的 Deafness 現象,而沒有設定 NAV,當這一個連線有再次通訊的需求時,會送出全方向 性 RTS/CTS 封包而造成在 Receiver 發生 Collision 情形,因此進入 Step 5,反
Direction
之則代表這一個連線不會干擾到其他通訊,所以 Receiver 送出 pCTS 封包,
進行通訊。
Step 5: 利用公式(9),我們可以計算出在 min(NAV 的時間之內,可用來接收資料封i) 包的時間,並把值填入 CTS 封包的 Frag_Duration 欄位,然後把 pCTS 封包傳 送出去,接著進入 Step 6。
Step 6: Sender 經由 CTS 封包中的 Frag_Duration,得知 Receiver 可以接收資料封包的 時間,並使用公式(10)來計算可以傳送的封包長度,然後利用 Fragmentation 的 方式來切割資料封包,然後利用公式(11)計算出傳送切割之後剩餘資料封包的 時間,將值填入 DATA 封包的 Duration 欄位中,然後把 pDATA 封包傳送出去,
接著進入 Step 7。
Step 7 : 當 Receiver 接收 DATA 封包後,經由 DATA 封包中的 Duration,使用公式(12) 來比對 min(NAV 是否比 Sender 傳送i) lremain所需要的時間還短。當(12)成立 時,代表在會有如 Step 4 的碰撞情形發生,因此進入 Step8,反之則進行傳送。
Step 8: 經由公式(13)計算可以接收封包的時間,並填入 ACK 封包的 Duration 欄位中,
然後將 pACK 封包送出,進入 Step 9。
Step 9: 此時 min(NAV 已經倒數為 0,我們經由公式(14) 計算出 Receiver 要淨空媒體i) 的時間並把值填入 DTS 封包的 Duration 欄位,然後把 pDTS 封包傳送出去,
接著進入 Step 10。
Step 10: Sender 接收到 ACK 封包,經由公式(15)計算資料封包的長度,並利用 Fragmentation 進行切割,然後利用公式(11)把值填入 DATA 封包的 Duration 欄位中,接著把 pDATA 封包傳送出去,回到 Step 7,反覆運算直到資料封包 完全送出為止。
下面我們用實際的範例來說明 PCF-DMAC 在 Block 狀態傳送 CTS 封包的過程:
圖 4-5 PCF-DMAC Small Packet Case
100m
相反的,如圖 4-6 所示,當 Duration 大於 NAV 的情況下,節點 B 與節點 C 的這 一個進行中的通訊會比節點 D 與節點 E 這一個新的通訊還要早完成。如圖 3-14 所 示,如果節點 B 還有資料要繼續傳送時,節點 C 會送出全方向性 CTS 封包,但此 時節點 D 與節點 E 的通訊尚未結束,因此會有碰撞發生。所以節點 E 在傳送 CTS 封包之前,會先計算允許節點 D 傳送資料的時間,並記錄在 CTS 封包中的 Frag_Duration 欄 位 , 然 後 將 pCTS 封 包 傳 送 給 節 點 D 。 透 過 CTS 封 包 中 的 Frag_Duration,節點 D 使用 Fragmentation 的方式把原來的資料封包分為兩個較小的 Fragment 封包,並將傳送剩餘 DATA 需要的時間紀錄在 Fragment 的 Duration 欄位中,
再傳送給節點 E。當節點 E 接收到資料封包後,會回覆一個 pACK 封包給節點 D。
此時節點 B 與節點 C 的通訊結束,節點 D 會算出需要淨空媒體的時間,然後把它紀 錄在 DTS 封包的 Duration 欄位中,再將 dDTS 封包傳送給節點 C。當節點 C 收到 DTS 封包時,會依照 DTS 封包中的 Duration 時間設定一個 NAV,一直到節點 E 接 收到另外一個 Fragment 並送出 pACK 封包之後,節點 C 才會送出下一個 CTS 封包,
因此可以避免封包碰撞的情形。
圖 4-6 PCF-DMAC Large Packet Case