CSMA(Carrier Sense Multiple Access)與CSMA/CD(Carrier Sense Multiple Access with Collision Detection)

#

1、CSMA(Carrier Sense Multiple Access,載波檢測(偵聽)多路訪問)以及CSMA/CD(Carrier Sense Multiple Access with Collision Detection,基於衝突檢測的載波監聽多路訪問技術)概念

CSMA(Carrier Sense Multiple Access)是載波檢測(偵聽)多路訪問,它檢測其他站的活動情況。它起源於美國夏威夷大學開發的ALOHA網所採用的爭用型協議,並進行了改進,使之具有比ALOHA協議更高的介質利用率。

CSMA/CD(Carrier Sense Multiple Access with Collision Detection,基於衝突檢測的載波監聽多路訪問技術)是一種分佈式介質訪問控制協議,網中的各個站(節點)都能獨立地決定數據幀的發送與接收。每個站在發送數據幀之前,首先要進行載波監聽,只有介質空閒時,才允許發送幀。
這時,如果兩個以上的站同時監聽到介質空閒併發送幀,則會產生衝突現象,這使發送的幀都成爲無效幀,發送隨即宣告失敗。
每個站必須有能力隨時檢測衝突是否發生,一旦發生衝突,則應停止發送,以免介質帶寬因傳送無效幀而被白白浪費,然後隨機延時一段時間後,再重新爭用介質,重發送幀。

CSMA/CD協議簡單、可靠,其網絡系統(如Ethernet)被廣泛使用。

2、CSMA/CD控制方式的優缺點

CSMA/CD控制方式的優點是:原理比較簡單,技術上易實現,網絡中各工作站處於平等地位 ,不需集中控制,不提供優先級控制。但在網絡負載增大時,發送時間增長,發送效率急劇下降。

3、CSMA/CD的工作原理

CSMA/CD應用在OSI7層裏的數據鏈路層,它的工作原理是:發送數據前先監聽信道是否空閒,若空閒則立即發送數據.在發送數據時,邊發送邊繼續監聽.若監聽到衝突,則立即停止發送數據.等待一段隨機時間,再重新嘗試。

4、CSMA分類

CSMA是載波檢測(偵聽)多路訪問.它檢測其他站的活動情況,據此調整自己的行爲.分爲以下幾類:

1 )1-持續CSMA(1-persistent CSMA):當信道忙或發生衝突時,要發送幀的站,不斷持續偵聽,一有空閒,便可發送. 其中,長的傳播延遲和同時發送幀,會導致多次衝突,降低系統性能.

2 )非持續CSMA: 它並不持續偵聽信道,而是在衝突時,等待隨機的一段時間.它有更好的信道利用率,但導致更長延遲.

3 ) p-持續CSMA:它應用於分槽信道,按照P概率發送幀.即信道空閒時,這個時槽,欲發送的站P概率發送,Q=1-P概率不發送.若不發送,下一時槽仍空閒,同理進行發送.若信道忙,則等待下一時槽,若衝突,則等待隨機的一段時間,重新開始.

以上都是對ALOHA的改進.當信道忙時,所有站都不傳輸幀.

4 ) 帶衝突檢測的CSMA(CSMA/CD:CSMA with Collision Detection):它一旦檢測到衝突,立即終止當前傳輸中的幀,節省時間和帶寬,並等待一段時間,重新嘗試.它廣泛用於LAN中MAC子層,是當前以太網LAN的基礎.

5、概念時間模型

其概念時間模型分爲三個時期:傳輸週期,競爭週期和空閒週期
總結爲:先聽後發,邊聽邊發,衝突不發,稍後再發

6、CSMA/CD具體介紹

**CSMA/CD的全稱是Carrier Sense Multiple Access with Collision Detection,即基於衝突檢測的載波監聽多路訪問技術。**CSMA/CD也是最初802.3中的核心,應用在10M/100M的半雙工有線網絡中,目前CSMA/CD的應用場景少了很多,大部分都直接基於全雙工工作。

CSMA/CD從思想上應該是源自於1-堅持CSMA,即1-persistentes CSMA。在其基礎上,加入了CD(Collision Detection)的機制。衝突檢測,即CD的機制主要是用來發現衝突,並解決衝突的。我們下面描述CSMA/CD的具體工作機制:

“節點發送數據之前需要持續監聽信道,一旦節點發現信道空閒,則立刻發送數據。在發送數據的同時,節點持續監聽信道,”探測” 是否有別的節點也在該時刻發送數據。

若傳輸過程中沒有檢測到別的節點的傳輸,那麼成功傳輸。在成功傳輸後,節點需要等待幀間間隔IFG(interframe gap)時間後,可以進行下一次傳輸。

若在傳輸過程中,探測到別的節點也在傳輸,那麼則檢測到衝突。發生衝突後,節點立刻停止當前的傳輸,並且發送特定的干擾序列(JAM序列),用以加強該次衝突(用以保證其餘所有節點都檢測到該次衝突),在JAM序列發送完之後,節點隨機選擇一個時間倒數進行backoff。當backoff完成之後,節點可以嘗試再次重傳”。

7、關於CSMA/CD的知識點解答

  • 載波檢測(CS:carrier sense):在有線網絡中,載波檢測實際上即是接收信道上的信息,並加以解析。用這種方式判斷共享信道上有沒有節點正在傳輸信息,從而達到監聽(listen)的作用。其中載波檢測這個名字實際上是從AM/FM接收中來的,即載波就是攜帶調製信息的模擬信號,從而載波監聽就是對是不是有AM/FM信號進行偵聽。
  • 衝突檢測(CD:collision detection):在一些理論中,介紹衝突檢測爲“發送的同時,接收同一個信道上的數據,並比較發送數據Tx與接收數據Rx”。若Tx=Rx,則沒有衝突發生,若Tx≠Rx,則識別到一個衝突。在一些工程介紹中,介紹檢測衝突的方法是“介質依賴法”。連接段介質(實際上是電纜)擁有傳輸和接受數據的獨立路徑(雙絞線中有單獨的發送和接受迴路),衝突檢測是在同一個接收段收發器中,藉助同時發生在傳輸和接收數據路徑上的活動來完成的。在同軸電纜介質上,收發器通過檢測同軸電纜的DC(即直流信號)信號等級來檢測衝突。當兩個或者多個基站同時傳輸時,同軸上的平均DC電壓可達到觸發同軸收發器中的衝突檢測電壓等級。同軸收發器連續檢測同軸電纜上的平均電壓等級,若平均電壓等級表明,有多個基站同時傳輸內容後,其會發送JAM信號到以太網接口處。發送JAM信號的這個過程比衝突檢測時間較長,多出的時間包含了根據10Mbps以太網上總信號延遲算出的時間(即包含了JAM信號的傳輸時間)。
  • 時隙與捕獲效應:在有線網絡中,捕獲效應被定義爲1個時隙長度內沒有衝突發生,同時時隙被定義爲512bit在10Mbps或100Mbps網絡的發送時間。在有線網絡中選擇爲512bit作爲一個時隙的參考值,是考量了爲發送信號到對端的最大往返時間。該最大往返時間包含了電磁波通過物理層的往返時間以及傳輸JAM信號所花費的時間。(JAM信號是加強衝突的一個通知信號)。若節點已捕獲信道,即已發送512bit,那麼對方不一定會來打斷你當前的傳輸,1.即確保對方能檢測到你,2.並且反饋的JAM信號也能通知到你。同時,若從電磁波傳輸的角度而言,512bit在10M中傳輸的時間換算成電磁波能夠傳播的距離大約是2800米,512bit在100M中傳輸的時間換算成電磁波傳播的距離大約是200米,對比有線網絡的雙絞線長度(大約100米)而言,這些參數還是可以接受的。在1000Mbps網絡以及其上,都是默認物理層採用全雙工模式的,若還是採用CSMA/CD的模式,那麼這裏的時隙長度會被定義爲512byte的長度,不過目前這個可能是學術上的用法,而非協議的定稿。
  • 重傳機制(Backoff與BEB機制):若節點檢測到衝突發生在前512個字節,即一個時隙內,那麼節點首先進行backoff,然後進行重傳。這裏backoff是採用BEB(二進制指數回退算法),即在一個隨機窗口內,選擇一個隨機數並乘以時隙(time slot)進行回退。在第0~10次回退過程中,每回退一次,隨機窗口放大一倍,在第11次到第16次過程中,依然進行回退,並嘗試重新發送數據包,但是不放大窗口大小,第17次若失敗,則丟包。按照一般情況下,衝突不會發生在512字節以後的部分,即已經發生了捕獲效應,即節點已經捕獲到了信道。不過比如時間不同步這樣的一些情況出現,導致衝突發生在512字節之後,貌似是不進行重傳,直接丟包的。
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章