Linux 模拟网络丢包,延时
实战:
丢包
tc qdisc add dev bond0 root netem loss 10%
延迟
tc qdisc add dev bond0 root netem latency 100ms
丢包+延迟
tc qdisc add dev bond0 root netem latency 100ms loss 10%
清除配置
tc qdisc del dev bond0 root
1.设置延时
延时:sudo tc qdisc add dev eth0 root netem delay 30ms
范围内延时(10-50ms):sudo tc qdisc add dev eth0 root netem delay 30ms 20ms
设置延时30ms,并大约20%包会延迟±10ms 发送 sudo tc qdisc add dev eth0 root netem delay 30ms 20ms 20%
显示延时的设置 : sudo tc qdisc show
修改延时:sudo tc qdisc change dev eth0 root netem delay 40ms
删除延时:sudo tc qdisc del dev eth0 root netem delay 40ms
2.设置丢包
丢包:sudo tc qdisc add dev eth0 root netem loss 10%
随机丢掉10%的数据包,成功率为20%:sudo tc qdisc add dev eth0 root netem loss 10% 20%
删除丢包:sudo tc qdisc del dev eth0 root netem loss 10%
3.模拟包重复
随机产生1%的重复数据包 :sudo tc qdisc add dev eth0 root netem duplicate 1%
4.数据包损坏
随机产生 0.2% 的损坏的数据包: sudo tc qdisc add dev eth0 root netem corrupt 0.2%
5.数据包乱序
有25%的数据包(50%相关)会被立即发送,其他的延迟10秒 : sudo tc qdisc change dev eth0 root netem delay 10ms reorder 25% 50%
6.产看已经配置的网络条件
sudo tc qdisc show dev eth0
7.删除tc规则
sudo tc qdisc del dev eth0 root