ROS软路由论坛 ROSABC.com 网络方案网络工程交流

 找回密码
 会员注册

QQ登录

只需一步,快速开始

查看: 23764|回复: 31

[Queue流量控制] [HTB 令牌桶介绍] HTB 等级令牌桶允许创建一个等级队列结构

[复制链接]
发表于 2013-4-21 02:46:36 | 显示全部楼层 |阅读模式

马上注册成为ROSABC会员,随时发帖回复。

您需要 登录 才可以下载或查看,没有账号?会员注册

x
HTB 令牌桶介绍

HTB 等级令牌桶允许创建一个等级队列结构,并确定队列之间的关系,就像“父亲与儿子”或“兄弟之间”。 一旦队列添加了一个 Child(子队列)将会变为 inner(内部队列),所有向下没有 Children(子队列)称为 Leaf 队列(叶队列),内部队列仅负责传输的分配,所有 Leaf 队列对符合的数据进行处理。 在 RouterOS 必须指定 Parent(父级)选项并指定 一个队列为子队列。

双重限制

每个队列在 HTB 有 2 个速率限制:

-- CIR (约定信息速率 Committed Information Rate) – (在 RouterOS 中的参数为 limit-at) 最坏的情况下, 无论如何都会将得到给定的的 CIR 传输量(假设我们能发送那么多的数据量)

-- MIR (最大信息速率 Maximal Information Rate) – (在 RouterOS 中的参数为 max-limit) 最好的情况下, 如果父级有剩余带宽,将获得该速率值

换句话说,首先 Limit-at(CIR)都会被满足,仅当子队列尝试借调必要的数据传输从他们的父级,以达到最大的带宽max-limit (MIR).

注: 无论如何 CIR 都将会被分配到符合队列的带宽 (即使父级的 max-limit 满载) ,那就是为什么,确保最佳的使用双 重限制功能,我们建议坚持这些规则:

-- CIR 约定速率之和,即所有子级速率必须小于或等于可获得父级传输量。

CIR(parent)* ≥ CIR(child1) +...+ CIR(childN)

*如果父级与主父级可以设置为 CIR(parent)=MIR(parent)

-- 任何子级的最大速率必须小于或者等于父级的最大速率

MIR (parent) ≥ MIR(child1) & MIR (parent) ≥ MIR(child2) & ... & MIR (parent) ≥ MIR(childN)

在 winbox 中队列的颜色变化:

-- 0% - 50% 使用情况 – 绿色

-- 51% - 75% 使用情况 – 黄色

-- 76% - 100% 使用情况 – 红色

优先级

这里已经知道,所有队列的 limit-at (CIR)都有可能将会被耗尽,优先级则主要负责分配父级队列剩余的带宽给 Child(子队列)达到 max-limit。队列高的优先级最优先达到 max-limit,优先级低的则不会。8 是最低优先级,1 则最高。 注意,优先级工作环境:

-- 对于 leaf 叶队列–优先级对于 inner(内部队列)没有任何意义,即 inner 内部队列与 leaf(叶队列)的优先级 不可比较

-- 如果 max-limit 被设定(非 0)

下面这部分我们将分析 HTB 的操作,将演示一个 HTB 结构并将涵盖可能出现的所有情况和功能,我们的 HTB 结构由下面 5 个队列构成:

-- Queue01 内部队列有 2 个子级 - Queue02 和 Queue03

-- Queue02 内部队列有 2 个子级 - Queue04 和 Queue05

-- Queue03 叶队列

-- Queue04 叶队列

-- Queue05 叶队列

Queue03,Queue04 和 Queue05 的需要 10Mbps,我们接口处理能力在 10Mbps 的流量

事例 1: 普通事例
游客,如果您要查看本帖隐藏内容请回复



-- Queue01 limit-at=0Mbps max-limit=10Mbps

-- Queue02 limit-at=4Mbps max-limit=10Mbps

-- Queue03 limit-at=6Mbps max-limit=10Mbps priority=1

-- Queue04 limit-at=2Mbps max-limit=10Mbps priority=3

-- Queue05 limit-at=2Mbps max-limit=10Mbps priority=5

事例 1 结果:

-- Queue03 得到 6Mbps

-- Queue04 得到 2Mbps

-- Queue05 得到 2Mbps

-- 结论:HTB 建立在一种方式上,通过满足所有的 limit-at,主队列已没有带宽进行分发。

事例 2:max-limit 事例
11.4.2.jpg


-- Queue01 limit-at=0Mbps max-limit=10Mbps

-- Queue02 limit-at=4Mbps max-limit=10Mbps

-- Queue03 limit-at=2Mbps max-limit=10Mbps priority=3

-- Queue04 limit-at=2Mbps max-limit=10Mbps priority=1

-- Queue05 limit-at=2Mbps max-limit=10Mbps priority=5

事例 2 结果

-- Queue03 得到 2Mbps

-- Queue04 得到 6Mbps

-- Queue05 得到 2Mbps

-- 结论: 在满足所有的 limit-at 后,HTB 将把剩余的带宽分配给优先级高的队列。

事例 3: inner 队列 limit-at
11.4.3.jpg


-- Queue01 limit-at=0Mbps max-limit=10Mbps

-- Queue02 limit-at=8Mbps max-limit=10Mbps

-- Queue03 limit-at=2Mbps max-limit=10Mbps priority=1

-- Queue04 limit-at=2Mbps max-limit=10Mbps priority=3

-- Queue05 limit-at=2Mbps max-limit=10Mbps priority=5

事例 3 结果

-- Queue03 得到 2Mbps

-- Queue04 得到 6Mbps

-- Queue05 得到 2Mbps

-- 结论:在满足所有的 limit-at 后,HTB 将分配剩余带宽给优先级高的,但在这个事例中,内部对列 Queue02 指定了 Limit-at, 这样他会保留 8Mbps 的流量给 Queue04 和 Queue05,Queue04 有 更高的优先级,那就是为什么会得到更高的带宽。

事例 4:leaf 队列的 Limit-at
游客,如果您要查看本帖隐藏内容请回复



-- Queue01 limit-at=0Mbps max-limit=10Mbps

-- Queue02 limit-at=4Mbps max-limit=10Mbps

-- Queue03 limit-at=6Mbps max-limit=10Mbps priority=1

-- Queue04 limit-at=2Mbps max-limit=10Mbps priority=3

-- Queue05 limit-at=12Mbps max-limit=15Mbps priority=5

事例 4 结果

-- Queue03 得到 3Mbps

-- Queue04 得到 1Mbps

-- Queue05 得到 6Mbps

-- 结论:为了满足所有的 Limit-at,HTB 被强迫分配 20Mbps,Queue03 为 6Mbps ,Queue04 为 2Mbps,Queue05 为 12Mbps,但我们的接口只能处理 10Mbps,因此接口队列通常 FIFO 带宽发分配将保持比例 6:2:12, 即 3:1:6。

RouterOS 中的 HTB

在 RouterOS 中有 4 个 HTB 树:

-- global-in

-- global-total

-- global-out

-- interface queue

当添加一个简单队列时,将产生 3 个 HTB 类(in global-in, global-total and global-out),但在接口队列中不添加任何 类。

当数据包通过路由器时,它将穿过所有 4 个 HTB 树——global-in, global-total, global-out 和 interface queue。如 果是指向路由器的它将穿过 global-in 及 global-total HTB 树,如果数据包是从路由器发出的,它们将穿过 global-total, global-out 及 interface 队列。


发表于 2013-5-28 14:26:19 | 显示全部楼层
thtghgfhgfhnfgh
发表于 2013-6-14 08:10:00 | 显示全部楼层
路过。。中。。
发表于 2013-8-9 17:43:46 | 显示全部楼层
see v see see  see see see
发表于 2013-10-31 21:15:18 | 显示全部楼层
谢谢参考,大力支持
发表于 2013-11-10 13:36:50 | 显示全部楼层
fffffffffffeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee
发表于 2013-11-15 20:46:57 | 显示全部楼层
谢分享,学一下。
发表于 2013-12-11 09:03:42 | 显示全部楼层
顶贴是一种美德
发表于 2013-12-13 15:58:02 | 显示全部楼层
回帖不要钱回帖不要钱回帖不要钱
发表于 2013-12-19 22:21:23 | 显示全部楼层
值得支持,应该一读。
您需要登录后才可以回帖 登录 | 会员注册

本版积分规则

不良信息举报Q:2000617

软路由

不良信息举报Q:2000617|Archiver|ROS软路由论坛 ROSABC.com 网络方案网络工程交流

GMT+8, 2025-6-15 18:20 , Processed in 0.246703 second(s), 23 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表