哎……,这一段时间一直都很忙呀,很久都没有来写博客了,今天正好没有事。就带家大一起来看看这个交换机里面的QoS吧。
一直以来想对这个交换机上面QoS来做一个限制,今天正好没有事情做,于是利用办公室里面的4006交换机来做一下这个测试。
4006上面我没有做任何配置。下面按照惯例来看看拓扑图吧。
交换机使用QoS来对端口限速_第1张图片
现在呢?在没有做QoS的时候我们来看看它的下载速度。
交换机使用QoS来对端口限速_第2张图片
从这里我们可以看见,我从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 上行的速率为 1M
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 上行的速率为 2M
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  // 从该接口出去的数据最大 1M
Switch(config-if)#service-policy input user1-up
Switch(config-if)#exit
Switch(config)#int fa3/26  // 从该接口出去的数据最大 2M
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口上面时。
交换机使用QoS来对端口限速_第3张图片
 
我们可以看到差不多速度就在125K左右,而当我们PC2接在26口上面呢?
交换机使用QoS来对端口限速_第4张图片
我们可以看见,能够达到200K,你想一下你们家里面的ADSL如果是 1M 的,下载速度是不是就只有130-140Kb,而 2M ADSL则能够达到200-230K。我们可以看见它已经实现了我们的这个限速功能了吧。
那我们现在将PC2接在本交换机的其他任意一个口看看有没有影响呢?现在我将PC2接在13口的。
交换机使用QoS来对端口限速_第5张图片
我们可以看见,它还是没有影响。这是为什么呢?因为我们下载的策略应用在fa3/2这个接口上面的,而我们服务器就连在这个接口上面,当然我们PC连在其他那些端口上面都是一样的效果,我这里只是拿的两台PC来做的实验,而在我们实际工作中,不可能这么做,我们可以将上面的ACL改成你要做限速的网段就OK了。
这个功能是不是很实用呢。有时间也来练习练习嘛!