然而,面對市面上的諸多選擇,是否有一種TCP擁塞控制算法能夠適用于所有的場景呢?
以一敵百,難以實現(xiàn)
問題的答案自然是否定的,而且Akamai對網絡環(huán)境狀況的監(jiān)測結果也印證了這一點。Akamai在全球部署了分布最廣泛且高度分散的內容交付網絡(CDN),具備較高的對整體網絡的可見性,Akamai在自身平臺上部署了多種TCP擁塞控制算法,包括FastTCP、BBR、QDK、Cubic、Reno等。以Akamai在亞太地區(qū)某區(qū)域不同網絡環(huán)境下的有效發(fā)包效率為例:
亞太地區(qū)某區(qū)域移動蜂窩網絡的數(shù)據(jù)顯示(如圖二),當交付內容的大小在1M至3M之間時,平均有效發(fā)包效率最高的TCP擁塞控制算法為QDK(18240.6kbps),比最低的FastTCP快約4.4Mbps,差異高達驚人的33%。使用FastTCP時,有超過半數(shù)情況有效發(fā)包效率在11940.0kbps以上;而使用Reno時,半數(shù)以上的情況有效發(fā)包率可達到16048.0kbps,遠高于墊底的FastTCP。
而亞太地區(qū)相同區(qū)域固網的數(shù)據(jù)則呈現(xiàn)出另一番景象(如圖三)。BBR的平均有效發(fā)包效率僅為20229.1kbps,是效率最低的TCP擁塞控制算法,而在移動蜂窩網絡環(huán)境中不太“靈光”的FastTCP反而以22694.9kbps的平均有效發(fā)包效率,一躍成為了固網環(huán)境里的“優(yōu)等生”。同時,對超過一半情況有效發(fā)包效率可以達到的數(shù)值進行比較,F(xiàn)astTCP依然以18618.4kbps保持領先。
不難發(fā)現(xiàn),每一種TCP擁塞控制算法都有最適合它的特定網絡環(huán)境,沒有一勞永逸的方法可以解決繁雜且龐大的網絡中的所有問題。因此,如果固化地選用一種TCP擁塞控制算法,必然會出現(xiàn)一部分終端用戶難以快速獲得高清、流暢內容的情況;但終端用戶又是挑剔的,對極致體驗的追求不分時間、地點、內容和設備。面對如此難上加難的處境,互聯(lián)網內容提供商自然不能束手就擒。
以動制動,應勢而變
既然網絡環(huán)境中的擁塞狀況時刻處于動態(tài)的變化之中,試想如果能夠根據(jù)實際的網絡條件,自動選擇出最適合的TCP擁塞控制算法,及時對癥下藥,難題也就可以迎刃而解。那么,這樣動態(tài)的優(yōu)化過程又該如何實現(xiàn)呢?
首先,依托一張能夠交付大規(guī)模流量的內容交付網絡,從中收集涵蓋數(shù)據(jù)類型、網絡類型、用戶地理位置、網絡時延、使用時間段等20個維度的海量數(shù)據(jù),作為分析網絡環(huán)境狀況的原始素材。而要利用這些數(shù)據(jù)完成對網絡流量和擁塞情況的分析,并識別出其中的細微差別和特點,依靠人工手段顯然不現(xiàn)實,因此需要機器學習來助一臂之力。最后,根據(jù)機器學習的分析結果,自動地從所部屬的多種TCP擁塞控制算法中,選擇出最適合當前終端用戶所處網絡環(huán)境的一種,從而使應勢而變的動態(tài)選擇成為現(xiàn)實。
當前,Akamai正在穩(wěn)步推進以分析框架、機器學習、TCP擁塞控制算法工具庫為主要構成的動態(tài)協(xié)議優(yōu)化解決方案。憑借這套解決方案,Akamai期待不僅能夠實現(xiàn)對網絡使用體驗的優(yōu)化,更能夠營造一個相對公平的網絡使用環(huán)境。未來,Akamai仍將是互聯(lián)網內容提供商在網絡“治堵”道路上并肩同行、值得信賴的伙伴。