如何在Cisco交换机下配置QOS限速?如何限制BT下载?这篇博文会用详细的例子给你详细的解释。
示例Cisco交换机上QOS速度限制问题
它用于控制交换机上专线用户的带宽。交换机通常有三种速率:10/100/1000。对于其他速率,要求QOS限制速度,也可以限制一些端口,可以制定策略限制一些端口。
一、网络描述
User1_PC1以1M的速度连接到Cisco 3560 f 0/1;
ip_add192.168.1.1/24
User2_PC2以2M的速度连接到Cisco 3560 f 0/2;
ip_add192.168.2.1/24
Cisco3560的G0/1是一个出口,或级联端口。
二、详细的配置过程
注意:每个接口在每个方向上只支持一个策略;一个策略可以用于多个接口。因此,所有PC的下载速率限制应在同一策略中定义(在本例中为policy-mAPUSer-down)。
在类别映射中定义了不同PC速率之间的区别。
1.启动开关上的QOS。
Switch (Configuration) #mlsqos//Start QoS on the switch.
2.分别定义PC1(192.168.1.1)和PC2(192.168.2.1)的访问控制列表。
Switch (configuration) # access-list1permit192.168.1.00.0.255//controls the upstream traffic of pc1.
Switch (configuration) # access-list 101 Permission 192.168.1.00.0.255//Control the downstream traffic of pc1.
Switch (configuration) # access-list2permit192.168.1.200.0.255//controls the upstream traffic of pc2.
Switch (configuration) # access-list 102 Permission 192.168.2.10.0.255//Control pc2 downstream traffic.
3.定义类并将它们绑定到上面定义的访问控制列表。
switch(config)# class-map user 1-up//定义PC1上行链路的类别并绑定访问列表1。
Switch(config-cmap)#matchaccess-group1
Switch(config-cmap)#exit
Switch(config)#class-mapuser2-up
switch(config-cmap)# match access-group 2//定义PC2上行链路的类别并绑定访问列表2。
Switch(config-cmap)#exit
Switch(config)#class-mapuser1-down
switch(config-cmap)# match access-group 101//定义PC1的下游类别并绑定访问列表101。
Switch(config-cmap)#exit
Switch(config)#class-mapuser2-down
switch(config-cmap)# match access-group 102//定义PC2下游的类并绑定访问列表102。
Switch(config-cmap)#exit
4.定义一个策略并将上面定义的类绑定到该策略。
switch(config)# policy-map user 1-up//将PC1的上行链路速率定义为1M,并丢弃超过该速率的数据。
Switch(config-pmap)#classuser1-up
Switch(config-pmap-c)#trustdscp
Switch(config-pmap-c)#police10000001000000exceed-actiondrop
switch(config)# policy-map user 2-up//将PC2的上行速率定义为2M,大于丢弃。
Switch(config-pmap)#classuser2-up
Switch(config-pmap-c)#trustdscp
Switch(config-pmap-c)#police20000002000000exceed-actiondrop
Switch(config)#policy-mapuser-down
Switch(config-pmap)#classuser1-down
Switch(config-pmap-c)#trustdscp
Switch(config-pmap-c)#police10000001000000exceed-actiondrop
Switch(config-pmap-c)#exit
Switch(config-pmap)#classuser2-down
Switch(config-pmap-c)#trustdscp
Switch(config-pmap-c)#police20000002000000exceed-actiondrop
Switch(config-pmap-c)#exit
5.在界面上使用策略。
Switch(config)#interfacef0/1
Switch(config-if)#service-policyinputuser1-up
Switch(config)#interfacef0/2
Switch(config-if)#service-policyinputuser2-up
Switch(config)#interfaceg0/1
Switch(config-if)#service-policyinputuser-down
示例2:限制BT下载的QOS配置示例
先找出BT程序开放的连接端口,默认是6881到6889。
2.统计出局域网中频繁拉BT的IP,建立扩展访问列表如下:
ExtendedIPaccesslistbtdownloadpermittcpanyhost192.168.1.120range68816889permittcpanyhost192.168.1.135range68816889permittcpanyhost192.168.1.146range68816889permittcpanyhost192.168.1.159range68816889permittcpanyhost192.168.1.211range68816889permittcpanyhost192.168.1.223range68816889
三、建立class-mapclass_bt
Cisco(config)#class-mapclass_btCisco(config-cmap)#matchaccess-groupnamebtdownload
第四,建立policy-mapqos_bt限制速率。
Cisco(config)#policy-mapqos_btCisco(config-pmap)#classclass_btCisco(config-pmap-c)#police50000008000exceed-actiondrop
off或desired.(interface)flowcontrol{receive|send}{on|off|desired}缺省快速以太端口是receiveoff和sendoff.在Catalyst3550交换机上,
六、将QOS应用到相应端口上
Cisco(config-if)#service-policyinputqos_bt
QoS其他内容
QoS配置四个步骤:
1,设置ACL匹配应用流量;
2,设置class-map匹配相应ACL或者相应端口等等,不过一般式匹配ACL;
3,设置policy-map匹配class-map,然后定一规则动作;
4,将policy-map绑定到相应的接口上。
当然需要注意的是qos已经全局enable,默认情况先qos是disable的。使用全局命令mlsqos来enable,可以通过showmlsqos来查看是否enable。
(mls:multilayerswitchinginformation)
QoS命令详解
Basicintroduction
marking就是修改IP优先级或者DSCP,但是由于IP优先级和DSCP都是占用TOS字段,后者相当于前者的扩展,所以不能同
时设置这两种值,如果同时设置了这两种值,那么只有IPDSCP的值生效。
标记是后续很多QOS策略应用的基本,使用的是policymap。
Configurations
1.定义classmap
Classmap是一个匹配表,类似于ACL。所有的policymap实质上是对classmap进行操作的
nimokaka(config)#class-map[match-all|match-any]{map-name}----参数中match-all表示匹配所有条件,
match-any表示至少符合一个条件
2.classmap的匹配
nimokaka(config-cmap)#
matchaccess-group{ACL}―――――――――――――――匹配IPACL(主要就是对应数据包了)
matchprotocol{protocol}―――――――――――――――匹配协议(这个在NBAR—基于网络应用中使用)
matchinput-interface{interface}―――――――――――――――匹配进站接口
matchqos-group{GroupID}―――――――――――――――匹配组ID(不知道干啥的)
matchdestination-address{macmac-address}―――――――――――――――匹配目标mac地址
matchsource-address{macmac-address}―――――――――――――――匹配源MAC地址
matchip{dscpdscp}――――――――――――――――――――匹配IPDSCP值
matchip{precedenceprecedence}―――――――――――――――匹配IP优先级
matchclass-map{map-name}―――――――――――――――匹配classmap(classmap嵌套)
matchvlan{vlan-id}―――――――――――――――匹配VLAN
3.设置policymap
nimokaka(config)#policy-map{policy-name}
nimokaka(config-pmap)#class{class-map}
4.配置优先级和DSCP值
nimokaka(config-pmap-c)#
一些用于标记的动作选项:
setip{precedenceprecedence}―――――――――――――――设置IP优先级
setip{dscpdscp}―――――――――――――――设置IPDSCP值
setqos-group{GroupID}―――――――――――――――设置组ID
setcos{cos}―――――――――――――――设置CoS值
priority{kbps|percentpercent}[Bc]―――――――――――――――定义优先级流量的保留的带宽(Kbor%)以及突发流量
bandwidth{kbps|percentpercent}―――――――――――――――定义保留的带宽(Kbor%)
police{CIRBcBe}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进行整形
5.将配置挂接到接口上
nimokaka(config-if)service-policy[input|output]policy-name
6.检查配置
nimokaka#showpolicy-map[policy-name]
查看接口的p