配置网络时延、丢包、带宽等

1. 查看网络流量管理

tc qdisc show

2. 时延

#sudo tc qdisc add dev 网卡名称 root netem delay 时延数值
sudo tc qdisc add dev eth0 root netem delay 15ms

如果想要删除之前设置的时延

sudo tc qdisc del dev eth0 root netem delay 15ms

也可以直接更改

sudo tc qdisc change dev eth0 root netem delay 30ms

丢包和带宽删除和更改与时延类似,不逐一举例子

3. 丢包

#sudo tc qdisc add dev 网卡名称 root netem loss 丢包数值
sudo tc qdisc add dev eth0 root netem loss 0.1%

如果想要添加网络丢包的成功率:

#将eth0网卡的传输设置为随机丢掉1%的数据包,成功率为30%
sudo tc qdisc add dev eth0 root netem loss 0.1% 30%

4. 带宽

#sudo tc qdisc add dev 网卡名称 root netem rate 带宽数值
sudo tc qdisc add dev eth0 root netem rate 10Gbps

5. 模拟延迟波动

#该命令将 eth0 网卡的传输设置为延迟 100ms ± 10ms (90 ~ 110 ms 之间的任意值)发送。 还可以更进一步加强这种波动的随机性
tc qdisc add dev eth0 root netem delay 100ms 10ms

6. 模拟包重复

#该命令将 eth0 网卡的传输设置为随机产生 1% 的重复数据包
tc qdisc add dev eth0 root netem duplicate 1%

7. 模拟包损坏

#该命令将 eth0 网卡的传输设置为随机产生 0.2% 的损坏的数据包 。 (内核版本需在 2.6.16 以上)
tc qdisc add dev eth0 root netem corrupt 0.2%

8. 模拟包乱序

#该命令将 eth0 网卡的传输设置为:有 25% 的数据包(50%相关)会被立即发送,其他的延迟10 秒。
tc qdisc change dev eth0 root netem delay 10ms reorder 25% 50%
#新版本中,如下命令也会在一定程度上打乱发包的次序:# tc qdisc add dev eth0 root netem delay 100ms 10ms

9. 联合使用

sudo tc qdisc add dev eth0 root netem delay 15ms loss 1% rate 1000Mbps
Logo

华为开发者空间,是为全球开发者打造的专属开发空间,汇聚了华为优质开发资源及工具,致力于让每一位开发者拥有一台云主机,基于华为根生态开发、创新。

更多推荐