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}