CSMA/CA
出自 MBA智库百科(https://wiki.mbalib.com/)
CSMA/CA(Carrier Sense Multiple Access with Collision Avoidance,載波偵聽多址接入/避免衝撞協議)
目錄 |
由於無線產品不易檢測通道是否存在衝突,因此802.11定義了一種新的協議,即(CSMA/CA)。一方面,載波偵聽--查看通道是否空閑;另一方面,避免衝撞--通道不空閑時,通過隨機的時間等待,直到有新的空閑通道出現時再優先發送,使信號衝突發生的概率減到最小。不僅如此,為了系統更加穩固,802.11還提供了帶確認幀ACK的CSMA/CA。在一旦遭受其他雜訊干擾,或者由於偵聽失敗時,信號衝突就有可能發生,而這種工作於MAC層的ACK此時能夠提供快速的恢復能力。
(1)首先檢測通道是否有使用,如果檢測出通道空閑,則等待一段隨機時間後,才送出數據。
(2)接收端如果正確收到此幀,則經過一段時間間隔後,向發送端發送確認幀ACK。
(3)發送端收到ACK幀,確定數據正確傳輸,在經歷一段時間間隔後,會出現一段空閑時間。
CSMA/CA協議的工作流程分為兩個分別是:
1.送出數據前,監聽媒體狀態,等沒有人使用媒體,維持一段時間後,才送出數據。由於每個設備採用的隨機時間不同,所以可以減少衝突的機會。
2.送出數據前,先送一段小小的請求傳送報文(RTS : Request to Send)給目標端,等待目標端回應 CTS: Clear to Send 報文後,才開始傳送。 利用RTS-CTS握手(handshake)程式,確保接下來傳送資料時,不會被碰撞。 同時由於RTS-CTS封包都很小,讓傳送的無效開銷變小。
CSMA/CA通過這兩種方式來提供無線的共用訪問,這種顯式的ACK機制在處理無線問題時非常有效。然而不管是對於802.11還是802.3來說,這種方式都增加了額外的負擔,所以802.11網路和類似的Ethernet網比較總是在性能上稍遜一籌。
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中實現CSMA/CD是比較困難的。