【Iperf】iperf测试wlan的性能

1.概念:

iperf命令是一个网络性能测试工具。iperf可以测试TCP和UDP带宽质量

iperf可以测量最大TCP带宽,具有多种参数和UDP特性。iperf可以报告带宽延迟抖动数据包丢失

利用iperf这一特性,可以用来测试一些网络设备如路由器,防火墙,交换机等的性能。

iperf分为两种版本,Unix/Linux版和Windows版,Unix/Linux版更新比较快,版本最新。

Windows版更新慢。Windows版的iperf叫jperf,或者xjperf。jperf是在iperf基础上开发了更好的UI和新的功能,简化了复杂命令行的参数构造,并保存测试结果,同时实时图形化显示结果。

当然,Jperf 可以测试TCP 和UDP带宽质量。Jperf 可以测量最大 TCP带宽,具有多种参数和UDP 特性。Jperf 可以报告带宽,延迟抖动和数据包丢失。

  Linux 环境下,可以提高测试准确性。
  Iperf 功能介绍:
  1)TCP
    ·测量网络带宽
    ·报告 MSS/MTU 值的大小和观测值
    ·支持TCP 窗口值通过套接字缓冲
    ·当P 线程或 Win32 线程可用时,支持多线程。客户端与服务端支持同时多重连接

  2)UDP
    ·客户端可以创建指定带宽的UDP 流,
    ·测量丢包
    ·测量延迟
    ·支持多播
    ·当P线程可用时,支持多线程。客户端与服务端支持同时多重连接(不支持Windows)
    ·在适当的地方,选项中可以使用 K 和 M,使输出更友好
    ·可以指定运行的总时间,甚至可以设置传输的数据总量
    ·服务器支持多重连接,而不是等待一个单线程测试
    ·在指定时间间隔重复显示网络带宽,波动和丢包情况
    ·服务器端可作为 Windows 服务运行
    ·使用典型数据流来测试链接层压缩对于可用带宽的影响
    ·支持传送指定文件,可以定性和定量测试
2.安装iperf

对于windows版的iperf,直接将解压出来的iperf.exe和cygwin1.dll复制到%systemroot%目录即可,

对于linux版的iperf,请使用如下命令安装: http://man.linuxde.net/iperf

gunzip -c iperf-<version>.tar.gz | tar -xvf -

cd iperf-<version>

./configure

make

make install

对于ubuntu系统的iperf 可用wget和apt-get两种方式进行下载,当前说明以apt-get来进行说明

ubuntu中由apt-get获得的文件包保存在/var/cache/apt/archives ,当前的获取到的压缩包如果是deb格式的,则当前可以用dpkg -i  压缩文件名字

下载文件位置可以在/etc/apt/source.list文件中指定。

3.使用

在路由器上可使用编译过的iperf程序,在手机上可以下载iperf app来进行测试

一、路由器上使用
1、将iperf上传到 /usr/sbin文件下,命令:tftp -gr iperf ip(iperf所在主机ip)
2、将库文件上传到lib目录下,命令:tftp -gr libuClibc++.so.0 ip(文件所在主机ip)

 路由器:

使用tftp要让文件能够正常上传需要路由器能够ping得通主机ip

root@ROUTER:~# cd /usr/sbin
root@ROUTER:/usr/sbin# tftp -gr iperf 192.168.23.40(电脑ip)
root@ROUTER:/usr/sbin# ls | grep iperf
iperf
root@ROUTER:/usr/sbin# cd
root@ROUTER:~# cd /lib
root@ROUTER:/lib# tftp -gr libuClibc++.so.0 192.168.23.40
root@ROUTER:/lib# ls | grep libuClibc++.so.0
libuClibc++.so.0

二、iperf的使用参数说明:
可用iperf -h或iperf -help来查看具体命令
-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
-B 绑定一个主机地址或接口(当主机有多个地址或接口时使用该参数)
-C 兼容旧版本(当server端和client端版本不一样时使用)
-M 设定TCP数据包的最大mtu值
-N 设定TCP不延时
-V 传输ipv6数据包

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值


操作举例:
1)TCP测试
服务器执行:#iperf -s -i 1 -w 1M
客户端执行:#iperf -c host -i 1 -w 1M
其中-w表示TCP window size,host需替换成服 务器地址。
2)UDP测试
服务器执行:#iperf -u -s
客户端执行:#iperf -u -c 10.32.0.254 -b 900M -i 1 -w 1M -t 60
其中-b表示 使用带宽数量,千兆链路使用90%容量进行测试就可以了。

几个命令参数:
#iperf -c 10.1.1.1 //客户端命令
iperf -s //服务端命令
-f [b|B|k|K|m|M|g|G] //f参数表示单位
-r //r参数表示双向数据测试,但要先测c到s的带宽
-d //d参数和r近似,并且功能更强,可同时测试双向数据
-w [2000] //w参数后跟数字,单位是byte,
-p [12000] //p参数可指定端口号
-t [20] //t参数默认表示测试10次,后加数字可以自己定义
-i [2] //i参数表示测试开始到结束的间隔时间,单位s
-u -b 10m //udp 10mbps 测试
-m //最大mpu测试
-P //并行测试
-h //帮助

详情上网查看

参看链接

https://www.cnblogs.com/yingsong/p/5682080.html

原文地址:https://www.cnblogs.com/chenxiaomeng/p/9310894.html