哎……,这一段时间一直都很忙呀,很久都没有来写博客了,今天正好没有事。就带家大一起来看看这个交换机里面的QoS吧。
一直以来想对这个交换机上面QoS来做一个限制,今天正好没有事情做,于是利用办公室里面的4006交换机来做一下这个测试。
在4006上面我没有做任何配置。下面按照惯例来看看拓扑图吧。
现在呢?在没有做QoS的时候我们来看看它的下载速度。
从这里我们可以看见,我从192.168.0.230上面下载一个VM虚拟机,速度是
10.5M
,因为我内网都是
100M
口嘛。
那下面我们就通过这台4006交换机来带着大家做一下这个配置嘛!
在这里我们还是先来讲讲我们做这个实验的思路吧,首先我们给要限速的一些PC使用ACL挑选出来。然后我们将ACL绑定在类上面,再将类绑定在策略上面,最好再将这个策略应用在接口上面。大至就是这样一个流程来做。但是这里要注意的是每个接口每个方向只支持一个策略;一个策略可以用于多个接口。
1、在交换机上启动QOS
Switch(config)#mls qos //
启用
QOS
功能
|
2、分别定义PC1(192.168.0.187)和PC2(192.168.0.189)访问控制列表
Switch(config)#access-list 1 permit host 192.168.0.187 //
控制pc1
上行流量
Switch(config)#access-list 110 permit ip any host 192.168.0.187 //
控制pc1
下行流量
Switch(config)#access-list 2 permit host 192.168.0.189 //
控制pc2
上行流量
Switch(config)#access-list 120 permit ip any host 192.168.0.189 //
控制pc2
下行流量
|
3、定义类,并和上面定义的访问控制列表绑定
Switch(config)#class-map user1-up //
定义
PC1
上行的类,并绑定访问列表
Switch(config-cmap)#match access-group 1
Switch(config-cmap)#exit
Switch(config)#class-map user2-up //
定义PC2
上行的类,并绑定访问列表
Switch(config-cmap)#match access-group 2
Switch(config-cmap)#exit
Switch(config)#class-map user1-down //
定义PC1
下行的类,并绑定访问列表
Switch(config-cmap)#match access-group 110
Switch(config-cmap)#exit
Switch(config)#class-map user2-down //
定义PC2
下行的类,并绑定访问列表
Switch(config-cmap)#match access-group 120
Switch(config-cmap)#exit
|
4、定义策略,把上面定义的类绑定到该策略
Switch(config)#policy-map user1-up //
定义
PC1
上行的速率为
Switch(config-pmap)#class user1-up
Switch(config-pmap-c)#trust dscp
Switch(config-pmap-c)#police 1024000 1024000 exceed-action drop
Switch(config-pmap-c)#exit
Switch(config-pmap)#policy-map user2-up //
定义
PC2
上行的速率为
Switch(config-pmap)#class user2-up
Switch(config-pmap-c)#police 2048000 1024000 exceed-action drop
Switch(config-pmap-c)#exit
Switch(config-pmap)#exit
Switch(config)#policy-map user-down //
总出口的下行速率
Switch(config-pmap)#class user1-down
Switch(config-pmap-c)#trust dscp
Switch(config-pmap-c)#police 1024000 1024000 exceed-action drop
Switch(config-pmap-c)#exit
Switch(config-pmap)#class user2-down
Switch(config-pmap-c)#trust dscp
Switch(config-pmap-c)#police 2048000 1024000 exceed-action drop
Switch(config-pmap-c)#exit
|
5、在接口上运用策略
Switch(config)#int fa3/15 //
从该接口出去的数据最大
Switch(config-if)#service-policy input user1-up
Switch(config-if)#exit
Switch(config)#int fa3/26 //
从该接口出去的数据最大
Switch(config-if)#service-policy input user2-up
Switch(config-if)#exit
Switch(config)#int fa3/2 //
应用我们刚才前面建立的下载策略
Switch(config-if)#service-policy input user-down
Switch(config-if)#exit
|
现在我们来测试一下看看呢?当我PC1接在15口上面时。
我们可以看到差不多速度就在125K左右,而当我们PC2接在26口上面呢?
我们可以看见,能够达到200多K,你想一下你们家里面的ADSL如果是
1M
的,下载速度是不是就只有130-140Kb,而
2M
的ADSL则能够达到200-230K。我们可以看见它已经实现了我们的这个限速功能了吧。
那我们现在将PC2接在本交换机的其他任意一个口看看有没有影响呢?现在我将PC2接在13口的。
我们可以看见,它还是没有影响。这是为什么呢?因为我们下载的策略应用在fa3/2这个接口上面的,而我们服务器就连在这个接口上面,当然我们PC连在其他那些端口上面都是一样的效果,我这里只是拿的两台PC来做的实验,而在我们实际工作中,不可能这么做,我们可以将上面的ACL改成你要做限速的网段就OK了。
这个功能是不是很实用呢。有时间也来练习练习嘛!
本文转自 ltyluck 51CTO博客,原文链接:
http://blog.51cto.com/ltyluck/224471