高時延頻寬的網路環境下使用Iperf測試網路效能

2022-06-14 04:36:11 字數 2834 閱讀 5847

先梳理兩個概念:

什麼是高時延頻寬乘積的網路環境(頻寬(byte/s)*時延》64k位元組):

1)衛星傳輸(時延550ms),頻寬1mbps以上。(1024*1024)/8 *0.6=72090位元組。

2)跨國internet訪問或國際電路(時延200ms),頻寬超過2.6mbps以上。

3)千兆網路已經很流行了,時延》=1ms,都算。更不要說萬兆網路

tcp滑動視窗如何進行流量控制及64k概念。

tcp是一種可靠的面向連線的協議,tcp滑動視窗兩作用:提供可靠性,流量控制。這裡我們關心的是流量控制。tcp滑動視窗控制在收到確認包前能夠最大傳送多少位元組的tcp資料報,如果收到了將再傳送下一組資料。在tcp包頭裡描述tcp滑動視窗佔了16位,剛好是65535也就是64k。預設最大允許傳送64k位元組的資料報就必須有回應包,否則就等。

在高時延頻寬的網路環境下,會有什麼問題,如何解決?

tcp這樣的特點就導致,雖然頻寬富裕,但是單個tcp執行緒不能把頻寬佔滿。

解決辦法:tcp包頭裡最後一部分是選項字段,當kind=3時,用來給出tcp視窗擴大因子。當新建立tcp連線時,會查詢這個選項引數,如果設定了tcp視窗因子(取值範圍0~14),就可以突破預設tcp視窗限制,使其支援更大的視窗.相當於2的(16+擴充套件值)次方,最大2的30次方。

這樣在高頻寬時延的網路環境下,單tcp會話對頻寬利用率將明顯改善。

測試環境a端103.38.x.x 主機

b端103.16.x.x主機

兩主機之間的頻寬大於100m,時延200ms左右

udp 100m測試:達到預期結果

服務端iperf-u -s

客戶端iperf -c 103.16.x.x -b 100m -i 5 -t 60

tcp單執行緒測試:預設64k視窗,只能達到 2.5mbps

服務端iperf-s

客戶端iperf -c 103.16.x.x -i 5 -t 60

tcp單執行緒測試:預設2m視窗,可達到 70mbps

服務端iperf-s -w 2m

客戶端iperf -c 103.16.x.x -w 2m -i 5 -t 60

利用tcp擴大因子,不光系統要支援,應用軟體也要給力。

linux 2.6.9以上核心, windows vista/2008以上預設支援,只需要關心應用軟體即可。

早期版本系統優化:

linux

echo 'net.ipv4.tcp_window_scaling = 1'>>/etc/sysctl.conf

sysctl -p

windows xp/2003優化

開啟登錄檔,進入如下位置

新增鍵值

頻寬測試通常採用udp模式,因為能測出極限頻寬、時延抖動、丟包率。在進行測試時,首先以鏈路理論頻寬作為資料傳送速率進行測試,例如,從客戶端到伺服器之間的鏈路的理論頻寬為100mbps,先用-b 100m進行測試,然後根據測試結果(包括實際頻寬,時延抖動和丟包率),再以實際頻寬作為資料傳送速率進行測試,會發現時延抖動和丟包率比第一次好很多,重複測試幾次,就能得出穩定的實際頻寬。

udp模式

伺服器端:

iperf -u -s

客戶端:

iperf -u -c 192.168.1.1 -b 100m -t 60
在udp模式下,以100mbps為資料傳送速率,客戶端到伺服器192.168.1.1上傳頻寬測試,測試時間為60秒。

iperf -u -c 192.168.1.1 -b 5m -p 30 -t 60
客戶端同時向伺服器端發起30個連線線程,以5mbps為資料傳送速率。

iperf -u -c 192.168.1.1 -b 100m -d -t 60

以100m為資料傳送速率,進行上下行頻寬測試。

tcp模式

伺服器端:

iperf -s

客戶端:

iperf -c 192.168.1.1 -t 60
在tcp模式下,客戶端到伺服器192.168.1.1上傳頻寬測試,測試時間為60秒。

iperf -c 192.168.1.1  -p 30 -t 60
客戶端同時向伺服器端發起30個連線線程。

iperf -c 192.168.1.1  -d -t 60

進行上下行頻寬測試。

頻寬時延乘積的含義

頻寬時延乘積指的是鏈路的頻寬 單位位元每秒 與來回通訊延遲 rtt,單位秒 的乘積。結果為位元的資料量,表示在特定時間該網路上的最大資料量 已傳送但尚未確認的資料。頻寬時延乘積對網路效能的影響 舉乙個好理解的例子,開了100mb的電信寬頻,但由於中間一些路由器以及鏈路的瓶頸,導致ping對端主機的r...

頻寬時延乘積的含義

頻寬時延乘積指的是鏈路的頻寬 單位位元每秒 與來回通訊延遲 rtt,單位秒 的乘積。結果為位元的資料量,表示在特定時間該網路上的最大資料量 已傳送但尚未確認的資料。頻寬時延乘積對網路效能的影響 舉乙個好理解的例子,開了100mb的電信寬頻,但由於中間一些路由器以及鏈路的瓶頸,導致ping對端主機的r...

網路時延的幾個概念

時延是指乙個報文或分組從網路的一端傳送到另一端所耗費的時間,時延由節點處理時延 排隊時延 傳送時延 傳播時延組成。下面為大家一一介紹一下 節點處理時延 主機或路由器在收到分組後要花費一定的時間進行處理,比如分析首部,提取資料,差錯檢驗,路由選擇等。一般高速路由器的處理時延通常是微秒或更低的數量級。排...