今天看到了關于沖突檢測的方案,突擊補了一下,不是太全。只有兩個關鍵字,CSMA/CA和CSMA/CD。
CSMA/CD的控制過程包含四個處理內容:偵聽、發送、檢測、沖突處理。就是先聽后說,邊聽邊說; 一旦沖突,立即停說;等待時機,然后再說;
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是比較困難的。