相信很多人,都有過這樣的經(jīng)歷:
追熱劇,,即將出現(xiàn)轉(zhuǎn)折,人物被按下暫停鍵,,場面有點(diǎn)尷尬甚至好笑,。
看球賽,關(guān)鍵球已出手,,畫面突然一片抖動,,讓人氣到想直接扔手機(jī)。
玩游戲,,就要閃現(xiàn)放大,,網(wǎng)絡(luò)信號突然變?nèi)酰Y(jié)果被對方英雄成功反殺,。
如果將整個網(wǎng)絡(luò)看成一片汪洋大海,,那我們能夠順利上網(wǎng),就是一艘艘船不斷出發(fā)和返航的結(jié)果,。船從我們的手機(jī)出發(fā),,在海洋/湖泊/河道中穿梭后到目的地,再帶著新的數(shù)據(jù)返航至我們的手機(jī),。
這個航行的過程并非一帆風(fēng)順,,也會遇到航道堵塞、船只迷航的情況,。一旦數(shù)據(jù)傳送出現(xiàn)問題,,就會造成網(wǎng)絡(luò)卡頓,給我們帶來不好的網(wǎng)絡(luò)體驗(yàn),。
今天我們一起了解一下影響網(wǎng)絡(luò)質(zhì)量的4個要素:
01
帶寬:航道寬度
一般用帶寬(Throughput)來形容網(wǎng)絡(luò)的速率,,帶寬越大,數(shù)據(jù)傳輸?shù)乃俾示驮酱蟆?,代表了航道的寬度,。航道越寬,可以通過船只數(shù)量就越多,,數(shù)據(jù)傳輸?shù)倪^程就越順利,。帶寬從幾Kbits到1000 Mbps,就是一船獨(dú)行和千帆競發(fā)之間的天差地別,。
02
時延:航行時間
一般用時延(Latency)來形容數(shù)據(jù)從遠(yuǎn)端到本地之間的傳送時間,,而且計算的是來回的時間之和。時延,,代表了一艘船的航行總時長,。時延越大,代表數(shù)據(jù)傳輸耗費(fèi)的時間越多,。一般時延超過50 ms,,網(wǎng)絡(luò)質(zhì)量就算是不好了。一旦超過300 ms,,網(wǎng)絡(luò)的卡頓感就比較明顯,。
時延的大小,需要計算以下四種時延的總和:
處理時延:網(wǎng)絡(luò)設(shè)備處理數(shù)據(jù)的時間,。每艘船出發(fā)前,,都需要調(diào)度中心(網(wǎng)絡(luò)設(shè)備)進(jìn)行一些必要的處理,比如:確定目的地,、確定傳送時要走的航線,。
傳輸時延:船在數(shù)據(jù)海洋河流中的航行時間。哪怕裝載滿數(shù)據(jù)的船以光速(30萬公里每秒)航行,,走過地球兩端的4萬公里,,最低的時延也得130 ms。
隊列時延:不同航道擁有不同的寬度(帶寬),,成千上萬的船要通過某一段航道時,,還需要排隊等候調(diào)度中心(網(wǎng)絡(luò)設(shè)備)的處理。
串行化時延:滿載數(shù)據(jù)的船,,也是有一定的長度的,。從船頭(數(shù)據(jù)第一個bit)出發(fā)到船尾(數(shù)據(jù)最后一個bit)出發(fā),這個時間也需要計算,。
03
丟包:到不了終點(diǎn)的船
一般用丟包(Loss)來形容網(wǎng)絡(luò)中數(shù)據(jù)的丟失情況,。丟包,代表了哪些到達(dá)不了終點(diǎn)的船,。丟包的原因有很多,,可能是調(diào)度中心繁忙導(dǎo)致無法處理船只的請求,、排隊等候調(diào)度的船只數(shù)量過多、航路中的各個航道(鏈路)關(guān)閉導(dǎo)致船只繞路或者迷路,。
在一次傳送數(shù)據(jù)的過程中,,有可能派出100艘船,經(jīng)過層層磨難后只有80艘船順利返航,,可以計算出丟包率為20%,。
丟包率是衡量網(wǎng)絡(luò)質(zhì)量的一個關(guān)鍵指標(biāo),丟包率一般不能大于2%,,用戶感覺不到太大的影響,。一旦超過10%,網(wǎng)絡(luò)質(zhì)量就會迅速劣化,,網(wǎng)絡(luò)卡頓的感覺就比較明顯,。
04
抖動:航行耗時的分布
一般用抖動(Jitter)來形容不同數(shù)據(jù)到達(dá)目的地時的最大時間差。抖動,,代表了一個船隊中每一艘船返航的時間差異,。上網(wǎng)過程中的數(shù)據(jù)傳送是持續(xù)不斷的,一艘艘的船出發(fā),,就會一艘艘的船到達(dá)目的地。前一艘船的時延是60 ms,,后一艘船時延是30 ms,,抖動就是60 ms-30 ms=30 ms。抖動一旦出現(xiàn)在語音會議/視頻會議中,,就可能導(dǎo)致聲音無法聽清楚,,圖像無法看清楚。
『 網(wǎng)絡(luò)想穩(wěn)住,,抓住四要素 』
在不同的應(yīng)用中,,帶寬、時延,、丟包,、抖動這4個因素對網(wǎng)絡(luò)質(zhì)量的影響大小,也不盡相同:
語音/視頻會議,,對4個因素都很敏感,;
在線游戲,對帶寬,、時延,、丟包比較敏感;
郵箱/新聞等HTTP應(yīng)用,,往往只對帶寬,、時延敏感,。
為了保證網(wǎng)絡(luò)質(zhì)量,我們可以想盡辦法保證帶寬,、降低時延,、降低丟包率,常見的處理方式包括:
提供差異化的帶寬
網(wǎng)絡(luò)設(shè)備為不同的應(yīng)用提供不同的帶寬,,比如:語音/視頻會議,、游戲這些應(yīng)用,可以分配大一些的帶寬,;郵箱,、新聞資訊這些應(yīng)用,可以分配小一些的帶寬,。通過這種方式,,帶寬得到了高效利用,而且避免了不同應(yīng)用的網(wǎng)絡(luò)擁堵,。
優(yōu)先處理高優(yōu)先級的應(yīng)用
為不同的應(yīng)用分配不同的優(yōu)先級,,網(wǎng)絡(luò)設(shè)備優(yōu)先處理高優(yōu)先級的應(yīng)用,可以降低這些應(yīng)用的處理時延,、隊列時延等,。而隊列中優(yōu)先級低的應(yīng)用,則只能在沒有高優(yōu)先級應(yīng)用的情況下,,才可以得到處理,。
保障網(wǎng)絡(luò)質(zhì)量的技術(shù)仍在不斷的研究和改進(jìn),而具體的應(yīng)用也在持續(xù)探索中,。例如:運(yùn)營商已經(jīng)通過QoS技術(shù)為“王者榮耀”玩家提供帶寬保障,,保障次數(shù)達(dá)到1100萬次/天。
期待在不久的將來,,所有游戲,、視頻會議應(yīng)用再也不用擔(dān)心網(wǎng)絡(luò)卡頓了。