麻省理工學院的研究人員為無線網絡設計了一種擁塞控制方案,可以幫助減少延遲時間並提高視頻,視頻聊天,移動遊戲和其他Web服務的質量。
為了使Web服務保持平穩運行,擁塞控制方案根據來自網絡路由器的反饋來推斷有關網絡帶寬容量和擁塞的信息,該信息被編碼在數據包中。該信息確定通過網絡發送數據包的速度。
確定好的發送速率可能是一個艱難的平衡行為。發送者不想過於保守:如果網絡的容量從每秒2兆字節不斷變化到每秒500千字節,則發送者始終可以以最低速率發送流量,但是,可能引起質量低下。另一方面,如果發件人不斷保持較高的速率,即使網絡容量下降,它也可能使網絡不堪重負,從而形成大量等待發送的數據包隊列。排隊的數據包可能會增加網絡的延遲,從而導致您的Skype呼叫凍結。
在無線網絡中,事情變得更加複雜,因為無線網絡具有「時變連結」,並且容量變化迅速,不可預測。取決於各種因素,例如網絡用戶的數量,手機發射塔的位置,甚至周圍的建築物,容量可能會在幾分之一秒內翻倍或降至零。在USENIX網絡系統設計和實現研討會上的一篇論文中,研究人員介紹了「加速制動控制」(ABC),這是一種簡單的方案,可在時變鏈路上實現約50%的速率提高和約一半的網絡延遲。
該方案依賴於一種新穎的算法,該算法使路由器能夠明確傳達應流經網絡的數據包數量,以避免擁塞,但可以充分利用網絡。它通過重新利用Internet數據包中已有的一點來提供瓶頸中的詳細信息(例如,在信號塔和發送方之間排隊的數據包)。研究人員已經在與行動網路運營商進行談判以測試該方案。
「在蜂窩網絡中,您的部分數據容量迅速變化,從而導致服務滯後。傳統方案太慢,無法適應這些變化,」第一作者CSAIL研究生Prateesh Goyal說。「 ABC使用單個數據位提供有關這些變化的詳細反饋,無論是上升還是下降。」
傳統的擁塞控制方案依靠數據包丟失或Internet數據包中單個「擁塞」位的信息來推斷擁塞並減慢速度。諸如基站之類的路由器將標記該位,以警告發送方(例如,視頻伺服器)其發送的數據包在很長的隊列中,這表明擁塞。作為響應,發送方隨後將通過發送更少的數據包來降低其速率。如果發送方在到達接收方之前檢測到丟包的模式,它也會降低其速率。
為了提供有關網絡路徑上瓶頸鏈路的更多信息,研究人員提出了「顯式」方案,該方案在指定當前速率的數據包中包含多個位。但是這種方法將意味著徹底改變網際網路發送數據的方式,並且事實證明無法部署。
「這是一項艱巨的任務,」 Alizadeh 說。「您必須對用於發送數據包的標準Internet協議(IP)進行侵入式更改。您必須說服所有Internet各方,行動網路運營商,ISP和蜂窩基站以改變其發送和接收數據的方式。但這這基本上是不會發生的。」
使用ABC,研究人員仍然在每個數據包中使用可用的單個比特,但是他們這樣做的方式是,跨多個數據包聚合的比特可以為發送者提供所需的實時速率信息。該方案在從發送者到基站再到接收者的往返循環中跟蹤每個數據包。基站根據當前網絡帶寬用「加速」或「制動」標記每個數據包中的比特。當接收到數據包時,標記的位告訴發送方增加或減少可能在網絡中的「傳輸中」數據包(已發送但未接收到的數據包)。
如果接收到加速命令,則表示數據包時間充足,網絡具有備用容量。然後,發送方發送兩個數據包:一個用於替換已接收的數據包,另一個用於利用備用容量。當被告知制動時,發送方將其飛行中的數據包減少一個,這意味著它不會替換收到的數據包。
通過在網絡中的所有數據包中使用,標記位的信息就成為一種功能強大的反饋工具,可以高精度地告訴發件人其發送速率。在幾百毫秒內,它可以使發件人的速率在零到兩倍之間變化。Alizadeh 說:「您可能會認為其中一點信息都攜帶不了。但是,通過匯總數據包流中的單比特反饋,我們可以獲得與多比特信號相同的效果。」
ABC的核心是一種算法,該算法可預測發送者一個往返的總速率,以更好地計算加速/制動反饋。
這個想法是,配備ABC的基站會根據發送者如何標記發送到接收者的數據包來知道發送者的行為-保持,增加或減少其飛行中的數據包。基站發送數據包的那一刻,它就知道在未來恰好一個往返時間內它將從發送方收到多少個數據包。它使用該信息標記數據包,以更準確地將發送方的速率與當前網絡容量匹配。
與傳統的擁塞控制方案相比,在蜂窩網絡仿真中,ABC在大致相同的延遲下實現了大約30%到40%的速率增長。或者,通過保持與傳統方案相同的吞吐量,它可以將延遲減少大約200%至400%。與尚未為時變鏈路設計的現有顯式方案相比,ABC可以將相同速率的延遲減少一半。Goyal說:「基本上,現有的方案獲得低速率和低延遲,或者獲得高速率和高延遲,而ABC則獲得了低延遲的高速率。」
接下來,研究人員試圖查看應用程式和Web服務是否可以通過使用ABC更好地控制內容質量。例如,「視頻內容提供商可以使用ABC的有關擁塞和數據速率的信息來更智能地選擇流式視頻的解析度,」 Alizadeh說。「如果沒有足夠的容量,視頻伺服器可能會暫時降低解析度,因此視頻將繼續以最高的質量播放而不會凍結。」