Linux tc命令模拟网络延迟和丢包
Linux 中使用 tc 进行流量管理,具体命令的使用可参考 tc 的man手册
1.模拟网络延迟
将 eth0 网卡的传输设置为延迟 100 毫秒发送
tc qdisc add dev eth0 root netem delay 100ms
将 eth0 网卡的传输设置为延迟 100ms ± 10ms (90 ~ 110 ms 之间的任意值)发送
tc qdisc add dev eth0 root netem delay 100ms 10ms
将 eth0 网卡的传输设置为 100ms ,同时,大约有 30% 的包会延迟 ± 10ms 发送
tc qdisc add dev eth0 root netem delay 100ms 10ms 30%
2、模拟网络丢包
将 eth0 网卡的传输设置为随机丢掉 1% 的数据包
tc qdisc add dev eth0 root netem loss 1%
将 eth0 网卡的传输设置为随机丢掉 1% 的数据包,成功率为 30%
tc qdisc add dev eth0 root netem loss 1% 30%
3、模拟包重复
将 eth0 网卡的传输设置为随机产生 1% 的重复数据包
tc qdisc add dev eth0 root netem duplicate 1%
4、模拟数据包损坏
将 eth0 网卡的传输设置为随机产生 0.2% 的损坏的数据包
tc qdisc add dev eth0 root netem corrupt 0.2%
5、模拟包乱序
将 eth0 网卡的传输设置为:有 25% 的数据包(50%相关)会被立即发送,其他的延迟10 毫秒。
tc qdisc change dev eth0 root netem delay 10ms reorder 25% 50%
但行好事,莫问前程