Linux操作系统中的流量控制器TC(Traffic Control)用于Linux内核的流量控制,主要是通过在输出端口处建立一个队列来实现流量控制。通过tc命令我们可以模拟弱网进行测试。
note:命令中eth0是需要模拟弱网的网卡,可通过ifconfig查看。
以下是一些常用命令:
查看规则信息
- tc -s qdisc ls dev eth0
- tc qdisc show
删除规则
- tc qdisc del dev eth0 root
丢包率
- tc qdisc add dev eth0 root netem loss 10% : 丢包率为10%
- tc qdisc add dev eth0 root netem loss 10% 30% : 丢包率为范围(10%- 30%)
延时
- tc qdisc add dev eth0 root netem delay 100ms :廷时100ms
- tc qdisc add dev eth0 root netem delay 100ms 10ms :廷时100ms ± 10ms
- tc qdisc add dev eth0 root netem delay 100ms 10ms 25% :廷时100ms 25%概率以±10ms波动延迟
最大带宽1Mbit
- tc qdisc add dev enp0s8 root handle 1: htb default 1
- tc class add dev enp0s8 parent 1:0 classid 1:1 htb rate 1Mbit