tc工具的介绍

作为一款功能强大的网络流量控制工具,TC可以控制网络带宽、丢包率、延时等网络参数,使我们能够在网络环境良好的局域网中模拟出各种复杂的网络场景。
 

Linux中模拟延时

1、在模拟丢包之前,我们输入下述命令可以在机器的网卡上看到我们的网卡是 eth0

ip addr show

然后在本机上ping我们的应用服务器,确认网络正常。

ping xxx.xxx.xxx.xxx -t

此时我们设置延时,其中 eth0 是我们的网卡名称,下面的命令实现了给 eth0 口发包时添加 20ms 的延时。

tc qdisc add dev eth0 root netem delay 20ms 

指定的eth0网卡上所有的包固定加了200ms延时 

tc qdisc add dev eth0 root netem delay 200ms

延迟波动,如下命令表示延迟为时延100ms-200ms波动 

tc qdisc add dev eth0 root netem delay 150ms 50ms

 2、显示延时的设置

tc qdisc show

3、修改延时

tc qdisc change dev eth0 root netem delay 20ms 

 4、删除延时配置

tc qdisc del dev eth0 root netem delay 20ms

模拟丢包

1、设置随机丢包10%

tc qdisc add dev eth0 root netem loss 10%

模拟乱序 、延时 + 抖动

1、乱序,如下代表100ms基准上的25%乱序 

tc qdisc add dev eth0 root netem delay 100ms reorder 25%

2、tc设置延时为100ms,30%的包会有+/- 10ms的延时 

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

查看队列规则

tc qdisc ls

删除队列规则

tc qdisc del dev eth0 root

 

Logo

更多推荐