和性增長/乘性降低
和性增長/乘性降低(英語:additive-increase/multiplicative-decrease、AIMD)算法是一個反饋控制算法,最廣為人知的用途是在TCP擁塞控制。AIMD將擁塞窗口的線性增長與監測到擁塞時的指數降低相結合。使用AIMD擁塞控制的多個流將最終收斂到使用等量的共享鏈路[1]。乘性增長/乘性降低(MIMD)和加性增長/加性降低(AIAD)的相關方案無法達到穩定。
算法
採取的方法是增加傳輸速率(窗口大小),探測可用帶寬,直到發生丟包。加性增長的策略例如可以在每個往返時間將擁塞窗口增長固定量。當檢測到擁塞時,發送方將傳輸速率降低一個乘數;例如,數據丟失發生時將擁塞窗口降低到一半。結果是鋸齒形的,體現帶寬的探測。
AIMD需要二進制的擁塞信號。丟包通常充當了最常見的擁塞信號。當超時或確認消息指示數據包丟失時,觸發乘性降低。有一些網絡內機制可以像顯式擁塞通知(ECN)中那樣標記擁塞(不丟棄數據包)。
令w(t)為時間t內的發送速率(如擁塞窗口),a()是加性增長參數,而b()是可乘的降低因子。
在TCP慢啟動後,加性增長參數a通常為每個RTT一個MSS,而乘積減小因子b通常為1/2。
協議
AIMD擁塞控制用於或曾經用於:
相關連結
參考文獻
- ^ 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.
- ^ 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.
- ^ Floyd. 4341: RFC Profile for Datagram Congestion Control Protocol (DCCP) Congestion Control ID 2: TCP-like Congestion Control. [2020-02-25]. (原始內容存檔於2020-10-19).