1、介绍
- 支持对链路带宽、传输时延、丢包率和无码率的手动设置;
1.1、网络损伤仪在使用时,网络拓扑连接
1.2、网络损伤仪管理页面展示
2、使用的设备及相关技术栈
- 一台Intel 赛扬 J1900的迷你主机【拥有4个千兆网口】;
- ubuntu-18.04.5-live-server-amd6操作系统;
- OpenvSwitch【配置网桥和设置带宽】;
- tc命令【设置网卡的传输时延、丢包率和无码率】;
- Python3.6+Flask+Vue【编写终端管理页面】。
3.1、OpenvSwitch安装步骤及使用到的相关命令
-
安装参考链接;
-
新建br0网桥,让4个网口可以进行数据的透传:
# 新建br0网桥 ovs-vsctl add-br br0 # 将4个物理网卡挂在到br0网桥下: ovs-vsctl add-port br0 enp1s0 ovs-vsctl add-port br0 enp2s0 ovs-vsctl add-port br0 enp3s0 ovs-vsctl add-port br0 enp4s0
-
通过ovs-vsctl设置指定网卡的带宽:
# 将enp1s0网卡的带宽设置为1Mbps【ingress_policing_rate参数单位为Kbps】 ovs-vsctl set interface enp1s0 ingress_policing_rate=1000 # 清除enp1s0网卡的相关设置 tc qdisc del dev enp1s0 root
3.2 tc的相关命令
- 设置指定网卡的时间延迟、丢包率和误码率:
# 将enp1s0网卡的时间延迟设置为5ms、丢包率设置为百分之一、误码率设置为百分之二 tc qdisc replace dev enp1s0 root netem delay 5ms loss 1% corrupt 2% # 清除enp1s0网卡的相关设置 tc qdisc del dev enp1s0 root
3、遇到的相关问题及解决方案
问题1:主机在开机后,再插入网线,无法自动激活网口。
解决方式:
通过配置 00-installer-config.yaml 网络配置文件,设置网口开启自启,并支持插入网线后自动激活:
network:ethernets:enp1s0:dhcp4: yesoptional: trueenp2s0:dhcp4: yesoptional: trueenp3s0:dhcp4: yesoptional: trueenp4s0:dhcp4: yesoptional: truebr0:addresses: [192.168.3.88/24]gateway4: 192.168.3.1nameservers:addresses: [114.114.114.114]version: 2
PS:此处,将br0的网桥IP设置为192.168.3.88,需要调整链路参数时候,用网线连接PC及迷你主机的任一网口,即可使用浏览器访问http://192.168.3.88/进行参数设置。