導語
學網(wǎng)絡(luò),就是這么有趣,簡單易學,入門沒有門檻。所以,網(wǎng)絡(luò)丟包,也是一樣的,就是指數(shù)據(jù)包從一端被傳輸?shù)搅硪欢诉^程中,部分數(shù)據(jù)未能到達目的地。
到了談婚論嫁的時候,想必很多單身狗都希望身邊的朋友有好的資源給介紹介紹對象。這時你朋友就會問,你想找什么樣的對象?
每個人的背景、條件不同,找對象的需求就會不同,那怎么去描述一個對象的情況呢?
一般都會從這幾方面去介紹, 如身高、體重、收入、學歷等。其實不管找什么樣的,主要還是看兩個人是否門當戶對,看自己的需求是什么?找個差不多就行。
其實,今天龍哥與大家分享的主題也跟這個如何描述對象有點類似,就是我們怎么去描述網(wǎng)絡(luò)性能的好壞?
作為一個網(wǎng)絡(luò)工程師,你在跟客戶、跟領(lǐng)導匯報網(wǎng)絡(luò)性能時,總不能直接說 這個網(wǎng)絡(luò)很好!那里的網(wǎng)絡(luò)有點差!我們得用專業(yè)的術(shù)語去描述它,那就是今天要介紹的網(wǎng)絡(luò)性能四大指標:帶寬、時延、抖動、丟包。
(目錄)
一、帶寬
1、帶寬概念:
帶寬,在網(wǎng)絡(luò)世界里,是多指數(shù)字信號,在規(guī)定的時間內(nèi),從一端傳輸?shù)搅硪欢说臄?shù)據(jù)量,即數(shù)據(jù)傳輸率。
我們都知道數(shù)字信息流的基本單位是 bit(比特),時間按秒來算,即 bps,每秒傳輸多少比特,所以帶寬的單位可用 bps 來表示,bps(bit per second)
從上面動態(tài)圖,我們可以直觀地知道,1bps 的帶寬和 3bps 的帶寬的區(qū)別,有點類似我們?nèi)粘I钪械牡缆芬粯樱? 車道的道路和 6 車道的道路,每秒的交通流量是不一樣的。
兩車道的“帶寬”
多車道的“帶寬”
2、帶寬的表示:
帶寬好比公路的寬度,網(wǎng)速好比車流的速度。
帶寬基本單位“比特”,簡寫為小寫字母“b”,更大的單位是:Kb、Mb、Gb 等;網(wǎng)速基本單位“字節(jié)”,簡寫為大寫字母“B”,更大的單位有:KB、MB、GB 等。
1 字節(jié)=8 比特
帶寬和網(wǎng)速的進率都是 1024:
帶寬換算成網(wǎng)速除以 8 便可;網(wǎng)速換算成帶寬乘以 8 便可。例如 20Mb 帶寬的最高網(wǎng)速為 20÷8=2.5MB;最高網(wǎng)速為 12.5MB 的網(wǎng)絡(luò)帶寬為 100Mb;1Gb 帶寬的最高網(wǎng)速是 1÷8=0.125GB,換算成 MB 是 1024×0.125=128MB。
我們以 1M 的帶寬為例,
我們都知道 8 bit 為 1 Byte,所以 Kb 轉(zhuǎn)化為 KB 時,就需要除以 8,1024Kb/s 就等于 128KB/s。不過,理論上市 128KB/s 的帶寬,實際上可能不足,因為還會受到用戶計算機性能、網(wǎng)絡(luò)設(shè)備質(zhì)量、資源使用情況、網(wǎng)絡(luò)高峰期、網(wǎng)站服務(wù)能力、線路衰耗,信號衰減等多因素的影響。
二、時延
時延:其實就是時間的意思,指報文從 A 傳輸?shù)?B 所需的時間。好比如,快遞從深圳發(fā)出寄到北京需要 1 天,那么時延就等于 1 天。
如下圖,A 的報文到達 B,需要 6 毫秒才能完成,即,時延=6ms。
舉個栗子:
我用自己的電腦去 ping 一下百度服務(wù)器, 從結(jié)果,我們可以知道平均時延為11ms。
不過,這里的 11 ms 是指往返所學的時間,即 ICMP 請求報文從我的電腦出去,到達百度服務(wù)器,然后百度服務(wù)器返回的 ICMP 響應(yīng)報文到達我電腦總共的時延。
給個動態(tài)圖,看一下,你就恍然大悟了!
上述,我們只是介紹了時延的概念,其實時延還可以細分 4 大類,發(fā)送時延,傳播時延,處理時延,排隊時延。
下面我們具體看下每一個時延的含義;
1、發(fā)送時延:
如上述動態(tài),電腦、網(wǎng)絡(luò)設(shè)備把數(shù)據(jù)包隊列發(fā)到鏈路上所學的時間,就是發(fā)送時延。
假設(shè)報文的長度為 L,路由器 A 把該報文傳輸?shù)芥溌飞系乃俾蕿?V,則發(fā)送時延為 L/V,發(fā)送時延通常在毫秒到微秒級。
2、處理時延:
是指網(wǎng)絡(luò)設(shè)備,如交換機、路由器,收到報文后進行解析所需要的時間,比如解封裝分析首部,查找路由表、路由策略等,處理時延通常是微秒或更低的數(shù)量級。
3、排隊時延
排隊時延,即當網(wǎng)絡(luò)設(shè)備(路由器、交換機等)收到多個報文時,來不及處理,會先放到緩存隊列,所有數(shù)據(jù)包進行排隊,等待處理,這個等待的時間即為 排隊時延。 排隊時延的長度取決于隊列中是否有其他數(shù)據(jù)包,
好比如紅綠燈路口,雖然當前是綠燈,但是前面如果有很多車輛,這時就無法立即通過路口,需要排隊,緩慢通過路口。如果沒有車輛,又是綠燈,則無需排隊,直接通過,此時排隊時延 視為 0;
網(wǎng)絡(luò)時間的排隊時延也是一樣的,如果隊列沒有其他報文,此時排隊時延就為 0;如果報文很多,流量太大了,網(wǎng)絡(luò)設(shè)備來不及處理,就需要進行排隊等候處理,所以排隊時延就會很大。
4、傳播時延
傳播時延,指報文在實際(有線、無線)鏈路上傳播數(shù)據(jù)所需要的時間。
假設(shè)路由器 A 到路由器 B 的傳播時延為 t,A 到 B 之間的鏈路長度為 L,數(shù)據(jù)包在鏈路上的傳播速率為 v,則 t=L/v。通常傳播時延都是在毫秒級的,如果是秒級以上,那傳播時延太大了,人類會無法忍受這種速率,太卡了。
三、抖動
平常,我們坐車的時候,一定遇到過 顛簸的路段,坐在車里能夠很明顯地感受到這種抖動。
網(wǎng)絡(luò)也是有抖動的,所謂抖動,就是偏離了預期的時延,即不穩(wěn)定的時延,網(wǎng)絡(luò)抖動主要是指最大延遲與最小延遲的時間差。
例如,你刷抖音,觀看一個視頻最大延遲是 12ms,最小延遲是 4ms,那么該網(wǎng)絡(luò)抖動就是 8ms。
你想想看,當年在觀看視頻,一會兒卡頓,一會兒流暢,此時的你,是不是各種“問候”運營商?。?!簡直無法忍受?。?!
所以說,要評價網(wǎng)絡(luò)穩(wěn)定性,離不開抖動這個指標,越小的抖動,網(wǎng)絡(luò)越穩(wěn)定。
網(wǎng)絡(luò)抖動是無法完全消除的,受環(huán)境變化影響。如干擾、網(wǎng)絡(luò)擁塞情況等,都可造成網(wǎng)絡(luò)抖動。
四、丟包
丟包,我聯(lián)想到就是快遞,比如龍哥通過某快遞公司,寄了五本書給粉絲,從深圳寄到河北,結(jié)果粉絲只收到 3 本,那其余 2 本被快遞小哥弄丟了。
學網(wǎng)絡(luò),就是這么有趣,簡單易學,入門沒有門檻。所以,網(wǎng)絡(luò)丟包,也是一樣的,就是指數(shù)據(jù)包從一端被傳輸?shù)搅硪欢诉^程中,部分數(shù)據(jù)未能到達目的地。
不過,接收端如果發(fā)現(xiàn)數(shù)據(jù)丟失,可以根據(jù)序列號向源端發(fā)出“重傳請求”。
接下來,龍哥,給大家演示一下,因為網(wǎng)絡(luò)丟包,惹的禍:
造成丟包的原因有很多,比如 設(shè)備網(wǎng)卡處理不了過多的數(shù)據(jù),網(wǎng)絡(luò)擁塞、就會發(fā)生丟包。
所謂的丟包率,就是丟失數(shù)據(jù)包總的數(shù)量 占 總發(fā)出的數(shù)據(jù)包數(shù)量的 比率。
例如,我發(fā)了 6 個包 給百度服務(wù)器,4 個包被接收了,2 個包丟失了,
那么丟失率就等于 2/6 = 33%
如果文章對你有幫助,別忘記評論、點贊、Get!