流量监管TP(Traffic Policying)、流量整形TS(Traffic Shaping)和接口限速(Line Rate)通过监督进入网络的流量速率来限制流量对网络资源的使用;
令牌桶(Token Bucket)是常用的流量度量工具,可以对流量的速率(rate)和突发(burst)进行限制;
令牌桶进行流量度量的结果是给报文打上红、黄、绿不同颜色的标记,再根据报文颜色做正常转发、重标记后转发或丢弃处理;
一、令牌桶
令牌桶是一个存放一定数量令牌的容器;
系统按设定速度向桶中注入令牌,当注入的令牌超出桶的容量时,多出的令牌将从桶中溢出丢掉或溢出到另外一个桶中;
使用令牌桶对流量进行评估时,每个令牌对应一个字节数据,桶中的令牌会随数据包的发送而减少,桶中的令牌足够能转发称为流量遵守,否则称为流量超标;
根据令牌注入方式及桶数量可以分为三种令牌桶模型:
(1)单速单桶双色模型;
(2)单速双桶三色模型;
(3)双速双桶三色模型;
令牌桶模型中可能有单桶或双桶模型,单桶模型中使用的令牌桶称为CBS桶,双桶模型中使用的令牌桶成为CBS和EBS桶;
CBS(Committed Bucket Size):承诺突发尺寸,C桶瞬间能够通过的承诺突发流量,也是C桶的容量;cbs提供正常突发,cbs越大波动越大,cbs越小波动趋于平缓;
EBS(Excess Bucket Size):超额突发尺寸,E桶瞬间能够通过的超出突发流量;ebs提供过量突发,ebs越大峰值突发越大,ebs越小峰值突发越小;
Tc和Te:分别表示C桶和E桶的当前令牌数量,单位为个;
CIR(Committed Information Rate):承诺信息速率,向C桶中注入令牌的速率,也是C桶允许转发数据的平均速率,单位bit/s;
Color颜色:模型对分类数据的颜色定义,将能从桶中取走足量令牌的报文标记为绿色或黄色,而将未能在桶中获得足量令牌的报文标记为红色;
1、单速单桶 承诺速率
基于单桶模型对流量进行评测,根据评估的结果为报文打上绿色或红色;
桶中令牌以承诺的恒定速率CIR注入,桶大小固定,当注入令牌超出桶的容量后,多余的令牌就会被丢弃,对于到达的报文用B表示报文大小:
若B小于等于Tc,令牌足够,报文被标记为绿色,且Tc减少B;
若B大于Tc,令牌不够,报文被标记为红色,且Tc不减少B;
举例:
若当前C桶中有2000个令牌,有2份待转发数据报文,大小分别为1500B和800B,假设此期间没有令牌注入:
当第一份报文到达时,令牌足够,标记为绿色同时转发报文,剩余500个令牌;
当第二份报文到达时,令牌不够,标记为红色同时丢弃报文,令牌不变化;
单速单桶模型仅以承诺速率CIR注入令牌到C桶,所以C桶中令牌是承诺的令牌,消耗C桶令牌的数据报文,转发速率不会超出CIR;
在限速、整形中使用的是单速单桶模型;
最大占用带宽为200kb/s,突发流量为5000Byte,缺省CBS是CIR的25倍;
2、单速双桶 可以过量突发
单速双桶模型对流量进行评估,根据评估结果为报文打上绿色、黄色和红色标记;
系统按照CIR速率向令牌桶投放令牌,向C桶注入令牌,溢出的令牌放到E桶,E桶溢出的令牌会被丢弃:
对于到达的报文,用B表示报文的大小:
(1)若B小于等于Tc,C桶令牌足够,报文被标记为绿色同时转发报文,Tc减少B;
(2)若B大于Tc且B小于等于Te,C桶令牌不够,E桶令牌够,报文被标记为黄色同时转发报文,Te减少B;
(3)若B大于Te,C桶令牌不够,E桶令牌也不够,报文被标记为红色,Tc和Te令牌不变;
举例:
若C桶当前令牌为2000,E桶令牌为1000,待转发数据报文有3份,大小分别为1500B、800B、700B,假设3份报文在转发过程中没有令牌注入;
当第一份报文到达时,C桶令牌足够,标记为绿色同时转发报文,C桶令牌剩余500个,E桶不变;
当第二份报文到达时,C桶令牌不够,E桶令牌足够,标记为黄色同时转发报文,C桶令牌不变,E桶令牌剩余200个;
当第三份报文到达时,C桶令牌不够,E桶令牌也不够,标记为红色同时丢弃报文,C桶令牌不变,E桶令牌不变;
双桶模型用于流量监管;
双桶模型由于EBS令牌桶的存在,流量可以在承诺速率CIR基础上过量突发,在某时刻速率可以达到很高;
由于前一时刻数据量低,令牌没有使用,因此在下一时刻有过量突发所致的流量过高,但流量的平均速率仍低于CIR;
3、双速双桶 限制过量突发时的速率
双速双桶对流量进行测评,根据评估结果为报文打上绿色、黄色和红色颜色标记;
PBS(Peak Burst Size):峰值突发尺寸,P桶瞬间能通过的峰值突发流量,也是P桶的容量;
PIR(Peak Information Rate):峰值信息速率,P桶允许传输报文的峰值速率,也是向P桶注入令牌的速率,PIR大于CIR;
系统按照PIR速率向P桶中投放令牌,按照CIR速率向C桶中投放令牌,双桶之间独立;
对于到达的报文,用B表示报文大小:
若B小于等于Tp且B小于等于Tc,P桶令牌足够、C桶令牌也足够,报文标记为绿色同时转发报文,P桶令牌减少、C桶令牌也减少;
若B小于等于Tp且B大于Tc,P桶令牌足够、C桶令牌不够,报文标记为黄色同时转发报文,P桶令牌减少、C桶令牌不变;
若B大于Tp,P桶令牌不够,报文标记为红色同时丢弃报文,P桶令牌不变、C桶令牌不变;
举例:
P桶令牌为2000,C桶令牌为1000,待转发报文有3份,大小分别为1500B、800B、400B;
第一份报文到达时,P桶令牌足够、C桶令牌不够,报文标记为黄色同时转发报文,P桶令牌剩余500个,C桶令牌不变;
第二份报文到达时,P桶令牌不够,报文标记为红色同时丢弃报文,P桶令牌不变,C桶令牌不变;
第三份报文到达时,P桶令牌足够、C桶令牌足够,报文标记为绿色同时转发报文,P桶令牌剩余100个,C桶令牌剩余600个;
双速双桶模型能解决单速双桶模型中因E桶的原因而导致流量过量突发所引起的速率波动幅度不确定性,所以对最高速率做了限制;
P3代表绿色流量,报文使用承诺速率注入的令牌;
P2代表黄色流量,报文使用不是承诺的令牌;
P1代表红色流量,报文没有对应的令牌不能被转发;
二、流量监管
三、流量整形
四、流量限速