分类:
2012-07-25 16:59:48
1.先定义一个class map的匹配列表,可以定义规定的特定的,policy map就可 以对class map里面的东西进行更改操作.
()#class-map [match-all | match-any] {map-name}
2.定义匹配语句:
(config)#{confition}
condition的配置选项有
match access-group {ACL} 匹配IP ACL (主要对应数据包)
match protocol {protocol} 匹配协议
match input-interface {interface} 匹配进站接口
match qos-group {group ID} 匹配组ID
match destination-address {mac mac-address} 匹配目标MAC地址
match soure-address {mac mac-address} 匹配源MAC地址
match ip {dscp dscp} 匹配IP DSCP值
match ip {precedence precedence} 匹配IP优先级
match class-map {map-name} 匹配class map
match vlan {vlan-id} 匹配vlan
3.设置policy map(即定义分类的策略):
(config)#policy-map {policy-name}
4.调用class map:
(config)#class {class-map}
5.设置标记:
(config)#{action}
常用标记动作:
set ip {precedence precedence} 设置IP优先级
set ip {dscp dscp} 设置IP DSCP值
set qos-group {group ID} 设置组ID
set cos {cos} 设置COS值
priority {kbps | percent percent} [Bc] 定义优先级流量的保留的带宽以及突发流量
bandwidth {kbps | percent percent} 定义保留的带宽
police {CIR Bc Be } conform-action {action} exceed-action {action}
[violate-action {action}] 使用令牌桶算法进行限速
random-detect 启用WRED
queue-limit {packets} 定义队列中数据包的最大个数
service-policy {policy-map} 使用别的策略进行嵌套,做为match语句匹配的标准
shape {average | peak } {CIR [Bc] [Be]} 定义CIR,Bc以用Be进行整形
6.加载到接口上:
()#service-policy [input | output] plicy-name
7.查看命令:
show policy-map [policy-name]
二、示例
1.限制源自192.168.10.0/24的流量的带宽为1000kbps.
(config)#class-map match-all kkblue
(config-cmap)#match access-group 1
(config-cmap)#exit
(config)#policy-map blue
(config-pmap)#class kkblue 匹配class map kkblue
(config-pmap)#bandwidth 1000 限制带宽1000K
(config-pmap)#queue-limit 30 限制队列数据包上限30个包
(config-pmap)#class class-default 其他的放置到默认队列
(config-pmap)#exit
(config)#interface serial1
(config-if)#ip address 172.16.10.1 255.255.255.252
(config-if)#service-policy output blue 就用到出站接口上
(config-if)#exit
(config)#access-list 1 permit 192.168.10.0 0.0.0.255 访问列表
2.对匹配192.168.0.0/24的出站流量进行限速
(config)#interface serial1
(config-if)#ip address 10.0.0.1 255.255.255.252
(config-if)#rate-limit output access-group 1 20000000 24000 32000
conform-action transmit exceed-action drop
(config-if)#exit
(config)#access-list 1 permit 192.168.0.0 0.0.0.255
3.对于源MAC地址是00e0.34b0.7777的流量进行限速
(config)#interface Serial1
(config-if)#rate-limit input access-group rate-limit 100 80000000
64000 80000 conform-action transmit exceed-action drop
(config-if)#ip address 200.200.6.1 255.255.255.0
(config-if)#exit
(config)#access-list rate-limit 100 00e034b07777
限制来自192.168.0.0/24的进站数据包的平均速率为8000bps,突发流量(bc)
为2000字节,额外突发流量(be)为4000字节,对突发流量和额外突发流量分别采取
转发和设置(Qos)组IP为25的策略,对违反突发流量和客外突发流量的数据流量采取丢弃的策略:
配置命令如下:
(config)#class-map match-all test1 创建一个可以匹配任何条件的列表
(config-cmap)#match access-group 1 匹配IP的ACL访问控制列表
(config-cmap)#exit
(config)#policy-map kiss 设置policy-map
(config-pmap)#class test1 调用class-map
(config-pmap-c)#police 8000 2000 4000 conform-action
transmit exceed-action set-qos-transmit 25
violate-action drop
设置Qos组ID并发送该数据包
(config-pmap-c)#exit
(config-pmap)#exit
(config)#interface Serial1
(config-if)#ip address 172.16.0.1 255.255.255.252
(config-if)#service-policy input kiss 加载到serial1的接口上
(config-if)#exit
(config)#access-list 1 permit 192.168.0.0 0.0.0.255