嵌入式 linux以及arm平台上网络设备测试工具iperf交叉编译以及使用

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数据包

 

 

 

测试运行截图如下:

客户端:

嵌入式 linux以及arm平台上网络设备测试工具iperf交叉编译以及使用_第1张图片

 

服务器端:

嵌入式 linux以及arm平台上网络设备测试工具iperf交叉编译以及使用_第2张图片


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

嵌入式 linux以及arm平台上网络设备测试工具iperf交叉编译以及使用_第3张图片

图1  iperf测试结果

四、测试结果分析

通过查看每次发送和接收的数据量、以及括号里的xx%的丢包率来察看板子网卡的好坏。

五、参考文档

Iperf安装与使用

http://wenku.baidu.com/link?url=tw9ivtKv0LWOqOlyoqDqZO6qMlFe_xzCOEfoj7KtlmUxKgaaIaM0IzwdXj-Asj4HiMFfa_jhiRR28YrZa6jWD9Db6sOp5_2LKitF90Crs9_

 


你可能感兴趣的:(嵌入式 linux以及arm平台上网络设备测试工具iperf交叉编译以及使用)