2011年11月29日 星期二

Iperf 使用說明

最近工作在玩 WiFi Module, 包含測試 Throughput rate, 就不得不提 Iperf 這個工具了, 當然, 網路上的資料已經一堆了, 不過還是給自己一個紀錄吧, 這樣以後要找資料, 就不用再 Google 了.

Iperf下載路徑:
For Linux : http://sourceforge.net/projects/iperf/
For Windows : https://nocweboldcst.ucf.edu/files/iperf.exe

Windows version 只是一個執行檔, 直接使用即可,

Linux version 是 source code, 需要重新 compiler, 步驟如下:
以目前最新版 2.0.5 為例, iperf-2.0.5.tar.gz
1, 先解壓縮
root@user:/# tar -zxvf iperf-2.0.5.tar.gz
2, 會產生一 iperf-2.0.5 資料夾, 進入此資料夾, 然後執行
root@user:/iperf-2.0.5# ./configure
root@user:/iperf-2.0.5# make
root@user:/iperf-2.0.5# make install
如果安裝過程中沒什麼問題, 即安裝完畢.

其實如果是用 Ubuntu 的話, 也不用如上那麼麻煩, 
直接 key-in
root@user:/ sudo apt-get install iperf
應該就可以自動安裝完畢了,
如果輸入上面那行, 有出現啥 E: ...unable to location........   之類的錯誤訊息,
就請先 key-in
root@user:/ sudo apt-get update
root@user:/ sudo apt-get install iperf
八成都可以安裝完畢啦.

=================================================================
使用 Iperf 需要用到兩台電腦, 一台 Server 端, 一台 Client 端,
一般而言, 要先執行 Server 端的指令, 再執行 Client 端的指令,

首先在 A 電腦, Server 端執行:
root@user:/ iperf -s
-s 表示為 Server 端

然後在 B 電腦, Client 端執行:
root@user:/ iperf -c 192.168.100.100 -t 60 -i 5
-c 表示為 Client 端
192.168.100.100 表示為 Server 端的 IP
-t 表示要傳收資料的總時間, 單位:秒
-i 表示每隔 x 秒就 report 一次在 monitor 上, 單位:秒

測試完成後, Client 會 show 出每隔 x 秒的 throughput rate, 最後會算出平均值,
而 Server 端, 會 show 出測試完畢的平均值.
==================================================================

依不同需求, 會使用到不同的參數, 例如設定 windows size 或 雙向對測.....etc
相關參數如下:
-s             以 Server 端啟動 iperf
-c host     以 Client  端啟動 iperf, host 表示 Server 端 IP
通用參數:
-f [k|m|K|M]    表示以Kbits, Mbits, KBytes, MBytes顯示結果, default 為 Mbits
-i sec             以秒為單位表示 report 間隔
-l                     緩衝區大小, default 為 8KB
-m                  顯示tcp最大mtu值
-o                   將 report 和錯誤訊息輸出到文件, iperf -c 192.168.100.100 -o filename
-p                   指定服務器端使用的端口或客戶端所連接的端口, for example: iperf -s -p 9999; iperf -c 192.168.100.100 -p 9999
-u                   使用udp協議
-w                  指定 TCP 的 windows size
-B                  綁定一個主機地址或接口 (當主機有多個地址或接口時使用該參數)
-C                  當 Server 端與 Client 端的 Iperf 版本不一樣時使用
-M                  設定 TCP 封包的最大 mtu 值
-N                  設定 TCP 不延時
-V                  傳輸 ipv6封包

Server 端專用參數:
-D                  以服務方式執行 iperf, iperf -s -D
-R                  停止 Iperf 服務, 針對 -D 指令正在使用中
Client 端專用參數:
-d                   同時進行雙向傳輸測試
-n                   指定傳輸的 Byte 數
-r                    單獨進行雙向傳輸測試
-t                    總測試時間, default 為 10sec
-F                  指定需要傳輸的文件
-T                  指定 TTL 值

以上參數資料為在某個 China 網站取得, 已找不到出處, 若有疑慮請告知.

2011年11月21日 星期一

Opening

個人的學習Blog開張囉,
以後會慢慢的將一些工作上遇到的問題慢慢的post上來,
作為個人的一種紀錄與學習,
文章的類型不受限, 歡喜就好,
加油!!!

[Raspberry PI] Receive file by Bluetooth from Windows 10 PC

本文說明透過 Command Line 的方式, 使 Raspberry PI 可透過 Bluetooth 接收檔案 測試機器: 1. Raspberry PI 3 Model B 2. Windows 10 PC 第一部分 - 連線 目的是先使 Raspberry PI 3 與...