Hidden Terminate
在無線通訊中,因為每個通訊設備都有自己訊號可及的範圍, 因此,會有多個通訊設備,
因無法得知對方的存在,而同時對 一通訊設備做送出訊號,發生碰撞的情況,此種情況稱為Hidden terminate。我們舉下面例子來說明:假設有3個節點 A, B及 C,AB可以直接通信,BC
可以直接通信,但AC因距離的關係無法直接通訊,可以由下圖表示之:
此時節點AC即互為隱藏節點,而隱藏節點會造成何種問題?如果當AC同時傳遞訊號給B時,自然會造成B的混亂,也就是發生碰撞了,但AC之間互不知對方的存在,因此,當A要傳送時,並無發通知C暫停之後的動作,因此,這就是Hidden terminate最麻煩的地方了。
其解決方法,是使用CTS和RTS來做一個通道清空的動作,其動作之步驟如下:
(1) 當A想傳送Frame給B前,會先廣播出一RTS(Request To Send),當B收到RTS,RTS會告知
B,節點A將傳送一個 Frame給B,且A附近收到RTS的節點也會保持沉默一段時間。
(2) 當B確認完當時並無其他節點對他傳送資料後,B也會廣播出CTS(Clear to Send),
B附近的結點收到CTS後,也會保持沉默一段時間。
(3) 當A收到CTS後,也就是通道已經清空,A即可傳送Frame給B。
(4) 當B收到Frame後,回應A一個ACK,即可完成傳輸,AB以外的節點,在等待時間過後,
也可以再對A或B節點再做Frame的傳輸了。
(1) 當A想傳送Frame給B前,會先廣播出一RTS(Request To Send),當B收到RTS,RTS會告知
B,節點A將傳送一個 Frame給B,且A附近收到RTS的節點也會保持沉默一段時間。
(2) 當B確認完當時並無其他節點對他傳送資料後,B也會廣播出CTS(Clear to Send),
B附近的結點收到CTS後,也會保持沉默一段時間。
(3) 當A收到CTS後,也就是通道已經清空,A即可傳送Frame給B。
(4) 當B收到Frame後,回應A一個ACK,即可完成傳輸,AB以外的節點,在等待時間過後,
也可以再對A或B節點再做Frame的傳輸了。
留言
張貼留言