tc/traffic control 网络控制工具

第一个例子

  1. 增加延时
tc qdsic add dev enp0s3 root netem delay 200ms
  • qdisc : queuing discipline, 当内核需要发送包到某个接口时,它是被送到qdis 配置的队列,然后 内核尽可能去从队列去获取最多的包,然后发送给网络驱动

  • root 表示树行的第一个节点,会影响之后的其他规则

  • netem 网络模拟, 允许添加延时,丢包率,重复包和其他外向数据

  • delay 这个命令可以延时

    1. 在添加规则前
    netbeez.net$ ping google.com
    PING google.com (172.217.6.78) 56(84) bytes of data.
    64 bytes from sfo07s17-in-f78.1e100.net (172.217.6.78): 
    icmp_seq=1 ttl=53 time=11.9 ms
    64 bytes from sfo07s17-in-f78.1e100.net (172.217.6.78): 
    icmp_seq=2 ttl=53 time=12.0 ms
    1. 添加规则后

      netbeez.net$ ping google.com
      PING google.com (172.217.5.110) 56(84) bytes of data.
      64 bytes from sfo03s07-in-f14.1e100.net (172.217.5.110): 
      icmp_seq=1 ttl=53 time=213 ms
      64 bytes from sfo03s07-in-f14.1e100.net (172.217.5.110): 
      icmp_seq=2 ttl=53 time=210 ms

可见增加的延时和配置的规则近一致

命令解释

查看规则:

tc qdisc show dev enp0s3

删除所有规则

tc qdisc delete dev enp0s3

添加丢包规则

tc qdisc add dec enp0s3 root netem loss 10%

出口网速限制

tc qdisc add dev enp0s3 root tbf rate 1mbit burst 32kbit latency 400ms

tc 通过 class, filter 进行规则匹配

添加一条限速规则

tc qdisc add dev enp0s3 root handle 1: htb r2q 1
tc class add dev enp0s3 parent 1 : classid 1:1 htb rate 10Mbit  //rate 表示限制速率
tc filter add dev enp0s3 parent 1: protocol ip prio 16 u32 match ip dst 192.168.4.5  //dst 表示接收方,支持mask

最后,可以通过iperf 进行测试

转载于:https://www.cnblogs.com/hustcpp/p/11215119.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值