IPerf 網路測試工具介紹與原始碼解析(1)

2021-09-20 13:32:24 字數 1251 閱讀 8294

iperf是乙個開源的測試網路寬頻並能統計並報告延遲抖動、資料報丟失率資訊的控制台命令程式,通過引數選項可以方便地看出,通過設定不同的選項值對網路頻寬的影響,對於學習網路程式設計還是有一定的借鑑意義,至少可以玩上一段時間。

iperf開始出現的時候是在03年,版本是1.7.0,在網上找到的僅有的系列原始碼解析篇  就是基於1.7.0 進行介紹和解析的,貌似1.7.0還是使用c++編寫比較多,後面到了iperf2版本,c++和c結合,現在出來乙個法國人團隊另起爐灶重構出不向下相容的iperf3,他們開了乙個論壇專門討論維護,但因為是法語所以跟我也無法溝通,所以也沒怎麼上去看,一開始入門的時候就只能上處鏈結的文章,還好有所幫助。

iperf的一些特性:

跨平台,支援windows linux macos android,現有支援不同平台的iperf版本,uwp,docker...很早之前就出來了乙個jperf(在iperf的基礎上新增了介面),有興趣的同學可以找來看看;

支援tcp、udp協議,包括ipv4和ipv6,最新的iperf還支援sctp協

udp

iperf的簡單使用示例:

iperf通過選項 -c 和 -s 決定其當前是作為客戶端程式還是作為服務端程式執行,當作為客戶端程式執行時,-c 後面必須帶所連線對端伺服器的ip位址或網域名稱

選項引數  說明

[客戶端]

-c host  以客戶端模式執行,連線到iperf服務端執行的主機ip位址或網域名稱

-t ; -i    -t(timing)測試的時長;-i(interval)頻寬報告週期性顯示的間隔時間

-n  設定測試所傳送的資料總量,#[km] 覆蓋-t選項

-d, -l  雙向測試模式,客戶端與服務端建立雙向連線,並相互傳送資料進行測試

-r, -l  交易模式,在客戶端到服務端的測試結束後,執行服務端到客戶端的測試

-p  設定客戶端同時連線到服務端的併發數(在多執行緒允許的條件下)

[服務端]

-s  以服務端模式執行,等待客戶端的連線請求

-d  unix平台以後臺守護程式執行;windows平台下以服務形式執行

-w  設定tcp視窗大小或udp接收緩衝區大小為其指定的值

網路測試工具iperf

iperf 是乙個網路效能測試工具。iperf既可以使用在windows下,也可以使用在linux下。windows版本的使用教程 linux版本的使用教程 tcp 1 測量網路頻寬 2 報告mss mtu值的大小和觀測值 3 支援tcp視窗值通過套接字緩衝 4 當p執行緒或win32執行緒可用時,...

網路效能測試工具 Iperf

iperf 是乙個網路效能測試工具。iperf可以測試tcp和udp頻寬質量。iperf可以測量最大tcp頻寬,具有多種引數和udp特性。iperf可以報告頻寬,延遲抖動和資料報丟失。iperf使用方法與引數說明 引數說明 s 以server模式啟動,eg iperf s c host以client...

iperf 網路效能測試工具

iperf命令是乙個網路效能測試工具。iperf可以測試tcp和udp頻寬質量。iperf可以測量最大tcp頻寬,具有多種引數和udp特性。iperf可以報告頻寬,延遲抖動和資料報丟失。利用iperf這一特性,可以用來測試一些網路裝置如路由器,防火牆,交換機等的效能。iperf分為兩種版本,unix...