802.11的隐藏节点和RTS,CTS机制
802.11協議適用于無線局域網,這一點和802.3有著本質性的不同。首先先了解一下無線傳輸相關的范圍:
????????無線傳輸有三個非常重要的范圍:傳輸范圍,偵聽范圍和干擾范圍。
????????1.傳輸范圍:傳輸范圍(TX_range)指成功接收幀的通信范圍,取決于發送能量和無線電波傳輸特性。
????????2.偵聽范圍:偵聽范圍(PCS_range)可檢測到傳輸的范圍,取決于接收器靈敏度和無線電波傳輸特性。
????????3.干擾范圍:干擾范圍(IF_range)此范圍內節點發送幀將干擾接收方的接收并導致丟幀。
????????前兩個都是針對發送主機的,第三個是針對接收主機的。為什么會有這三個范圍呢?這就涉及到無線局域網802.11和有限局域網802.3之間的區別。我們知道無線傳輸更容易衰減,而在有限傳輸介質中往往能傳輸的比無線介質更遠。所以在有線局域網中,任何一個主機發送消息,在一個介質上面相連的所有主機都能收到。但是無線局域網就不一樣了。因為在發送信號的一定范圍內信號會衰減,減弱到無法成功接收,那么別的主機就不認為這是個有效信號了,無法接收,這個就是傳輸范圍的來源。偵聽范圍要比傳輸范圍遠,因為只要能偵聽到,都算偵聽范圍,但是有可能即使偵聽到也無法還原。干擾范圍同理,在這個范圍之外有其他的信號發送不會影響到接收主機,但是在這個范圍內有其他主機發送就會強到影響這個接收主機了,這就是干擾范圍。
????????懂得了這三個范圍有助于了解隱藏節點和暴露節點的問題。
????????隱藏節點:由于距離太遠而導致一個站點無法檢測到介質競爭對手的存在。 我們考慮下面一個圖:
????????A在向B傳輸數據,如果C想向B傳輸數據,那么C首先監聽,他發現在他的傳輸范圍內有B,可以發送,但是它的偵聽范圍內沒有A,也就是他不知道A在給B發送消息,于是他發送了。這時候問題就出現了,B同時接收到AC兩個主機發送了數據,造成了沖突,傳遞失敗,這就是隱藏節點的問題,C作為隱藏節點能夠干擾接收方但是卻不能偵聽到發送方。ABC三個點三個范圍的關系如下所示:
????????我們從隱藏節點中能夠看出無線局域網和有線局域網的區別:無線局域網802.11中,沒有監聽到載波,不代表可以傳輸。
????????同樣,有隱藏節點就有暴露節點。暴露節點指由于偵聽到其他站點的發送而誤以為介質忙導致不能發送,和隱藏節點正好相反。考慮下面一種情況:
????????B正在向A發送數據。C想向D發送數據,但是他發現它的偵聽范圍內有B正在發送,那么他誤認為自己不能給D發送,因為信道正忙。但是實際上D在B的干擾范圍之外,C給D發送數據是完全可以的,這就是暴露節點。三個范圍關系如下圖所示。暴露節點告訴我們:偵聽到信道忙,不代表不能發送。
????????上面的暴露節點和隱藏節點問題是無線局域網802.11特有的,802.3是沒有的,所以對于802.11有一種特殊的解決隱藏節點問題的機制,也就是RTS和CTS。
????????RTS/CTS機制的基本思想是:通過短的控制包來預留出帶寬。方法如下:
????????①發送方通過發送RTS請求請求發送。
????????②接收方用CTS回應發送請求
????????③CTS為發送方預留帶寬的同時通告所有節點
????????發送方A如果想給接受方B發送消息,那么首先要發送一個RTS控制幀。那么在發送方周圍的主機,收到了這個RTS之后,就知道他周圍有人要發送消息了,那么它會保持靜默,不發送任何消息,直到接收到B給A發送消息確認,那么直到A給B發送消息這個過程完全結束了,這些周圍的主機就可以發送了,周圍主機這個沉默狀態叫做NAV狀態。
????????接收方接收到A給他發送的RTS之后,首先它先回復一個CTS確認控制消息。B周圍的機子接收到這個CTS之后,那么就知道它周圍有人要接受消息,所以也設定為NAV靜默狀態,防止干擾到接收方B,知道接收到B回給A的ACK,確定數據發送完畢,于是它們也可以收發消息了。
????????示例圖如下所示:
????????上面是發送方,下面是接受方。第一組節點是發送方周圍的節點,它們從接收到RTS之后就開始靜默,直到接收到ACK. 第二組節點是接受方周圍的節點,它們收到CTS之后也開始靜默,直到接收到ACK。DIFS和SIFS是幀間間隔,它們大小不同,都是無線局域網802.11所規定的,可以理解為先等一個DIFS或者SIFS再發送RTS或者CTS,至于為什么這樣,需要具體去了解CSMA/CA協議,可以參考這篇文章:
????????802.11的CSMA/CA協議
???????總之,接收方發送的CTS和發送方的RTS能有效避免它們周圍節點發送消息,從而避免隱藏節點造成的沖突,這也是RTS和CTS機制的作用。
????????延伸閱讀(有關802.3和802.11避免沖突的協議):
????????載波監聽多路訪問CSMA和CSMA/CD詳解
????????介質訪問控制MAC以及ALOHA協議
————————————————
版權聲明:本文為CSDN博主「Wzning0421」的原創文章,遵循CC 4.0 BY-SA版權協議,轉載請附上原文出處鏈接及本聲明。
原文鏈接:https://blog.csdn.net/hanzhen7541/article/details/79022755
總結
以上是生活随笔為你收集整理的802.11的隐藏节点和RTS,CTS机制的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Win10下Wireshark找不到网卡
- 下一篇: 802.11ac/ax (wifi6)中