在引出雲網絡時延這看起來比較專業的話題前,先看幾個比較有意思的問題。
人的最快反應速度是多少毫秒?
機器人最快反應速度是多少毫秒?
這樣能在介紹雲網絡時延時讓大家有一個時間量級上的感覺。
什麼是時延
人體能感覺的時延量級
搶紅包時,為什麼總是别人能搶到?
搶爆品好貨時,為什麼别人扣的1總在你前面?
遊戲對戰時,為什麼總感覺比對手慢了半拍?
這些是人能明顯感覺到的時延,這些時延量級在毫秒級(1秒=1000毫秒)。
應激反應
确切的說人類接受到外部刺激而做出反應,這個時延一般公認的極限是
100ms。

大家可以在
humanbenchmark這個網站測試一下自己的反應時間是多少ms,快的能到200ms左右,慢一點的就到三四百毫秒了。
機械反應
人體連續機械反應的極限,一般公認的極限是
50ms遊戲玩家
“高橋名人”一秒點選按鍵16次,是目前無法超越的奇迹,折合每次反應的平均時間是62.5毫秒。中國玩家熟悉的冒險島遊戲的主角就是高橋名人。
機器能感覺的時延量級
自動駕駛
特斯拉的完全自動駕駛晶片,每秒可完成144萬億次的計算,能同時處理每秒2,300幀的圖像,結合本地的車載的神經網絡系統,發現異常并處理的時延可以做在
0.5ms左右,是人類識别外界異常并做出反應的速度的
200倍工業制造
對于純機械的反應,機器的速度就更快了,ABB的機器人在50秒以内可以裝配出一量有5千多個零部件的汽車,是100年前福特流水線手工裝配速度的
1000倍不同應用對時延的要求
面向使用者的應用時延
下面這個表是電信系統中對不用應用業務的分類以及不同應用對時延和丢包的需求。
總結下來:
1.實時競技類遊戲的時延要求是50ms
2.實時互動類遊戲的時延要求是100ms
3.實時互動語音類的時延要求是100ms
4.實時互動視訊類的時延要求是150ms
5.非實時大部分網際網路應用時延要求是300ms
上面的标準是優秀的标準,如果時延增加50ms,則是及格線。面向機器的應用的時延
5G場景下有對超低延遲時間應用場景的劃分。5G的超低延遲時間場景,主要是面向車聯網,物聯網和工業網際網路。
1.工業自動化控制的時延要求是小于10ms
2.遠端/遙控駕駛的時延要求是小于10ms
3.遠端超音波檢測的時延要求是小于10ms
整體上看,如果滿足面向機器的超低延遲時間應用,需要将雙向時延控制在10ms以内。
對于僅涉及到資料中心内部或資料中心間的機器之間的通信,比證券和期貨行業的高頻交易,這種網絡延遲甚至要求小于1ms。
端到端的時延構成
上面提到的不同應用的時延要求都是端到端的雙向時延,根據應用的不同這個端到端可能時使用者端和伺服器端,也可能是使用者端和使用者端之間。
端到端的時延包括應用處理時延和網絡傳輸時延。網絡層傳輸時延
網絡層傳輸時延指的是資料包的傳輸時延,比如資料包從手機發出到伺服器接收,再從伺服器發送到被終端接收。
網絡傳輸時延包括網絡接入時延,固網傳輸時延,資料中心内部網絡時延。
對于使用者從家庭寬帶的固定網絡來通路雲端的應用來說,整個端到端的時延構成如下。
使用者終端接入到家庭路由器,如果通過WiFi方式,在WiFi接入使用者較少,輕負載的情況下時延一般在5-15ms左右,通過網線方式一般小于1ms。
家庭路由器的WAN口連接配接到營運商的本地固網,從本地固網到營運商骨幹網再到阿裡雲資料中心,視距離的長短,網絡時延在1到100ms不等。
到阿裡雲資料中心後,資料中心内部的時延一般小于2ms。
如果使用者的終端通過4G或5G接入網絡,整個端到端的時延構成會稍微複雜一些。
4G的終端到基站的空口時延一般在10到20ms左右。
5G的終端到基站的空口時延降低到了1ms。
基站到核心網的時延和實體距離強相關,時延在1到15ms不等。
核心網的網際網路出口會連接配接到本地固網。
從本地固網到營運商骨幹網再到阿裡雲資料中心,視距離的長短,網絡時延在1到100ms不等。
應用層處理時延
應用層時延包含使用者前端的終端上的應用處理時延和後端的伺服器上的應用處理時延。
應用層處理時延根據不同的應用差異比較大,有的在10ms以内,有的則大于100 ms。
比如說搶紅包,買商品之類的簡單互動類應用,主要是一些資料包的互動,這種的應用層處理時延先對較少,很多在10ms以内。
對于工業網際網路類的應用,主要也時控制類的封包的互動,應用層處理時延會更小,很多在5ms以内。
對于遊戲類的應用,主要是終端向遊戲伺服器發送各種指令,另外一個方向是終端收到服務的資料後展示給使用者。這種類型的應用的應用層處理時間比較适中,一般在30ms以内。
終端發送指令時延很短,很多時候可以小于1ms,在伺服器側的遊戲處理邏輯情況下也很快,一般在5ms内都能處理完,使用者終端收到遊戲伺服器的資料後通過渲染将畫面呈現給使用者,這個應用層的渲染過程會稍微耗時一些,根據使用者終端的處理性能,遊戲的炫酷程度,處理時延在5到30ms之間不等。整體上遊戲場景下的應用層處理時延在10到30ms。
而涉及到音視訊領域的應用層處理時延一般會比較高,主要是涉及到外設的音視訊采集,音視訊編解碼,降噪和渲染等信号處理。業界比較成熟的音視訊平台的應用層端到端時延一般可以控制在100ms以内。
從時延角度看應用部署架構
工業網際網路類的應用部署架構
工業網際網路類的應用的實時性要求一般都比較高,很多要求端到端時延在10ms左右。
減去應用層的5ms左右的處理時延,留給網絡層的處理時延也就5ms了。
前面提到了網絡層的時延包括網絡接入時延,固網傳輸時延,資料中心内部網絡時延。
4G網絡的網絡接入時延一般在20ms左右,這種顯然滿足不了工業網際網路的需求。固網網線接入時延一般小于1ms,是以很多工業網際網路場景的裝置時通過固網網線連接配接的。在5G時代,網絡接入時延可以在1ms以内,可以把之前固定的裝置無線化。
對于資料中心内部處理時延,一般小型資料中心内部時延都小于1ms,超大型資料中心内部會大于1ms,但一般也會小于2ms。
如果按網絡接入時延1ms,資料中心内部時延1ms,留給固網傳輸時延就3ms了。固網的1ms雙向傳輸時延,代表光纖距離是100km。
這就要求在工業網際網路場景下雲資料中心要盡可能的靠近工業園區,基本上不能跨城。在這種場景下使用者可以選擇的應用部署架構包括
阿裡雲雲盒本地部署,
阿裡雲混合雲本地部署。
實時音視訊類應用部署架構
實時音視訊類應用的特點是應用層處理時延較多,業界先進的音視訊平台可以做到100ms以内。
實時音視訊類的端到端的時延如前文所述端到端時延最好能控制在150ms以内,如果是在200ms以内也可以接受。
此時留給網絡層的時延最多也就100ms。而實時音視訊應用的特點是兩個使用者終端通信,在這種場景下實際上是兩個使用者的流量是通過音視訊伺服器連接配接起來的,是以實際路徑是使用者1<—>音視訊伺服器<->使用者2。
音視訊場景下大部分使用者都使用移動端,對于4G網絡網絡接入時延一般在20ms左右。此時留給固網傳輸時延的時間在30ms以内。
下面是阿裡雲不同地域伺服器到覆國内不同省份的固網時延圖。
比如用阿裡雲北京Region覆寫京津冀經濟區,用阿裡雲上海Region覆寫長三角地區,用阿裡雲深圳Region覆寫珠三角經濟區,用阿裡雲成都Region覆寫西三角經濟區。
在5G場景下,可以将網絡接入時延從20ms降低到1ms。此時留給固網的傳輸時延可以從30ms變為50ms。這将很大程度上簡化應用的部署架構,從理論上可以實作音視訊伺服器從多地域部署變為單地域部署。實時競技遊戲類應用部署架構
實時競技類遊戲的端到端時延最好能控制在50ms以内,如果是在100ms以内也可以接受。
如果按端到端時延100ms來考慮,給遊戲的前端和後端的應用層時延配置設定50ms。此時留給網絡層的時延也變成了50ms。遊戲場景下主要是使用者和遊戲伺服器進行互動。此時要求遊戲伺服器到使用者的網絡層時延在50ms以内。
考慮到目前4G場景下,網絡接入時延約20ms,此時留給固網傳輸時延的時間在30ms以内。在這種場景下和上面的實時音視訊的應用部署架構要求基本一緻了。
是以在4G場景下,對于實時競技類遊戲,需要多地域部署。可以考慮用阿裡雲北京Region覆寫京津冀經濟區,用阿裡雲上海Region覆寫長三角地區,用阿裡雲深圳Region覆寫珠三角經濟區,用阿裡雲成都Region覆寫西三角經濟區。
在5G大規模部署的場景下,可以考慮單個地域部署。實時互動類應用部署架構
實時競技類遊戲的端到端時延最好能控制在100ms以内,如果是在150ms以内也可以接受。
如果按端到端時延150ms來考慮,給遊戲的前端和後端的應用層時延配置設定50ms。此時留給網絡層的時延也變成了100ms。遊戲場景下主要是使用者和遊戲伺服器進行互動。此時要求遊戲伺服器到使用者的網絡層時延在100ms以内。
100ms的網絡層傳輸時延是一個很寬松的要求,基本上用阿裡雲一個地域的伺服器即可達到很好的覆寫效果。
電商類應用部署架構
電商類的應用的實時互動相對來講不是太多,對端到端的時延能控制在300ms以内就能滿足要求了。而電商應用後端和前端處理邏輯也相對來講時延消耗也不是太多,給應用層處理時延配置設定100ms的話,網絡層的時延還有200ms。
200ms的網絡層傳輸時延是一個更寬松的名額。
如何度量時延
時延是一個影響使用者體驗的關鍵名額,在一定程度上也能比較好的反應網絡品質,如何有效的度量時延也變得很關鍵。
下面簡單介紹幾種比較有效的度量時延的工具和産品。
Ping
如果想進行點到點的時延測量,那麼最簡單最使用的就是ICMP Ping了。
通過ICMP Ping可以擷取點到點的雙向時延資料。
如果要想進行點到多點的時延測量,這種業界一般叫網絡撥測。
對于網絡撥測阿裡雲也有比較成熟的産品化工具。
實時撥測
目前阿裡雲比較好用的網絡實時撥測工具的連結如下:
https://zijian.aliyun.com/detect/ping目前這個撥測工具是免費的。
通過阿裡雲的實時撥測工具,隻需要輸入IP或域名,就可以直接發起全國的探針對目标域名或IP的實時探測,2分鐘就會出現全量的結果并以圖形化方式呈現。
持續撥測
如果希望對應用持續進行網絡品質的監控,如果出現故障後能否發送告警到具體的負責人,這種場景下阿裡雲對應的産品是,雲監控的站點監控。
https://cloudmonitor.console.aliyun.com/index.htm#/newSite/list/站點監控支援自定義探針和告警規則。
目前站點監控的探針基本上已經覆寫了中國内地的90%以上的省份和營運商。
告警規則的定義也比較靈活,而且可以将告警以郵件,電話,短信,釘釘機器人的方式發送。
總結
不同的應用對于端到端的時延要求不同,對應的應用的部署架構也不一樣。
端到端的時延包含應用層處理時延和網絡層傳輸時延。
應用層處理時延一般情況下不太好優化,網絡層傳輸時延可以通過部署架構優化的方式降低。
網絡層傳輸時延包括網絡接入時延,固網傳輸時延和雲資料中心内網絡時延。
通過将應用部署到靠近使用者的位置,可以有效的降低固網傳輸時延。
5G主要優化的是網絡接入時延,在5G普及後對實時音視訊,實時競技遊戲類應用部署架構的簡化會比較有幫助。
度量固網傳輸時延可以使用比較成熟的實時撥測和持續撥測工具。