兩個通訊中常用的決定對媒體訪問權的協議,看上去差不多,其實差別不小。我們先來看看他的字面解釋:
CSMA(Carrier Sense Multiple Access) 載波(媒體)監聽多重存取
CD(Collision Detection) 衝突偵測
CA(Collision Avoidance) 衝突避免
下面看一下他們的具體原理機制:
CSMA:當裝置傳送數據到網絡線之前,會先監聽網絡上是否有其它裝置傳出的訊號,如果有則不發送自己的信息,以防止衝突(collision)產生。管制將碰撞的機率降至最低的機制便稱爲載波監聽多重存取CSMA。
CSMA/CD:衝突偵測。監聽媒體上是否有傳輸訊號,如果沒有便進行傳輸。如果有碰撞產生,便送出訊號告知其它計算機暫時停止傳輸數據。再次傳輸前,先等候一段隨機時間,再行傳輸。如果又發生碰撞,便按照退避算法計算延遲時間,再次延遲,直到總線空閒,成功傳輸數據爲止。
CSMA/CA:衝突避免。先檢查媒體是否有其它數據在傳輸,如果媒體空閒,便發出要求傳送的訊息,等待服務器發出允許傳送的訊息後,並接收到該訊息後便開始傳送數據。數據傳完發出結束訊號,表示完成數據傳輸。當然,如果檢測到媒介非空閒,則依舊按照退避算法等待隨機時間,再次檢測通道是否空閒。
兩者的差別:
1.兩者的傳輸介質不同,CSMA/CD用於總線以太網,而CSMA/CA則用於無線局域網802.11b;
2.監測方式不同,CSMA/CD通過電纜中電壓的變化來檢測,當數據發生碰撞時,電纜中的電壓就會隨着發生變化;而CSMA/CA採用能量檢測(ED)、載波檢測(CS)和能量載波混合檢測三種檢測信道空閒的方式;
爲什麼WLAN中使用CSMA/CA而不能使用CSMA/CD?
有幾點我們首先要清楚:
1.在WLAN中,對某個節點來說,其剛剛發出的信號強度要遠高於來自其他節點的信號強度,也就是說它自己的信號會把其他的信號給覆蓋掉;