srTCM
单速率三色标记(single rate Three Color Marker,srTCM,或称为单速双桶算法)算法,主要关注报文尺寸的突发。(RFC2697)
速率是:CIR(Committed Information Rate),单位是kbit/s
C桶:CBS(Committed Burst Size),单位为byte
E桶:EBS(Excess Burst Size),单位为byte
初始状态时两桶是满的。先往C桶中添加令牌,等C桶满了,再往E桶中添加令牌(E桶的令牌用做以后临时超过CIR的突发流量),当两桶都被填满时,新产生的令牌将会被丢弃
系统按照 CIR 速率向桶中投放令牌:
若
Tc < CBS,Tc增加;若
Tc = CBS,Te < EBS,Te增加;若
Tc = CBS,Te = EBS,则都不增加。
对于到达的报文,用 B 表示报文的大小:
若
B ≤ Tc,报文被标记为绿色,且Tc减少B;(缺省值为pass)若
Tc < B ≤ Te,报文被标记为黄色,且Te减少B;(缺省值为pass)若
Te < B,报文被标记为红色,且Tc和Te都不减少。(缺省值为discard)

样例:
假设设备接口的CIR设置为1Mbit/s,CBS为2000bytes,EBS为2000bytes,初始状态时。C桶和E桶满。单速双桶模式下,令牌桶对报文的处理过程如下:

trTCM
双速率三色标记(two rate Three Color Marker,trTCM,或称为双速双桶算法)算法,主要关注报文速率的突发。(RFC2698)
PIR(Peak information rate):单位是kbit/s,PIR大于CIR;
PBS(Peak Burst Size):单位为byte,PBS的取值建议大于报文长度的10倍
CIR
CBS:CBS的取值建议大于报文长度的10倍
初始状态时两桶是满的。往C桶和P桶分别以CIR和PIR的速率填充令牌。因这两个令牌桶是相互独立的,当其中一个桶被填满时,这个桶新产生的令牌将会被丢弃,另一个桶继续填令牌。
系统按照 PIR 速率向 P桶 中投放令牌,按照 CIR 速率向 C桶 中投放令牌:
当
Tp < PBS时,P桶中令牌数增加,否则不增加。当
Tc < CBS时,C桶中令牌数增加,否则不增加。
对于到达的报文,用 B 表示报文的大小:
若
Tp < B,报文被标记为红色;若
Tc < B ≤ Tp,报文被标记为黄色,且Tp减少B;若
B ≤ Tc,报文被标记为绿色,且Tp和Tc都减少B。

样例:
假设设备端口的CIR设置为1Mbit/s,PIR设置为2Mbit/s,CBS为2000 bytes,PBS为3000 bytes,初始状态时C桶和P桶满。双速双桶模式下,令牌桶对报文的处理过程如下:

其他
只配置cir,不配置cbs时,cbs默认等于cir的值 * 187,最大为18700000。pir和pbs也是一样。最大为18700000
没有ebs的配置
只配置cir,不配置pir时,pir默认值为0;待确认的是ebs是否=pbs
单速单桶:如果不允许突发流量,上面单速双桶算法中的EBS则设置为0,此时E桶的令牌数始终为0,相当于只使用了一个令牌桶。单速单桶模式不允许流量突发,当用户的流量速率小于配置的CIR时,报文被标记为绿色;当用户的流量大于CIR时直接被标记为红色。对于到达的报文,用B表示报文的大小:
若B≤Tc,报文被标记为绿色,且Tc减少B;
若B>Tc,报文被标记为红色,Tc不减少。
色敏模式下,如果到达的报文本身已经被标记为红、黄或者绿等颜色,令牌桶对流量的评估会参考报文已标记颜色,即报文本身已携带颜色会影响令牌桶的评估结果