文档适用产品型号:XCM8806、XCM8810
文档目的:
根据用户的大多数应用需求,本文着重QoS中的基于ACL的流量速率限制和整形作介绍并给出配置例子。以下是需要介绍到的几种配置:
- 基于ACL的Meter的速率限制
- 基于ACL的Qos Propfile的速率整形
- 基于出站端口直接进行速率限制
- 入站端口泛洪(广播、组播、不知名的MAC)限制
文档适用性:
本文档除对端口速率作介绍外,对于其它的基于非ACL流量的处理,标记,优先级设置等功能将不作讨论,如需配置该部分功能,请参考XCM8800系列用户手册357页的QoS章节。
QoS概述:
Qos特性允许用户对不同的流量提供不同水平的服务,例如以下的一些具体动作:
- 给一些访问网络资源的流量组更高的优先
- 对某些特殊需求的流量预留带宽
- 在SLA(Service Level Agreement服务水平协定)限制某些流量组的带宽或数据速率
- 计算超出明确有限制的帧和包,可选择地丢弃它们(速率限制)
- 排队或缓冲超出明确有限制的帧和包,延迟转发它们(速率整形)
- 在转发帧和包时修改QoS的相关区域(重标记)
- 速率限制
速率限制是限制流量到达峰值的一种方式。
- 速率整形
速率整形是控制流量的一种方式,它给优先级更高的流量通过或缓冲数据直到转发资源变为可用时再转发。
可以为速率限制或速率整形配置阀值,当进入交换机的流量超过阀值时,可以触发相应的动作,这些动作也需要预先配置,它们包括:转发流量、丢弃流量、为超出的流量打标记。另外,可以使用软件计数器记录流量的状态,例如:全部的转发包和全部丢弃包的数量。
使用计量器(Meter)对入站与出站流量进行速率限制
基于ACL,同时使用Meter对流量进行限速是最常用的一种限速方式,与基于端口进行限速相比,它具有更灵活的可调性。可根据ACL中各种要素:MAC地址、IP地址、协议号等对流量进行限制,其配置的方式类似于ACL的配置,有关ACL的详情,请参考另一篇文档:XCM8800 系列交换机 ACL 基础介绍
计量器(Meter)概念
计量器(Meter)常常用于定义入站速率限制和速率整形。在XCM8800系列交换机中,它支持单速率入站和出站流量的速率限制与整形。它可以定义常用的承诺信息速率,最大突发速率,对于超出承诺信息速率或最大突发速率的行为,可设置为直接丢弃(速率限制)或优先丢弃某一标记的流量。如果将计量器应用到VLAN,那么该VLAN中的每个端口都能实现相同的流量限制与整形。
命令与配置:
1、配置步骤
- 步骤1:建立一个Meter,给Meter起一个名字。
create meter
- 步骤2:配置Meter,设置CIR、MBS等参数。
configure meter {max-burst-size [Kb | Mb]} {committed-rate [Gbps | Mbps | Kbps]} {out-actions [drop | set-drop-precedence {dscp [none | ]}}
- 步骤3:使用ACL对所需要流量进行定义。
create access-list ‹dynamic-rule› ‹conditions› ‹meter ‹meter-name›› {non-permanent}
- 步骤4:应用带有Meter的ACL在入站或出站接口。
configure access-list add [ [[first | last] {priority } {zone } ] | [[before | after] ] | [ priority {zone } ]] [ any | vlan | ports ] {ingress | egress}
2、删除meter
- 需要将ACL清除后,才可以删除meter
delete meter
3、查看与检测
- 查看ACL的配置
show configuration acl
- 查看meter中的配置
show meter
- 查看ACL的应用情况
show access-list
配置实例:
建立任何去往网段为:10.10.0.0/16端口的限速功能,承诺信息速率(CIR)为512 kbPS,最大突发速率为50 kbps,在端口3:1的入站方向上进行应用。
配置如下:
create meter ijk |
//建立名为ijk的meter |
config meter ijk committed-rate 512 Kbps max-burst-size 50 Kb out-actions drop |
//设定流量限制要素 |
create access-list 3016 " destination-address 10.10.0.0/16 ;" "meter ijk;" |
//指定去往10网段的流量受到限制,使用ACL关联meter |
config access-list add 3016 first ports 3:1 ingress |
//应用ACL限制流量到端口3:1入站方向 |
使用QoS Profile对出站流量进行速率限制与整形
QoS Profiles 是XCM8800交换机中的硬件队列群中的配置文档,通过配置QoS Profile 中的各种特性,可实现出站速率限制与整形。经过ACL对流量的筛选,然后Qospropfile对流量进行处理,Qosprofile可直接配置与出站端口关联,实现限速与整形。
QoS Profile
交换机中的QoS Profile具有强大的配置特性,包括:承诺信息速率,最大缓冲百份比值,最大带宽值,最小带宽值,峰值速率,是否选用严格优先权,调度中的权重值设置等。交换机总共配置有8个QoS的队列,也就具有8个QoSProfile,默认已有两个出站的QoS profile,分别是QP1和QP8,此两个QoSProfile不可删除。另外有6个QoS Profile(QP2-QP7可以手动创建与配置)。
调度机制
XCM8800交换机有二种调度机制,同时可使用命令进行配置。
- 严格优先队列(strict priority queuing)
默认为此种机制,所有高的优先级队列先服务。确保优先级别高的包先发。低优先级别的包只有等到高优先级别的包转发完毕再发。
- 权重轮询队列(weighted-round-robin)
所有队列都被赋予一个权重值,权重值与时间有关,当权重值越大,相应的该队列服务的时间越长
低权重值队列的服务时间则会较短。所有的队列中的数据包都有机会给予放行。
例如:一个队列的权重值设置为1,另一个队列的权重值设置为4,则权重设置为4的队列的服务时间为权重值为1的队列的4倍。
又例如所有的队列的权重都为4,而不为1,则所有队列相应的服务时间也加长,但所处理的时间仍然平均分配置。
- 调度机制配置命令
- 根据以上所述调度机制,可以设置XCM8800的交换机QP1-QP8的出站在方式,如下命令:
configure qosscheduler [strict-priority | weighted-round-robin]
- 当配置调度机制为轮询后,可以将某一个队列强制为最优先队列,当该队列中的流量完全转发,再使用轮询方式转发其它队列的流量,如下命令:
configure qosprofile use-strict-priority
命令与配置:
1、配置步骤
- 步骤1:建立QP2-QP7中的一个或多个QoS Profile,默认有QP1与QP8。所以这两个QoS不需要建立,可直接配置。
create qosprofile [QP2| QP3 | QP4 | QP5 | QP6 | QP7]
- 步骤2:配置QoS Profile
- 全局配置QoS Profile中的最大缓冲百份比值与权重值时。使用以下命令:
configure qosprofile {maxbuffer } {use-strict-priority} {weight }
- 配置某端口的QoS Profile中的承诺信息速率,最大带宽值,最小带宽值,峰值速率时,则需要直接关联到端口。使用以下的命令:
configure qosprofile {egress} [{{minbw } {maxbw }} | {{committed_rate [K | M]} {peak_rate [K | M]}} ] [ports [ | all]]
- 步骤3:使用ACL对所需要流量进行定义
create access-list DYNAMIC-RULE›‹CONDITIONS›‹QOSPROFILE ‹qosprofilename› {non-permanent}
2、删除配置
- 删除Qos Profile
delete qosprofile [QP2| QP3 | QP4 | QP5 | QP6 | QP7]
- 删除Qos Profile中的QP1-QP8配置
unconfigure qosprofile
3、查看与检测
- 查看Qosfile
show qosprofile {ingress | egress} ports [ all | ]
- 查看端口的QoS详细信息
show ports {mgmt | } information {detail}
- 查看ACL配置
show configuration acl
- 查看端口的QoS 队列
show ports qosmonitor {congestion} {no-refresh}
- 查看端口的拥塞状态
show ports congestion {no-refresh}
实例配置:
建立任何去往网段为:10.10.0.0/16端口的流量放置到QP2, dp2在3:1的端口的承诺信息速率(CIR)为512 kbPS, ,qp2的最大缓冲为80%,权重为5,流量经过3:1时进行整形处理。
1、配置如下:
create qosprofile qp2 |
//建立qp2的qosprofile |
config qosprofile qp2 committed-rate 512 K ports 3:1 |
//设定属于端口3:1的QP2整形参数 |
config qosprofile qp2 maxbuffer 80 weight 5 |
//设置属于QP2的全局端口参数 |
create access-list 3016 " destination-address 10.10.0.0/16 ;" "qosprofile qp2;" |
//指定去往10网段的流量放置到QP2, |
2、注意事项
- QoS Profile会在所有的端口上产生QP2队列,它本身并不能控制流量从哪一个端口出站,因此,用户需要通过路由,物理线路等方式确认流量的出站端口,然后设置该端口的整形或限速特性。以上面例子来说,除3:1外,其它的端口也存在qp2队列,流量在其它端口发出时,会受到权重、缓存、优先级因素影响,而不受承诺信息速率,最大带宽值,最小带宽值,峰值速率等影响。也就是说,如果该流量从除3:1外的其它端口出站时不产生流量整形。
- 基于ACL的流量在QoS处理中将优先匹配,其它的非基于ACL的QoS处理方式优先级低于它。
出站端口速率限制
XCM8800交换机提供端口的出站方向速率限制特性
命令与配置:
- 配置命令
默认在端口的出站流量不作限制,可以使用以下的命令进行限制:
configure ports rate-limit egress [no-limit | [Kbps | Mbps | Gbps] {max-burst-size [Kb | Mb]}]
- 恢复不限制功能
以上的命令中使用no-limit 参数
- 检测端口的速率限制
show ports {mgmt | } information {detail}
注意:上面的命令必须使用到detail参数。
实例配置:
配置3:1的端口出站速率128Kbps,最大突发速率200KbPS
配置3:2的端口出站速率128Kbps
配置3:10的端口出站速率73Kbps,最大突发速率128KbPS
配置如下:
config port 3:1 rate-limit egress 128 Kbps max-burst-size 200 Kb
config port 3:2 rate-limit egress 128 Kbps
config port 3:10 rate-limit egress 73 Kbps max-burst-size 128 Kb
入站端口泛洪(广播、组播、不知名的MAC)限制
在XCM8800交换机中,可以控制入站接口的广播、组播、不知名的MAC的流量的泛洪
命令与配置:
- 配置命令
默认在端口的入站的泛洪流量是不作限制的,可以使用以下的命令进行限制:
configure ports rate-limit flood [broadcast | multicast | unknown-destmac] [no-limit | ]
- 恢复不限制功能
以上的命令中使用no-limit 参数
- 检测端口的泛洪广播速率限制
show ports {mgmt | } information {detail}
注意:上面的命令必须使用到detail参数。
实例配置:
限制进入3:1端口泛洪广播流量每秒钟只能通过50个包
配置如下:
configure port 3:1 rate-limit flood broadcast 50
序号 |
日期 |
跟进人 |
内容摘要 |
1 |
2013-08-28 |
Sam Li |
文档创建 |