圖一、TCP擁塞控制算法運行機制

然而,面對市面上的諸多選擇,是否有一種TCP擁塞控制算法能夠適用于所有的場景呢?

以一敵百,難以實現(xiàn)

問題的答案自然是否定的,而且Akamai對網(wǎng)絡(luò)環(huán)境狀況的監(jiān)測結(jié)果也印證了這一點。Akamai在全球部署了分布最廣泛且高度分散的內(nèi)容交付網(wǎng)絡(luò)(CDN),具備較高的對整體網(wǎng)絡(luò)的可見性,Akamai在自身平臺上部署了多種TCP擁塞控制算法,包括FastTCP、BBR、QDK、Cubic、Reno等。以Akamai在亞太地區(qū)某區(qū)域不同網(wǎng)絡(luò)環(huán)境下的有效發(fā)包效率為例:

亞太地區(qū)某區(qū)域移動蜂窩網(wǎng)絡(luò)的數(shù)據(jù)顯示(如圖二),當交付內(nèi)容的大小在1M至3M之間時,平均有效發(fā)包效率最高的TCP擁塞控制算法為QDK(18240.6kbps),比最低的FastTCP快約4.4Mbps,差異高達驚人的33%。使用FastTCP時,有超過半數(shù)情況有效發(fā)包效率在11940.0kbps以上;而使用Reno時,半數(shù)以上的情況有效發(fā)包率可達到16048.0kbps,遠高于墊底的FastTCP。

而亞太地區(qū)相同區(qū)域固網(wǎng)的數(shù)據(jù)則呈現(xiàn)出另一番景象(如圖三)。BBR的平均有效發(fā)包效率僅為20229.1kbps,是效率最低的TCP擁塞控制算法,而在移動蜂窩網(wǎng)絡(luò)環(huán)境中不太“靈光”的FastTCP反而以22694.9kbps的平均有效發(fā)包效率,一躍成為了固網(wǎng)環(huán)境里的“優(yōu)等生”。同時,對超過一半情況有效發(fā)包效率可以達到的數(shù)值進行比較,F(xiàn)astTCP依然以18618.4kbps保持領(lǐng)先。

圖二

不難發(fā)現(xiàn),每一種TCP擁塞控制算法都有最適合它的特定網(wǎng)絡(luò)環(huán)境,沒有一勞永逸的方法可以解決繁雜且龐大的網(wǎng)絡(luò)中的所有問題。因此,如果固化地選用一種TCP擁塞控制算法,必然會出現(xiàn)一部分終端用戶難以快速獲得高清、流暢內(nèi)容的情況;但終端用戶又是挑剔的,對極致體驗的追求不分時間、地點、內(nèi)容和設(shè)備。面對如此難上加難的處境,互聯(lián)網(wǎng)內(nèi)容提供商自然不能束手就擒。

以動制動,應(yīng)勢而變

既然網(wǎng)絡(luò)環(huán)境中的擁塞狀況時刻處于動態(tài)的變化之中,試想如果能夠根據(jù)實際的網(wǎng)絡(luò)條件,自動選擇出最適合的TCP擁塞控制算法,及時對癥下藥,難題也就可以迎刃而解。那么,這樣動態(tài)的優(yōu)化過程又該如何實現(xiàn)呢?

首先,依托一張能夠交付大規(guī)模流量的內(nèi)容交付網(wǎng)絡(luò),從中收集涵蓋數(shù)據(jù)類型、網(wǎng)絡(luò)類型、用戶地理位置、網(wǎng)絡(luò)時延、使用時間段等20個維度的海量數(shù)據(jù),作為分析網(wǎng)絡(luò)環(huán)境狀況的原始素材。而要利用這些數(shù)據(jù)完成對網(wǎng)絡(luò)流量和擁塞情況的分析,并識別出其中的細微差別和特點,依靠人工手段顯然不現(xiàn)實,因此需要機器學(xué)習來助一臂之力。最后,根據(jù)機器學(xué)習的分析結(jié)果,自動地從所部屬的多種TCP擁塞控制算法中,選擇出最適合當前終端用戶所處網(wǎng)絡(luò)環(huán)境的一種,從而使應(yīng)勢而變的動態(tài)選擇成為現(xiàn)實。

當前,Akamai正在穩(wěn)步推進以分析框架、機器學(xué)習、TCP擁塞控制算法工具庫為主要構(gòu)成的動態(tài)協(xié)議優(yōu)化解決方案。憑借這套解決方案,Akamai期待不僅能夠?qū)崿F(xiàn)對網(wǎng)絡(luò)使用體驗的優(yōu)化,更能夠營造一個相對公平的網(wǎng)絡(luò)使用環(huán)境。未來,Akamai仍將是互聯(lián)網(wǎng)內(nèi)容提供商在網(wǎng)絡(luò)“治堵”道路上并肩同行、值得信賴的伙伴。

分享到

zhupb

相關(guān)推薦