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