網絡性能測試工具Iperf介紹

jopen 9年前發布 | 137K 次閱讀 Iperf 網絡工具包

網絡性能測試工具Iperf介紹

【概要】Iperf是一款網絡性能測試工具,可以方便的用它進行SDN網絡帶寬和網絡質量的測試,Iperf支持協議、定時、緩沖區等參數的配置調整,報告TCP/UDP最大帶寬、延遲抖動、數據包丟失等統計信息。

1 Iperf安裝

Iperf安裝方法有多種,可以下載源碼編譯安裝,也可以直接使用編譯好的二進制版本,在ubuntu下安裝使用iperf尤為簡單,apt-get install iperf 即可,值得一提的是Mininet自帶Iperf,在SDN網絡上測試比較便捷。

2 工作原理

使用Iperf測試時必須將一臺主機設置為客戶端,一臺主機設置為服務器。

Iperf測試TCP

Iperf測試TCP帶寬的原理比較簡單,在客戶端和服務端建立三次握手連接后,客戶端帶寬的大小等于發送的總數據除以發送的總時間。對服務端測得的帶寬,則是接收的總數據除以所花時間。

TCP模式下簡單舉例:

Serveriperf -s

Clientiperf -c 10.0.0.1 -i 1

客戶端到服務器10.0.0.1上帶寬測試,每一秒鐘打印一次信息。

Iperf測試UDP

Iperf測試UDP性能時,客戶端可以指定UDP數據流的速率。客戶端發送數據時,將根據客戶端提供的速率計算數據報發送之間的時延。

客戶端還可以指定發送數據報的大小。每個發送的數據報包含一個ID號,用來唯一標識報文,服務器端根據該ID號來確定數據報丟失和亂序。

當把UDP報文大小設置可以將整個報文放入IP層的包(packet)內時,那么UDP所測得的報文丟失數據即為IP層包的丟失數據,這提供了一個有效的測試包丟失情況的方法。

數據報傳輸延遲抖動 (Jitter)的測試由服務器端完成,客戶發送的報文數據包含有發送時間戳,服務器端根據該時間信息和接收到報文的時間戳來計算傳輸延遲抖動。傳輸延遲抖動反映傳輸過程中是否平滑。由于它是一個相對值,所以并不需要客戶端和服務器端時間同步。

UDP模式下簡單舉例:

Serveriperf -s -u

Clientiperf -c 10.0.0.1 -u -b 100M

UDP模式下,客戶端以100Mbps為數據發送速率,測試客戶端到服務器10.0.0.1上的帶寬。

綜上,用以下方法測試網絡連接的質量:

延時(反應時間或者RTT):用ping命令量度

- Jitter(延時變化):用Iperf UDP測試來量度

數據報丟失:用Iperf UDP測試來量度

帶寬:通過TCP測試來量度

3 參數配置

                      表 1. 客戶端/服務器端通用參數

網絡性能測試工具Iperf介紹

                        表 2. 服務器端參數

網絡性能測試工具Iperf介紹

                         表 3. 客戶端參數

網絡性能測試工具Iperf介紹

4 測試實例

測試環境

1) 已搭建好一套SDN網絡環境,使用Mininet模擬交換機和主機連接到一款OpenFlow控制器

2) 使用Mininet自帶的Iperf工具

應用實例

實例一:最簡參數實例

網絡性能測試工具Iperf介紹

Iperf客戶端連接Iperf服務器的TCP默認端口5001,否則我們可以用-p參數修改Iperf服務器的端口,客戶端與服務器必須加上同樣的端口。結果顯示的帶寬是從用戶到服務器之間的帶寬。

實例二:雙向帶寬測試

網絡性能測試工具Iperf介紹

-r參數可以量度雙向帶寬,Iperf服務器會主動向客戶端發起連接。

實例三:同步雙向帶寬測試

網絡性能測試工具Iperf介紹

使用-d 參數同步測量雙向帶寬,而上例的-r在初始狀態時,只會量度客戶到服務器的帶寬。

實例四:TCP窗口大小

網絡性能測試工具Iperf介紹

在連接中,如果接收方來不及驗證,數據會暫時被存在一個緩沖區里,這個緩沖區的上限就是所謂的TCP窗口大小,窗口的大小可以在265,535 bytes之間。

實例五:UDP測試

UDP測試會得到關于Jitter和數據包丟失的重要信息。

網絡性能測試工具Iperf介紹

良好的連接質量,數據包的丟失率要小于1%,數據包的丟失率過高會導致許多TCP數據報需要重傳,從而影響帶寬。 Jitter代表的是延時變化,并不依賴于延時本身,你可能擁有很長的反應時間,但是Jitter卻很低。

結束語

JperfIperf一起使用的話可以提供一個java寫成的圖形界面,大家可以自行學習,這里就不做介紹。如有不足之處請加群探討指正,謝謝。

本文來源于 SDNLAB ,可點擊此 閱讀原文

 本文由用戶 jopen 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
 轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
 本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!