欢迎点击蓝字关注我
扫二维码回复“加群”加入飞腾爱好者交流群
最近正好有项目需求,将E2000Q的四路网口(SGMII)都转出来到了电口RJ45。想着拿iperf简单测一下各个口性能试试。顺便记录了一下测试过程。
一、测试硬件环境
E2000Q通过4路SGMII加裕太PHY芯片YT8521转出电口,同时时钟上做了同源处理。
PC机一台,windows系统,网口一个。
二、软件环境
E2000Q固件采用Uboot,系统使用飞腾gitee上的buildroot生成了内核文件Image (版本5.10)、根文件系统文件rootfs.tar。自己根据硬件环境生成了板子对应的设备树dtb。
E2000Q的4个网口计划eth0-eth3的IP为192.168.100.0-192.168.100.3。
windows系统为win10 64位,ip设置为192.168.100.200。
E2000Q上linux系统的iperf采用版本iperf-3.5.tar.gz,可以关注公众号,回复“iperf3.5”获取,新版本可以再github上自行下载,地址https://github.com/esnet/iperf/releases
PC机上windows下的iperf工具版本为iperf-3.10.1-win64.zip,也是关注公众号,回复“iperf3.5”获取,自己下载可以在github上,地址https://github.com/ar51an/iperf3-win-builds
三、测试步骤
3.1 windows操作
首先设置有线网口IP为192.168.100.200,子网掩码255.255.255.0。这个的配置方法不属于记录内容,请自行摸索配置。
解压iperf-3.10.1-win64.zip文件到自定义的目录,我这里解压到了D:\10phytium\3project\iperf-3.10.1-win64目录中。在windows“运行”中执行cmd,进入命令行窗口。进入到iperf解压的目录。
以下均在windows命令提示符中执行
#进入D盘
C:\Users\york>D:
#进入iperf解压后目录
D:\> cd D:\10_phytium\3_project\iperf-3.10.1-win64
#查看iperf版本
D:\10_phytium\3_project\iperf-3.10.1-win64>iperf3.exe -v
iperf 3.10.1 (cJSON 1.7.13)
CYGWIN_NT-10.0-19045 DESKTOP-IM5GUQ8 3.3.3-341.x86_64 2021-12-03 16:35 UTC x86_64
Optional features available: CPU affinity setting, support IPv4 don't fragment
#启动server监听
#-s:这个参数告诉iperf3以服务器模式运行
#-B:这个参数后面通常跟一个IP地址,用于绑定iperf3服务到特定的网络接口
D:\10_phytium\3_project\iperf-3.10.1-win64>iperf3 -s -B 192.168.100.200
-----------------------------------------------------------
Server listening on 5201 (test #1)
-----------------------------------------------------------
3.2 E2000Q系统iperf安装
解压iperf-3.5.tar.gz到指定目录,这里解压到/usr/ptest/iperf-3.5中。
安装操作方法可以看解压后README.md文件。
其中有如下内容:
root@phytium-Ubuntu:/usr/ptest/iperf-3.5# cat README.md
iperf3: A TCP, UDP, and SCTP network bandwidth measurement tool
......
### Building ###
./configure; make; make install
所以,我们安装iperf,执行命令如下,无报错即成功。
./configure
make
make install
3.3 网口测试
首先我们在E2000Q的linux中配置4个网口的IP
ifconfig eth0 192.168.100.0
ifconfig eth1 192.168.100.1
ifconfig eth2 192.168.100.2
ifconfig eth3 192.168.100.3
3.3.1 eth0测试
我们先测eth0。那么首先与pc机连接的网线先插到eth0和PC机之间。
这里有个路由表的东西建议处理以下,便于测试。
#删除所有route表
ip route flush table main
#添加eth0到路由表
#add:这个参数告诉ip route命令我们要添加一个新的路由规则。192.168.100.200:这是要添加路由的目标IP地址或网络。
#via:这个参数后面跟的是一个网关地址,表示通过这个网关来转发到目标网络的流量。192.168.100.0:这是指定的网关地址,流量将通过IP地址为192.168.100.0的设备来转发。
ip route add 192.168.100.200 via 192.168.100.0 dev eth0
#指定用eth0 ping一下,至少保证能ping通,要不没法下一步测试
#-I:这个参数后面跟的是网络接口的名称,用于指定ping命令应该通过哪个网络接口发送数据包。eth0:这是指定的网络接口名称。
ping -I eth0 192.168.100.200
#iperf测试
#-c 192.168.100.200:这个参数指定客户端模式,并指定服务器的IP地址为 192.168.100.200。
#-b 1000M:这个参数指定了测试的带宽目标为1000Mbps
#-B 192.168.100.0:它将测试流量绑定到IP地址为192.168.100.0的网络接口,以确保测试流量通过指定的网卡发送和接收
iperf3 -c 192.168.100.200 -b 1000M -B 192.168.100.0
测试结果这里就不展示了,有兴趣的同学可以自己测一下看,如果要是测udp,可以加上-u的参数,如下
iperf3 -c 192.168.100.200 -u -b 1000M -B 192.168.100.0
3.3.2 eth1测试
pc机连接的网线先插到eth1和PC机之间。
过程和eth0一样
ip route flush table main
ip route add 192.168.100.200 via 192.168.100.1 dev eth1
ping -I eth1 192.168.100.200
iperf3 -c 192.168.100.200 -b 1000M -B 192.168.100.1
3.3.3 eth2测试
pc机连接的网线先插到eth2和PC机之间。
过程和eth0一样
ip route flush table main
ip route add 192.168.100.200 via 192.168.100.2 dev eth2
ping -I eth2 192.168.100.200
iperf3 -c 192.168.100.200 -b 1000M -B 192.168.100.2
3.3.4 eth3测试
pc机连接的网线先插到eth3和PC机之间。
过程和eth0一样
ip route flush table main
ip route add 192.168.100.200 via 192.168.100.3 dev eth3
ping -I eth3 192.168.100.200
iperf3 -c 192.168.100.200 -b 1000M -B 192.168.100.3
OK,如上操作,4个网口的iperf测试就完成了。
欢迎点击“点赞、收藏、在看”,分享给更多人看到
扫二维码回复“加群”加入飞腾爱好者交流群
往期文章
欢迎飞腾爱好者加入微信交流群。 群内大家可以在群内交流遇到的问题,分享自己的调试心得。 希望大家共建飞腾友谊!