linux tc-模拟网络延迟和丢包

vim tc_delay.sh

tc qdisc add dev eth0 root netem delay 100ms
tc qdisc show dev eth0
sleep 100
tc qdisc del dev eth0 root netem delay 100ms

 

 

# tc qdisc add dev eth0 root netem delay 100ms

该命令将 eth0 网卡的传输设置为延迟 100 毫秒发送。

更真实的情况下,延迟值不会这么精确,会有一定的波动,我们可以用下面的情况来模拟出

带有波动性的延迟值:

# tc qdisc add dev eth0 root netem delay 100ms 10ms

该命令将 eth0 网卡的传输设置为延迟 100ms ± 10ms (90 ~ 110 ms 之间的任意值)发送。

# tc qdisc add dev eth0 root netem delay 100ms 10ms 30%

该命令将 eth0 网卡的传输设置为 100ms ,同时,大约有 30% 的包会延迟 ± 10ms 发送。

# tc qdisc add dev eth0 root netem loss 1%

该命令将 eth0 网卡的传输设置为随机丢掉 1% 的数据包。

# tc qdisc add dev eth0 root netem loss 1% 30%

该命令将 eth0 网卡的传输设置为随机丢掉 1% 的数据包,成功率为 30% 

删除网卡上面的相关配置:将之前命令中的 add 改为 del 即可删除配置:

# tc qdisc del dev eth0 XXXXXXXXXXX(自己加的配置)该命令将 删除 eth0 网卡的相关传输配置

# tc qdisc del dev eth0 root netem delay 100ms

 

# tc qdisc add dev eth0 root netem duplicate 1%

该命令将 eth0 网卡的传输设置为随机生 1% 复数据包 。模拟数据包损坏:

# tc qdisc add dev eth0 root netem corrupt 0.2%

该命令将 eth0 网卡的传输设置为随机生 0.2% 损坏的数据包 。 (内核版本需在 2.6.16 以上)

 

# tc qdisc change dev eth0 root netem delay 10ms reorder 25% 50%

该命令将 eth0 网卡的传输设置为:有 25% 的数据包(50%相关)会被即发送,其他的延迟10 秒。

新版本中,如下命令也会在一定程度打乱发包的次:# tc qdisc add dev eth0 root netem delay 100ms 10ms

 

查看已经配置的网络条件:# tc qdisc show dev eth0

 

猜你喜欢

转载自886.iteye.com/blog/2315955
今日推荐