米尔小助手1 发表于 2014-7-15 18:12:40

移植并使用Iperf3测试ARM Linux网口TCP/UDP/SCTP速度


[*]   Iperf是一个常用的网络测试工具。这里的网络不但可以是一般的以太网,也可以是无线网络。
[*]   Iperf的输出结果的网络传输速度,单位是bps.
[*]   Iperf既可以测试TCP/IP和UDP, 也可以用于SCTP(Iperf3)

使用
IPerf基于client/server模式,在服务器端运行./iperf -s
在客户端,运行
./iperf -c 192.168.1.100 -i 2 -t 999

参数的意义如下:
(1) -s 以服务器模式启动
(2) -c 以客户端模式启动, 这时需指定服务器所在的IP地址
(3) -t 指定测试时间
(4) -i 指定时间间隔,打印结果,例如上例中就是以2秒为间隔不断输出结果,
(5) -d 双向传输测试
其他参数可以看iperf自带的帮助文档(iperf -h)

下图是基于无线的网络连接图,

http://s7.sinaimg.cn/middle/5d9051c0h864c03d81db6&690
其中, PC机与无线AP之间通过有线连接,假设AP的IP地址是192.168.1.1(这一般是出厂时设置好的,可以参考AP的使用手册得到该IP);将PC地址设为与AP同网段,如192.168.1.2,然后就可以在PC机上,访问并设置AP了(浏览器中输入AP地址,即可)

带有WIFI功能的其他设备,例如笔记本或智能手机等, 可以通过界面上的WIFI接口探测并连接该AP,AP为其自动分配一个IP地址,当然对于无界面的Linux系统,也可以通过命令行搞定(方法参见:http://blog.sina.com.cn/s/blog_5d9051c00100iq48.html)。

然后就可以利用IPERF测试PC机,笔记本,手机三者之间任意两者的网络速度。

主机
在Ubuntu系统下,直接使用命令安装:sudo apt-get install iperf
或者通过源码安装,步骤
(1)下载源码:http://sourceforge.net/projects/iperf/
(2)解压缩,在其根目录中运行“./configure”, 它将生成Makefile:

tar zxf iperf.tar.gz
./configure

(3)在其根目录中运行“make”, 在src/下生成iperf程序(X86平台的)

make


移植
(1)下载源码:http://sourceforge.net/projects/iperf/
(1)在iperf根目录中运行“./configure --host=arm-linux”, 或者其他的交叉编译器
(2)在其根目录中运行“make”, 在src/下生成iperf程序(arm平台的)
    编译过程可能报错“ undefined reference to `rpl_malloc'”,解决的方法只要将iperf根目录下config.h中的“#define malloc rpl_malloc”注释掉即可

WINDOWS
网上有IPerf的Windows版本(下载地址 http://www.noc.ucf.edu/Tools/Iperf/), 当然我们也可以自己移植。


本文参考:

[*]Iperf的使用,编译和移植:http://blog.sina.com.cn/wyw1976
[*]嵌入式开发之工具移植--iperf移植和使用:http://blog.csdn.net/tigerjibo/article/details/12175193
[*]千兆网卡带宽测试:http://purplegrape.blog.51cto.com/1330104/1248660




页: [1]
查看完整版本: 移植并使用Iperf3测试ARM Linux网口TCP/UDP/SCTP速度