1. 程式人生 > >iperf工作原理及使用方法

iperf工作原理及使用方法

1. iperf簡介

   iperf是一個網路效能測試工具,iperf可以測試TCPUDP頻寬質量。iperf即可測量最大TCP頻寬,也具有多種引數和UDP特性,且可報告頻寬,延遲抖動和資料包丟失。

2. iperf工作原理

  iperf工作機制通常,iperf要先開啟server進行監聽,然後再開啟client送資料到server

  iperf工作流程如下:

(1)首先解析環境變數或命令列引數。

(2)根據命令列引數判斷iperfserver還是client,並進入相應的處理流程。

    如果是server,則開啟監聽的socket。若是TCP連線,則開啟一個server thread

。若是UDP連線,對win32來說,只需開啟一個server thread就可以處理所有資料。如果不是win32,則需要開啟一條新的UDP連線。

    如果是client,則開啟speaker,進行client的相應處理。

3. iperf的使用方法及引數說明

引數說明

-s server模式啟動 egiperf –s

-c host client模式啟動,hostserver端地址 egiperf –c 192.168.1.2

通用引數

  -f [k|m|K|M] 分別表示以Kbits, Mbits, KBytes, MBytes顯示報告,預設以Mbits為單位 eg

iperf –c 192.168.1.2 –f K

  -i sec 以秒為單位顯示報告間隔 egiperf –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

視窗大小,預設是8KB

  -B 繫結一個主機地址或介面(當主機有多個地址或介面時使用該引數)

  -C 相容舊版本(當server端和client端版本不一樣時使用)

  -M 設定TCP資料包的最大mtu

  -N 設定TCP不延時

  -V 傳輸ipv6資料包

Server專用引數

  D 以服務方式執行ipserf  egiperf s D

  -R 停止iperf服務 egiperf s R

Client專用引數

  -d 同時進行雙向傳輸測試

  -n 指定傳輸的位元組數,eg iperf c 192.168.1.2 n 1000

  -r 單獨進行雙向傳輸測試

  -t 測試時間,預設10egiperf c 192.168.1.2 t 5

  -F 指定需要傳輸的檔案

  -T 指定ttl

  -P 指定執行緒數 egiperf c 192.168.1.2 P 4

  -b UDP指定傳輸頻寬 egiperf c 192.168.1.2 u b 50M