1
关键字: qos 令牌桶
QoS 的一个重要作用就是对端口流量进行监管,也就是限制端口流量。但 QoS 是如何做
到这点的呢?那就是 QoS 的令牌桶机制了。下面是在笔者刚刚出版的《Cisco/H3C 交换机高
级配置与管理技术手册》一书中,经过笔者充分理解后的全面诠释,大家看一下是否可以理
解。http://shop.e-works.net.cn/shop/category1/129838558111250000.html
1.QoS 令牌桶工作原理
QoS 中的流量监管(Traffic Policing)就是对流量进行控制,通过监督进入网络端口
的流量速率,对超出部分的流量进行“惩罚”(这个惩罚可以是丢弃、也可是延迟发送),
使进入端口的流量被限制在一个合理的范围之内。例如可以限制 HTTP 报文不能占用超过 50%
的网络带宽,否则 QoS 流量监管功能可以选择丢弃报文,或重新配置报文的优先级。
QoS 流量监管功能是采用令牌桶(Token-Bucket)机制进行的。这里的“令牌桶”是指
网络设备的内部存储池,而“令牌”则是指以给定速率填充令牌桶的虚拟信息包。可以这么
简单理解,“令牌桶”可以理解为一个水桶,而“令牌”则可以理解为通过一根水管流到水
桶中的水。
交换机在接收每个帧时都将添加一个令牌到令牌桶中,但这个令牌桶底部有一个孔,不
断地按你指定作为平均通信速率(单位为 b/s)的速度领出令牌(也就是从桶中删除令牌的
意思)。相当于一个水桶的上边连接一根进水的水管,而下边又连接一根连接到用水的地方
的出水管。在每次向令牌桶中添加新的令牌包时,交换机都会检查令牌桶中是否有足够容量
(也就是在要向桶水加水前,先要检查是桶内否已满了),如果没有足够的空间,包将被标
记为不符规定的包,这时在包上将发生指定监管器中规定的行为(丢弃或标记),就相当于
如果当前水桶满了,但上边水管的水还是来了,这时要么就是让这些水白白流到桶外,要么
把这些水用其它容器先装起来,等水桶中不再满水时再倒进去,供用户使用。整个令牌桶的
基本工作原理可以用图 6-10 来表示。
令牌桶填满的时间长短是由令牌桶深度(也就是容量,单位为 bit,类似于水桶的的深
度)、令牌漏出速率(类似桶下边接的水管的水速)和超过平均速率的突发通信流(类似于
上桶上边水管突发的急速水流)持续的时间三个方面共同决定的。 令牌桶的大小利用突发
时长上限乘以点对点传输时的帧数限制得出(也就类似突发水流持续的时间*突发水流的流