实际操作
1、背景
开发板通过USB与PC相连,开发板会被枚举成USB网卡,通过网卡进行通信。通过USB连接后,开发板串口生成usb0
网卡,内容如下:
1 | @android:/ # ifconfig -a |
PC的ubuntu下识别到新的网卡enp0s20f0u10
,内容如下:
1 | enp0s20f0u10 Link encap:Ethernet HWaddr de:3b:4e:04:3f:17 |
iperf client
通常表示数据的发送者,所以这里PC的ubuntu做为client。iperf server
表示数据的接收者,所以这里开发板做为server。
2、测试TCP步骤
配置同一网段的ip:
在开发板串口配置usb0
网卡的ip:ifconfig usb0 192.168.4.1 netmask 255.255.255.0 up
;
在ubuntu配置enp0s20f0u10
网卡的ip:sudo ifconfig enp0s20f0u10 192.168.4.2 netmask 255.255.255.0 up
。开发板配置server,端口号为80
1 | @android:/ # ./var/iperf -s -p 80 |
- ubuntu配置client
1 | victor@victor-HP:~# iperf -c 192.168.4.1 -p 80 |
- 测试结果:
当上面的步骤执行之后,可以看到测试的数据,server端log如下:
1 | @android:/ # ./var/iperf -s -p 80 |
client端log如下:
1 | victor@victor-HP:~# iperf -c 192.168.4.1 -p 80 |
3、测试UDP步骤
在上述命令的基础上加上-u
的参数,指定UDP测试,UDP的测试结果为:
1 | @android:/ # ./var/iperf -s -p 80 -u |
1 | victor@victor-HP:~# iperf -c 192.168.4.1 -p 80 -t 60 -u |
上述得到UDP的带宽为 1.05Mb/s,明显少了很多, 这是因为默认情况下,iPerf将UDP客户端的带宽限制为每秒1 Mbit。可以通过以下命令测试UDP的带宽:
1 | victor@victor-HP:~# iperf -c 172.30.100.11 -p 80 -u -b 1000m |
-b 1000m
告诉客户端我们希望尽可能达到每秒1000 Mbits的最大值。 -b
标志仅在使用UDP连接时有效,因为iPerf未在TCP客户端上设置带宽限制。