隱藏終端
簡介暴露終端是指在傳送節點的覆蓋範圍內而在接收節點的覆蓋範圍外的節點,暴露終端因聽到傳送節點的傳送而可能延遲傳送。但是,它其實是在接收節點的通信範圍之外,它的傳送不會造成衝突。這就引入了不必要的延時。
隱藏終端和暴露終端問題產生的原因由於ad hoc網路具有動態變化的網路拓撲結構,且工作在無線環境中,採用異步通信技術,各個移動節點共享同一個通信信道,存在信道分配和競爭問題;為了提高信道利用率,移動節點電台的頻率和發射功率都比較低;並且信號受無線信道中的噪聲、信道衰落和障礙物的影響,因此移動節點的通信距離受到限制,一個節點發出的信號,網路中的其它節點不一定都能收到,從而會出現“隱藏終端”和“暴露終端”問題。
隱藏終端和暴露終端問題對ad hoc網路的影響:
隱藏終端”和“暴露終端”的存在,會造成ad hoc網路時隙資源的無序爭用和浪費,增加數據碰撞的機率,嚴重影響網路的吞吐量、容量和數據傳輸時延。在ad hoc網路中,當終端在某一時隙內傳送信息時,若其隱藏終端在此時隙發生的同時傳送信息,就會產生時隙爭用衝突。受隱藏終端的影響,接收端將因為數據碰撞而不能正確接收信息,造成傳送端的有效信息的丟失和大量時間的浪費(數據幀較長時尤為嚴重),從而降低了系統的吞吐量和量。當某個終端成為暴露終端後,由於它偵聽到另外的終端對某一時隙的占用信息,而放棄了預約該時隙進行信息傳送。其實,因為源終端節點和目的終端節點都不一樣,暴露終端是可以占用這個時隙來傳送信息的。這樣,就造成了時隙資源的浪費。
解決隱藏終端問題的思路是使接收節點周圍的鄰居節點都能了解到它正在進行接收,目前實現的方法有兩種:一種是接收節點在接收的同時傳送忙音來通知鄰居節點,即BTMA系列;另一種方法是傳送節點在數據傳送前與接收節點進行一次短控制訊息握手交換,以短訊息的方式通知鄰居節點它即將進行接收,即RTS/CTS方式。這種方式是目前解決這個問題的主要趨勢,如已經提出來的CSMA/CA、MACA、macaw等。還有將兩種方法結合起來使用的多址協定,如DBTMA。
對於隱藏傳送終端問題,可以使用控制分組進行握手的方法加以解決。一個終端傳送數據之前,首先要傳送請求傳送分組,只有聽到對應該請求分組的應答信號後才能傳送數據,而是收到此應答信號的其他終端必須延遲傳送。
在單信道條件下使用控制分組的方法只能解決隱藏傳送終端,無法解決隱藏接收終端和暴露終端問題。為此,必須採用雙信道的方法。即利用數據信道收發數據,利用控制信道收發控制信號 .