帶有二進位制指數退避的CSMA/CD


載波偵聽多路訪問/碰撞檢測 (CSMA/CD) 是一種用於載波傳輸的網路協議,它工作在介質訪問控制 (MAC) 層。它會檢測或偵聽共享傳輸通道是否繁忙,並在通道空閒之前推遲傳輸。

當多個站點同時傳送幀時,就會發生衝突。後退演算法是一種衝突解決機制,通常用於在乙太網中衝突後安排重傳。站點在嘗試重傳幀之前等待的時間稱為後退時間。

CSMA/CD 演算法

步驟 1) 當幀準備就緒時,傳送站檢查通道是空閒還是繁忙。

步驟 2) 如果通道繁忙,則站點等待直到通道空閒。

步驟 3) 如果通道空閒,則站點開始傳輸並持續監視通道以檢測衝突。

步驟 4) 如果檢測到衝突,則站點啟動二進位制指數退避演算法。

步驟 5) 站點重置重傳計數器並完成幀傳輸。

衝突情況下的二進位制指數退避演算法

步驟 1) 站點繼續傳輸當前幀一段時間,同時傳送干擾訊號,以確保所有其他站點都檢測到衝突。

步驟 2) 站點遞增重傳計數器 c,該計數器表示衝突次數。

步驟 3) 站點在 0 到 2c – 1 範圍內選擇一個隨機時隙數。例如,在第一次衝突(即 c = 1)後,站點將等待 0 或 1 個時隙。在第二次衝突(即 c = 2)後,站點將等待 0 到 3 個時隙之間的任何時間。在第三次衝突(即 c = 3)後,站點將等待 0 到 7 個時隙之間的任何時間,依此類推。

步驟 4) 如果站點在 0 到 2c – 1 範圍內選擇了一個數字 𝑘,則

Back_off_time = k × 時隙時間,

其中時隙時間等於往返時間 (RTT)。

步驟 5) 在後退時間結束時,站點嘗試透過繼續使用 CSMA/CD 演算法進行重傳。

步驟 6) 如果達到最大重傳嘗試次數,則站點中止傳輸。

下面的流程圖總結了這些演算法。CMSA/CD 演算法以綠色顯示,而後退演算法以栗色顯示。

更新於: 2020年7月2日

6K+ 瀏覽量

開啟你的 職業生涯

透過完成課程獲得認證

開始學習
廣告
© . All rights reserved.