這看似簡單的需求背后,互聯(lián)網內容提供商還要面對首幀時間、卡頓率、碼率、時延、下載時長、多項任務同時進行時的優(yōu)先級等針對不同交付內容的性能參數(shù)。要想在這樣共享的環(huán)境中使每個終端用戶都能夠擁有一個高效率、高質量的體驗,網絡協(xié)議層面的優(yōu)化必不可少。
擁塞控制,“治堵”關鍵
網絡環(huán)境好比市政交通。只有少量行人時,道路永遠暢通無阻。當越來越多的機動車、非機動車涌上街頭,堵車現(xiàn)象隨之而來,于是就需要能有效應對不同狀況的交通規(guī)則來緩解交通壓力。網絡亦是如此,流量太大、“路況”太復雜勢必會“堵”得水泄不通,而這個“堵”字用行話來講就是“擁塞”,用來“治堵”的網絡“交通規(guī)則”即是TCP(傳輸控制協(xié)議)擁塞控制算法。
目前,主流的TCP擁塞控制算法主要被劃分為兩大類:一是以Cubic、Reno為代表的基于丟包的算法,二是包括FastTCP和BBR在內的基于RTT(往返時間)/時延的算法。盡管不同TCP擁塞控制算法的具體運行機制有所差異,但都是通過對需要發(fā)送的數(shù)據量、擁塞窗口(cwnd)數(shù)值及接受窗口(rwnd)可接受的數(shù)據量三項參數(shù)進行衡量,以達到避免網絡擁塞的目的。更進一步講,采用TCP擁塞控制算法所能實現(xiàn)的理想效果是(如圖一),通過算法猜測網絡瓶頸在哪里,在達到瓶頸值之前盡可能多地發(fā)送數(shù)據,同時盡可能接近瓶頸上限而又不超過,而非發(fā)生擁塞后再做出反應。
圖一、TCP擁塞控制算法運行機制
然而,面對市面上的諸多選擇,是否有一種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ù)據顯示(如圖二),當交付內容的大小在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ù)據則呈現(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)的變化之中,試想如果能夠根據實際的網絡條件,自動選擇出最適合的TCP擁塞控制算法,及時對癥下藥,難題也就可以迎刃而解。那么,這樣動態(tài)的優(yōu)化過程又該如何實現(xiàn)呢?
首先,依托一張能夠交付大規(guī)模流量的內容交付網絡,從中收集涵蓋數(shù)據類型、網絡類型、用戶地理位置、網絡時延、使用時間段等20個維度的海量數(shù)據,作為分析網絡環(huán)境狀況的原始素材。而要利用這些數(shù)據完成對網絡流量和擁塞情況的分析,并識別出其中的細微差別和特點,依靠人工手段顯然不現(xiàn)實,因此需要機器學習來助一臂之力。最后,根據機器學習的分析結果,自動地從所部屬的多種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)網內容提供商在網絡“治堵”道路上并肩同行、值得信賴的伙伴。
如需了解有關行業(yè)領先的動態(tài)優(yōu)化解決方案的更多信息,敬請訪問:
https://www.akamai.com/cn/zh/products/performance/dynamic-site-accelerator.jsp。
[1]http://www.cac.gov.cn/2019-08/30/c_1124938750.htm
關于作者:
Darren Ng Akamai高級工程經理