Traffic Policing
流量策略使用令牌桶(token bucket)算法控制接口接收或发送的流量的最大速率,并且根据不同的优先级或COS对网络进行分区,流量策略通常使用在网络边缘路由器的接口上,比如CAR的限速特性。
令牌桶是传输速率的正式定义,它有3个组件
CIR BC TC CIR=BC/TC
配置流量策略
(config-pmap-c)# polic {CIR BC BE} conform-action {action} exceed-action {action} [violate-action {action}]
案例1:
限制来自192.168.0.0/24的进站数据包的平均速率为8000bps,突发流量BC为2000字节,额外突发流量BE为4000字节。对突发流量和额外突发流量分别采取转发和设置QOS组ID为25的策略;对违反突发流量和额外突发流量的数据采取丢弃的策略:
class-map match-all xxxx
match access-group 1
policy-map Qoooooooooooo
class xxxx
policy 8000 2000 4000 conform-action transmit exceed-action set-qos-transmit 25 violate-action drop
interface serial 1
ip addr 172.16.0.1 255.255.255.252
service-policy input Qoooooooooooo
access-list 1 permit 192.168.0.0 0.0.0.255
show policy-map [policy-name] //查看policy map
show policy-map interface [interface] //查看接口的policy map信息
Generic Traffic Shaping
流量×××对出站流量进行控制,使得数据流的速率和远端目标接口的速率相匹配,并遵循一些策略,这样可以避免由于速率不匹配带来的网络带宽瓶颈问题。
通用流量×××(GTS)使用令牌桶算法,以特定的速率强制约束出站流量。GTS对进站流量进行分类,再采用WFQ进行队列。
GTS不能使用在MLP上。
配置出站流量的GTS步骤如下:
启用GTS
(config-if)# traffic-shape rate {CIR [BC [BE]]}
基于ACL的GTS。可选
(config-if)# traffic-shape group {ACL} {CIR [BC[BE]]}
配置GTS在FR上的实现,步骤如下:
启用GTS
(config-if)# traffic-shape rate {CIR [BC[BE]]}
当接口收到向后显性拥塞通知(BECN)时,估算流量速率的最低值:
(config-if)# traffic-shape adaptive {CIR}
以向前显性拥塞通知(FECN)做为BECN的响应,可选
(config-if)# traffic-shape fecn-adapt
案例1:
限制接口流量传输速率的上限为128kbps,下限为64kbps,并以FECN做为BECN的响应。
interface serial1.1 point-to-point
ip addr 172.16.0.1 255.255.255.252
traffic-shape rate 128000 7936 1000
traffic-shape adaptive 64000
traffic-shape fecn-adapt
show traffic-shape [interface] //查看GTS的配置信息
show traffic-shape statistics [interface] //查看GTS的统计信息
CLASS-BASED SHAPING
基于分类的流量×××可以启用在支持GTS的任何接口上。基于分类流量×××可以打破GTS仅仅以ACL分类的限制,它还可以定义平均值和峰值的流量×××,并且可以在配置GTS的时候彩CBWFQ。
配置class-based shaping
配置基于分类的流量×××的步骤如下:
定义平均值和峰值的CIR BC 和 BE
(config-pmap-c)# shape {average|peak} {CIR [BC] [BE]}
定义缓冲区上限,默认值为1000,可选
(config-pmap-c)# shape max-buffers {number-of-buffers}
在策略上应用CBWFQ。可选
(config-if)# service-policy output {policy-name}
show traffic-shape [interface] //查看基于分类的流量×××的配置信息
show traffic-shape statistics [interface] //查看基于分类的流量×××的统计信息
show policy-map [policy-name] //查看policy map
show policy-map interface [interface] //查看接口的policy map信息
Frame Relay Traffic Shaping
FR中的FECN和BECN用于暗示网络上发生了拥塞,当收到带有BECN标记的数据包时,FR流量×××(FRTS)将动态的对流量进行×××。
FRTS只能使用在FR的PVC和SVC上。
配置FRTS
启用FRTS:
(config-if)# frame-relay traffic-shaping
全局定义map class。当定义了map class之后,所有VC将继承map class的FRTS参数
(config)# map-class frame-relay {name}
基于接口的定义map class.当基于接口的定义了map class之后,所有该接口的子接口的VC将继承该map class的FRTS参数,可选。
(config-if)# frame-relay class {name}
定义CIR,BC,BE,如果不指定方向,则定义为双向,可选
(config-map-class)# frame-relay {cir [in|out] cir|bc[in|out] bc|be [in|out] be}
定义CIR的最低值,可选
(config-map-class)# frame-relay mincir [in|out] {min-cir}
定义以BECN做为拥塞通知符,可选
(config-map-class)# frame-relay adaptive-shaping becn
定义CQ列表和PQ列表,可选
(config-map-class)# frame-relay {custom-queue-list|priority-group} {list}