管制算法有不同的变体,包括以下内容:
- 单速两色
- 单率三色
- 双速率三色
本文详细分析了上述每种算法。如果您不熟悉QoS策略的概念,请阅读“ QoS管制和整形”一文。
单速双色policing
最初实施的policing管制使用单速双色的模型
- 单速率和单令牌桶算法。
- 被标识为以下两种状态(或颜色)之一的流量:符合或超过承诺的信息速率(CIR)。对两种流量状态的每一个都执行标记或丢弃动作。
这种类型的管制非常简单,如下图所示
单速三色policing
一种基于RFC 2697的单速率双色策略算法的改进,该算法详细介绍了单速率三色模型:
- 单速率和两个令牌桶算法
- 被标识为以下三种状态(或颜色)之一的流量:符合,超过或违反CIR。对三种流量状态的每一种都执行标记或丢弃动作。
第一个令牌桶的操作类似于单速率双色系统。但是,如果每个时间段之后存储桶中还剩下任何令牌,则将它们放置在第二个存储桶中,以备以后用于可能超过CIR的临时突发的信用。
放置在第二个存储桶中的令牌称为过量突发(Be),当Bc未满时,将此令牌数量放置在存储桶中。Be是可以超过Bc突发大小的最大位数。
使用这两种令牌桶机制,可以按以下三种状态(或三种颜色)识别流量:
- Confirm:CIR内的流量-通常发送(可选地重新标记)
- Exceed:超出CIR的超出突发允许范围内的流量-可以丢弃或重新标记并发送
- Violate:超出突发流量的流量-通常会丢弃(可以选择重新标记和传输)
单速率三色标记/策略器使用以下定义参数来计量流量:
- CIR:承诺信息率,管制速率
- CBS:承诺的突发大小,第一个令牌桶的最大大小。
- EBS:超出突发,第二个令牌桶的最大大小。
- Tc:CBS的令牌计数,即CBS存储桶中剩余的令牌的瞬时数量(在管制或调整流量间隔的时间范围内,请勿将术语Tc与早期使用Tc混淆)
- Te:EBS的令牌计数,EBS存储桶中剩余的令牌的瞬时数量
- B:提供的数据包的字节大小。
下图说明了基于两个令牌桶算法的单速三色 标记/管制的逻辑流程。
临时突发的单速率三色策略容限导致更少的TCP重传,因此对于带宽利用效率更高。它是非常适合根据RFC 2597 AF类进行标记的工具,每个类定义了三种“颜色”(或放置首选项)(AFx1,AFx2和AFx3)。
通常,只有在每种颜色所采取的操作不同的情况下,才使用三色管制。如果两种或更多种颜色的操作相同,则更适合实施更简单的策略器(因此也更简单的QoS策略),从而使网络更易于维护。
双速三色管制
对管制而言,单速三色标记/管制是一项重大改进-只要总的平均传输速率等于或低于CIR,它就可以为临时流量突发提供条件。
但是,累积的过多突发信用的数量变化可能会导致一定程度的流量不可预测性。为了对此进行改进,在RFC 2698中定义了两种速率的三色标记/策略 。
该策略确定了峰值信息速率(PIR),这在单速率三色模型中是无法预测的。此外,两个速率的三色标记/策略允许持续的过量突发(不需要累积信用以适应临时突发),并允许流量采取不同的措施,以超过不同的突发值。
双速率三色标记/策略器使用以下定义参数来计量流量:
- PIR:峰值信息速率,允许的最大流量。
- PBS:峰值突发大小,第一个令牌桶的最大大小。
- CIR:承诺的信息率,受监管的率。
- CBS:承诺的突发大小,第二个令牌桶的最大大小。
- Tp:PBS的令牌数,即PBS桶中剩余的令牌的瞬时数量。
- Tc:CBS的令牌计数,即CBS存储桶中剩余的令牌的瞬时数量。
- B:提供的数据包的字节大小。
两率三色策略器还使用带有两个令牌桶的算法,但是逻辑略有不同。该管制没有将未使用的令牌从一个存储桶转移到另一个存储桶,而是具有两个单独的存储桶,每个存储桶每秒填充两个单独的令牌率。
第一个存储区填充有PIR令牌,第二个存储区填充有CIR令牌。在此模型中,Be与BC的工作原理相同,但PBS桶(不是CBS桶)除外。这意味着Be表示可以在亚秒间隔内发送的流量的峰值限制。
逻辑进一步变化之处在于,初始检查是查看流量是否在PIR内。只有这样才能将流量与CIR进行比较。换句话说,首先检查违反条件,然后检查超出条件,最后检查符合条件,这与先前模型的逻辑相反。上图说明了这种逻辑。