ATM论坛发布多重贩卖者的推荐标准促进使用ATM技术。
本文档没有任何特定的要求。
本文档不限于特定的软件和硬件版本。
本文档中的信息都是基于特定实验室环境中的设备编写的。本文档中使用的所有设备最初均采用原始(默认)配置。如果您使用的是真实网络,请确保您已经了解所有命令的潜在影响。
有关文档规则的详细信息,请参阅 Cisco 技术提示规则。
流量管理规范版本4.0 定义了五个ATM服务类别,这些类别描述了用户在网络上传输的流量以及网络需要为该流量提供的服务质量(QoS)。以下列出了五个服务类别:
非实时可变比特率(VBR nrt)
本文档的重点是VBR-nrt。
本地ATM流量整形通常通过为VBR-nrt服务类别分配虚电路(VC)来实施。Cisco路由器ATM接口以一种对于硬件来说是独特的方法来实施VBR-nrt流量整形。
与VBR-nrt流量整形相关的术语可能非常混乱。本文力求阐明配置VBR-nrt VC时规定的Peak Cell Rate(PCR)、Sustained Cell Rate(SCR)和Maximum Burst Size参数。本文档还提供有关Cisco ATM路由器接口如何实施流量整形的单一参考。
流量整形通过在队列中存储高于配置速率的流量来限制传输速率并平滑传输速率。
换句话说,当信息包到达ATM虚拟电路(VC)进行传输时,将发生以下情况:
如果队列为空,则到达的数据包将被放入队列中。在每个时间间隔内,流量整形器都会调度和发送数据包。
如果队列已满,则丢弃数据包。这称为尾部丢弃,假设默认先入先出(FIFO)的排队机制正在被使用。
为什么要控制或限制ATM VC的速率?以下是一些需要考虑的理由:
将T1、T3甚至OC-3(光载波)链路分割为较小的通道。
保证一个VC发出的数据流不会消耗接口的整个带宽,从而负面影响会产生数据损失的其他VC。
如果在策略显示给定的VC平均值不超过某个特定速率,这时需要控制带宽访问。
将本地接口的传输速率与远程目标接口的速度相匹配。假设链路一端的传输速率为256 kbps,另一端的传输速率为128 kbps。没有均匀的端到端管道,中间交换机可能必须在较低速度末端丢弃某些信息包,中断使用链路的应用程序。
流量整形将超额数据保留在路由器,并允许路由器应用智能服务质量管理(QoS)机制,例如加权随机早期检测(WRED)和基于类别的加权公平队列(CBWFQ)。 这些QoS机制决定在每个VC队列中为信息包提供服务的顺序和队列超出特定阈值时丢弃那一个信息包。
注意:atm接口下bandwidth 命令不提供接口上的流量整形。相反地,它用来路由IGRP及EIGRP等协议算法,以计算综合度量值,决定路由的最佳路径。
ATM交换机网络的提供商通过实施流量管制机制来实施流量合同。Usage Parameter Control (UPC)应用一种运算公式,确定VC上的某个路由器发送的数据流是否符合合同。供应商通常在进入网络的第一台交换机上实施监管,该位置被认作是用户网络接口(UNI)。 由于ATM交换机在OSI参考模型的第2层上操作,它们不能读取IP头字段;并且在出现拥塞时,它们不能确定哪些数据包获得优先次序。管制完全基于信元到达时间。
在Catalyst 8500系列和LightStream1010 ATM交换机路由器上,在atm pvc命令中指定UPC参数,配置数据流策略。
atm pvc vpi vci [cast-type type] [upc upc] [pd pd] [rx-cttr index] [tx-cttr index] [wrr-weight weight]
每个VC的UPC策略能够指定与ATM交换机不兼容的信元将采取的一种或三种操作:
删除单元格。
通过在ATM报头中设置信元丢失优先级(CLP)位来标记信元。
传递信元。
默认情况下,UPC会传递任何不合规的信元。
这是UPC策略强制用于VBR-nrt VC的一套规则的典型示例:
在SCR上面或下面收到的信元运载通过网络时不会被更改。
速率高于SCR但低于PCR的信元突发在传输时,大小小于MBS的突发保持不变。
在PCR之上接收的信元视为不兼容情况,要受已配置的UPC操作(例如标记或丢弃)支配。
超过MBS信元数量的信元突发被视作不兼容情况,要受已配置的UPC操作(例如标记或丢弃)支配。
在Cisco ATM交换机上,使用show atm vc interface atm命令,显示Rx和Tx UPC违规数量,以及其所导致的所有丢弃。
switch#show atm vc interface atm 1/0/1 0 100 Interface: ATM1/0/1, Type: e1suni VPI = 0 VCI = 100 Status: UP Time-since-last-status-change: 00:09:51 Connection-type: PVC Cast-type: point-to-point Packet-discard-option: disabled Usage-Parameter-Control (UPC): drop Wrr weight: 2 Number of OAM-configured connections: 0 OAM-configuration: disabled OAM-states: Not-applicable Cross-connect-interface: ATM4/0/0, Type: oc3suni Cross-connect-VPI = 0 Cross-connect-VCI = 100 Cross-connect-UPC: drop Cross-connect OAM-configuration: disabled Cross-connect OAM-state: Not-applicable Threshold Group: 3, Cells queued: 0 Rx cells: 5317, Tx cells: 5025 Tx Clp0:5025, Tx Clp1: 0 Rx Clp0:5317, Rx Clp1: 0 Rx Upc Violations:45, Rx cell drops:45 Rx Clp0 q full drops:0, Rx Clp1 qthresh drops:0 Rx connection-traffic-table-index: 70 Rx service-category: VBR-nrt (Non-Realtime Variable Bit Rate) Rx pcr-clp01: 720 Rx scr-clp01: 320 Rx mcr-clp01: none Rx cdvt: 300 Rx mbs: 64 Tx connection-traffic-table-index: 70 Tx service-category: VBR-nrt (Non-Realtime Variable Bit Rate) Tx pcr-clp01: 720 Tx scr-clp01: 320 Tx mcr-clp01: none Tx cdvt: 300 Tx mbs: 64
传统上,只有ATM交换机实施流量管制。最近,作为Cisco稳固的服务质量(QoS)功能集的一部分,Cisco ATM路由器接口现在可以配置来设置CLP位,将其作为实施数据流监管的服务策略。在路由器上,流监量管不同于流量整形,它更多地是丢弃超额流量或重写数据包报头,而不是将超额流量保存在队列中。
使用set-clp-transmit命令,配置路由器将CLP位设置为策略操作。要执行该操作,请创建策略映射,然后将带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
set-clp-transmit命令可支持RSP平台上的Cisco IOS.软件版本12.1(5)T和其他平台上的Cisco IOS.软件版本12.2(1)T。
每个路由器接口都具有一种端口速度,可定义物理接口每秒传输和接收的最大位数。我们有时将端口速度称为“线速”。 例如,PA-A3-T3在第2层提供ATM的单个端口,在第1层提供DS-3的单个端口。DS-3上的物理端口速度四舍五入到45 mbps。
接口的线速转换为53字节的ATM信元。要确定此数字,请使用以下公式:
线速/每信元424位=每秒信元或信元时隙数
例如,DS-1(无帧开销)以1.536 mbps的速率传输。DS-1的线速为1.536 mbps除以每信元424位,等于每秒3622个信元。下表显示了不同线速的线路类型、mbps和每秒信元速率:
线路类型 | mbps | 信元速率/秒 |
---|---|---|
STS-1 | 51.84 | 114,113.21 |
STS-3c | 155.2 | 353,207.55 |
STS-12c | 622.8 | 1,412,830.19 |
DS-1 | 1.544 | 3622.64 |
DS-3 | 44.76 | 96,000.00 |
E-1 | 2.048 | 4528.30 |
E-3 | 34.38 | 80,000.00 |
注意:许多ATM交换机以信元/秒为单位测量带宽,而思科路由器使用比特/秒(kbps或mbps)。 每秒信元数和每秒比特数之间的转换系数为:
1个信元= 53个字节=(53个字节)*(8位/字节)= 424位
我们能使用以下公式计算以kbps为单位的峰值速率和持续速率:
峰值速率=峰值信元速率(PCR)[信元/秒] x 424 [比特/信元]
持续速率=持续信元速率(SCR)[信元/秒] x [每信元位]
了解ATM信元时间的概念非常有用。一个ATM信元通过接口中的某个特定点所花费的时间称为信元时间。我们可以按如下方式计算此值:
ATM信元时间= 1信元/ATM信元速率(以信元/秒为单位)
以下是DS-1链路的计算示例:
1个信元/每秒3622个信元=每个ATM信元0.0002760417秒
注意:毫秒为0.001(千分之一)秒,微秒为0.000001(百万分之一)秒。.0002760417(毫秒)的表示为。276,微秒的表示为276.04。本文档使用单元格时间(微秒)的表示。
所有Cisco ATM路由器接口都支持某种形式的流量整形。大多数接口支持通过vbr-nrt命令进行本地ATM流量整形。
选择PCR和SCR值时,参见下表,该表描述了每个接口硬件类型正式支持的值。Cisco ATM路由器接口不支持零到线路速率范围内的任何kbps值。相反,它们支持遵守公式的一套值或一套增量值。此外,注意千位/秒速率中已配置的值包括用户数据和ATM开销使用的带宽,包括5字节信元头、信元填充和AAL5开销。
因为PCR和SCR设置为相同值能有效阻止突发传输功能,所以如果您的Cisco IOS软件版本包括CSCdr50565和CSCds86153上所做的修改,那么您无需再为MBS配置一个非零值。
接口硬件 | 支持的流量整形参数 |
---|---|
AIP |
|
PA-A1 |
|
PA-A3-OC3/PA-A6-OC3 |
|
PA-A3-T3/E3/PA-A6-T3/E3 |
|
PA-A3-OC12 |
|
NP-1A-DS3 NP-1A-E3 |
|
NP-1A-MM NP-1A-SM NP-1A-SM-LR |
|
NM-1A-OC3 |
|
NM-1A-T3 |
|
NM-4T1-IMA NM-8T1-IMA |
|
NM-1ATM-25 |
|
AIM-ATM AIM-ATM-VOICE-30 |
|
多路中继模块(MFT) |
|
用于826、827的ADSL接口 | VBR-nrt、UBR和CBR,每VC队列。有关详细信息,请阅读Cisco 827路由器上的队列和ATM流量整形 |
IAD 2400的ADSL接口 | IAD整形器仅支持峰值信元间延迟的整数值,例如1,2,3...因此,如果线速为1536,则可用的PCR为1536、768、512、384。这并不意味着您无法配置任何值,但实际使用的值将与上述相同。2对于SCR,您需要指定要调节的突发信元的最大数量流量传输正常。所有服务类别都可配置。 |
WIC-1ADSL |
|
WIC-1SHDSL |
|
OSM-2OC12-ATM-MM OSM-2OC12-ATM-SI |
|
7300-2OC3ATM-MM 7300-2OC3ATM-SMI 7300-2OC3ATM-SML |
|
4xOC3,用于ESR |
|
1xOC12,用于ESR |
|
1 2600和3600系列的ATM网络模块使用RS8234 SAR,支持VBR-nrt的256个预定义PCR值。
2例如,如果PCR配置为320,整形器将回退到PCR=298。这意味着尽管SCR配置为支持四个同步语音呼叫,但第四个呼叫的质量将较差,因为SCR大于PCR 298。在这种情况下,请更改IAD配置为448(=896/2)。
VBR-nrt服务类别在实施流量整形时使用三个参数:
整形参数 | 定义 |
---|---|
SCR | 定义预期传输数据、语音和视频的持续速率。将SCR视为虚电路的真正带宽,而不是长期平均流量速率。 |
PCR | 定义您预期传输数据、语音和视频的最大速率。将PCR和MBS视为降低延迟而非增加带宽的方法。 |
MBS | 定义路由器在PCR时发送的时间量或持续时间。使用以下公式计算此时间(以秒为单位):T =(突发信元x 424位/信元)/(PCR - SCR)MBS将适应流量模式中的临时突发或短峰值。例如,100个信元的MBS允许三个MTU大小的以太网帧或一个MTU大小的FDDI帧的突发传输。在SCR中考虑较长的持续时间突发非常重要。 |
注意:NM-1A-T3、NM-1A-E3和NM-1A-OC3模块的最大MBS为200个信元。请参阅此漏洞CSCeb42179。PA-A3-OC3和PA-A3-T3/E3模块的最大MBS为23376信元。请参阅此Bug CSCdk37079。
从12.3(5)开始,对PCR等于SCR的PVC的MBS值行为进行修正。当考虑MBS保持突发的持续时间时,当PCR等于SCR时,我们没有配置大于SCR的PCR,并且MBS值不会被使用。它不允许用户配置MBS,而是默认为1。之前的行为允许配置MBS,即使忽略该值。以下示例显示路由器的输出,其中PCR配置为等于SCR。
以下是当PCR等于SCR时MBS值的示例:
Router(config-if-atm-vc)#vbr-nrt ? <1-6093> Peak Cell Rate(PCR) in Kbps Router(config-if-atm-vc)#vbr-nrt 1000 ? <1-1000> Sustainable Cell Rate(SCR) in Kbps Router(config-if-atm-vc)#vbr-nrt 1000 1000 ? <1-1> Maximum Burst Size(MBS) in Cells <cr>
VBR-nrt实现遵循漏桶或令牌桶算法。ATM VC需在时段中获得一个令牌传输信元。算法以SCR速率补充桶中的令牌。如果源文件处于空闲状态,并且在一段时间内不会进行传输,那么令牌在时段累计。ATM VC能使用累计令牌在PCR速率发生脉冲,直到桶内清空为止;此时以SCR速率重新补充令牌。
了解PCR是临时突发现象非常重要。您在PCR发送的持续时间源自转换为“线上时间”的MBS。 例如,用DS-1链路收回上述公式计算信元时间:
1个信元/每秒3622个信元=每个ATM信元276.04微秒
在DS-1链路上,MBS率值为100,等于PCR持续时间为2.8秒。我们建议您花时间了解设置VBR-nrt VC时,MBS率值如何转换成PCR期限。
由于PCR突发是暂时性的,所以如果您的数据流大量出现,并且可以从PCR上的短暂突发中获益时,请将VC配置为VBR-nrt。否则,如果流量模式是批量数据传输,PCR几乎不会带来任何好处。原因是在PCR发生的溢出,ATM VC必须在SCR以下发送一段时间。我们来看一些示例。
假设需要传输包含每秒1500字节信息包(合计为12 kbps)的交互式数据流。(在本例中,我们将忽略ATM开销。) 使用以下规范配置VBR-nrt:
PCR = 800 kbps
SCR = 64 kbps
MBS = 32个信元
800 kbps PCR表明第一个信息包是在15 微秒(12 kbps信息包/800 kbps PCR) 内发送的。 然后它需要187.5微秒(每64 kbps SCR有12 kbps信息包)使令牌桶重新补充。下一个数据包在15微秒内发送。此示例说明PCR突发如何降低延迟。如果没有PCR,那么在只有64 kbps SCR 的VC上,发送第一和第二个信息包需要的时间为187.5微秒。
现在假设需要传输大文件。PCR仅发送第一个数据包(可能)。由于这些令牌不能累计,平均的转发速率将到达最高值SCR。因此,VBR-nrt突发对大文件传输几乎没有好处。
这些示例使用一个与单个1500字节信息包大小完全相同的MBS值。某些应用(如某些视频设备)发送超大IP数据包,最高可达64 kB。这些信息包很容易超出链路的MTU,将整个信息包作为突发传输进行发送可能有用。因此,选择从64个千字节信息包/每个信元48个有效载荷字节公式派生出的1334个信元MBS。
对突发事件没有官方定义。我们可以用MTU大小的帧,或流量模式表示的任何大小的帧来考虑突发传输。然后,此帧将分为若干个单元格。我们能够执行的最佳操作是采用建议,再次了解我们使用MBS的时间。
注意如果您配置PCR=SCR,突发传输计算会被忽略,信用会被设置为1,不管突发流量大小如何。总之,在选择VBR-nrt VC的流量整形参数时,我们推荐使用下列方法:
SCR:如果您的数据流限制位于恒定比特率电路,并且您不在意延迟时间,那么该速率应当是您希望选择的速率。将其视为虚电路的真带宽。
MBS:此数量的信元应符合您对“突发”流量所期望的典型突发大小。
PCR:此速率应与MBS结合使用,以实现“突发”流量所需的延迟。把此操作看作为缩短VC潜伏期而不是增加其带宽的方法。
向Cisco技术支持中心提交的最普通报告之一是不能看到ATM接口在所配置的PCR上爆满。知道ATM接口会出现脉冲是相当重要,但只有在ATM VC已被传输、并在SCR下持续期间才会如此。如果ATM VC总是在SCR上传输,则没有突发信用累计。
如果您拥有到ATM信元测试程序的访问,在查看突发传输时,Cisco推荐使用以下测试程序:
配置PCR,其速率是SCR的2倍。
启动信元测试仪。
启动流量生成器并以高于PCR的速率传输。
查阅在电池测试仪上测量到的电池间隙。您将看到突发,因为信元测试器将报告更小的信元间间隙。
停止信元测试器,在流量生成器上继续以PCR方式发送。
再次启动信元测试器。重要的是,你不会看到爆炸。这是因为数据流生成器总是在PCR上面(和/或SCR上面)发送。 ATM VC从未在SCR下面发送,因此从未累计足够的赊帐,在SCR上面再次发送。
在为VBR-nrt VC配置流量整形值时,请将所有持续的突发数据传输到SCR中。正如上述测试程序所描述的,MBS不是为了在SCR上保留的传输而设计的。
在典型的星型广域网拓朴结构中,数据流量不对称,流入远程站点的流量高于流出远程站点的流量。这样的配置可能得益于配置的不对称永久虚拟电路(PVC)。该电路在nrt-VBR PVC的两个路由器末端使用不同的PCR和SCR流量整形值。
请参阅ATM PVC的两个路由器端需要使用相同流量整形值吗?有关配置非对称PVC的指导。
在ATM路由器接口上配置交换虚拟电路(SVC)时,vbr-nrt命令接受input-pcr、input-scr和Input-MBS参数。在以下示例中,我们指定PCR和SCR输出为5 MB,PCR和SCR 输入为2.5 MB。
Router(config-subif)#svc nsap 47.00918100000000E04FACB401.00E04FACB401.00 Router(config-if-atm-vc)#vbr-nrt 1536 768 94 ? <1-1536> Input Peak Cell Rate(PCR) in Kbps <cr> Router(config-if-atm-vc)#vbr-nrt 1536 768 94 1536 768 ? <1-65535> Input Maximum Burst Size(MBS) in Cells <cr>
为PVC指定数据流参数时,注意相同的vbr-nrt配置声明如何不提供配置这些值的选项,因为VC不执行任何信令。
Router(config)#int atm6/6.1 Router(config-subif)#pvc 100/100 Router(config-if-atm-vc)#vbr-nrt 1536 1536 ? <1-1> Maximum Burst Size(MBS) in Cells <cr> Router(config-if-atm-vc)#vbr-nrt 1536 1536 1 ? <cr>
必须确保正确配置路由器上的流量整形。没有流量整形,路由器传输的信元则不会遵守与ATM网络约定的数据流。如果ATM交换机配置用于数据流策略,这些配置会导致违反和额外的信元丢弃。
流量整形参数配置错误的症状包括:
对远端位置执行小ping操作成功,但较大数据包大小失败。
某些应用程序(如Telnet)会运行,但其他应用程序(如文件传输协议(FTP)不运行。
如果您正在体验这些症状,我们建议联系您的ATM网络提供商,调查交换机是否正在进行策略,VC是否体验了信元丢弃。然后确定路由器上是否需要更改配置。
由于流量整形限制VC的输出量,您可以在ATM接口或一个/多个VC上看到流量丢弃。有关解决此问题的指导,请参阅ATM路由器接口上的输出丢包故障排除。
Cisco TAC收到的一个常见问题是即使在VC看起来不能到达已配置的SCR时,为什么仍然出现输出丢弃,如show interface atm输出所示。换句话说,为什么接口kbps速率从来不能配上已配置的SCR (或PCR,--如果PCR与SCR 是相等)?有几个原因可以说明接口速率为什么可以低于SCR值:
当您使用show interface atm命令时,流量整形引擎不会计算kbps速率显示的AAL5包尾和ATM信元报头的数量。
整形引擎不会区分实际数据字节和填充或填充负载。ATM信元在负载字段中必须包含48个字节。ATM接口使用两个信元来传输64字节的IP数据包。在第二个信元中,以填充形式“浪费的”有效载荷由ATM交换机计算得出,但路由器对其忽略不计。因此,未使用的信元有效负载可以防止实际比特率到达SCR。
平均比特率基于5分钟的默认负载间隔。(使用load-interval interface命令将间隔调低至30秒的最小值。) 流量突发可能会短时间超过SCR和PCR,导致即使长期速率低于SCR,输出也会下降。
因此,避免在show interface atm输出中使用位/秒单位测量流量整形的准确性。相反,我们建议将SCR转换为每秒数据包数。较大的数据包大小应产生更接近所配置SCR的比特率。此外,我们强烈建议在测量流量整形准确性时使用ATM流量分析器。
使用非常低的SCR值的ATM VC可能会遇到ping超时。例如,1500字节信息包等于12,000位,无需开销,或者等于13,200位,带有10%的信元税。配置8 kbps的SCR,可以为您提供2秒钟的传输时间,与默认ping超时匹配。因此,您可能需要配置更高的超时值来解决问题。
如果您的ATM VC配置了更高的SCR值,并且出现Ping失败,请进行不同大小的ping测试,同时对屏幕上打印出来的 round-trip次数进行监控。注意往返最小/平均/最大值。
1500 Byte Ping Results: Sending 5, 1500-byte ICMP Echos to 2.2.2.2, timeout is 2 seconds: !!!!! Success rate is 100 percent (5/5), round-trip min/avg/max = 420/1345/1732 ms
理论上来讲,ATM接口应当按照匀速空间和匀速间隙安排ATM VC的信元。例如,如果您在DS-1 物理接口配置带500 kbps SCR的ATM VC,VC应分配第三时间槽(1500kbps线速率/500 kbps SCR = 3) 。
在某些情况下,ATM路由器接口上的调度程序会背靠背传输相邻信元,而不是使用预期的信元间间隙。这种情况称为信元集聚。这种情况发生时,ATM交换机可能合理确定路由器传输的每秒千位速率是否在技术上超出了指定时刻VC允许的速率。
"ATM交换机支持被称为信元延迟变动容限(CDVT)的可配置值,实施""宽恕要素""进行信元聚集。"换句话说,如果几个信元背对背传输并延迟执行UPC补偿,它将原谅路由器和ATM VC。CDVT用秒计算,其设计能够适应数据流合同的明显违反。