CSMA/CD 載波監聽多點接入/碰撞檢測協議

“多點接入”表示許多計算機以多點接入的方式連接在一根總線上。

“載波監聽”是指每一個站在發送數據之前先要檢測一下總線上是否有其他計算機在發送數據,如果有,則暫時不要發送數據,以免發生碰撞。 “載波監聽”就是用電子技術檢測總線上有沒有其他計算機發送的數據信號。

“碰撞檢測”就是計算機邊發送數據邊檢測信道上的信號電壓大小。當幾個站同時在總線上發送數據時,總線上的信號電壓擺動值將會增大(互相疊加)。當一個站檢測到的信號電壓擺動值超過一定的門限值時,就認爲總線上至少有兩個站同時在發送數據,表明產生了碰撞。所謂“碰撞”就是發生了衝突。因此“碰撞檢測”也稱爲“衝突檢測”。

檢測到碰撞後:在發生碰撞時,總線上傳輸的信號產生了嚴重的失真,無法從中恢復出有用的信息來。每一個正在發送數據的站,一旦發現總線上出現了碰撞,就要立即停止發送,免得繼續浪費網絡資源,然後等待一段隨機時間後再次發送。

特點:

1、使用 CSMA/CD 協議的以太網不能進行全雙工通信而只能進行雙向交替通信(半雙工通信)。

2、每個站在發送數據之後的一小段時間內,存在着遭遇碰撞的可能性。這種發送的不確定性使整個以太網的平均通信量遠小於以太網的最高數據率。

爭用期:

最先發送數據幀的站,在發送數據幀後至多經過時間 2a (兩倍的端到端往返時延)就可知道發送的數據幀是否遭受了碰撞。經過爭用期這段時間還沒有檢測到碰撞,才能肯定這次發送不會發生碰撞。

以太網的端到端往返時延 2a 稱爲爭用期,或碰撞窗口。通常,取 51.2 us 爲爭用期的長度。對於 10 Mb/s 以太網,在爭用期內可發送512 bit,即 64 字節。以太網在發送數據時,若前 64 字節未發生衝突,則後續的數據就不會發生衝突。

如果發生衝突,就一定是在發送的前 64 字節之內。由於一檢測到衝突就立即中止發送,這時已經發送出去的數據一定小於 64 字節。以太網規定了最短有效幀長爲 64 字節,凡長度小於 64 字節的幀都是由於衝突而異常中止的無效幀。

“等待一段隨機時間”的解釋 —— 二進制指數類型退避算法:

發生碰撞的站在停止發送數據後,要推遲(退避)一個隨機時間才能再發送數據。

確定基本退避時間,一般是取爲爭用期 2a。

定義參數 k ,
                      k = Min[重傳次數, 10]

從整數集合[0,1,…, (2^k - 1)]中隨機地取出一個數,記爲 r。重傳所需的時延就是 r 倍的基本退避時間。

當重傳達 16 次仍不能成功時即丟棄該幀,並向高層報告。

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