单速率三色标记(Single Rate Three Color Marker)

摘要

本文主要描述单速率三色标记(Single Rate Three Color Marker,srTCM),它可被用于Diffserv流量调节器(traffic conditioner)中。SrTCM测量信息流,并根据三种流量参数(提交信息速率,Committed Information Rate, CIR;提交组量大小Committed Burst Size,CBS;超量组量大小Excess Burst Size,EBS)对包进行标记,这三个参数我们分别称为绿,黄和红标记。如果包没有超过CBS就是绿的,如果超过CBS但未超过EBS就是黄的,如果超过EBS就是红的。

1. 介绍

SrTCM测量信息流,并根据三种流量参数(提交信息速率,Committed Information Rate, CIR;提交组量大小Committed Burst Size,CBS;超量组量大小Excess Burst Size,EBS)对包进行标记,这三个参数我们分别称为绿,黄和红标记。如果包没有超过CBS就是绿的,如果超过CBS但未超过EBS就是黄的,如果超过EBS就是红的。

三色标记

Meter工作在两种模式下:在色盲模式下,它假设包是无色的;而在非色盲模式下,它假设包是被标记过颜色的。至于包是如何被标记上颜色的,不是本文讨论的范围。Maker根据Meter的结果对IP包进行着色,颜色被标记在DS域中。在其它文章中还描述了双速率颜色标记法,在这种方法下,包根据双速率和双组大小进行标记。

2. 配置

srTCM的配置是通过设置模式和设置CIR,CBS和EBS三个参数完成的。CIR是用于表示每秒IP包的字节数的,字节数包括IP包头。CBS和EBS也以字节为单位,CBS和EBS必须被设置,它们之一必须大于0,如果CBS或EBS的值大于0,它的值最好大于等于流中可能IP包的MTU。

3. Meter工作

Meter的动作由模型和两个标记桶(C和E)表示,这两个标记共享通用速率CIR。C的最大值是CBS,而E的最大值是EBS。起始时(T=0)C和E的值为最大值。Tc(0) = CBS, Te(0) = EBS,以后每秒钟Tc和Te每秒钟以下面的规则更新CIR次:

  • if (Tc<CBS) Tc++; else
  • if (Te<EBS) Te++; else
  • Tc和Te保持不变。

如果srTCM在色盲模式下,大小为B字节的包在t时间到达,则:

  • If (Tc(t)-B >= 0) {
    包为绿色,if (Tc<B) Tc = 0; else Tc = Tc-B; }
    else
  • If (Te(t)-B >= 0) {
    包为黄色,if (Te<B) Te = 0; else Te = Te-B; }
    else
  • 包为红色。

而在非色盲情况下,则:

  • If(包被预标记为绿色,而且Tc(t)-B >= 0){
    包为绿色,if (Tc<B) Tc = 0; else Tc = Tc-B; }
    else
  • If(包被预标记为绿色或黄色,而且Te(t)-B >= 0){
    包为黄色,if (Te<B) Te = 0; else Te = Te-B; }
    else
  • 包为红色时不对Tc和Tc进行操作。

在实际实现中可能会对上面的过程有所更改。Mark工作主要是反映了meter的结果。此服务可以对不同颜色的包进行不同的处理,例如可以抛弃红色的包,因为它已经超过了规定的参数值。

Related.jpg (1475 bytes) IP协议, IPv6协议标准