「QoS」- 桶令牌(Token Bucket)

  CREATED BY JENKINSBOT

解决方案

令牌桶:使用令牌桶对流量进行评估,是否满足报文转发的条件;

其原理是:以特定的速度,来向桶中投放令牌。在数据转发前中,需要从桶中获取令牌。仅当获取到令牌,数据才能得以转发。通过令牌的投放速度,来控制流量的转发速度。

概念术语

CIR,承诺信息速率,unit: kbps:表示向令牌桶中投放令牌的速率

CBS:承诺突发尺寸,unit: byte:用来定义在部分流量超过 CIR 之前的最大突发流量,即为令牌桶的容量

EBS:峰值突发尺寸,unit: byte:用来定义每次突发所允许的最大的流量尺寸

PIR:峰值信息速率,unit: kbps:表示端口允许的突发流量的最大速率,表示向令牌桶中投放令牌的速率,大于 CIR

PBS:峰值突发尺寸,unit: byte:用来定义每次突发所允许的最大的流量尺寸,即为令牌桶的容量,大于 CBS

单桶单速双色标记法

特新特征

单桶单速双色标记法,不允许突发流量,只有承诺流量

原理简述

为方便用 Tc 和 Te 表示桶中的令牌数量,Tc 和 Te 初始化等于 CBS 和 EBS;

当报文到来后,直接与桶中的令牌数相比较:
1)如果有足够的令牌,就转发(通常用一个令牌关联一个比特的转发权限),
2)如果没有足够的令牌,则丢弃或缓存;

在色盲模式下,对于单速单桶:
1)如果报文长度不超过 C 桶中的令牌数 Tc,则报文被标记为绿色,且 Tc=Tc-B,
2)如果报文长度超过 C 桶中的令牌数 Tc,报文被标记为红色,Tc 值不变;

双桶单速三色标记法

特性特征

双桶单速三色标记法,允许短暂的突发流量

原理简述

当报文到来后,直接与桶中的令牌数相比较:
1)如果有足够的令牌,就转发(通常用一个令牌关联一个比特的转发权限)
2)如果没有足够的令牌则丢弃或缓存;

为方便,用 Tc 和 Te 表示桶中的令牌数量,Tc 和 Te 初始化等于 CBS 和 EBS;

在色盲模式下,对于双桶单速:
1)如果报文长度不超过 C 桶中的令牌数 Tc,则报文被标记为绿色,且 Tc=Tc-B,
2)如果报文长度超过 C 桶中的令牌数 Tc 但不超过 E 桶中的令牌数 Te,则报文被标记为黄色,且 Te=Te-B,
3)如果报文长度超过 E 桶中的令牌数 Te,报文被标记为红色,但 Tc 和 Te 不变;

双桶双速三色标记法

特性特征

双桶双速三色标记法,允许长期的突发流量

原理简述

为方便,用 Tc 和 Tp 表示桶中的令牌数量,Tc 和 Tp 初始化等于 CBS 和 PBS;

针对双速率三色标记算法,其关注的是速率的突发:
1)首先评估的是数据流的速率是否符合规定的突发要求,其规则是先比较 P 桶,再比较 C 桶;

在色盲模式下,在对到达报文(假设数据包大小为 B)进行评估时,遵循以下规则:
如果报文长度超过 P 桶中的令牌数 Tp,则报文被标记为红色,且 Tc 和 Tp 保持不变;
如果报文长度不超过 P 桶中的令牌数 Tp 但超过 C 桶中的令牌数 Tc,则报文被标记为黄色,且 Tp=Tp-B;
如果报文长度不超过 C 桶中的令牌数 Tc,报文被标记为绿色,且 Tp=Tp-B,Tc=Tc-B;