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
  • 相关阅读:
    Javascript知识汇总------手写图片上传插件
    Javascript知识汇总------面向对象手写弹窗插件
    Javascript知识汇总------面向对象手写拖拽插件
    Javascript知识汇总------获取构造函数constructor名称和一些字符串处理方法
    博客搬家啦
    NOI 2015 荷马史诗【BZOJ 4198】k叉Huffman树
    BZOJ 1044 木棍分割 解题报告(二分+DP)
    BZOJ 1051 最受欢迎的牛 解题报告
    BZOJ 2467 解题报告
    BZOJ 4619 Swap Space 解题报告
  • 原文地址:https://www.cnblogs.com/CasonChan/p/4754651.html
Copyright © 2011-2022 走看看