本技术说明提供了在通过帧中继实施流量整形时配置优先级队列的示例配置。讨论了虚电路(VC)级和接口级优先级排队机制。
本文档假定您了解帧中继技术,包括数据链路连接标识符(DLCI)和流量整形参数,如承诺信息速率(CIR)和承诺突发。有关技术概述,请参阅《Cisco IOS广域网配置指南》中的“配置帧中继”。
本文档没有任何特定的要求。
本文档不限于特定的软件和硬件版本。
有关文档规则的详细信息,请参阅 Cisco 技术提示规则。
根据Cisco IOS®的版本,帧中继接口支持在VC(或子接口)上创建优先级队列的三种机制:
frame-relay priority-group — 此命令语法使用思科的原始优先级排队机制。
frame-relay ip rtp priority — 此命令语法为属于UDP目标端口范围的一组RTP数据包流保留严格优先级队列。
priority — 此最新语法应用低延迟排队功能,并使用模块化服务质量(QoS)命令行界面(CLI)的命令结构。
使用上述所有命令,可以在帧中继映射类内配置优先级队列机制,该映射类支持配置整形值的多个命令。整形限制VC的输出速率,并为VC分配拥塞概念。当需要从VC传输的数据包数超过该VC的输出速率时,路由器开始对数据包排队。然后,对超额数据包进行排队。排队方法可应用于等待该队列中待传输的数据包。
最初,帧中继接口支持Cisco的第一优先级排队机制,该机制使用priority-list和priority-group命令进行配置。有关详细信息,请参阅配置帧中继和帧中继流量整形。
使用以下步骤在帧中继VC上配置传统优先级队列:
使用frame-relay traffic-shaping命令在串行接口上启用帧中继流量整形(FRTS)。接口上的所有永久虚电路(PVC)和交换虚电路(SVC)将继承默认流量整形值并创建每VC队列。
R4-4K(config)# interface serial0 R4-4K(config-if)# frame-relay traffic-shaping
配置帧中继映射类。使用frame-relay priority-group命令可指定传统Cisco IOS优先级队列。
R4-4K(config)# map-class frame-relay ? WORD Static map class name R4-4K(config)# map-class frame-relay priority R4-4K(config-map-class)# frame-relay ? adaptive-shaping Adaptive traffic rate adjustment, Default = none bc Committed burst size (Bc), Default = 56000 bits be Excess burst size (Be), Default = 0 bits cir Committed Information Rate (CIR), Default = 56000 bps custom-queue-list VC custom queueing fecn-adapt Enable Traffic Shaping reflection of FECN as BECN mincir Minimum acceptable CIR, Default = 56000 bps priority-group VC priority queueing traffic-rate VC traffic rate R4-4K(config-map-class)# frame-relay priority-group ? <1-16> Priority group number
配置整形参数,包括CIR和minCIR。
R4-4K(config-map-class)# frame-relay traffic-rate ? <600-45000000> Committed Information Rate (CIR) R4-4K(config-map-class)# frame-relay traffic-rate 56000 ? <0-45000000> Peak rate (CIR + EIR)
创建点对点或多点子接口并分配DLCI编号。
R4-4K(config)# interface s0.20 multi R4-4K(config-subif)# frame-relay interface-dlci ? <16-1007> Define a DLCI as part of the current subinterface R4-4K(config-subif)# frame-relay interface-dlci 400
将具有优先级队列的映射类应用到VC。
R4-4K(config-fr-dlci)# class ? WORD map class name R4-4K(config-fr-dlci)# class priority
使用show traffic-shape命令确认配置设置。
R4-4K# show traffic-shape Interface Se0.20 Access Target Byte Sustain Excess Interval Increment Adapt VC List Rate Limit bits/int bits/int (ms) (bytes) Active 400 56000 875 56000 0 125 875 -
注意:此配置使用frame-relay traffic-shape命令指定CIR。使用此命令,路由器会自动计算突发值。要指定突发值,请使用配置映射类中列出的命令,包括frame-relay bc out和frame-relay be 。
Cisco IOS 12.0(7)T引入了低延迟队列(LLQ)功能,该功能支持使用模块化QoS CLI命令配置严格优先级队列。在12.1(2)T中引入了对帧中继VC级LLQ的支持。请参阅帧中继功能模块的低延迟队列。
注意:此功能需要FRTS。
LLQ被视为帧中继ip rtp优先级和帧中继优先级组功能的更灵活的超集。有关详细信息,请参阅《Cisco IOS配置指南》的“拥塞管理概述”一章中的“帧中继低延迟队列”。
让我们看一下为帧中继配置LLQ的步骤。
使用frame-relay traffic-shaping命令在串行接口上启用FRTS。接口上的所有PVC和SVC继承默认流量整形值并创建每VC队列。
Router(config)# interface serial0 Router(config-if)# frame-relay traffic-shaping
使用class-map和policy-map命令配置服务策略。指定priority命令以创建严格优先级类,并指定要分配给该类的带宽量(以kbps或PVC带宽的百分比表示)。
Router(config)# class-map class-map-name Router(config-cmap)# match access-group {access-group | name access-group-name} Router(config)# policy-map policy-map Router(config-pmap)# class class-name Router(config-pmap-c)# priority bandwidth-kbps
配置映射类并将服务策略附加到该类。
在以下示例中,map-class的名称为sample,输出service-policy的名称为llq。
router(config)# map-class frame-relay sample router(config-map-class)# service-policy output llq
在DLCI配置模式下,使用class命令将map-class应用到VC。
router(config)# interface serial0.5 router(config-if)# frame-relay interface-dlci 100 router(config-if-dlci)# class sample
使用以下命令确认设置并监控策略结果:
show frame-relay pvc {dlci #} — 显示所有VC组件的统计信息,包括FRTS和服务策略信息,以及分段、传入和传出的数据包数以及设置了BECN/FECN/DE位的帧数。
show policy-map interface sX/0.X dlci {#} — 仅显示特定VC的与策略相关的统计信息。
帧中继VC的class-map和policy-map命令不支持与LLQ不直接相关的策略,例如流量整形、设置IP优先级和策略。您必须使用其他配置机制(如map class命令)来配置这些策略。仅支持以下类映射和策略映射命令:
match 类映射配置命令
priority、bandwidth、queue-limit 、random-detect 和fair-queue policy-map配置命令
当bandwidth和priority命令计算连接上可用的总带宽量时,如果实体是整形的帧中继PVC,将调用以下准则:
如果未配置最小可接受承诺信息速率(minCIR),则计算中使用CIR除以2。选择此机制是因为许多帧中继配置使用的整形速率超过端口速度,因此配置的CIR可能无法保证。
如果配置了 minCIR,则在计算中使用此 minCIR。
请参阅这些命令如何计算带宽。为策略映射中所有类分配的总带宽量不得超过为VC配置的minCIR减去帧中继语音带宽和frame-relay ip rtp priority命令保留的任何带宽。
如果您知道链路额外开销需要多少带宽,在需要为语音流量提供尽可能多带宽的情况下,可使用max-reserved-bandwidth命令覆盖75%的最大分配(分配给所有类或流的带宽总和)。如果要覆盖固定带宽量,请谨慎操作,并确保允许足够的剩余带宽以支持尽力而为并控制包含第2层开销的流量。
要配置LLQ,请使用模块化QoS CLI(MQC)命令创建具有多个流量类和一个或多个QoS功能的流量策略映射。在当前版本的IOS中,帧中继接口支持将带有service-policy命令的策略映射应用于接口、子接口和VC。下表列出了支持的策略组合。
输入策略 | 输出策略 |
---|---|
注意:主接口和子接口不是对等接口,不能同时支持服务策略。 |
|
IP实时协议(RTP)优先级功能通过RTP使用的UDP端口号范围,为IP语音(VoIP)数据包提供简单的匹配方法,RTP封装语音数据包。VoIP流量使用众所周知的UDP端口范围16384-32767。虽然所使用的实际端口是在终端设备或网关之间动态协商的,但所有Cisco VoIP产品都使用相同的端口范围。路由器识别到VoIP流量后,会将此流量放入严格优先级队列。
frame-relay ip rtp priority命令将IP RTP优先级功能扩展到帧中继映射类,并允许您在每个PVC的唯一UDP端口范围上进行匹配。
请注意,帧中继的LLQ和IP RTP优先级功能提供互补功能,可以同时配置。如果流量与指定范围的UDP端口匹配,则会将其分类为语音,并在LLQ优先级队列和接口优先级队列中排队。如果流量超出指定的RTP端口范围,则按服务策略分类。
以下是使用帧中继映射类和frame-relay ip rtp priority命令的典型配置示例。下表说明了此命令的参数。
map-class frame-relay VoIPoFR frame-relay fragment 640 frame-relay ip rtp priority 16384 16383 120 no frame-relay adaptive frame-relay cir 256000 frame-relay bc 2500 frame-relay fair-queue
参数 | 如何设置参数 |
---|---|
16384 | 开始UDP端口号或发送数据包的最低端口号。对于 VoIP,请将此值设置为 16384。 |
16383 | UDP目标端口的范围。将此值添加到,以生成最高的UDP端口号。对于 VoIP,请将此值设置为 16383。 |
120 | 优先级队列允许的最大带宽(以kbps为单位)。根据同时呼叫的数量配置此号码。 |
IP RTP优先级功能不要求您知道语音呼叫的端口。相反,该功能使您能够识别流量进入LLQ优先级队列的端口范围。此外,您可以指定整个语音端口范围(16384到32767),以确保所有语音流量都获得严格的优先服务。IP RTP优先级对低于1.544 Mbps的链路尤其有用。
本文档中讨论的优先级排队机制与数据包报头和内容匹配,并确定帧中继PVC中数据包的优先级。帧中继PVC接口优先级队列(PIPQ)功能的目的是在接口队列级别优先处理PVC。换句话说,当接口上配置了多条PVC时,在物理介质上发送之前,这些PVC会出列到接口输出队列。
以下是配置PIPQ的两个步骤:
注意:Cisco IOS 12.2(6)引入了对帧中继主接口上PIPQ的支持。
在帧中继映射类中配置frame-relay interface-queue priority命令,并分配适当的PVC优先级。
Router(config)# map-class frame-relay map-class-name Router(config-map-class)# frame-relay interface-queue priority {high | medium | normal | low}
启用PIPQ。
Router(config)# interface serial number Router(config-if)# encapsulation frame-relay [cisco | ietf] Router(config-if)# frame-relay interface-queue priority [high-limit medium-limit normal-limit low-limit]
Cisco IOS 12.2(2)T在基于类的标记的命令语法中引入了set fr-de命令。有关详细信息,请参阅基于类的标记。
Cisco DDTS ID CSCdt92898解决了由于总线错误导致路由器重新加载的问题。当将带LLQ的输出服务策略应用到通过帧中继(VoFR)数据包传输语音的帧中继接口时,将发生重新加载。在许多Cisco IOS 12.2版本系列中,此Bug已得到修复。