嵌入式 linux以及arm平台上网络设备测试工具iperf交叉编译以及使用
2019-07-12 15:47发布
生成海报
iperf移植过程
具体步骤如下:
1.下载iperf源码,进行配置。
./configure --host=arm-linuxCC=arm-hisiv100nptl-linux-gcc CXX=arm-hisiv100nptl-linux-g++
2.修改如下内容:可以通过./configure查看正常编译的配置信息,将差异修改到arm交叉编译生成的config.h中
...
#define HAVE_MALLOC 0 改为 #define HAVE_MALLOC 1
/* #undef HAVE_QUAD_SUPPORT */ 改为 #define HAVE_QUAD_SUPPORT 1
#define malloc rpl_malloc 改为 /* #undef malloc */
3.make,在/src目录下,有iperf可执行文件。
4.将iperf文件拷贝到板子上去运行,如将10.12.1.214作为服务器端,执行iperf-s -u -i 1命令,
在板子上运行./iperf -u -c 10.12.1.214 -b100M -i 1。
默认执行10秒。
其中iperf的参数如下:
参数说明
-s 以server模式启动,eg:iperf-s
-c host 以client模式启动,host是server端地址,eg:iperf -c222.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数据包
测试运行截图如下:
客户端:
服务器端:
Iperf测试报告
一、安装环境
硬件环境:pc机,hi3518c测试开发板
软件环境:linux
编译工具:gcc和arm-hisiv100nptl-linux-gcc
Iperf源码版本:iperf-2.0.2.tar.gz
Iperf下载地址:http://sourceforge.net/projects/iperf/
二、安装编译
2. 1 服务器端的iperf安装
A)、tarzxvf iperf-2.0.2.tar.gz
B)、cd iperf
C)、./configure
D)、make
E)、make install
2. 2 客户端的iperf安装
A)、进入iperf目录,进行配置。
./configure --host=arm-linuxCC=arm-hisiv100nptl-linux-gcc CXX=arm-hisiv100nptl-linux-g++
B)、修改如下内容:可以通过./configure查看正常编译的配置信息,将差异修改到arm交叉编译生成的config.h中
...
#define HAVE_MALLOC 0 改为 #defineHAVE_MALLOC 1
/* #undef HAVE_QUAD_SUPPORT */ 改为 #define HAVE_QUAD_SUPPORT 1
#define malloc rpl_malloc 改为 /* #undef malloc */
C)、make,在/src目录下,会生成iperf可执行文件。
三、iperf执行
3.1测试网络环境
Iperf是通过客户端向服务器发包和接包来测试丢包率的,所以用iperf测试板子网卡的好坏,首先确保服务器与客户端的连通。
这里选择,在同一网段测试。在板子使用命令:ping 10.10.5.184(pc机的ip),测试板子与pc机的连通性。
3.2 建立服务器和客户端
A)、在pcubuntu上运行iperf
使用命令:
./iperf -u -s
命令注释:
-u 使用udp协议
-s 以server模式启动
B)、在板子上运行iperf
使用命令:
./iperf -u -c 10.10.5.184 -b100M -i 1 -t 600
命令注释:
-u 使用udp协议
-c host 以client模式启动,host是server端地址
-b 指定发送带宽,默认是1Mbit/s
-i sec 以秒为单位显示报告间隔
-t 测试时间
3.3测试结果:见图1
图1 iperf测试结果
四、测试结果分析
通过查看每次发送和接收的数据量、以及括号里的xx%的丢包率来察看板子网卡的好坏。
五、参考文档
Iperf安装与使用
http://wenku.baidu.com/link?url=tw9ivtKv0LWOqOlyoqDqZO6qMlFe_xzCOEfoj7KtlmUxKgaaIaM0IzwdXj-Asj4HiMFfa_jhiRR28YrZa6jWD9Db6sOp5_2LKitF90Crs9_
打开微信“扫一扫”,打开网页后点击屏幕右上角分享按钮