產生背景 第一,CSMA/CD協定要求一個
站點 在傳送本站數據的同時還必須不間斷地檢測
信道 ,以便發現是否有其他的站也在傳送數據,這樣才能實現“衝突檢測”的功能。但在無線區域網路的設備中要實現這種功能花費過大。
第二,更重要的是,即使能夠實現衝突檢測的功能,且在傳送
數據報 時檢測到信道是空閒的,但是,由於
無線電波 能夠向所有的方向傳播,且其傳播距離受限,在接收端仍然有可能發生衝突,從而產生隱藏站問題和暴露站問題。
此外,
無線信道 還由於傳輸條件特殊,造成信號強度的動態範圍非常大。這就使傳送站無法使用衝突檢測的方法來確定是否發生了碰撞。
因此,無線區域網路不能使用CSMA/CD協定,而是以此為基礎,制定出更適合無線網路共享信道的載波監聽多路訪問/衝突避免CSMA/CA協定。CSMA/CA協定利用
ACK 信號來避免衝突的發生,也就是說,只有當客戶端收到網路上返回的ACK信號後,才確認送出的數據已經正確到達目的。
工作流程 802.11 標準為
數據幀 定義了不同的信道使用優先權,使用三種不同的時間參數:短幀間隔SIFS、長幀間隔DIFS和點協同間隔PIFS。SIFS最短,使用它作為等待時延的結點將用最高的信道使用優先權來傳送數據幀。網路中的
控制幀 以及對所接收數據的確認幀都採用SIFS作為傳送之前的等待時延。DIFS最長,所有的數據幀都採用DIFS作為等待時延。PIFS具有中等級別的優先權,主要作為AP定期向服務區內傳送管理幀或探測幀所用的等待時延。
CSMA/CA協定的工作原理如圖1所示,主要工作流程是:
圖1 CSMA/CA協定的工作原理 (1)當
主機 需要傳送一個數據幀時,首先檢測信道,在持續檢測到信道空閒達一個DIFS之後,主機傳送數據幀。接收主機正確接收到該數據幀,等待一個SIFS後馬上發出對該數據幀的確認。若源站在規定時間內沒有收到確認幀ACK,就必須重傳此幀,直到收到確認為止,或者經過若干次重傳失敗後放棄傳送。
(2)當一個站檢測到正在信道中傳送的MAC幀首部的“持續時間”欄位時,就調整自己的網路分配向量NAV。NAV指出了必須經過多少時間才能完成這次傳輸,才能使信道轉入空閒狀態。因此,信道處於忙態,或者是由於物理層的載波監聽檢測到信道忙,或者是由於MAC層的虛擬載波監聽機制指出了信道忙。
分類 CSMA/CA分為兩類,第一類是
時分多路復用 技術與CSMA/CD相結合的方式;第二類是二次檢測避免衝突方式。下面分別介紹這兩種方式。
第一類避免衝突的工作方式要點如下: 每次傳遞結束後,立即把時間劃分成時間片,這些時間片分屬網路中各結點。結點根據時間片的先後傳送信息,具有第一個時間片的結點首先傳送,傳送結束後,按優先權順序把傳送權交給具有第二個時間片的結點。輪到某個結點而該結點又無報文可發時,它的時間片就空閒不用。如果在時間片輪迴一周后,所有結點都無報文可發,那么網路就返回到CSMA/CD方式,這時又按競爭方式獲取信道。信道在CSMA/CD方式下使用一次後,系統又回到時間片方式。在這種可避免衝突的系統中,通常給某些結點以特殊的優先權,使它們總是能在第一個時間片傳送信息。如果給它們的時間片沒有使用,則重新在其他結點輪流分配時間片。在這種系統中,結點必須有能力完成時間片的同步,執行分配時間片的算法以及CSMA/CD方式的算法,因此,實現起來較複雜,價格也較貴。這種方法的優點是效率高。
第二類避免衝突的CSMA/CA技術 ,稱為二次檢測信道訪問技術。 這是一種與第一種方式完全不同的CSMA/CA技術。它由結點在傳送信息前對介質進行兩次檢測來避免衝突的發生,其工作方式如下:準備傳送信息的結點在傳送前偵聽介質一段時間(大約為介質最長傳播延遲時間的2倍),如果在這一段時間內介質為“閒”,則開始準備傳送,傳送準備的時間較長,約為前一段偵聽時間的2~3倍。準備結束後,真正要將信息傳送前,再由結點對介質進行一次迅速短暫的偵聽,若仍為空閒,則可正式傳送。如果這時偵聽到介質上有信息傳輸,則馬上停止自己即將開始的傳送。按某種算法延遲一段隨機時間,然後再重複以上的二次檢測過程,所以這種方式又稱為“二次檢測”法。由於第二次偵聽的時間短,在這么短暫的時間內有兩個點同時傳送信息的可能性很小,因此基本上可以避免衝突。同時,這種方式沒有“邊發邊聽”,而僅僅是“先聽後發”,這樣,用不著“邊聽邊發”的複雜的衝突檢測裝置,降低了成本。這種方法的缺點是,傳送後一旦發生衝突,也不中止自己的傳送,直到傳送完畢才知道錯誤,再重新偵聽、重發。
與CSMA/CD 的差別 CSMA/CD可以檢測衝突,但無法避免衝突;對於CSMA/CA,在傳送包的同時不能檢測到信道上有無衝突,只能儘量避免。CSMA/CD和CSMA/CA的主要差別表現在:
(1)兩者的
傳輸介質 不同:CSMA/CD用於匯流排式乙太網,而CSMA/CA用於無線區域網路802.11a/b/g/n等。
(2)檢測方式不同:CSMA/CD通過電纜中電壓的變化來檢測,當數據發生碰撞時,
電纜 中的電壓就會隨著發生變化;CSMA/CA採用能量檢測(ED)、載波檢測(CS)和能量載波混合檢測三種檢測信道空閒的方式。
(3)對於
WLAN 中的某個結點,其剛剛發出的信號強度要遠高於來自其他結點的信號強度,也就是說它自己的信號會把其他的信號覆蓋掉。
(4)在WLAN中,本結點處有衝突並不意味著在接收結點處就有衝突。