由于在做sdn实验时需要测试两主机之间的带宽、吞吐率等网络数据,iperf工具需要学习一下。
数据面采用的mininet平台自带iperf
整理网络上学习资源,总结的iperf学习命令
使用iperf测试需要将一台设为服务器,另一台设为客户端
TCP模式下:
server: iperf -s
client: iperf -c server-ip +option参数
Iperf测试TCP带宽的原理比较简单,客户端带宽的大小等于发送的总数据除以发送的总时间。对服务端测得的带宽,则是接收的总数据除以所花时间。
数据报传输延迟抖动 (Jitter)的测试由服务器端完成,客户发送的报文数据包含有发送时间戳,服务器端根据该时间信息和接收到报文的时间戳来计算传输延迟抖动。传输延迟抖动反映传输过程中是否平滑。
- 延时(反应时间或者RTT):用ping命令量度
- Jitter(延时变化):用Iperf UDP测试来量度
- 数据报丢失:用Iperf UDP测试来量度
- 带宽:通过TCP测试来量度
-s 以server模式启动,eg:iperf –s
-c host以client模式启动,host是server端地址,eg:iperf -c 222.35.11.23 通用参数
-f [k|m|K|M] 分别表示以Kbits, Mbits, KBytes, MBytes显示报告,默认以Mbits为单位,eg:iperf -c 222.35.11.23 -f K
-i sec 以秒为单位显示报告间隔,eg:iperf -c 222.35.11.23 –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
server专用参数
-D 以服务方式运行ipserf,eg:iperf -s –D
-R 停止iperf服务,针对-D,eg:iperf -s –R
client端专用参数 -d 同时进行双向传输测试
-n 指定传输的字节数,eg:iperf -c 222.35.11.23 -n 100000 -r 单独进行双向传输测试
-t 测试时间,默认10秒,eg:iperf -c 222.35.11.23 -t 5
-F 指定需要传输的文件 -T 指定ttl值