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}