MIT發現網絡帶寬分佈不均的原因

來源:allaboutcircuits

2020 年,據《大英百科全書》估計有超過 45 億人可以訪問互聯網。隨着這一數字的持續增長,互聯網帶寬必須公平地分配給多個用戶。

帶寬定義爲在給定時間內可以通過互聯網連接發送的最大數據量。對於任何給定的互聯網連接,可能有許多用戶共享其帶寬。例如,考慮一個家庭互聯網連接的情況,其中有幾個用戶使用流媒體服務,而其他用戶使用電子郵件等基本服務。互聯網連接必須以公平的方式分配給每個設備,同時確保足夠的速度。這是通過擁塞控制算法實現的。

互聯網可以被認爲是一條水管,擁塞控制算法測量水連接以平衡交付速度(延遲)和數量公平(帶寬)。圖片由CompiraLabs提供

然而,最近,麻省理工學院的一組研究人員發現,網絡擁塞算法中的缺陷可能會不均勻地將帶寬分配給互聯網用戶。

擁塞控制算法如何導致網絡“飢餓”

由於擁塞控制算法對於共享現代互聯網至關重要,因此研究人員在優化和簡化它們方面投入了大量資金。2017 年,谷歌工程師開發了 BBR(瓶頸帶寬和往返傳播時間)擁塞控制算法(CCA),隨後在 2019 年由 Amazon Cloudfront 部署。

然而,麻省理工學院的研究人員最近發表了一項研究,聲稱 BBR 和類似的“延遲邊界”擁塞控制算法不能總是避免被稱爲帶寬不足的情況。在這種情況下,飢餓是指一個連接的設備佔用可用帶寬,從而阻止另一個連接的設備訪問最小或任何帶寬。

延遲邊界擁塞控制算法的工作原理是通過測量網絡的往返時間(RTT)來調整其擁塞窗口,通常定義爲允許設備在給定時間發送到網絡中的數據包數量。RTT 定義爲從設備發出數據包到遠程服務器收到確認之間的持續時間。

往返時間 (RTT) 的插圖。圖片由StormIT提供

麻省理工學院發現網絡分佈的障礙

最近,麻省理工學院證明了延遲有界的 CCA 會導致網絡“飢餓”。在一項已發表的研究中,研究人員指出延遲有界的擁塞控制算法也是“延遲收斂的”,這意味着它們會收斂到隨時間在兩個值之間振盪的 RTT。

延遲有界擁塞控制算法的延遲收斂特性。圖片由麻省理工學院提供

麻省理工學院的研究人員使用形式數學表明,如果延遲有界(收斂)算法在兩個不同的現實世界鏈路(例如,兩個不同的設備共享一個連接)上運行,它們可以收斂到截然不同的發送速率。換句話說,其中一個鏈路可能缺乏帶寬。

當使用延遲收斂 CCA 時,兩條不同的鏈路會收斂到不同的發送速率。圖片由麻省理工學院提供

這是因爲網絡“抖動”——網絡中的延遲不是由擁塞引起的,而是由其他隨機事件引起的。當兩條不同鏈路的抖動發生偏差時,延遲收斂算法會收斂到 RTT,這可能無法反映鏈路上存在的實際擁塞。

改進擁塞控制算法

根據麻省理工學院電氣工程和計算機科學副教授 Mohammed Alizadeh 的說法,解決這個問題的一種方法是設計一種算法,在該算法中,振盪收斂到比鏈路上存在的抖動更大的 RTT 範圍。Alizadeh 還斷言,當前的延遲收斂 CCA 在某些情況下幾乎總是導致飢餓。未來的 CCA 將不得不考慮這種行爲以避免帶寬不足。