退避演演算法

退避演演算法

退避演演算法:主稱為補償演演算法,它可以為再次嘗試傳輸而創建一個隨機的等待時間,這樣不會出現第2次衝突。

簡介


退避演演算法就是網路上的節點在發送數據衝突后,等待一定時間后再發,等待時間是隨指數增長

用途


主要用於CSMA的衝突分解
二進位指數退避可以取得較好的分解效果。
在共用通道的情況下,當衝突發生以後,每個節點都進行一個隨機時延t,0
t服從(0~T)上的以二為底的指數分佈。
退避演演算法有:非堅持,1-堅持,P-堅持
(1)非堅持CSMA;
#假如介質是空閑的,則發送;
#假如介質是忙的,等待一段隨機時間,重複第一步;
(2)1-堅持CSMA;
#假如介質是空閑的,則發送;
#假如介質是忙的,繼續監聽,直到介質空閑,立即發送;
#假如衝突發生,則等待一段隨機時間,重複第一步。
(3)P-堅持CSMA;
#假如介質是空閑的,則以P概率發送;而以(1-P)的概率延遲一個時間單位。時間單位等於最大的傳播延遲時間。
#假如介質是忙的,繼續監聽,直到介質空閑,重複第一步。
#假如發送被延遲一個時間單位,則重複第一步。
(4) 可預測P-堅持CSMA
#假如介質當前有多個節點需要佔用通道,或者已經發生多次衝突,可預測P-堅持CSMA則可根據當前的負荷量來判斷發送數據可能碰撞的可能性。當前衝突次數多,則自動減小P值,否則增大P值。
三種方法的比較:
非堅持1-堅持P-堅持
優點當站點要發送時,只要介質空閑,就立即發送。降低1-堅持的衝突概
率,又減小介質浪費。
缺點即使有幾個站有數據要發送,介質仍可能處於空閑狀態。介質利用率低。
假如有兩個或兩個以上的站點有數據要發送,衝突就不可避免。P值的選擇
非常重要。
  • 目錄