複製鏈接
請複製以下鏈接發送給好友

衝突檢測

鎖定
衝突檢測即發送站點在發送數據時要邊發送邊監聽信道,若監聽到信道有干擾信號,則表示產生了衝突,於是就要停止發送數據,計算出退避等待時間,然後使用CSMA方法繼續嘗試發送。計算退避等待時間採用的是“二進制指數退避算法”。
中文名
衝突檢測
外文名
collision detection

衝突檢測衝突檢測分類

載波偵聽多路訪問/碰撞檢測(CSMA/CD)
此方案要求設備在發送幀的同時要對信道進行偵聽,以確定是否發生碰撞,若在發送數據過程中檢測到碰撞,則進行如下碰撞處理操作: [1] 
  1. 發送特殊阻塞信息並立即停止發送數據:特殊阻塞信息是連續幾個字節的全1信號,此舉意在強化碰撞,以使得其它設備能儘快檢測到碰撞發生。 [1] 
  2. 在固定時間(一開始是1 contention period times)內等待隨機的時間,再次發送。 [1] 
  3. 若依舊碰撞,則採用截斷二進制指數避退算法進行發送。即十次之內停止前一次“固定時間”的兩倍時間內隨機再發送,十次後則停止前一次“固定時間”內隨機再發送。嘗試16次之後仍然失敗則放棄發送。 [1] 
此方案應用於
  • 以太網(DIX Ethernet V2)標準,IEEE 802.3標準 [1] 
載波偵聽多路訪問/碰撞避免(CSMA/CA)
此種方案採用主動避免碰撞而非被動偵測的方式來解決碰撞問題。可以滿足那些不易準確偵測是否有碰撞發生的需求,如無線域名。 [1] 
CSMA/CA協議主要使用兩種方法來避免碰撞: [1] 
  1. 設備欲發送訊框(Frame),且訊框聽到通道空閒時,維持一段時間後,再等待一段隨機的時間依然空閒時,才提交數據。由於各個設備的等待時間是分別隨機產生的,因此很大可能有所區別,由此可以減少碰撞的可能性。 [1] 
  2. RTS-CTS三向握手(英語:handshake):設備欲發送訊框前,先發送一個很小的RTS(Request to Send)訊框給最近的接入點(Access Point),等待目標端迴應CTS(Clear to Send)幀後,才開始發送。此方式可以確保接下來發送數據時,不會發生碰撞。同時由於RTS幀與CTS幀都很小,讓發送的無效開銷變小。 [1] 
此方案應用於
  • 無線局域網的IEEE 802.11標準。 [1] 

衝突檢測CSMA/BA

載波偵聽多路訪問/位仲裁(英語:Carrier Sense Multiple Access with Bitwise Arbitration,CSMA/BA) [1] 

衝突檢測CSMA/CP

載波偵聽多路訪問/載波優先(英語:Carrier Sense Multiple Access with Carrier Preemption,CSMA/CP) [1] 

衝突檢測二進制指數退避算法

CSMA/CD協議中,一旦檢測到衝突,為降低再衝突的概率,需要等待一個隨機時間,然後再使用CSMA方法試圖傳輸。為了保證這種退避維持穩定,採用了二進制指數退避算法的技術,其算法過程如下: [1] 
1. 將衝突發生後的時間劃分為長度為2t的時隙
2. 發生第一次衝突後,各個站點等待0或1個時隙在開始重傳
3. 發生第二次衝突後,各個站點隨機地選擇等待0,1,2或3個時隙在開始重傳
4. 第i次衝突後,在0至2的i次方減一間隨機地選擇一個等待的時隙數,在開始重傳
5. 10次衝突後,選擇等待的時隙數固定在0至1023(2的10次方減一)間
6. 16次衝突後,發送失敗,報告上層。
參考資料
  • 1.    (美)庫羅斯.計算機網絡自頂向下方法:機械工業出版社,2009-1-1