tc
tc:traffic control(流量控制),用来控制netem的工作模式.
其控制时对物理网卡生效,同时与其绑定的虚拟网卡也会受到影响.
命令及参数
设置网卡发送延时
设置物理网卡eth0延时500ms发送数据,时间可以为us,ms,s
tc qdisc add dev eth0 root netem delay 500ms
但网络环境往往延时不会如此精确,可以使用一些参数来模拟延迟的随机变化
设置物理网卡eth0传输设置为延迟 500ms ± 100ms (400 ~ 600 ms 之间的任意值)发送。
tc qdisc add dev eth0 root netem delay 500ms 100ms
设置 eth0 网卡的传输设置为 500ms ,并设置大约有 30% 的包会延迟 ± 100ms 发送。
tc qdisc add dev eth0 root netem delay 500ms 100ms 30%
设置网卡模拟丢包
设置物理网卡eth0随机丢包9%,成功率40%。
tc qdisc add dev eth0 root netem loss 9% 40%
设置模拟重复包
设置物理网卡 eth0 的传输会随机产生 1% 的重复数据包 。
tc qdisc add dev eth0 root netem duplicate 1%
设置模拟包损坏
设置物理网卡eth0 的传输会随机产生 2% 的损坏的数据包 。
tc qdisc add dev eth0 root netem corrupt 2%
设置模拟包乱序
说明:该命令指的是对eth0网卡设置为25%的数据包(50%相关)会被立即发送,其他延迟10秒,在新版本中,也可以通过以下指令实现: tc qdisc add dev eth0 root netem delay 100ms 10ms 75%(大约有75%的包会延迟±10ms发送)。
tc qdisc change dev eth0 root netem delay 10ms reorder 25% 50%
恢复初始配置
删除eth0网卡的所有配置,恢复初始状态
tc qdisc del dev eth0 root