以太网接口是一种广泛应用的网络接口,它可以在不同的场合实现不同的功能。例如,它可以把办公室或家庭中的计算机设备连成一个局域网,方便数据共享和网络访问;它也可以把工业控制或物联网中的嵌入式终端设备连成一个远程监控和控制系统;还可以把通信网络中的交换机或路由器连成一个高速数据传输和网络互联平台。然而,以太网数据传输的稳定性受到很多因素的影响,如电缆质量、信号干扰、网络拥塞等。
因此,为了保证以太网数据传输的稳定性,需要进行一些测试和优化。其中一种常用的测试方法是iperf3:它是一种用于测量IP网络上最大可达带宽的工具,支持TCP、UDP等协议,并可以调节各种参数来模拟不同的网络环境。
本文将使用vanxoak基于HD-G2UL-CORE工业级核心板设计的HD-G2UL-EVM评估板使用iperf3工具测试以太网口12小时长时间打流的稳定情况。
1.测试结果
HD-G2UL-EVM基于HD-G2UL-CORE工业级核心板设计,集成1路10M/100M/1000M自适应以太网接口,经过实际测试12小时,连接50米长超六类网线,单路自适应以太网接口平均带宽速率为677Mbits/sec,稳定了传输3.35TBytes数据,说明该开发板可以在长时间运行下提供高速数据传输和流畅的网络连接,从而为物联网应用的开发提供了稳定可靠的网络支持。
2.测试工具
iperf3
Iperf3是一款基于TCP/IP和UDP/IP的网络性能测试工具,可以用来测量网络带宽和网络质量,提供网络延迟抖动、数据包丢失率、最大传输单元等统计信息。长时间运行iperf3测试可以检测网络连接的稳定性和性能表现,并帮助开发人员确定网络系统中的瓶颈和故障。
常用参数:
-s:启动iperf3服务器端程序。
-c <server>: 用于指定iperf3客户端连接的目标服务器,如-c 192.168.0.1。
-p <port>: 用于指定iperf3服务器端和客户端之间的通信端口,默认为5201。
-u: 指定UDP协议进行测试,如果不指定则默认使用TCP协议。
-t <time>: 用于指定iperf3测试的时间长度,以秒为单位,默认为10秒。
-i <time>: 用于指定iperf3测试结果输出的时间间隔,以秒为单位,默认为1秒。
-b <bandwidth>: 用于指定iperf3测试的带宽,以bits/s为单位,默认为1Gbps:
移植iperf3到评估板
由于HD-G2UL-EVM评估板默认集成iperf3工具,无需进行移植和安装。
用户主机ubuntu或window下安装iperf3
ubuntu系统可执行apt命令进行安装:
sudo apt-get install iperf3
Windows系统可在iperf官网下载:
https://iperf.fr/iperf-download.php#windows
本文示例主机为windows系统。
3.测试TCP吞吐量
查看主机和评估板IP
查看用户主机和评估板IP
图2 主机IP地址
图3 评估板eth0 IP地址
注:需要注意的是,使用iperf工具时需保持PC机与HD-G2UL-EVM评估板在同一网段内,目的是为了保证数据包的正确传输和接收。在同一网段内,PC机和HD-G2UL-EVM评估板可以直接进行通信,而不需要经过路由器或者其他设备的转发。这可以降低网络延迟和丢包的可能性,从而提高测试的准确性和可靠性。
用户主机作为服务端
执行指令:
iperf3 -s
图4 服务端
评估板作为客户端
执行指令:
iperf3 -c 192.168.1.22 -i 5 -t 43500
图5 客户端执行后服务端回显
4.测试结果
图6 客户端测试结果
图7 服务端测试结果
从图6 客户端测试结果可以看出,iperf3测试时间为43500秒(约12小时),每隔5秒传输一次数据,数据量在80Mbytes左右,网卡的带宽速率维持在677Mbits/sec左右,总共传输了3.35TBytes数据量。
注:由于服务端powershell程序显示问题,未显示具体传输的数据量,具体可在客户端查看传输的数据量