QoS


QoS业务的处理流程

3种服务模型

1. 尽力而为服务模型

传统的先进先出转发即Best-Effort(尽力而为)服务模型:

  • Best-Effort是一个单一的服务模型,也是最简单的服务模型。应用程序可以在任何时候,发出任意数量的报文,而且不需要事先获得批准,也不需要通知网络。
  • 应用Best-Effort服务模型的网络尽最大的可能性来发送报文,但对时延、可靠性等性能不提供任何保证,但它适用于绝大多数网络应用,如FTP、E-Mail等。
  • Best-Effort服务是现在Internet的缺省服务模型,它是通过先入先出(FIFO)队列来实现的。
  • 在尽力而为的服务模型下,可通过增大网络带宽和升级网络设备来提高端到端通信质量
  • 优缺点:
    • 优点:实现机制简单,不需要配置
    • 缺点:优先级高的流量得不到优先转发;如果需要升级网络则成本大

2. 综合服务模型

  • 用到RSVP协议(资源预留协议),该服务模型在发送报文前,需要向网络申请特定的服务。
  • 这个请求是通过信令(signal)来完成的,应用程序首先通知网络它自己的流量参数和所需的特定服务质量的请求,包括带宽、时延等。
  • 应用程序一般在收到网络的确认信息后,即认为网络已经为这个应用程序的报文发送预留了资源,然后立即发送报文。
  • 利用RSVP在源和目的之间预留一条数据通道,可保障高优先级的流量有足够的带宽
  • 特点:
    • 优点:可保障高优先级流量带宽
    • 缺点:实现较复杂;当无流量发送时,仍然独占带宽,使用率较低;该方案要求端到端所有节点设备都支持并运行RSVP协议

3. 区分服务模型(应用最广)

  • 业务流分类和标记由边缘路由器来完成,DiffServ是一种基于报文流的QoS模型
  • 边界路由器可以通过多种条件(比如报文的源地址和目的地址、ToS 域中的优先级、协议类型等)灵活地对报文进行分类,然后对不同类型的报文设置不同的标记字段,而其他路由器只需要简单地识别报文中的这些标记,然后对其进行相应的资源分配和流量控制
  • 特点:
    • 优点:不同业务可以得到不同的服务质量;可对流量加于区分对待,高优先级流量可得到高的服务,且线路利用率高
    • 缺点:对人员要求较高;数据包过了路由器以后,先对数据包进行分类,分类后可以进行相应的标记,标记完可以进行流量管理,然后是流量的拥塞管理,还有个拥塞避免(平行关系)

分类与标记

把报文分为不同的类别,然后打上一个标记,后期转发则根据不同的标记来判定报文的优先级,不同优先级则有不同的转发行为

QoS报文分类方式

1. 复杂流分类(MQC流分类)

复杂流分类即采用复杂的规则,如由五元组(源地址、源端口号、协议号码、目的地址、目的端口号)对报文进行精细的分类,通过将某些具有相同特征的报文划分为一类,并为这一类报文提供相同的QoS服务。
复杂流分类可以通过模块化QoS命令行MQC中的流分类实现。
MQC包含三个要素,分别是流分类、流行为和流策略,三要素通过下面的方式配合使用完成对流量的处理:

  1. 配置流分类,定义报文匹配规则
  2. 配置流行为,确定报文处理动作,根据不同的流行为,可以实现不同的QoS功能
  3. 配置流策略,将配置好的流分类和流行为绑定到一起后在指定视图下应用流策略

2. 简单流分类(QoS优先级分类)

简单流分类就是指采用简单的规则,根据报文中的某个优先级字段,对报文进行粗略的分类

  1. 外部优先级(报文优先级、QoS优先级)
    使用报文中某些特定字段,需要注意的是,设备只可以根据设备内部优先级处理收到的报文,为不同的业务提供不同的QoS服务,所以上述外部优先级在进入设备后会映射为设备内部的优先级。特定字段(即分类依据)如下:
    1. 802.1Q VLAN tag中PRI(priority)字段,3比特,取值0-7
    2. mpls格式中的EXP(experimental)字段,3比特,取值0-7
    3. IPv4头部中TOS(type of server)字段,8比特
      1. 前3比特,叫IPP(IP precedence,IP优先级),取值0-7
      2. 后期发现不够用,所有用了前6位,叫DSCP(区分服务代码点),取值0-63
  2. 内部优先级(服务等级CoS、PHB行为(每一跳行为)、本地优先级)
    支持8种取值,即8个队列优先级,优先级从高到低依次为CS7、CS6、EF、AF4、AF3、AF2、AF1、BE,与出端口的8个队列从高到低依次对应,因此内部优先级决定了报文在设备内部所属的队列
    当针对某一个队列配置QoS业务时,即对所有通过该队列转发的报文都设置了相同的QoS服务
  3. 丢弃优先级(颜色)
    报文在设备内部的丢弃优先级,用于决定当一个队列发生拥塞时报文的丢弃顺序,丢弃优先级有3种取值,从低到高依次为Green、Yellow、Red缺省情况下,丢弃优先级越高,则队列发生拥塞时,对应优先级的报文会被优先丢弃。
    报文是否会被优先丢弃实际取决于参数的配置,例如配置WRED丢弃模板中Green最大只能使用50%缓存,Red最大可以使用100%缓存,则队列发生拥塞时,标记为Green的报文将比标记为Red的报文优先丢弃

复杂流分类与简单流分类的关系
通过复杂流分类也可以对特定的QoS优先级报文进行识别,只是需要以MQC流分类的方式去实现
需要配置MQC流分类去实现的报文分类都属于复杂流分类
不需要配置MQC流分类,直接根据报文中的外部优先级映射的内部优先级和丢弃优先级去进行报文分类的就是简单流分类

PHB

每一跳行为,即设备对报文的处理,只定义了一些外部可见的转发行为,并没有指定特定的实现方式。
PHB体现的是等级的高低,而不是服务质量QoS的好坏,即CS的等级最高不代表服务质量最好、BE的等级最低不代表服务质量最差。PHB只是逐跳行为,而服务质量是端到端的。
PHB1
PHB2
简而言之,PHB根据可见的服务特征(例如时延、抖动或丢包率)将各种行为概括成4类,每类PHB都对应一组DSCP:

1. BE(000 000)(尽力而为,Best-effort)

BE默认全0就是没有打标
没有质量保证,一般对应于传统的IP分组投递服务,只关注可达性,其他方面不做要求。IP网络中,缺省的PHB就是BE,任何路由器都必须支持BE PHB

2. AF(xxx xx 0)(确保转发,Assured Forwarding)

代表带宽有保证、时延可控的服务,适应于视频、语音、企业VPN等业务
适应业务细分如下:

  1. AF1x:重要数据
  2. AF2x:视频点播流量
  3. AF3x:直播流量
  4. AF4x:语音的信令流量
  5. EF:语音流量

AF(4类 AF11 21 31 41 ),AF11又分了AF 11 12 13,后面数据值表示丢弃的优先级,值越大丢弃的可能性就越高即前面的值越大越优,后面的值越小越优例如AF11比AF13中重要、AF21比AF11重要

3. EF(101 11 0)(快速转发,Expedited Forwarding)

低时延、低抖动、低丢包率,应用于要求比较高的语音、视频、会议电视等
EF代表"确保转发",dscp值为46,即比AF的数值最大值AF43再大一点,即AF53,即DSCP(58+32)=DSCP46
举例DSCP数转换十进制:DSCP 32 = 3*8+2*2 = 28DSCP 56 = 5*8+3*2 = 46

4. CS

因为现网有些存量设备不支持差分服务,只解析DSCP的前3比特,为了兼容这部分设备,标准预留了所有格式为xxx000的DSCP值,这类值就对应CS PHB
因此CS的值包含前面BE、AF和EF的所有值,但是只看前3位。

DSCP(差分服务代码点)和IPP(ip优先级)的区别

都为ip报文中的TOS的一部分:
IPP是TOS前3bit
DSCP是TOS前6bit:前3bit代表优先级,后3bit代表D延迟、T吞吐、R可靠性

配置方法

  1. 用MQC(Modular QoS ,模块化QoS命令行接口,配置 QOS 的工具)配置
    1. 流分类,可用ACL匹配源目IP、端口、优先级等
    2. 流行为,例如remark 8021p dscp mpls-exp
    3. 流策略
    4. 接口下应用
  2. class-map命令来配置
    1. 定义分类: class-map 名字
    2. 匹配流:match protocol 协议 或者 match access-group 访问控制列表
    3. 执行动作:set ip dscp或者ip precedence等

COS和TOS的区别

COS指的是二层和2.5层中的优先级字段,分别为vlan-tag中的PRI(802.1p)和mpls报头中EXP
TOS指的是三层ip报头中的优先级字段,前3bit为IPP,前6bit为DSCP

优先级映射方式

在处理QoS业务时,在端口入方向将报文的外部优先级映射到合适的内部优先级和丢弃优先级,在端口出方向内部优先级和丢弃优先级映射到外部优先级
外部与内部优先级的映射关系:

  1. 报文重标记配置
    基于MQC方式,在流行为中使用重标记行为,将报文的优先级或者标志位进行设置,重新定义报文的外部优先级
  2. 优先级映射配置
    DiffServ模型中,设备定义了DiffServ域来管理和记录外部优先级与内部优先级、丢弃优先级之间的映射关系,不同DiffServ域允许有不同的优先级映射关系。优先级映射通过配置DiffServ域来设定不同的优先级映射关系,从而实现不同的QoS服务

拥塞避免

指通过监视网络资源的使用情况,在拥塞发生或有加剧的趋势时主动丢弃报文,通过调整网络的流量来解除网络过载的一种流控机制。拥塞避免常用的两种丢弃报文方式为:尾部丢包策略和WRED。

1. 传统的尾部丢包策略

传统的丢包策略采用尾部丢弃的方法,当队列的长度达到最大值后,所有新入队列的报文都将被丢弃
传统的尾部丢包策略
这种丢弃策略会引发TCP全局同步现象,导致TCP连接始终无法建立。所谓TCP全局同步现象如图,三种颜色表示三条TCP连接,当同时丢弃多个TCP连接的报文时,将造成多个TCP连接同时进入拥塞避免和慢启动状态而导致流量降低,之后又会在某个时间同时出现流量高峰,如此反复,使网络流量忽大忽小。
出现的问题

  1. TCP同步(没有充分利用链路带宽)
  2. TCP饿死(UDP没有TCP那种滑动窗口)
  3. 无差别的丢弃
    出现的问题

TCP全局同步

  1. TCP拥塞控制
    1. 慢启动:建立连接时将拥塞窗口设置为一个 MSS(536B)大小,即开始传输时速率很慢,但按指数方式增长,达到慢启动阈值(默认56636B)时停下,进入拥塞避免状态
    2. 拥塞避免:拥塞窗口按加法规律增长,每次发送的所有报文都被确认,拥塞窗口就增大一个MSS,此阶段持续增长,直到拥塞被检测到
    3. 拥塞检测:如果检测到拥塞,窗口必须减小。检测到拥塞的方法,发送方发生重传事件,即RTO计时器超时或收到3个重复的ACK报文,慢启动的阈值下降一半
      1. 发生超时,出现拥塞可能性较大阀值减半拥塞窗口设置为一个MSS大小,开始一个慢启动阶段
      2. 如果收到3个ACK报文,出现拥塞可能性较小,阀值减半,拥塞窗口设置为阀值再开始一个拥塞避免阶段
  2. TCP重传机制
    1. 超时重传:TCP为每一个发送的报文段设置一个超时重传计时器(RTO),计时器到时则重传
    2. 快重传:接受方发现一部分报文丢失,立即连续发送3个ACK(重复)报文,发送方立即重发丢失的报文段

MSS和MTU的区别

MTU = MSS + TCP Header + IP Header
mtu是网络传输最大报文包。最大传输单元,由硬件规定,如以太网的MTU为1500字节【1518B=1500B+14B二层头+4B尾部校验】
mss是网络传输数据最大值。最大分节大小,为TCP数据包每次传输的最大数据分段大小,一般由发送端向对端TCP通知对端在每个分节中能发送的最大TCP数据UDP不会分段,就由IP来分。TCP会分段,当然就不用IP来分了。即TCP分段的原因是MSS,IP分片的原因是MTU
MSS值太小或太大都是不合适。太小,例如MSS值只有1byte,那么为了传输这1byte数据,至少要消耗20字节IP头部+20字节TCP头部=40byte,这还不包括其二层头部所需要的开销,显然这种数据传输效率是很低的。MSS过大,导致数据包可以封装很大,那么在IP传输中分片的可能性就会增大,接受方在处理分片包所消耗的资源和处理时间都会增大,如果分片在传输中还发生了重传,那么其网络开销也会增大。
合理的MSS是至关重要的,MSS的合理值应为保证数据包不分片的最大值,对于以太网MSS可以达到1460B,而Internet上标准的MTU(最小的MTU,链路层网络为x2.5时)为576,那么如果不设置,则MSS的默认值就为536B。很多时候,MSS的值最好取512的倍数,因为TCP报文段的分段与重组是在传输层完成的IP层的重组是发生在目的地的IP层,TCP的重组是发生在目的地的传输层中

2. WRED

LAN侧接口板不支持WRED
在CBQ中,EF队列和LLQ队列不能使用丢弃策略只能尾丢弃。为避免TCP全局同步现象,出现了RED(随机早期检测)技术。RED通过随机地丢弃数据报文,让多个TCP连接不同时降低发送速度,从而避免了TCP的全局同步现象,使TCP速率及网络流量都趋于稳定
RED技术原理
基于RED技术,设备实现了WRED(权重随机早期检测),流队列支持基于DSCP或IP优先级进行WRED丢弃
WRED技术原理
每一种优先级都可以独立设置报文丢包的上下门限及丢包率

  1. 当队列的长度小于阈值下限时,不丢弃报文
  2. 当队列的长度大于阈值上限时,丢弃所有新收到的报文
  3. 当队列的长度在阈值下限和阈值上限之间时,开始随机丢弃新收到的报文。方法是为每个新收到的报文赋予一个随机数,并用该随机数与当前队列的丢弃概率比较,如果大于丢弃概率则报文被丢弃。队列越长,报文被丢弃的概率越高

优点:可尽量缓解TCP全局同步的到来
缺点:不加区分丢包和TCP流量饿死无法缓解

配置方法

  1. 基于队列的WRED:
    1. 先定义丢弃模板
    2. 用queue-profile绑定丢弃模板
    3. 在接口下调用
  2. 基于MQC实现
    1. 先定义丢弃模板
    2. 用MQC模型,流行为与丢弃模板绑定

拥塞管理

拥塞管理即收到数据包在转发出去的时候进行的动作,总的可以分为两大类,基于队列的拥塞管理和基于类的拥塞管理,基于队列的即按照队列的方式转发基于类的即按照分类的方式转发

1. 基于队列的拥塞管理

收到报文,会根据标记字段把报文映射进不同的队列,分别是0-7号队列,之后再把报文转发出去的这个过程叫拥塞管理

调度方法分类

1. FIFO(先进先出,尽力而为服务模型使用)

优点:默认,配置简单
缺点:发生拥塞情况下,高优先级得不到优先转发

2. PQ(优先级队列)

高优先级先转发,低优先级后转发
优点:高优先级可得到优先转发
缺点:低优先级流量饿死

3. RR(轮询)

每个周期内,每个队列都调度一个数据包
优点:不会出现低优先级流量饿死
缺点:高优先级得不到高带宽

4. WRR(加权轮询队列)

加权循环调度在RR调度的基础上演变而来,根据每个队列的权重来轮流调度各队列中的报文流
优点:避免了PQ调度的“饿死”现象。
缺点:基于报文个数来调度,容易出现包长尺寸不同的报文出现不平等调度从用户侧来看,加大报文长度就到表者加大带宽;低时延业务得不到及时调度

5. FQ(公平队列)

目的是尽可能公平地分享网络资源,使所有流的延迟和抖动达到最优。
不同的队列获得公平的调度机会,从总体上均衡各个流的延迟。
短报文和长报文获得公平的调度:如果不同队列间同时存在多个长报文和短报文等待发送,让短报文优先获得调度,从而在总体上减少各个流的报文间的抖动
缺点:长报文容易出现饿死现象

6. DRR(差额轮询调度)

优点:解决了WRR只关心报文,同等调度机会下大尺寸报文获得的实际带宽要大于小尺寸报文获得的带宽的问题,在调度过程中考虑包长的因素以达到调度的速率公平性
缺点:没有解决WRR调度中低延时需求业务得不到及时调度的问题

7. WFQ(加权公平队列)

前面5种模式总是在"低优先级队列和长报文饿死" 与 "高优先级和低延时得不到相应的待遇"之间徘徊,其本质原因是高低优先级数据采用同一个队列
WFQ调度在报文入队列之前,先对流量进行分类,有两种分类方式:

  1. 按流的会话信息分类
    根据报文的五元组、ToS域中的优先级等自动进行流分类,并且尽可能多地提供队列,以将每个流均匀地放入不同队列中
    在出队列的时候,WFQ按流的优先级来分配每个流应占有带宽,优先级越小带宽越少,优先级越大带宽越大,这种方式只有CBQ的default-class支持
  2. 按优先级分类
    通过优先级映射把流量标记为本地优先级,每个本地优先级对应一个队列号
    每个接口预分配8个队列,报文根据队列号进入队列
    默认情况,队列的WFQ权重相同,流量平均分配接口带宽
    用户可以通过配置修改权重,高优先权和低优先权按权重比例分配带宽

优点:可完全按照权重分配带宽,自动分类,配置简单
缺点:低时延业务仍得不到及时调度,无法实现用户自定义分类规则

6. 组合队列

PQ+WFQ/WRR/RR
可保证低延时业务得到优先转发,其余业务再用其余调度机制

配置方法

LAN口支持PQ、DRR、WRR、PQ+DRR、PQ+WRR优先级队列和轮询的组合
WAN口支持PQ、WFQ、PQ+WFQ优先级队列和加权公平队列的组合

  1. 用queue-profile创建队列模板
  2. 各个队列指定用何种调度机制
  3. 在接口调用

2. 基于类的拥塞管理

CBQ,基于类的队列

队列分类

1. EF队列

满足低时延业务。
EF队列拥有绝对优先级采用PQ调度机制,仅当EF队列中的报文调度完毕后,才会调度其他队列中的报文,所以配置其带宽为最大带宽
还有一个特殊的EF队列LLQ队列,即低延时队列,LLQ队列较EF队列而言,时延更低,为时延敏感的应用(如VoIP业务)提供了良好的服务质量保证

2. AF队列

满足需要带宽保证的关键数据业务。
使用WRR的调度机制,每个AF队列分别对应一类报文,用户可以设定每类报文占用的带宽。当系统调度报文出队的时候,会按用户为各类报文设定的带宽将报文进行出队发送,可实现各个类的队列的公平调度,所以需要配置其带宽为最小带宽
对于AF队列,当队列的长度达到队列的最大长度时,缺省采用尾丢弃的策略,但用户还可以选择用WRED丢弃策略

3. BE队列

满足不需要严格QoS保证的尽力发送业务。
当报文不匹配用户设定的所有类别时,报文会被送入系统定义的缺省BE(尽力传送)类,BE队列使用接口剩余带宽和WFQ调度方式进行发送
对于BE队列,当队列的长度达到队列的最大长度时,缺省采用尾丢弃的策略,但用户还可以选择用WRED丢弃策略

配置方法

使用MQC来配置

流量管理

流量监管和流量整形就是一种通过对流量规格的监督,来限制流量及其资源使用的流控策略。
流量整形与流量监管的主要区别

  1. 流量监管直接丢弃不符合速率要求的报文;
    流量整形将不符合速率要求的报文先行缓存,当令牌桶有足够的令牌时,再均匀的向外发送这些被缓存的报文
    区别1
  2. 流量监管支持对流量重新打标记,不需要额外的缓冲,但是会丢弃较多报文而导致重传;
    流量整形很少丢弃报文,但是会引入时延和抖动,需要缓存资源来缓存报文
  3. 运营商一侧使用流量监管TP,用户或者公司一侧使用流量整形TS

1. 流量监管TP

特点

流量监管TP
  • 入和出方向的流量进行监控,对超出规定速率的流量进行惩罚(降低优先级转发/默认丢弃)
  • 没有缓存机制,不会引入额外延时
  • 属于削峰不填谷
  • 会增加丢包率,而且在链路空闲时的链路利用率低

原理

原理
流量监管由三部分组成

  1. Meter:通过令牌桶机制对网络流量进行度量,向Marker输出度量结果
  2. Marker:根据Meter的度量结果对报文进行染色,报文会被染成green(转发)、yellow(降低优先级后转发)、red(丢弃)三种颜色
  3. Action:根据Marker对报文的染色结果,对报文进行处理

应用

CAR:双速双桶或单速双桶实现
可以在路由器和交换机上配置,
1. 在路由器上可以在接口下和MQC中inbound和outbound使用
2. 在交换机上只能在MQC下的inbound和outbound配置

2. 流量整形TS

特点

流量整形TS
  • 出方向流量进行监控,输出一条比较平整的流量,即以比较均匀的速度向外发送
  • 对超出速率的流量进行缓存,等到链路空闲时发送
  • 会引入缓存机制,属于削峰填谷
  • 由于引入了缓存机制所以会产生额外的延时,但是提升了链路利用率
    流量整形为什么不能在入方向配置:因为入方向没有队列(没有缓存机制)

原理

报文处理流程
原理
当报文到来的时候,首先对报文进行分类,使报文进入不同的队列:

  1. 若报文进入的队列没有配置队列整形功能,则直接发送该队列的报文
  2. 若报文进入的队列配置队列整形功能,则按用户设定的队列整形速率向令牌桶中放置令牌
    1. 如果令牌桶中有足够的令牌可以用来发送报文,则报文直接被发送,在报文被发送的同时,令牌做相应的减少
    2. 如果令牌桶中没有足够的令牌,则将报文放入缓存队列,如果报文放入缓存队列时,缓存队列已满,则丢弃报文
  3. 缓存队列中有报文时,系统按一定的周期从缓存队列中取出报文进行发送,直到令牌桶中没有令牌或缓存队列中没有报文为止

流量整形的方法

1. LR(接口限速)

  • 针对所有流量
  • 只能基于接口做整形,也就是出接口的所有流量
  • 如果用在路由器接口,只是用于限速,配置接口速率百分比,必须结合队列使用才能生效
  • 如果在交换机接口使用,接口出方向做整形,在接口入方向做监管

2. GTS(通用流量整形)

  • 针对IP流量 ,只能用于出方向
  • 实现方式有以下三种:
    1. 基于接口:针对接口下的所有三层流量进行整形
    2. 基于队列:使用队列模板对针对接口下的某一个队列中的三层流量进行整形
    3. 基于类:使用MQC的配置模式,针对不同的业务流量进行整形
  • 只能用在路由器接口 ,交换机做不了GTS,交换机的接口为二层接口,而二层接口无法配置GTS,因为GTS是针对三层流量
  • 缓存队列会周期和令牌桶进行比较,当令牌桶中的令牌存在空闲时,缓存队列中的数据发送出去

3. FRTS(帧中继流量整形)

  • 针对FR的接口使用
  • 跟GTS的算法是一样的,只是用于帧中继接口
  • 可以针对接口或者针对pvc(如果两者同时启用,cir小的配置生效)

3. 令牌桶技术

令牌桶可以看作是一个存放一定数量令牌的容器,系统按设定的速度向桶中放置令牌,当桶中令牌满时,多出的令牌溢出,桶中令牌不再增加
华为设备默认支持单速双桶(单速率三色标记)和双速双桶(双速率三色标记),单速单桶(只有红绿两色)使用双速双桶实现
参数解释

  • C桶:
    • CIR:承诺信息速率,表示向C桶中投放令牌的速率,即C桶允许传输或转发报文的平均速率
    • CBS:承诺突发尺寸,表示C桶的容量,即C桶瞬间能够通过的承诺突发流量
    • Tc:C桶中令牌数量
  • P桶:
    • PIR:峰值信息速率,表示向P桶中投放令牌的速率,即P桶允许传输或转发报文的峰值速率,PIR大于CIR即P桶>C桶
    • PBS:峰值突发尺寸,表示P桶的容量,即P桶瞬间能够通过的峰值突发流量
    • Tp:P桶中令牌数量
  • E桶:
    • EBS:超额突发尺寸,表示E桶的容量,即E桶瞬间能够通过的超出突发流量
    • Te:E桶中令牌数量

应用

应用

分类

单速双桶模式中,如果EBS等于 0,其效果和单速单桶是一样的
双速双桶模式中,如果PIR等于CIR,其效果和单速单桶是一样的

1. 单速单桶

  • 关键参数:CIR、CBS(只有C桶)
  • 令牌投放:以CIR速率向C桶投放令牌,C桶满时令牌溢出
  • 流量突发:不允许流量突发,报文的处理以C桶中是否有足够令牌为依据
  • 颜色标记:绿色、红色
1. 系统按照CIR速率向桶中投放令牌:
    1. 当Tc<CBS,Tc增加,否则不增加
2. 对于到达的报文,用B表示报文的大小:
    1. 若B≤Tc,报文被标记为绿色,且Tc减少B
    2. 若B>Tc,报文被标记为红色,且Tc不减少

2. 单速双桶

  • 关键参数:CIR、CBS、EBS(C桶和E桶)
  • 令牌投放:C桶满时令牌投放到E桶,C桶和E桶都不满时,只向C桶投放令牌
  • 流量突发:允许报文尺寸的突发。先使用C桶中的令牌,C桶中令牌数量不够时,使用E桶中的令牌
  • 颜色标记:绿色、黄色或红色
1. 系统按照CIR速率向桶中投放令牌:
    1. 当Tc<CBS,Tc增加,否则不增加
    2. 当Te<EBS,Te增加,否则不增加
2. 对于到达的报文,用B表示报文的大小:
    1. 若B≤Tc,报文被标记为绿色,且Tc减少B
    2. 若Tc<B≤Te,报文被标记为黄色,且Te减少B
    3. 若Tc<B并且Te<B,报文被标记为红色,且Tc和Te都不减少

3. 双速双桶

  • 关键参数:CIR、CBS、PIR 、PBS(C桶和P桶)
  • 令牌投放:以CIR速率向C桶投放令牌,以PIR速率向P桶中投放令牌,两个桶相对独立,桶中令牌满时令牌溢出
  • 流量突发:允许报文速率的突发。C桶和P桶中的令牌足够时,两个桶中的令牌都使用。C桶中令牌不够时,只使用P桶中的令牌
  • 颜色标记:绿色、黄色或红色
1. 系统按照PIR速率向P桶中投放令牌,按照CIR速率向C桶中投放令牌:
    1. 当Tp<PBS时,P桶中令牌数增加,否则不增加
    2. 当Tc<CBS时,C桶中令牌数增加,否则不增加
2. 对于到达的报文,用B表示报文的大小:
    1. 若B≤Tp并且B≤Tc,报文被标记为绿色,且Tp和Tc都减少B
    2. 若Tc<B≤Tp,报文被标记为黄色,且Tp减少B
    3. 若B>Tp,报文被标记为红色;