iperf工作原理及使用方法
1. iperf簡介
iperf是一個網路效能測試工具,iperf可以測試TCP和UDP頻寬質量。iperf即可測量最大TCP頻寬,也具有多種引數和UDP特性,且可報告頻寬,延遲抖動和資料包丟失。
2. iperf工作原理
iperf工作機制:通常,iperf要先開啟server進行監聽,然後再開啟client發送資料到server。
iperf工作流程如下:
(1)首先解析環境變數或命令列引數。
(2)根據命令列引數判斷iperf是server還是client,並進入相應的處理流程。
如果是server,則開啟監聽的socket。若是TCP連線,則開啟一個server thread
如果是client,則開啟speaker,進行client的相應處理。
3. iperf的使用方法及引數說明
l 引數說明
-s 以server模式啟動 eg:iperf –s
-c host 以client模式啟動,host是server端地址 eg:iperf –c 192.168.1.2
l 通用引數
-f [k|m|K|M] 分別表示以Kbits, Mbits, KBytes, MBytes顯示報告,預設以Mbits為單位 eg:
-i sec 以秒為單位顯示報告間隔 eg:iperf –c 192.168.1.2 –i 2
-l 緩衝區大小,預設是8KB,eg:iperf -c 222.35.11.23 -l 16
-m 顯示tcp最大mtu值
-o 將報告和錯誤資訊輸出到檔案eg:iperf -c 222.35.11.23 -o c:/iperflog.txt
-p 指定伺服器端使用的埠或客戶端所連線的埠eg:iperf -s -p 9999;iperf -c 222.35.11.23 -p 9999
-u 使用udp協議
-w 指定TCP
-B 繫結一個主機地址或介面(當主機有多個地址或介面時使用該引數)
-C 相容舊版本(當server端和client端版本不一樣時使用)
-M 設定TCP資料包的最大mtu值
-N 設定TCP不延時
-V 傳輸ipv6資料包
l Server專用引數
D 以服務方式執行ipserf eg:iperf –s –D
-R 停止iperf服務 eg:iperf –s –R
l Client專用引數
-d 同時進行雙向傳輸測試
-n 指定傳輸的位元組數,eg :iperf –c 192.168.1.2 –n 1000
-r 單獨進行雙向傳輸測試
-t 測試時間,預設10秒 eg:iperf –c 192.168.1.2 –t 5
-F 指定需要傳輸的檔案
-T 指定ttl值
-P 指定執行緒數 eg:iperf –c 192.168.1.2 –P 4
-b 為UDP指定傳輸頻寬 eg:iperf –c 192.168.1.2 –u –b 50M