概述
基于类的整形注意应用于对包速率的限制,只能应用于out方向;
基于类的整形,数据包延迟而不是丢弃它们。
基于类的整形没有标记功能。
基于类的整形是使用MQC和GTS(帧中继)版本。
如何在整形中添加令牌
每隔Tc,往桶里注入Bc个token,是一次性注入,不是匀速注入。然后shaper gate open,什么时候关闭呢?在桶里没有token的时候就关闭了,然后在下一个Tc开始的时候在打开并一次性注入Bc个token
由上图可知,分为三种情况:
1.数据包过来发现开关是打开的,说明里面有令牌,如果令牌数足够,直接转发数据;
2.如果发现令牌数是不足的,会先拿走存在的令牌,然后进入排队
3.发现开关是关闭的,直接进入等待队列,等待添加令牌
流量整形方法
基于类的整形有两种方法:
average rate 平均速率
the peak rate 峰值速率
平均速率是指当有额外的令牌可用时,以配置的平均速率将数据包转发到Bc。这是更常用的方法。
峰值速率是指在每个Tc处,以Bc + Be流量的峰值速率转发数据包。但是,在网络拥塞期间,发送到CIR之上的流量可能会被丢弃。峰值速率整形推荐时间:网络有额外的可用带宽,应用程序允许偶尔的包丢失。
配置类的整形
案例分析
class-map match-all shape
match protocol citrix
!
!
policy-map shapeavg
class shape
shape average 16000
policy-map shapepeak
class shape
shape peak 16000
Cisco IOS software calculated values:
Bc=Be=8000 bits, Tc=500ms
Peak Rate = AvgRate * (1+Be/Bc)
= 16000 * (1+8000/8000)
= 32000 bps
policy-map shape-cbwfq
!class cust1
shape average 384000
bandwidth 256
!
interface Serial 0/0
service-policy output shape-cbwfq
当带宽与速率同时设置的情况下,就是说最小保证256K,允许突发流量到384K。
案例:
policy-map child-cbwfq
class subclass-x
bandwidth percent 50
class subclass-y
bandwidth percent 20
class subclass-z
bandwidth percent 10
policy-map shape-all
class class-default
shape average 384000
service-policy child-cbwfq
R1#show policy-map child-cbwfq
Policy Map child-cbwfq
Class subclass-x
bandwidth 50 (%)
Class subclass-y
bandwidth 20 (%)
Class subclass-z
bandwidth 10 (%)
实际问题应用