CSMA/CA

轉自百度百科 : http://baike.baidu.com/view/645723.htm

概述

無線局域網標準802.11的MAC和802.3協議的MAC非常相似,都是在一個共享媒體之上支持多個用戶共享資源,由發送者在發送數據前先進行網絡的可用性檢測。在802.3協議中,是由一種稱爲CSMA/CD(Carrier Sense Multiple Access with Collision Detection)的協議來完成調節,這個協議解決了在Ethernet上的各個工作站如何在線纜上進行傳輸的問題,利用它檢測和避免當兩個或兩個以上的網絡設備需要進行數據傳送時網絡上的衝突。在802.11無線局域網協議中,衝突的檢測存在一定的問題,這個問題稱爲"Near/Far"現象,這是由於要檢測衝突,設備必須能夠一邊接受數據信號一邊傳送數據信號,而這在無線系統中是無法辦到的。
  鑑於這個差異,在802.11中對CSMA/CD進行了一些調整,採用了新的協議CSMA/CA(Carrier Sense Multiple Access with Collision Avoidance)或者DCF(Distributed Coordination Function)。 CSMA/CA利用ACK信號來避免衝突的發生,也就是說,只有當客戶端收到網絡上返回的ACK信號後才確認送出的數據已經正確到達目的地址。

CSMA/CA協議的工作流程

 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的主要差別

 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是比較困難的。


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章