RouterOS 之带宽管理及 QOS --HTB (1 1 )

时间:2024-04-17 20:19:19

这一课,我们继续来学习带宽管理,上一课,我们学习
了简单队列 SIMPLE QUEUE,本节课,我们一起来学习 HTB。
HTB(Hierarchical Token Bucket 分层令牌桶)比简单
队列复杂很多。HTB 可以用来处理不同流量的优先级及带宽
分配。在做 HTB 的时有三个步骤:
1、流量分类及匹配、使用 Mangle 进行标记;
2、创建规则(策略),将不同的分类放入不同的 QUEUE;
3、分清上行和下行,附加到不同的“接口”或“队列”。
在做 HTB 的时候最重要的是要弄清楚各 QUEUE 之间的关
系。父子关系(Parent-Child)
Parent Queue:父队列,顶层 Parent;
Inner Queue:内部队列,有 Parent 和 Child;
Leaf Queue:最下层,没有 Child;
Inner Queue 只负责流量分配,Leaf Queue 可分配优先级。
双重限制:
CIR:Committed Information Rate--Limit-at 保证速度
MIR:Maximal Information Rate--max-limit 最大速度
关系:
2
CIR(parent)≥ CIR(child1) +...+ CIR(childN)
MIR (parent) ≥ MIR(child1) & MIR (parent) ≥
MIR(child2) & ... & MIR (parent) ≥ MIR(childN)
也即是父队列的 Limit-at 要大于等于所有的子队列的
Limit-at 之和,父队列的 Max-limit 要大于等于任何一个的
子队列的 Max-limit。
队列颜色:
0% - 50% --绿色
51% - 75% --黄色
76% - 100% --红色
优先级:Priority 1-8,数字越大,优先级越低,只在 Leaf
queue 有效。
是不是不好理解?下面,我们通过实际的例子来说明。
例 1:
3
4
例 2:
5
6
例 3:
7
例 4:
8
例 5:
9
C,D,E 各 10M
例 6:
C:10M+10M D:10M+10M E:10M
例 7:
10
C:10M D:10M+10M,E:10M
注意:
1、要想做 QOS 成功,首先,要正确理解官方的 packet
flow V6;
2、正确区分 parent 和 child 之间的关系,以及优先级;
3、在做 HTB 策略,重要的是 mangle 标记,先需要标记
连接,然后再对连接标记包;
4、作为 parent(最顶层)只需配置 max-limit,配置
limit-at 无效,也不需用优先级,因为配置了优先级也是没
有效果;
5、优先满足 limit-at,满足 limit-at 剩下的再看优先
级。另外,Parent的max-limit不小于各child的max-limit,
如果小于,这样的配置是错误的。换言之,要求 Child 有那
么多需要,Parent 必须要至少要有那么多。Parent 的
max-limit 不能小于其 child 中最大的 max-limit。
比如,三个 child 的 max-limit 分别为 50M,70M,100M,而父
母 max-limit 为 80M,是不行的,必须满足所有的 limit-at,
同时满足。