天天看点

Cisco交换机QOS(限速)详解

一、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

<a href="http://blog.51cto.com/attachment/201201/142310559.jpg" target="_blank"></a>

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每秒,才算理想,不想这么多了,集团的网络不归我管,也不想去分析原因了。

<a href="http://blog.51cto.com/attachment/201201/142329830.jpg" target="_blank"></a>

四、开始登录交换机进行设置

4.1

登录交换机

telnet 192.168.145.x

<a href="http://blog.51cto.com/attachment/201201/142425119.jpg" target="_blank"></a>

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每秒的控制。

<a href="http://blog.51cto.com/attachment/201201/142437798.jpg" target="_blank"></a>

4.4

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

<a href="http://blog.51cto.com/attachment/201201/142452258.jpg" target="_blank"></a>

4.5

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

<a href="http://blog.51cto.com/attachment/201201/142504753.jpg" target="_blank"></a>

 提醒: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.

     本文转自itwork 51CTO博客,原文链接:http://blog.51cto.com/369369/768235,如需转载请自行联系原作者

继续阅读