zoukankan      html  css  js  c++  java
  • Hierarchical Token Bucket

    例子一:

    image

    # tc qdisc add dev eth0 root handle 1: htb default 30
    
    # tc class add dev eth0 parent 1: classid 1:1 htb rate 6mbit burst 15k
    
    # tc class add dev eth0 parent 1:1 classid 1:10 htb rate 5mbit burst 15k
    # tc class add dev eth0 parent 1:1 classid 1:20 htb rate 3mbit ceil 6mbit burst 15k
    # tc class add dev eth0 parent 1:1 classid 1:30 htb rate 1kbit ceil 6mbit burst 15k

    The author then recommends SFQ for beneath these classes:

    # tc qdisc add dev eth0 parent 1:10 handle 10: sfq perturb 10
    # tc qdisc add dev eth0 parent 1:20 handle 20: sfq perturb 10
    # tc qdisc add dev eth0 parent 1:30 handle 30: sfq perturb 10

    Add the filters which direct traffic to the right classes:

    # U32="tc filter add dev eth0 protocol ip parent 1:0 prio 1 u32"
    # $U32 match ip dport 80 0xffff flowid 1:10
    # $U32 match ip sport 25 0xffff flowid 1:20 

    同一个root class下的子类可以相互借流量,如果直接不在qdisc下面创建一个root,而是直接创建三个class,他们之间是不能相互借流量的。

    例子二:

    image

    tc qdisc add dev eth0 root handle 1: htb default 12

    • This command attaches queue discipline HTB to eth0 and gives it the "handle" 1:.
    • This is just a name or identifier with which to refer to it below.
    • The default 12 means that any traffic that is not otherwise classified will be assigned to class 1:12.

    tc class add dev eth0 parent 1: classid 1:1 htb rate 100kbps ceil 100kbps
    tc class add dev eth0 parent 1:1 classid 1:10 htb rate 30kbps ceil 100kbps
    tc class add dev eth0 parent 1:1 classid 1:11 htb rate 10kbps ceil 100kbps
    tc class add dev eth0 parent 1:1 classid 1:12 htb rate 60kbps ceil 100kbps

    The first line creates a "root" class, 1:1 under the qdisc 1:. The definition of a root class is one with the htb qdisc as its parent.

    同一个root class下的子类可以相互借流量,如果直接不在qdisc下面创建一个root,而是直接创建三个class,他们之间是不能相互借流量的。

    tc qdisc add dev eth0 parent 1:10 handle 20: pfifo limit 5
    tc qdisc add dev eth0 parent 1:11 handle 30: pfifo limit 5
    tc qdisc add dev eth0 parent 1:12 handle 40: sfq perturb 10
    tc filter add dev eth0 protocol ip parent 1:0 prio 1 u32 match ip src 1.2.3.4 match ip dport 80 0xffff flowid 1:10
    tc filter add dev eth0 protocol ip parent 1:0 prio 1 u32 match ip src 1.2.3.4 flowid 1:11
  • 相关阅读:
    【MVC整理】1.使用 StructureMap 作为 ASP.NET MVC 的 DI 框架
    一个随机列表项算法
    轻量级IOC框架:Ninject
    解决“找不到请求的 .Net Framework 数据提供程序。可能没有安装”的问题
    Vcastr 2.2 flv 网络播放器 参数设置
    C#取汉字首字母
    IIS Express的安装与设置讲解
    清晰的图片缩略方案
    ssh远程连接ubuntu
    【Apache】在Apache中利用ServerAlias设置虚拟主机接收多个域名和设置域名泛解析
  • 原文地址:https://www.cnblogs.com/CasonChan/p/4754651.html
Copyright © 2011-2022 走看看