(1)無線通信的兩個重要特徵html
——Hidden node problemnode
雙方雖然聽不到對方的訊號,但同時傳送給相同的對象致使了碰撞(這個時候雙方都不知道發生了碰撞)算法
——Exposed node problem網絡
雙方均可以聽獲得對方的訊號,但同時能夠傳送給不一樣的對象(不會發生碰撞)異步
(2)不能像CSMA/CD有衝撞的偵察,就算是碰撞了,發送數據的節點也不知道。一個IEEE 802.11最大能夠傳輸2000多個字節,爲了讓長分組在送的時候能夠減小碰撞的概率,減小浪費的帶寬,因此設計一個比較小的RTS幀和CTS幀做爲先導(RTS幀以及CTS幀都比較小),RTS幀是廣播說我要發送數據了,CTS幀廣播說我要接收數據了。——舉個例子(來自百度百科)RTS CTS (這是爲了解決沒法偵測的碰撞,利用這個可讓其餘站點不要來干擾我收發數據)url
① 在圖中,.net
● 站B、站C、站E在站A 的無線信號覆蓋的範圍內。而站D不在其內。
● 站A、站E、站D在站B 的無線信號覆蓋的範圍內,但站C不在其內。
② 若是站A要向站B發送數據,那麼,站A在發送
數據幀以前,要先向站B發送一個
請求發送幀
RTS(Request To Send)。在RTS幀中已說明將要發送的數據幀的長度。站B收到RTS幀後就向站A迴應一個
容許發送幀
CTS(Clear To Send)。在CTS幀中也附上A欲發送的數據幀的長度(從RTS幀中將此數據複製到CTS幀中)。站A收到CTS幀後就可發送其數據幀了。如今討論在A和B兩個站附近的一些站將作出什麼反應。
● 對於站C,站C處於站A的
無線傳輸範 圍內,但不在站B的無線傳輸範圍內。所以站C可以收聽到站A發送的RTS幀,但通過一小段時間後,站C收聽不到站B發送的CTS幀。這樣,在站A向站B發 送數據的同時,站C也能夠發送本身的數據而不會干擾站B接收數據(注意:站C收聽不到站B的信號代表,站B也收聽不到站C的信號)。
● 對於站D,站D收聽不到站A發送的RTS幀,但能收聽到站B發送的CTS幀。所以,站D在收到站B發送的CTS幀後,應在站B隨後接收
數據幀的時間內關閉數據發送操做,以免干擾站B接收自A站發來的數據。
● 對於站E,它能收到RTS幀和CTS幀,所以,站E在站A發送數據幀的整個過程當中不能發送數據。
③ 雖然使用RTS和CTS幀會使整個網絡的效率有所降低。但這兩種控制幀都很短,它們的長度分別爲20和14字節。而數據幀則最長可達2346字節,相比之下的開銷並不算大。相反,若不使用這種
控制幀,則一旦發生衝突而致使數據幀重發,則浪費的時間就更大。雖然如此,但協議仍是設有三種狀況供用戶選擇:
● 使用RTS和CTS幀;
● 當
數據幀的長度超過某一數值時才使用RTS和CTS幀;(若是過小就不必用這個了,反而增長了Media的Load)
● 不使用RTS和CTS幀。
④ 儘管協議通過了精心設計,但衝突仍然會發生。
例如:站B和站C同時向站A發送RTS幀。這兩個RTS幀發生衝突後,使得站A收不到正確的RTS幀於是站A就不會發送後續的CTS幀。這時,站B和站C像
以太網發生衝突那樣,各自隨機地推遲一段時間後從新發送其RTS幀。推遲時間的算法也是使用二進制指數退避。
(3)由於沒法知道本身的數據是否發送成功,因此接收方收完數據後,須要接受方發送一個ACK幀告訴接收方已經收到。
(4)如何偵聽是否繁忙
——直接經過天線去聽 physical
——經過RTS,CTS的預定(由於RTS,CTS攜帶數據幀的大小,這個發送這個時間內,都是繁忙的) 經過NAV -duration field
(5)CSMA/CA
原理
1首先檢測信道是否有使用,若是檢測出信道繁忙,則等待一段隨機時間後(等到空閒後的時間+DIFS+一個隨機退避時間【跟這個數據重送次數有關】),才送出數據。
2接收端若是正確收到此幀,則通過一段時間間隔後,向發送端發送確認幀ACK。
3源STA收到ACK幀,肯定數據正確傳輸,在經歷DIFS時間間隔後,會出現一段空閒時間,叫作爭用窗口,代表會出現各STA爭用信道的狀況。若是檢測信道時發現信道正在使用,STA使用CSMA/CA協議的退避算法。凍結退避計時器。只要信道空閒,退避計時器就進行倒計時。當退避計時器減小到零時,STA就發送幀並等待確認。若是沒有收到ACK幀,必須重傳次幀。
(6)優先權
SIFS<PIFS<DIFS(時間大小) 最高優先級SIFS最高
SIFS(包括收到RTS回覆CTS,發送ACK,發送POLLING的回覆)最快發生
PIFS(免競爭,被AP問到就能夠立刻送,通常送一些實時數據)
DIFS(競爭,主要是採用CSMA/CA,主要是一些通常的數據傳輸)
(7)DCF的執行。
因爲信道忙而使無競爭期的起點和長度都發生變化,並引發超幀的擴展,但不管如何,DCF異步業務都要等到PCF完成以後才能得到訪問信道的權利。(使用DIFS)
![](http://static.javashuo.com/static/loading.gif)
(8)AP的輪詢(PCF的執行)。
AP以PCF優先級向參與無競爭業務的站發送下行數據幀(CF- Down,ContentFrameofDown-link),使用幀頭的控制域輪詢比特進行輪詢,若被輪詢到的站有緩衝數據,則檢測到SIFS後當即發 送。若AP發出輪詢後PIFS內沒有響應,AP恢復控制信道,發送下一個輪詢。被輪詢的站無須對CF-Down進行確認。
主要內容就是這張圖
![](http://static.javashuo.com/static/loading.gif)
感受比CSMA/CD可貴多
可見參考
- CSMA/CA協議分析
- 以及