和性增長/乘性降低

和性增長/乘性降低(英語:additive-increase/multiplicative-decreaseAIMD)算法是一個反饋控制算法,最廣為人知的用途是在TCP擁塞控制。AIMD將擁塞窗口的線性增長與監測到擁塞時的指數降低相結合。使用AIMD擁塞控制的多個流將最終收斂到使用等量的共享鏈路[1]。乘性增長/乘性降低(MIMD)和加性增長/加性降低(AIAD)的相關方案無法達到穩定。

算法 編輯

採取的方法是增加傳輸速率(窗口大小),探測可用帶寬,直到發生丟包。加性增長的策略例如可以在每個往返時間將擁塞窗口增長固定量。當檢測到擁塞時,發送方將傳輸速率降低一個乘數;例如,數據丟失發生時將擁塞窗口降低到一半。結果是鋸齒形的,體現帶寬的探測。

AIMD需要二進制的擁塞信號。丟包通常充當了最常見的擁塞信號。當超時或確認消息指示數據包丟失時,觸發乘性降低。有一些網絡內機制可以像顯式擁塞通知(ECN)中那樣標記擁塞(不丟棄數據包)。

w(t)為時間t內的發送速率(如擁塞窗口),a( )是加性增長參數,而b )是可乘的降低因子。

在TCP慢啟動後,加性增長參數a通常為每個RTT一個MSS,而乘積減小因子b通常為1/2。

協議 編輯

AIMD擁塞控制用於或曾經用於:

相關連結 編輯

參考文獻 編輯

  1. ^ Chiu, Dah-Ming; Raj Jain. Analysis of increase and decrease algorithms for congestion avoidance in computer networks. Computer Networks and ISDN systems. 1989, 17: 1–14. 
  2. ^ Chiu, Dah-Ming; Raj Jain. Analysis of increase and decrease algorithms for congestion avoidance in computer networks. Computer Networks and ISDN systems. 1989, 17: 1–14. 
  3. ^ Floyd. 4341: RFC Profile for Datagram Congestion Control Protocol (DCCP) Congestion Control ID 2: TCP-like Congestion Control. [2020-02-25]. (原始內容存檔於2020-10-19).