ATM信元由48个字节的负载和5个字节的报头组成。用户网络接口(UNI)和网络到网络接口(NNI)报头都包含1位信元丢失优先级(CLP)字段,该字段指示信元在通过ATM网络时遇到严重拥塞时的丢弃优先级。
1位字段表示有两个值 — 0表示较高优先级, 1表示较低优先级。换句话说,将CLP位设置为1会降低信元的优先级,并增加当ATM网络遇到拥塞的物理线路和队列时信元被丢弃的可能性。
传统上,只有ATM交换机设置CLP位。Cisco ATM路由器接口或UNI接口的其他用户端从不设置此位。最近,作为思科强健的服务质量(QoS)功能集的一部分,Cisco ATM路由器接口现在可以配置为将CLP位设置为应用于特定虚电路(VC)的服务策略的一部分。
本文档说明两个命令set atm-clp和set-clp-transmit,这两个命令可用于在Cisco路由器上设置CLP位。它还阐明路由器和交换机如何使用CLP位。
本文档没有任何特定的要求。
本文档不限于特定的软件和硬件版本。
有关文件规则的更多信息请参见“ Cisco技术提示规则”。
虚拟连接的信元流可以逻辑拆分为三个考虑CLP位设置的流:
CLP=0+1信元流称为聚合流,包括CLP=0信元和CLP=1信元。
在思科园区ATM交换机(如Catalyst 8500系列)上,您可以通过Cisco IOS®软件命令或简单网络管理协议(SNMP)轮询获取信元计数。使用show atm vc interface atm命令查看命令行中每个VC信元的计数,如下所示。
ls1010# show atm vc interface atm 0/0/0 0 50 Interface: atm0/0/0, Type: oc3suni VPI = 0 VCI = 50 Status: UP Time-since-last-status-change: 00:03:08 Connection-type: PVC Cast-type: point-to-point Packet-discard-option: disabled Usage-Parameter-Control (UPC): pass Wrr weight: 2 Number of OAM-configured connections: 0 OAM-configuration: disabled OAM-states: Not-applicable Cross-connect-interface: atm0/0/1, Type: oc3suni Cross-connect-VPI = 0 Cross-connect-VCI = 55 Cross-connect-UPC: pass Cross-connect OAM-configuration: disabled Cross-connect OAM-state: Not-applicable Threshold Group: 5, Cells queued: 0 Rx cells: 0, Tx cells: 80 TX Clp0:80, TX Clp1: 0 Rx Clp0:0, Rx Clp1: 0 !--- Per-VC cell counts based on CLP bit. Rx Upc Violations:0, Rx cell drops:0 Rx Clp0 q full drops:0, Rx Clp1 qthresh drops:0
CISCO-ATM-CONN-MIB在ciscoAtmVclTable中维护每VC统计信息。下表在增加这些对象ID的计数器时考虑CLP位的值:
ciscoAtmVclInCells
ciscoAtmVclInClp0Cells
ciscoAtmVclInClp1Cells
Catalyst 8500系列和Lightstream 1010使用连接流量表行(CTTR)存储分配给永久虚电路(PVC)的流量参数。 当配置可变比特率非实时(VBR-NRT)PVC CTTR时,可以指定可持续信元速率(SCR)是应用于scr0还是scr10信元流。
Switch(config)# atm connection-traffic-table-row [index row-index] {vbr-rt | vbr-nrt} pcr pcr-value {scr0 | scr10} scr-value [mbs mbs-value] [cdvt cdvt_value]
Cisco ATM路由器不支持指示是在SCR=0流还是SCR=1+0流上整形的等效命令。vbr-nrt命令仅允许您指定峰值信元速率(PCR)和SCR。
Router(config)# interface atm 5/0 Router(config-if)# pvc 1/1 Router(config-if-atm-vc)# vbr-nrt ? <1-155000> Peak Cell Rate(PCR) in Kbps Router(config-if-atm-vc)# vbr-nrt 1000 ? <5-1000> Sustainable Cell Rate(SCR) in Kbps Router(config-if-atm-vc)# vbr-nrt 1000 500 ? <1-65535> Maximum Burst Size(MBS) in Cells
思科模块化QoS CLI(MQC)是一组特殊命令,用于在接口或VC上配置QoS策略。(请参阅模块化服务质量命令行界面概述。) 使用class-map命令指定流量类,使用policy-map命令将流量类与一个或多个QoS功能相关联,创建流量策略,然后使用service-policy命令将流量策略附加到接口或虚电路。
MQC支持两个用于设置CLP位的命令:
set atm-clp — 实施简单数据包标记。此命令将匹配指定类的所有数据包的CLP位设置为1。它不考虑PVC的拥塞程度。
set-clp-transmit — 实施流量管制。此命令确实会考虑PVC上的拥塞级别,并将匹配流量的CLP位设置为1,其速率超过配置的每秒位(bps)值。换句话说,此命令实施“违反”操作。
以下命令是接下来两节的重点。
基于类的数据包标记是Cisco IOS功能,它在第2层和第3层数据包报头中设置值,以将数据包区分为更高优先级和更低优先级。(请参阅配置基于类的数据包标记。) 此功能支持set atm-CLP命令,以标记与指定类匹配的数据包的所有信元上的CLP位。
Router(config)# policy-map TEST Router(config-pmap)# class CLP Router(config-pmap-c)# set atm-clp
使用show policy-map interface atm命令显示已标记的数据包数。
在设置CLP位时,必须了解基于类的数据包标记不考虑ATM PVC的拥塞级别。set atm-CLP命令可配置路由器,以在VC上出现拥塞和非拥塞时,在所有匹配的数据包上设置CLP位。
自Cisco IOS软件版本12.1T起,set atm-CLP命令仅在PA-A3上受支持,在PVC上受支持,在SVC上不受支持。此外,仅可标记在思科快速转发(CEF)交换路径上传输的数据包。来自路由器的数据包使用不同的Cisco IOS交换方法,无法标记。
自Cisco IOS软件版本12.0(23)S起,ATM CLP设置功能允许用户控制Cisco 12000系列互联网路由器的8端口OC-3 STM-1 ATM线卡上的ATM CLP位设置。
自Cisco IOS版本12.2(8)YN起,Cisco 3600和2600路由器中提供ATM CLP位标记。
注意:当在配置为匹配多协议标签交换(MPLS)实验位的类中使用set atm-CLP命令时,Cisco Bug ID CSCdr19172解决了路由器重新加载的问题。
流量管制机制确定流量是否符合配置的合同值,然后通过丢弃流量或重写报头值来对违反流量采取行动。使用ATM PVC时,可以使用set-CLP-transmit命令将路由器配置为将CLP位设置为策略操作。(请参阅流量管制。) 创建策略映射,然后配置police命令set-clp-transmit作为操作。
7500(config)# policy-map police 7500(config-pmap)# class group2 7500(config-pmap-c)# police BPS burst-normal burst-max conform-action action exceed-action action violate-action action
在路由交换机处理器(RSP)平台上的Cisco IOS软件版本12.1(5)T和其他平台上的Cisco IOS软件版本12.2(1)T中,支持set-clp-transmit命令。
注意:在特定配置中,进程交换到ATM PVC的数据包会受到管制。监察器配置有一个或多个具有set-clp-transmit参数的操作;但是,数据包生成的ATM信元没有设置CLP位。此问题仅在基于类的监察器和进程交换数据包中发生,并通过Cisco Bug ID CSCdw18196解决。
ATM交换机使用CLP位的方式有两种:
违反流量管制操作。
作为一个决定性因素,在拥塞发生时丢弃信元,队列填满超过阈值。
以下两节将更详细地探讨这些用途。
思科园区ATM交换机应用使用参数控制(UPC)策略算法,以确定来自诸如思科路由器之类的终端设备的信元速率是否符合流量合同。当UPC确定信元不符合要求时,交换机会根据配置执行以下操作之一:
Pass — 传输信元,不更改CLP值。
Tag — 设置CLP位以指示信元的相对较低优先级。
Drop — 丢弃单元格。
Pass是默认UPC行为。通过将upc参数设置为atm pvc命令的一部分,在PVC上配置一个非默认值:
atm pvc vpi vci [cast-type type] [upc upc] [pd pd] [rx-cttr index] [tx-cttr index] [wrr-weight weight]
show atm vc interface atm命令显示UPC设置和Rx Upc Violations的数量。
ls1010# show atm vc interface atm 0/0/0 0 50 Interface: atm0/0/0, Type: oc3suni VPI = 0 VCI = 50 Status: UP Time-since-last-status-change: 00:03:08 Connection-type: PVC Cast-type: point-to-point Packet-discard-option: disabled Usage-Parameter-Control (UPC): pass !--- Confirm the correct UPC setting. Wrr weight: 2 Number of OAM-configured connections: 0 OAM-configuration: disabled OAM-states: Not-applicable Cross-connect-interface: atm0/0/1, Type: oc3suni Cross-connect-VPI = 0 Cross-connect-VCI = 55 Cross-connect-UPC: pass Cross-connect OAM-configuration: disabled Cross-connect OAM-state: Not-applicable Threshold Group: 5, Cells queued: 0 Rx cells: 0, TX cells: 80 TX Clp0:80, TX Clp1: 0 Rx Clp0:0, Rx Clp1: 0 Rx Upc Violations:0, Rx cell drops:0 !--- View the number of "Upc Violations". Rx Clp0 q full drops:0, Rx Clp1 qthresh drops:0 !--- Output suppressed.
您还可以轮询CISCO-ATM-CONN-MIB的ciscoAtmVclUpcViolations托管对象,以收集UPC在特定VC上检测到的不符合要求的信元总数。
ATM交换机在实施流量和资源管理过程时,会考虑CLP=1设置,传统上仅由ATM交换机进行,现在由ATM连接的路由器进行。选择信元丢弃是当输出队列达到可配置阈值时网络丢弃CLP=1信元的过程。
Cisco园区ATM交换机可根据功能卡和交换机型号实施选择性信元丢弃,但略有变化。
LightStream 1010和Catalyst 8510具有每类队列(FC-PCQ或FC1)的功能卡,支持每个ATM服务类别(如VBR-NRT或UBR)的可配置接口队列阈值。show atm interface resource atm命令显示所有服务类的默认值87%。
Switch> show atm interface resource atm 3/0/0 Resource Management configuration: Output queues: Max sizes(explicit cfg): 30000 cbr, none vbr-rt, none vbr-nrt, none abr-ubr Max sizes(installed): 30208 cbr, 256 vbr-rt, 4096 vbr-nrt, 12032 abr-ubr Efci threshold: 50% cbr, 25% vbr-rt, 25% vbr-nrt, 25% abr, 25% ubr Discard threshold: 87% cbr, 87% vbr-rt, 87% vbr-nrt, 87% abr, 87% ubr !--- Percent of queue full at which discard threshold starts. Abr-relative-rate threshold: 25% abr
使用atm output-threshold命令配置非默认值。(请参阅配置资源管理。)
Switch(config-if)# atm output-threshold {cbr | vbr-rt | vbr-nrt | abr | ubr} discard-threshold disc-thresh-num
当属于特定服务类别的VC的所有单元占用默认87%的共享内存时,随后的CLP=1单元将被丢弃。
LightStream 1010和Catalyst 8510配备每流队列功能卡(FC-PFQ),以及Catalyst 8540,支持每条VC的最大和最小队列限制大小。它们使用阈值组功能来实现这些队列。
阈值组由单个ATM服务类别的所有VC和虚拟路径(VP)组成。阈值组设置对阈值组中虚拟连接队列中单元累积数的限制。当阈值组拥塞(累积数接近配置的最大信元数值)时,每VC队列中的最大信元数从组的最大队列限制缩减为最小队列限制。
此示例显示如何为CBR服务类别配置非默认值95%,该类别默认映射到阈值组1:
ls1010(config)# atm threshold-group 1 ? discard-threshold discard threshold as percent of queue full marking-threshold marking threshold as percent of queue full max-cells max number of cells in Threshold Group max-queue-limit max (uncongested) queue limit for this TG min-queue-limit min (congested) queue limit for this TG name name of TG ls1010(config)# atm threshold-group 1 discard-threshold ? <0-100> discard threshold percent ls1010(config)# atm threshold-group 1 discard-threshold 95
使用show atm resource命令查看配置更改。
ls1010# show atm resource Resource configuration: Over-subscription-factor 8 Sustained-cell-rate-margin-factor 1% Abr-mode: relative-rate Service Category to Threshold Group mapping: cbr 1 vbr-rt 2 vbr-nrt 3 abr 4 ubr 5 Threshold Groups: Group Max Max Q Min Q Q thresholds Cell Name cells limit limit Mark Discard count instal instal instal --------------------------------------------------- 1 65535 63 63 25 % 95 % 0 cbr-default-tg 2 65535 127 127 25 % 87 % 0 vbrrt-default-tg 3 65535 511 31 25 % 87 % 0 vbrnrt-default-tg 4 65535 511 31 25 % 87 % 0 abr-default-tg 5 65535 511 31 25 % 87 % 0 ubr-default-tg 6 65535 1023 1023 25 % 87 % 0 well-known-vc-tg
在Cisco园区ATM交换机上,您可以通过Cisco IOS软件命令或SNMP轮询查看CLP=1队列阈值丢弃的数量。使用show atm vc interface atm命令查看命令行中的每个VC值。
ls1010# show atm vc interface atm 0/0/0 0 50 Interface: atm0/0/0, Type: oc3suni VPI = 0 VCI = 50 Status: UP Time-since-last-status-change: 00:03:08 Connection-type: PVC Cast-type: point-to-point Packet-discard-option: disabled Usage-Parameter-Control (UPC): pass Wrr weight: 2 Number of OAM-configured connections: 0 OAM-configuration: disabled OAM-states: Not-applicable Cross-connect-interface: atm0/0/1, Type: oc3suni Cross-connect-VPI = 0 Cross-connect-VCI = 55 Cross-connect-UPC: pass Cross-connect OAM-configuration: disabled Cross-connect OAM-state: Not-applicable Threshold Group: 5, Cells queued: 0 Rx cells: 0, TX cells: 80 TX Clp0:80, TX Clp1: 0 Rx Clp0:0, Rx Clp1: 0 Rx Upc Violations:0, Rx cell drops:0 Rx Clp0 q full drops:0, Rx Clp1 qthresh drops:0 !--- View the number of "Rx Clp0 q full drops" and "Rx Clp1 qthresh drops." !--- Output suppressed.
轮询CISCO-ATM-CONN-MIB的以下对象ID,以使用SNMP捕获每VC的值:
ciscoAtmVclClp0VcqFullCellDrops - CLP位清除时收到的信元总数,因超出每VC队列限制而被丢弃。此计数器仅在禁用早期数据包丢弃(EPD)且仅在具有FC-PFQ功能的系统上有效。
ciscoAtmVclVcqClpThreshCellDrops — 因每VC队列上超出丢弃阈值(与队列限制相对)而丢弃的信元总数,并设置CLP位。此计数器仅在EPD禁用且仅在具有FC-PFQ功能的系统上有效。