您的位置:首页 > 理论基础 > 计算机网络

Linux 下使用traffic control 模拟网络故障的注入

2017-04-19 17:56 1481 查看
1、traffic control

参考文献:https://wiki.linuxfoundation.org/networking/netem

注入延时故障:

tc qdisc add dev eth0 root netem delay 100ms 10ms 25%        #延时时长100ms ±10ms 25% 为与上一个包时长的相关系数

注入丢包故障:

tc qdisc add dev eth0 root netem loss 0.3% 25%      #有0.3%的包丢失,25%为相关系数,详情参考文献中有

注入包重复故障:

tc qdisc add dev eth0 root netem duplicate 1%         #数据包重复的概率为1%,改成95%才能在短时间出效果,用ping www.baidu.com 可以看出有DUP

注入随机故障:

tc qdisc add dev eth0 root netem corrupt 0.1%  #说是随机,ping的时候只看到了丢包

注入乱序故障:

tc qdisc add dev eth0 root netem delay 10ms reorder 25% 50%  #25%的包正常发送,其余的延时10ms

除了ping 也可以用tc qdisc 看规则是否加上了,来检查命令是否执行成功

PS: 以上命令都是只能add 一次,需修改将add 改为change ,需删除用tc qdisc del dev eth0 root

2、模拟网络闪断

ip link set eth0 down

sleep(1)

ip link set eth0 up

循环执行,设置一下循环次数和sleep时间,ifdown eth0 和ifup eth0 也可以,不过说是快被淘汰了
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: