zoukankan      html  css  js  c++  java
  • 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 进行测试

  • 相关阅读:
    drag element
    时间会改变一切
    Windows下MySQL的my.ini文件字符集测试(二)
    Windows下MySQL的my.ini文件字符集测试
    SQL Server和MySQL主外键写法对比
    SQL Server外键约束
    [SQL Server]重命名数据库【转】
    SQL Server 2008 R2链接MySQL 5.6
    空值的日期类型和update 中的null
    删除数据库中所有表
  • 原文地址:https://www.cnblogs.com/hustcpp/p/11215119.html
Copyright © 2011-2022 走看看