CSMA/CD 詳解 搬運


CSMA/CD(CarrierSenseMultipleAccesswithCollisionDetection)即帶沖突檢測的載波監聽多路訪問技術(載波監聽多點接入/碰撞檢測)。在傳統的共享以太網中,所有的節點共享傳輸介質。如何保證傳輸介質有序、高效地為許多節點提供傳輸服務,就是以太網的介質訪問控制協議要解決的問題。

  CSMA技術屬於介質訪問控制技術中的隨機接入/訪問技術,還有一類技術ALOHA技術CSMA介質訪問控制方法:

 

  一、基礎篇:

  CSMA/CD是一種爭用型的介質訪問控制協議。它起源於美國夏威夷大學開發的ALOHA網所采用的爭用型協議,並進行了改進,使之具有比ALOHA協議更高的介質利用率。主要應用於現場總線Ethernet中。另一個改進是,對於每一個站而言,一旦它檢測到有沖突,它就放棄它當前的傳送任務。換句話說,如果兩個站都檢測到信道是空閑的,並且同時開始傳送數據,則它們幾乎立刻就會檢測到有沖突發生。它們不應該再繼續傳送它們的幀,因為這樣只會產生垃圾而已;相反一旦檢測到沖突之后,它們應該立即停止傳送數據。快速地終止被損壞的幀可以節省時間和帶寬。

  CSMA/CD控制方式的優點是:

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

  CSMA/CD應用在OSI的第二層數據鏈路層

  它的工作原理是:發送數據前先偵聽信道是否空閑,若空閑,則立即發送數據。若信道忙碌,則等待一段時間至信道中的信息傳輸結束后再發送數據;若在上一段信息發送結束后,同時有兩個或兩個以上的節點都提出發送請求,則判定為沖突。若偵聽到沖突,則立即停止發送數據,等待一段隨機時間,再重新嘗試。

  其原理簡單總結為:先聽后發,邊發邊聽,沖突停發,隨機延遲后重發

  CSMA/CD采用IEEE802.3標准。

  它的主要目的是:提供尋址和媒體存取的控制方式,使得不同設備或網絡上的節點可以在多點的網絡上通信而不相互沖突。

  有人將CSMA/CD的工作過程形象的比喻成很多人在一間黑屋子中舉行討論會,參加會議的人都是只能聽到其他人的聲音。每個人在說話前必須先傾聽,只有等會場安靜下來后,他才能夠發言。人們將發言前監聽以確定是否已有人在發言的動作成為"載波偵聽";將在會場安靜的情況下每人都有平等機會講話成為“多路訪問”;如果有兩人或兩人以上同時說話,大家就無法聽清其中任何一人的發言,這種情況稱為發生“沖突”。發言人在發言過程中要及時發現是否發生沖突,這個動作稱為“沖突檢測”。如果發言人發現沖突已經發生,這時他需要停止講話,然后隨機后退延遲,再次重復上述過程,直至講話成功。如果失敗次數太多,他也許就放棄這次發言的想法。

  編輯本段

  二、進階篇:

  CSMA/CD控制規程:

  控制規程的核心問題:解決在公共通道上以廣播方式傳送數據中可能出現的問題(主要是數據碰撞問題)

  控制過程包含四個處理內容:偵聽、發送、檢測、沖突處理

  (1)偵聽:

  通過專門的檢測機構,在站點准備發送前先偵聽一下總線上是否有數據正在傳送(線路是否忙)?

  若“忙”則進入后述的“退避”處理程序,進而進一步反復進行偵聽工作。

  若“閑”,則一定算法原則(“X堅持”算法)決定如何發送。

  CSMA/CD是一種爭用型的介質訪問控制協議。它起源於美國夏威夷大學開發的ALOHA網所采用的爭用型協議,並進行了改進,使之具有比ALOHA協議更高的介質利用率。主要應用於現場總線Ethernet中。另一個改進是,對於每一個站而言,一旦它檢測到有沖突,它就放棄它當前的傳送任務。換句話說,如果兩個站都檢測到信道是空閑的,並且同時開始傳送數據,則它們幾乎立刻就會檢測到有沖突發生。它們不應該再繼續傳送它們的幀,因為這樣只會產生垃圾而已;相反一旦檢測到沖突之后,它們應該立即停止傳送數據。快速地終止被損壞的幀可以節省時間和帶寬。

  CSMA/CD控制方式的優點是:

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

  CSMA/CD應用在OSI的第二層數據鏈路層

  它的工作原理是:發送數據前先偵聽信道是否空閑,若空閑,則立即發送數據。若信道忙碌,則等待一段時間至信道中的信息傳輸結束后再發送數據;若在上一段信息發送結束后,同時有兩個或兩個以上的節點都提出發送請求,則判定為沖突。若偵聽到沖突,則立即停止發送數據,等待一段隨機時間,再重新嘗試。

  其原理簡單總結為:先聽后發,邊發邊聽,沖突停發,隨機延遲后重發

  CSMA/CD采用IEEE802.3標准。

  它的主要目的是:提供尋址和媒體存取的控制方式,使得不同設備或網絡上的節點可以在多點的網絡上通信而不相互沖突。

  有人將CSMA/CD的工作過程形象的比喻成很多人在一間黑屋子中舉行討論會,參加會議的人都是只能聽到其他人的聲音。每個人在說話前必須先傾聽,只有等會場安靜下來后,他才能夠發言。人們將發言前監聽以確定是否已有人在發言的動作稱為"載波監聽";將在會場安靜的情況下每人都有平等機會講話成為“多路訪問”;如果有兩人或兩人以上同時說話,大家就無法聽清其中任何一人的發言,這種情況稱為發生“沖突”。發言人在發言過程中要及時發現是否發生沖突,這個動作稱為“沖突檢測”。如果發言人發現沖突已經發生,這時他需要停止講話,然后隨機后退延遲,再次重復上述過程,直至講話成功。如果失敗次數太多,他也許就放棄這次發言的想法。通常嘗試16次后放棄。

  (2)發送:

  當確定要發送后,通過發送機構,向總線發送數據。

  (3)檢測:

  數據發送后,也可能發生數據碰撞。因此,要對數據邊發送,邊檢測,以判斷是否沖突了。

  (4)沖突處理:

  當確認發生沖突后,進入沖突處理程序。有兩種沖突情況:

  ①偵聽中發現線路忙

  ②發送過程中發現數據碰撞

  ①若在偵聽中發現線路忙,則等待一個延時后再次偵聽,若仍然忙,則繼續延遲等待,一直到可以發送為止。每次延時的時間不一致,由退避算法確定延時值。

  ②若發送過程中發現數據碰撞,先發送阻塞信息,強化沖突,再進行偵聽工作,以待下次重新發送(方法同①)CSMA/CD工作原理及性能分析(指標與影響因素)CSMA/CD是carriersensemultipleAccess/collisiondetected的縮寫,可譯為“載波偵聽多路訪問/沖突檢測”,或“帶有沖突檢測的載波偵聽多路訪問”。所謂載波偵聽(carriersense),意思是網絡上各個工作站在發送數據前都要偵聽總線上有沒有數據傳輸。若有數據傳輸(稱總線為忙),則不發送數據;若無數據傳輸(稱總線為空),立即發送准備好的數據。所謂多路訪問(multipleaccess)意思是網絡上所有工作站收發數據共同使用同一條總線,且發送數據是廣播式的。所謂沖突(collision),意思是,若網上有兩個或兩個以上工作站同時發送數據,在總線上就會產生信號的混合,兩個工作站都同時發送數據,在總線上就會產生信號的混合,兩個工作站都辨別不出真正的數據是什么。這種情況稱數據沖突又稱碰撞。為了減少沖突發生后又的影響。工作站在發送數據過程中還要不停地檢測自己發送的數據,有沒有在傳輸過程中與其它工作站的數據發生沖突,這就是沖突檢測(collisiondetected)。

  CSMA/CD媒體訪問控制方法的工作原理,可以概括如下:

  先聽后說,邊聽邊說;

  一旦沖突,立即停說;

  等待時機,然后再說;

  注:“聽”,即監聽、檢測之意;“說”,即發送數據之意。

  上面幾句話意思是在發送數據前,先監聽總線是否空閑。若總線忙,則不發送。若總線空閑,則把准備好的數據發送到總線上。在發送數據的過程中,工作站邊發送邊檢測總線,是否自己發送的數據有沖突。若無沖突則繼續發送直到發完全部數據;若有沖突,則立即停止發送數據,但是要發送一個加強沖突的JAM信號,以便使網絡上所有工作站都知道網上發生了沖突,然后,等待一個預定的隨機時間,且在總線為空閑時,再重新發送未發完的數據。

  性能指標:信道利用率、吞吐量、介質利用率

  CSMACD的主要影響因素:傳播時延、工作站數。

  ①CSMA/CD對站點個數不是很敏感,對實際的輸入負載比較敏感。

  ②CSMA/CD對傳播時延a比較敏感。

  ③CSMA/CD沖突不可避免。

  ④CSMA/CD的介質利用率隨a的上升下降較快。

  ⑤CSMA/CD適合通信量不大,交互頻繁的場合

  ⑥對於CSMA/CD幀越長,吞吐量越太,要求幀具有最小長度,當有許多短消息時,帶寬浪費嚴重。

  ⑦CSMA/CD在輕負載時提供最短延遲,但對重負載敏感。

  主要參數:

  時間片512比特時間

  幀間間隔9.6微秒

  嘗試極限16

  退避極限10

  人為干擾長32比特

  最大幀長1518字節

  最小幀長64字節

  地址字段長48比特

  幾個概念:

  上述兩種沖突情況都會涉及一個共同算法——退避算法。

  ①退避算法:當出現線路沖突時,如果沖突的各站點都采用同樣的退避間隔時間,則很容易產生二次、三次的碰撞。因此,要求各個站點的退避間隔時間具有差異性。這要求通過退避算法來實現。

  截斷的二進制指數退避算法(退避算法之一):

  當一個站點發現線路忙時,要等待一個延時時間M,然后再進行偵聽工作。延時時間M以以下算法決定:

  M=0~(2^k-1)之間的一個隨機數乘以512比特時間(例如對於10MbPS以太網,為51.2微秒),k為沖突(碰撞)的次數,M的最大值為1023,即當k=10及以后M始終是0~1023之間的一個隨機值與51.2的乘積,當k增加到16時,就發出錯誤信息。

  ②特殊阻塞信息:是一組特殊數據信息。在發送數據后發現沖突時,立即發送特殊阻塞信息(連續幾個字節的全1,一般為32-48位),以強化沖突信號,使線路上站點可以盡早探測得到沖突的信號,從而減少造成新沖突的可能性。

  ③沖突檢測時間>=2Α:α表示網絡中最遠兩個站點的傳輸線路延遲時間。該式表示檢測時間必須保證最遠站點發出數據產生沖突后被對方感知的最短時間。在2α時間里沒有感知沖突,則保證發出的數據沒有產生沖突。(只要保證檢測2α時間,沒有必要整個發送過程都進行檢測)

  ④X-堅持的CSMA算法:當在偵聽中發現線路空閑時,不一定馬上發送數據,而采用X-堅持的CSMA算法決定如何進行數據發送:

  三種算法及特點:

  -非堅持的CSMA:線路忙,等待一段時間,再偵聽;不忙時,立即發送;減少沖突,信道利用率降低:

  -1堅持的CSMA:線路忙,繼續偵聽;不忙時,立即發送;提高信道利用率,增大沖突:

  -p堅持的CSMA:線路忙,繼續偵聽;不忙時,根據p概率進行發送,另外的1-p概率為繼續偵聽(p是一個指定概率值);有效平衡,但復雜:

  (5)控制流程圖(右上角圖):

  (6)CSMA控制規程的特征

  ①簡單

  ②具有廣播功能

  ③平均帶寬:f=F/n

  ④絕對平等,無優先級

  ⑤低負荷高效,高負荷低效

  ⑥延時時間不可預測

  ⑦傳輸速率與傳輸距離為一定值

  編輯本段

  三、應用篇

  CSMA/CD曾經用於各種總線結構以太網(bustopologyEthernet)和雙絞線以太網(twisted-pairEthernet)的早期版本中。現代以太網基於交換機和全雙工連接建立,不會有碰撞,因此沒有必要使用CSMA/CD。

  CSMA/CD網絡上進行傳輸時,必須按下列五個步驟來進行

  (1)傳輸前偵聽

  (2)如果忙則等待

  (3)傳輸並檢測沖突

  (4)如果沖突發生,重傳前等待

  (5)重傳或夭折

 

  -非堅持的CSMA:線路忙,等待一段時間,再監聽;不忙時,立即發送;減少沖突,信道利用率降低:-1堅持的CSMA:線路忙,繼續偵聽;不忙時,立即發送;提高信道利用率,增大沖突:-p堅持的CSMA:線路忙,繼續偵聽;不忙時,根據p概率進行發送,另外的1-p概率為繼續偵聽(p是一個指定概率值);有效平衡,但復雜:5)控制流程圖(右上角圖):(6)CSMA控制規程的特征①簡單②具有廣播功能③平均帶寬:f=F/n④絕對平等,無優先級⑤低負荷高效,高負荷低效⑥延時時間不可預測⑦傳輸速率與傳輸距離為一定值。


————————————————
版權聲明:本文為CSDN博主「zyj66666」的原創文章,遵循CC 4.0 BY-SA版權協議,轉載請附上原文出處鏈接及本聲明。
原文鏈接:https://blog.csdn.net/zyj66666/article/details/73732217


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM