轉載用於收藏學習
今天給大家講講衡量網絡性能的四大指標:帶寬、時延、抖動、丟包。
如何客戶需要我們去評估一個網絡的性能,我們就可以從這四方面去進行評估。

一. 帶寬
1、帶寬概念:
帶寬在百度百科中定義:在單位時間內從網絡中的某一點到另一點所能通過的“最高數據率”。
計算機網絡的帶寬是指網絡可通過的最高數據率,即每秒多少比特(常用的單位是bps(bit per second))。

簡單的講:帶寬可以比喻是高速公路,表示單位時間內的能通過的車輛數;
2、帶寬的表示:
帶寬通常用bps表示,表示每秒多少bit;

描述帶寬時常常把“比特/秒”省略。例如,帶寬是100M,實際上是100Mbps,這里的Mbps是指兆位/s。
但是我們平時下載軟件的速度的單位是Byte/s(字節/秒)。這里涉及到Byte和bit的換算,二進制數系統中每個0或1就是一個位(bit),位是數據存儲的最小單位,其中8bit就稱為一個字節(Byte)。
因此我們在辦理寬帶的時候,100M的帶寬表示100Mbps,理論的的網絡下載速度只有12.5M Bps,實際可能還不足10MBps,這是因為受用戶計算機性能、網絡設備質量、資源使用情況、網絡高峰期、網站服務能力、線路衰耗,信號衰減等多因素的影響,實際網速是無法到達理論網速的。
二. 時延
時延:簡單的說,時延就是指報文從網絡的一端到另一端所需要的的時間;

舉個例子:我在自己的電腦上ping 百度的地址;
從ping的結果中,可以看到時延為12ms,這個時延就是指ICMP報文從我的電腦到百度的服務器所需要得往返時延是12ms;
(Ping指一個數據包從用戶的設備發送到測速點,然后再立即從測速點返回用戶設備的來回時間。也就是俗稱的網絡延時,以毫秒ms計算。)
網絡時延包括了處理時延、排隊時延、發送時延、傳播時延這四大部分。在實際中我們主要考慮發送時延與傳播時延。

下面我們具體看下每一個時延的含義;

1、處理時延:
交換機、路由器等網絡設備在收到報文后要使用一定的時間進行處理。比如解封裝分析首部,提取數據,差錯檢驗,路由選擇等。
一般高速路由器的處理時延通常是微秒或更低的數量級。
2、排隊時延
排隊時延簡單來說就是路由器或交換機等網絡設備處理數據包排隊所消耗的時間。
一個數據包的排隊時延取決於當前隊列中是否有其它報文在傳輸。
如果該隊列是空的,並且當前沒有其他報文在傳輸,則該報文的排隊時延為0;
反之,如果流量很大,並且許多其他報文也在等待傳輸,該排隊時延將很大;
實際的排隊時延通常在毫秒到微秒級。
3、發送時延
發送時延簡單講就是路由器、交換機等網絡設備發送數據所需要的時間,也就是路由器隊列遞交給網絡鏈路所需要的時間。

如果用L比特表示分組的長度,用R bps表示從路由器A到路由器B的鏈路傳輸速率,發送時延則是L/R。實際的發送時延通常在毫秒到微秒級。
4、傳播時延
傳播時延是指報文在實際的物理鏈路上傳播數據所需要的時間。實際傳播時延在毫秒級。
傳播時延等於兩台路由器之間的距離除以傳播速率,即傳播時延是D/S,其中D是兩台路由器之間的距離,S是該鏈路的傳播速率。
三. 抖動
抖動:網絡抖動是指最大延遲與最小延遲的時間差,比如你訪問一個網站的最大延遲是10ms,最小延遲為5ms,那么網絡抖動就是5ms;. 抖動可以用來評價網絡的穩定性,抖動越小,網絡越穩定;
尤其是我們在打游戲的時候,需要網絡具有較高的穩定性,否則會影響游戲體驗。
關於網絡抖動產生的原因:如果網絡發生擁塞后,排隊時延會影響端到端的延遲,可能造成從路由器A到路由器B的延遲忽大忽小,造成網絡的抖動;
四. 丟包
丟包:簡單來說丟包就是指一個或多個數據包的數據無法通過網絡到達目的地,接收端如果發現數據丟失,會根據隊列序號向發送端發出請求,進行丟包重傳。

丟包的原因比較多,最常見的可能是網絡發生擁塞,數據流量太大,網絡設備處理不過來自然而然就有些數據包會丟了。
丟包率是指測試中所丟失數據包數量占所發送數據包的比率。比如發送100個數據包,丟失一個數據包,那么丟包率就是1%。