通过令牌桶机制,流量控制可以使数据以一定的速度或比较均匀的速度进入网络或者向外发送。流量控制包括入口流量监管和出口流量整形。
一、入口流量监管
使用命令config police-lengthtype 可以设置入口带宽限制是基于报文的l2 或l3长度。默认情况下,入口带宽限制基于报文的l2 长度。
使用命令police cir [8-125000] cbs [8-50000] pir [8-125000] pbs [8-50000]可以实现入口带宽限制。其中:
1 cir 为承诺信息速率(committed information rate),粒度为8kbps。例如设置值为8,代表64kbps;设置值为125,代表1mbps;设置值为125000,代表1000mbps;100m 端口的参数范围为64k-100m,1000m 端口的参数范围为64k-1000m。
2 cbs 为承诺突发流量(committed burst size),单位为kbyte。在突发流量超过设置的带宽时起到缓冲的作用。
3 pir 为峰值信息速率(peak information rate),粒度为8kbps。例如设置值为8,代表64kbps;设置值为125,代表1mbps;设置值为125000,代表1000mbps;100m 端口的参数范围为64k-100m,1000m 端口的参数范围为64k-1000m。
4 pbs 为峰值突发流量(peak burst size),单位为kbyte。
设置参数
1 设置参数时,应使pir]=cir,pbs]=cbs。
2 一般的限速应用中,pir 和cir 可以都配置为最终的限速值;pbs 和cbs 可以都设置为8。
3 在网络未发生拥塞时,pir 和pbs 决定了出口的流量,出口速率可以达到pir。
4 cir 和pir 决定绿包和黄包(代表不同优先级)的数量。然后,在出口通过丢弃策略(drop profile)的不同设置,可以实现对不同优先级的数据流的区别处理。
5 调整cbs 和pbs 可以实现对突发流量的不同处理。
入口流量监管可以实现两种带宽限制
1 基于流的带宽限制
限制接口的某一个数据流的流量与突发值。
2 基于接口的带宽限制
限制接口全部数据的流量与突发值。
配置基于接口的带宽限制时,可以对流分类不设置任何匹配规则,该流分类即包括通过该接口的全部数据,这样就可以实现基于接口的带宽限制。
配置案例
对以太网接口1/1 上vlan id 为6 的数据包进行限速,使其带宽为3mbps,突发流量缓冲区为268kbyte。
配置步骤

此时对于匹配流分类a(即vlan id 为6)的数据流,其带宽限制为3mbps,突发流量缓冲区为268kbyte。当速率超过3mbps 时,超出的数据量有268kbytes 可以通过,其余数据包被丢弃。
在该案例中,如果步骤1 中不设置流分类的匹配规则,即删除命令:harbour(config-cmap)#match vlan-id 6
即可以对进入入以太网接口1/1 的全部数据包进行限速,使其带宽为3mbps,突发流量缓冲区为268kbyte。
二、出口流量整形
出口流量整形可以实现两种带宽限制:
1 限制出口每个队列的带宽
2 限制出口带宽
使用命令shape rate [1-1537] burstsize [1-4095] {queue [0-7]}*1 可以配置出口带宽。其中:
1 rate 为出口的限速值,粒度为651kbps。
2 burstsize 为突发流量,粒度为4kbytes,最大值为16mbytes。
3 queue [0-7]用于设定出口队列号。不设定队列号时,该命令限制该出口的全局带宽;设定队列号则可以限制出口每个队列的带宽。
配置步骤

在接口的配置模式下,使用no shape rate 或no shape rate queue {[0-7]}*1 命令可以取消上述出口流量控制。
配置案例
对出口eth 1/1 的数据流量进行控制,使其带宽为3mbps,缓冲区为268k。
配置步骤