一、qos介绍
在Cisco IOS 系统上作QOS,一般要有以下五步:
1、启用全局qos
2、设置ACL匹配的流量
3、设置一个class-map,来匹配第二步设置的ACL
4、设置一个policy-map匹配class-map,然后再在这里面定义一系列策略
5、将policy-map应用到相应的接口上

解注:
1、交换机默认情况下qos是disable,所以在应用qos时,必须先启用它,可以在全局模式下启用,命令为:switch(config)#mls qos,查看交换机qos状态可用show mls qos

2、定义一条ACL,这条ACL可以是标准的,可以是扩展的,可以是命名的,1-99是标准ACL命名列表,100以上是扩展的ACL命名列表,个人喜欢用自定义ACL,除了精确外,也最明了。
3、class map是一个分类表,它要包含某条ACL。具体格式为switch (config)#class-map [match-all|match-any] {map-name}
交换机默认的策略为match-all,匹配所有,所以命令可以简化为
switch (config)#class-map map145-to-134
match-any,表示至少符合一个条件
4、protocal map,定义一个策略表,这个策略要包含第三步定义的class表,并且限制的带宽要在此明确指定
5、进入接口视图,应用策略,接口一般指端口,不能在vlan接口去应用QOS。这里要注意数据流有入,出之分,在应用时要注意,数据是从哪到哪里,否则控制无效,如果实在是不清楚数据流走向,可以在IN方向和OUT方向作双向控制。

注意一点:
应用QOS时,要弄清一个概念,那就是QOS机制不能与flowcontrol(流控制)功能共存在同一个端口上,交换机端口是10/100/1000,所以有些场景,在交换机的端口上会简单应用flowcontrol命令来进行限速。

二、测试环境:
核心交换机:Cisco 3750G
接入层交换机:Cisco 2960-48TC
内网网段:192.168.145.0
192.168.134.0
192.168.133.0
拷贝软件:FastCopy
控制策略:从145段的某台电脑往134段的某台电脑拷视频

三、QOS控制前的情况

    我们先来看下未在3750G交换机上作QOS前拷贝一个《特种部队2011DVD中字.rmvb》文件。所用的时间为164秒,100M的交换环境里,平均传输为3.23MB每秒,速度不快,效率很低了,100M的内网快速交换,应该要达到7-8MB每秒,才算理想,不想这么多了,集团的网络不归我管,也不想去分析原因了。

四、开始登录交换机进行设置
4.1
登录交换机
telnet 192.168.145.x

4.2
启用全局QOS
mxxxxx3750(config)#mls qos

mxxxxx3750(config)#ip access-list extended acl145-to-134
mxxxxx3750(config-ext-nacl)#permit ip host 192.168.145.12 host 192.168.134.12

mxxxxx3750(config)#class-map map145-to-134
mxxxxx3750(config-cmap)#match access-group name acl145-to-134

mxxxxx3750(config)#policy-map map145-to-134
mxxxxx3750(config-pmap)#class map145-to-134
mxxxxx3750(config-pmap-c)#trust dscp
mxxxxx3750(config-pmap-c)#police 10000000 1000000 exceed-action drop

interface GigabitEthernet1/0/25
mxxxx3750(config-if)#service-policy input map145-to-134
25口是光纤口,是2960等二层交换机连3750的trunk口,所以要在此端口作控制

4.3
    应用qos后,情况见下图,从图上的参数看,传输速度为1.13MB每秒,基本上等于QOS作的10MB每秒的控制。

4.4
    那,应用QOS后,是不是对192.168.145.12这台电脑访问其它网段产生影响呢,我们再从145.12向其它网段的服务器拷同样的视频,看看效果。从下图分析,平均速度为2.68MB每秒,以数据说话,没有影响。

4.5
    那,作了QOS后,从相反方向拷数据,有没有影响呢,我们反过来拷一个视频,从134.12向145.12,拷视频,从下图看,平均速度为3.27MB每秒,没有影响。大家想想,这是什么原因造成的,是因为数据有入,出两个方向,我刚才只作了入方向的QOS,没有作出方向的QOS,所以134段往145段的数据不受本次QOS影响,如果要达到双向控制,可以再定义一个ACL,在25接口的出方向作控制,具体操作留给大家作实验。

 提醒:qos不能作在vlan接口里
mxxxxx3750(config)#int vlan 145
mxxxxx3750(config-if)#service-policy input map145-to-134
%QoS: policy-map with police action at parent level not supported on Vlan145 interface.
%QoS: policy-map with police action at parent level not supported on Vlan145 interface.
%QoS: policy-map with police action at parent level not supported on Vlan145 interface.
%QoS: policy-map with police action at parent level not supported on Vlan145 interface.