异步传输模式 (ATM) : IP to ATM 业务类别

了解和调节 Tx-ring-limit 值

2015 年 8 月 28 日 - 机器翻译
其他版本: PDFpdf | 英语 (2015 年 4 月 22 日) | 反馈


目录


简介

本文讨论硬件传输环路和目的功能tx-ring-limit命令在ATM路由器接口硬件该支持每虚电路(VC)排队。

配置的Cisco路由器接口与服务策略根据VC的拥塞程度存储ATM VC的数据包在两组队列之一中:

队列 位置 排队方法 应用服务策略 调整命令
硬件队列或传输环路 端口适配器或网络模块 仅 FIFO tx-ring-limit
第三层队列 第三层处理器系统或接口缓冲区 不适用 随排队方法变化:- - vc-hold-queue队列极限

先决条件

要求

本文档没有任何特定的要求。

使用的组件

本文档不限于特定的软件和硬件版本。

规则

有关文档规则的详细信息,请参阅 Cisco 技术提示规则

了解存储块

在讨论传输环路前,我们首先需要了解什么微粒是。微粒形成数据包缓冲构建模块在许多平台的,包括Cisco 7200路由器系列和多用途接口处理器在Cisco 7500路由器系列。

根据数据包长度,思科IOS�软件使用一个或更多微粒存储数据包。请看以下示例。当接收1200字节数据包时, IOS获取下个空闲点并且复制数据包数据到微粒。当第一个微粒被填装时, IOS移动向下个空闲点,与第一个微粒连接它,并且持续复制数据到此第二个微粒。在完成, 1200字节的数据包在IOS逻辑上做单个数据包缓冲区的零件内存的三个间断片段存储。

从平台变化的IOS微粒大小到平台。在指定地址池内的所有微粒是相同大小。此一致性简化微粒管理算法,并且帮助造成高效内存使用。

了解缓冲环

与公共和专用接口池一起, Cisco IOS创建呼叫环的特殊缓冲区控制结构。Cisco IOS和接口控制器使用缓冲区用于收到和传达数据包给媒体的这些环控制。环包括media-controller-specific在别处指向单个数据包缓冲区在I/O内存的元素。

每个接口有一个对环-接收的数据包和一条传输环路一个接收环传送信息包的。环的大小能随接口控制器变化。一般来说,传输环路的大小根据接口或VC的带宽并且是电源两(Cisco Bug ID CSCdk17210)。

接口
线路速率(Mb/s) < 2 10 20 30 40 ...
txcount 2 4 8 16 32 64

注意: 在7200系列平台上,如果数据包由IOS,产生传输环路数据包缓冲来自自始发接口的接收环交换数据包的或公共池。在有效载荷数据传送后,他们从传输环路被取消配额并且返回给他们的原始池。

PA-A3 结构概述

要保证高转发性能, PA-A3端口适配器用途分离接收并且传送分段和重组(SAR)芯片。每个SAR由内置内存其自己的子系统支持存储数据包以及关键数据数据结构类似VC表。此内存特别包括SDRAM 4 MB,是已分块的到微粒。

下表说明数量和大小在接收和传输路径的微粒PA-A3的。

微粒大小 微粒编号
接收环 288个字节 n/a
传输环路 576*字节 6000 (144个微粒保留)

*The传输环路的微粒大小也描述作为是580个字节。此值包括用数据包移动在路由器里面的4字节ATM核心报头。

在上表的大小选择,因为他们是可分的由48 (信元的有效载荷域的大小)和由缓存线路大小(32个字节)最高性能的。当数据包要求多缓冲区时,他们设计防止SAR介绍缓冲区之间延迟。传输微粒大小576个字节也选择包括大约互联网信息包的90百分比。

PA-A3 上的发送环分配机制

PA-A3驱动程序赋予默认传输环值到每个VC。此值变化与ATM业务类型分配到VC。下表列出默认值。

VC服务类别 PA-A3-OC3, T3, E3默认传输环值 PA-A3-IMA默认传输环值 PA-A3-OC12默认传输环值 执行的时期
vbr-nrt 基于公式** :(48 x SCR)/(Particle_size x 5)最小值是40,并且改写所有计算值少于40与非常低SCR。注意:SCR是与包括的ATM开销的信元速率。 基于公式:(48 x SCR)/(Particle_size x 5)最小值是40,并且改写所有计算值少于40与非常低SCR。注意:SCR是与包括的ATM开销的信元速率。 基于以下公式:平均速率(SCR) * 2 * TOTAL_CREDITS/VISIBLE_BANDWIDTH TOTAL_CREDITS = 8192 VISIBLE_BANDWIDTH = 599040注意:如果此公式计算比默认是较少128的值,则VC的传输环路限制定到128。 总是
ABR 128 128 不适用 Always*
UBR 40 128 128 只有当总信用利用率超过75百分比或tx_threshold值,如show controller atm所显示

*最初, PA-A3-OC12没有实现vbr-nrt PVC一直活跃的限制对当前传输环值。Bug ID CSCdx11084解决此问题。

**应该用信元/sec表示SCR。

显示当前传输环的值

最初,传输环路的值通过隐藏命令只是可视。show atm vc {vcd}命令当前显示当前值。

您能也使用debug atm events命令查看在PA-A3驱动程序和主机CPU之间的VC设置信息。以下套输出在7200系列路由器的一PA-A3捕获。传输环值显示作为tx_limit值,实现为在传送方向的特定VC分配的微粒缓冲配额。

PVC 1/100配置如vbr-nrt。基于3500 Kbps SCR, PA-A3分配tx_limit 137。要看到此计算如何被做,我们需要转换3500 Kbps SCR到信元/sec。注意(3,500,000个位/sec) * (1 byte/8位) * (1信元/53 bye) = (3, 500, 000信元)/(8 * 53秒) = 8254信元/sec。一旦我们有SCR值在信元/sec,我们能应用上面公式到ger tx_limit = 137。

7200-17(config)#interface atm 4/0 
   7200-17(config-if)#pvc 1/100 
7200-17(config-if-atm-vc)#vbr-nrt 4000 3500 94 
7200-17(config-if-atm-vc)# 
*Oct 14 17:56:06.886:  Reserved bw for 1/100 Available bw = 141500 
7200-17(config-if-atm-vc)#exit 
7200-17(config-if)#logging 
*Oct 14 17:56:16.370: atmdx_setup_vc(ATM4/0): vc:6 vpi:1 vci:100 state:2 config_status:0 
*Oct 14 17:56:16.370: atmdx_setup_cos(ATM4/0): vc:6 wred_name:- max_q:0 
*Oct 14 17:56:16.370: atmdx_pas_vc_setup(ATM4/0): vcd 6, atm hdr 0x00100640, mtu 4482 
*Oct 14 17:56:16.370: VBR: pcr 9433, scr 8254, mbs 94 
*Oct 14 17:56:16.370:  vc tx_limit=137, rx_limit=47 
*Oct 14 17:56:16.374:  Created 64-bit VC count

PVC 1/101配置作为ABR。PA-A3赋予默认ABR tx_limit值为128。(请参见以上的表。)

7200-17(config-if)#pvc 1/102 
7200-17(config-if-atm-vc)#abr ? 
  <1-155000>    Peak Cell Rate(PCR) in Kbps 
  rate-factors  Specify rate increase and rate decrease factors (inverse) 
7200-17(config-if-atm-vc)#abr 4000 1000 
7200-17(config-if-atm-vc)# 
*Oct 14 17:57:45.066:  Reserved bw for 1/102 Available bw = 140500 
*Oct 14 18:00:11.662: atmdx_setup_vc(ATM4/0): vc:8 vpi:1 vci:102 state:2 config_status:0 
*Oct 14 18:00:11.662: atmdx_setup_cos(ATM4/0): vc:8 wred_name:- max_q:0 
*Oct 14 18:00:11.662: atmdx_pas_vc_setup(ATM4/0): vcd 8, atm hdr 0x00100660, mtu 4482 
*Oct 14 18:00:11.662: ABR: pcr 9433, mcr 2358, icr 9433 
*Oct 14 18:00:11.662:  vc tx_limit=128, rx_limit=47 
*Oct 14 18:00:11.666:  Created 64-bit VC counters

PVC 1/102配置作为UBR。PA-A3赋予默认UBR tx_limit值为40。(请参见以上的。)

7200-17(config-if)#pvc 1/101 
7200-17(config-if-atm-vc)#ubr 10000 
7200-17(config-if-atm-vc)# 
*Oct 14 17:56:49.466:  Reserved bw for 1/101 Available bw = 141500 
*Oct 14 17:57:03.734: atmdx_setup_vc(ATM4/0): vc:7 vpi:1 vci:101 state:2 config_status:0 
*Oct 14 17:57:03.734: atmdx_setup_cos(ATM4/0): vc:7 wred_name:- max_q:0 
*Oct 14 17:57:03.734: atmdx_pas_vc_setup(ATM4/0): vcd 7, atm hdr 0x00100650, mtu 4482 
*Oct 14 17:57:03.734: UBR: pcr 23584 
*Oct 14 17:57:03.734:  vc tx_limit=40, rx_limit=117 
*Oct 14 17:57:03.738:  Created 64-bit VC counters

防止所有一致订购过量VC获取所有数据包缓冲资源和妨害从传送正常流量的其他VC在他们的约定的数据流内tx_limit的目的将实现一每个vc传输信用值或存储器分配方案。

PA-A3在两个情况下实现内存信用检查:

  • 在每个vbr-nrt和ABR VC的单个配额-比较每个VC的tx_count和tx_limit值。它丢弃后续信息包,当tx_count比在所有一个VC的tx_limit极大时。请注意数据包突发流量可能在瞬间及时地超出vbr-nrt VC的传输环路和导致输出丢弃。

  • 整体配额-考虑tx_threshold值。PA-A3允许在UBR VC的更加大的突发流量通过强制执行在这样VC的流量监管,只有当在PA-A3的总信息包缓冲区用量达到此预设的阀值时。

注意: 如果数据包要求多个微粒,并且传输环路全双工, PA-A3允许VC超出其配额,如果微粒是可用的。此方案设计适应数据包一小突发流量,不用输出丢弃。

show controller atm命令显示几个的计数器传送赊帐。

7200-17#show controller atm 4/0 
   Interface ATM4/0 is up 
Hardware is ENHANCED ATM PA - OC3 (155000Kbps) 
Framer is PMC PM5346 S/UNI-155-LITE, SAR is LSI ATMIZER II 
Firmware rev: G125, Framer rev: 0, ATMIZER II rev: 3 
  idb=0x622105EC, ds=0x62217DE0, vc=0x62246A00 
  slot 4, unit 9, subunit 0, fci_type 0x0059, ticks 190386 
  1200 rx buffers: size=512, encap=64, trailer=28, magic=4 
Curr Stats: 
  VCC count: current=7, peak=7 
  SAR crashes: Rx SAR=0, Tx SAR=0 
  rx_cell_lost=0, rx_no_buffer=0, rx_crc_10=0 
  rx_cell_len=0, rx_no_vcd=0, rx_cell_throttle=0, tx_aci_err=0 
Rx Free Ring status: 
  base=0x3E26E040, size=2048, write=176 
Rx Compl Ring status: 
  base=0x7B162E60, size=2048, read=1200 
Tx Ring status: 
  base=0x3E713540, size=8192, write=2157 
Tx Compl Ring status: 
  base=0x4B166EA0, size=4096, read=1078 
BFD Cache status: 
  base=0x62240980, size=6144, read=6142 
Rx Cache status: 
  base=0x62237E80, size=16, write=0 
Tx Shadow status: 
  base=0x62238900, size=8192, read=2143, write=2157 
Control data: 
  rx_max_spins=3, max_tx_count=17, tx_count=14 
  rx_threshold=800, rx_count=0, tx_threshold=4608 
  tx bfd write indx=0x4, rx_pool_info=0x62237F20

下表描述PA-A3用于的值强制执行整体传输信用值方案:

说明
max_tx_count 传输微粒最大的直方图PA-A3微码保持的。
tx_count 传输微粒总数PA-A3微码当前保持的。

注意: PA-A3微码也跟踪每个VC tx_count。当微粒发送对从PA-A3驱动程序时的PA-A3微码, tx_count由一个增加。

tx_threshold 当总量自由数据包缓冲在此阈值之下时下降, PA-A3强制执行在UBR VC的传输信用值。注意PA-A3总是强制执行VBR和ABR VC传输赊帐。

什么时候应该调整传输环路?

传输环路起一试运行区域作用对于在将传送的线路的数据包。路由器需要排列数据包足够的数目在传输环路的和保证接口驱动程序有填装可用的信元时隙的数据包。

最初, PA-A3驱动程序没有调节传输环大小,当与低延迟队列(LLQ)的一个服务策略应用。使用当前镜像, PA-A3调低从上述默认(Cisco Bug ID CSCds63407)的值最小化排队相关的延迟。

主要原因调整传输环路是减少排队造成的延迟。当调整传输环路时,请考虑以下:

  • 在所有网络接口,排队强制在延迟和接口能持续的相当数量的一选择突发流量之间。更加大的队列大小持续长脉冲,当增加延迟时。请调整队列的大小,当您感到时VC的流量体验多余的延迟。

  • 考虑数据包大小。配置适应四数据包的tx-ring-limit值。例如,如果您的数据包是1500个字节,设置tx-ring-limit值16 = (4数据包) * (4个微粒)。

  • 保证传输信用值是足够大支持一个MTU大小的信息包和信元数量相等与vbr-nrt PVC的Maximum Burst Size (MBS)。

  • 配置与低带宽VC的一低值,例如128个Kbps SCR。例如,在与160 Kbps SCR的低速的VC, a tx-ring-limit十相对高,并且可能导致明显的延迟(例如,数百毫秒)在驱动器级队列。调tx-ring-limit低对其最小值在此配置方面。

  • 配置高速的VC的高价值。选择值少于四可能从传送禁止VC以其配置速率,如果PA-A3太强烈实施背压,并且传输环路没有等待的数据包一就绪供应传送。保证低值不影响VC吞吐量。(请参阅Cisco Bug ID CSCdk17210。)

换句话说,传输环路的大小需要是足够小避免介绍延迟由于排队,并且需要是足够大避免丢包和产生的影响到基于TCP的流。

接口从第3层排队系统在传输环路首先删除数据包然后排队他们。服务策略仅适用于在第三层队列的数据包并且是透明对传输环路。

排队在传输环路引入是正比例的对环的深度的串行延迟。一额外的串行延迟能影响对时延敏感的应用的延迟预算值例如语音。因此,思科推荐减少传输环路的大小传送语音的VC的。选择根据相当数量的值相当数量串行延迟,表示以秒钟,介绍由传输环路。请使用以下公式:

((P*8)*D)/S
P = Packet size in bytes. Multiply by eight to convert to bits.
D = Transmit-ring depth.
S = Speed of the VC in bps.

注意: 在互联网的IP信息包是典型地一个三个大小:64个字节(例如,控制消息), 1500个字节(例如,文件传输),或者256个字节(其他流量)。这些值导致一个典型的整体互联网信息包大小250个字节。

注意: 下表汇总更加大或更加小的传输环大小优点和缺点:

大小传输环路 优点 缺点
高值 推荐为了数据VC能适应突发流量。 没推荐为语音VC。能引入加长的等待时间和抖动。
低值 推荐为了语音VC能降低延时由于排队和抖动。 没推荐为相对高速的VC。能引入减少的吞吐量,如果调整对这样低值数据包不准备一次发送电线是自由的。

请使用tx-ring-limit命令在VC配置模式调整传输环路的大小。

7200-1(config-subif)#pvc 2/2 
   7200-1(config-if-atm-vc)#? 
   ATM virtual circuit configuration commands: 
  abr                Enter Available Bit Rate (pcr)(mcr) 
  broadcast          Pseudo-broadcast 
  class-vc           Configure default vc-class name 
  default            Set a command to its defaults 
  encapsulation      Select ATM Encapsulation for VC 
  exit-vc            Exit from ATM VC configuration mode 
  ilmi               Configure ILMI management 
  inarp              Change the inverse arp timer on the PVC 
  no                 Negate a command or set its defaults 
  oam                Configure oam parameters 
  oam-pvc            Send oam cells on this pvc 
  protocol           Map an upper layer protocol to this connection. 
  random-detect      Configure WRED 
  service-policy     Attach a policy-map to a VC 
  transmit-priority  set the transmit priority for this VC 
  tx-ring-limit      Configure PA level transmit ring limit 
  ubr                Enter Unspecified Peak Cell Rate (pcr) in Kbps. 
  vbr-nrt            Enter Variable Bit Rate (pcr)(scr)(bcs)
7200-1(config-if-atm-vc)#tx-ring-limit ? 
  <3-6000>  Number (ring limit) 
  <cr>

请使用show atm vc命令当前显示配置值。

7200-1#show atm vc 
VC 3 doesn't exist on interface ATM3/0 
ATM5/0.2: VCD: 3, VPI: 2, VCI: 2 
VBR-NRT, PeakRate: 30000, Average Rate: 20000, Burst Cells: 94 
AAL5-LLC/SNAP, etype:0x0, Flags: 0x20, VCmode: 0x0 
OAM frequency: 0 second(s) 
PA TxRingLimit: 10 
InARP frequency: 15 minutes(s) 
Transmit priority 2 
InPkts: 0, OutPkts: 0, InBytes: 0, OutBytes: 0 
InPRoc: 0, OutPRoc: 0 
InFast: 0, OutFast: 0, InAS: 0, OutAS: 0 
InPktDrops: 0, OutPktDrops: 0 
CrcErrors: 0, SarTimeOuts: 0, OverSizedSDUs: 0 
OAM cells received: 0 
OAM cells sent: 0 
Status: UP

另外,请使用show atm pvc vpi/vci命令查看两个当前传输和接收环限额。以下输出在运行Cisco IOS软件版本12.2(10)的7200系列路由器捕获。

viking#show    atm pvc 1/101 
   ATM6/0: VCD: 2, VPI: 1, VCI: 101 
UBR, PeakRate: 149760 
AAL5-LLC/SNAP, etype:0x0, Flags: 0xC20, VCmode: 0x0 
OAM frequency: 0 second(s), OAM retry frequency: 1 second(s), OAM retry 
frequency: 1 second(s) 
OAM up retry count: 3, OAM down retry count: 5 
OAM Loopback status: OAM Disabled 
OAM VC state: Not Managed 
ILMI VC state: Not Managed 
VC TxRingLimit: 40 particles 
VC Rx Limit: 800 particles

非常小的 Tx-ring-limit 值的影响

在传输路径上,主机CPU转接从主机缓冲区的有效负载到在PA-A3的本地片断缓冲。在PA-A3的固件运行缓存几个缓冲区描述符并且在组中让他们自由。在缓存周期, PA-A3不接受新建的数据包,即使本地内存的内容在物理电线传送。此方案目的将优化整体性能。因此,当配置一个非默认tx-ring-limit值时,请考虑缓冲区描述符返回延迟。

另外,如果配置tx-ring-limit值一个与给微粒大小576个字节, 1500字节数据包从队列删除如下:

  1. PA-A3驱动程序排队在传输环路的第一个微粒,并且记住此数据包在其他两个内存微粒存储。

  2. 在下次传输环路是空的那期间,数据包的第二个微粒在传输环路放置。

  3. 在下次传输环路再是空的那期间,第三个微粒在传输环路放置。

即使传输环路只包括一576个字节微粒, MTU/端口速度仍然是最坏情形下的延迟通过传输环路。

已知问题

tx-ring-limit命令应用对VC通过VC类语句时, PA-A3不运用配置值。通过显示在show atm vc detail命令的当前值证实此结果。调整传输环路使用vc类在Cisco IOS软件版本12.1 (Cisco Bug ID CSCdm93064)实现。CSCdv59010解决与的一问题tx-ring-limit在Cisco IOS软件版本12.2某些版本。当您通过VC类语句实施tx-ring-limit命令对ATM PVC时,没有修改传输环大小。使用show atm vc detail命令,证实此结果,在应用命令以后通过vc-class and class-vc命令对。

当添加到在一PA-A3的PVC在运行Cisco IOS软件版本12.2(1)的Cisco 7200系列路由器, tx-ring-limit命令被复制,如下所示(Cisco Bug ID CSCdu19350)。

 interface ATM1/0.1 point-to-point 
  description dlci-101, cr3640 
  ip unnumbered Loopback0 
  pvc 0/101 
   tx-ring-limit 3 
   tx-ring-limit 3

情况是无害的,并且不影响路由器的操作。

当流量速率低于线路速率时, Cisco Bug ID CSCdv71623解决与输出丢弃的一问题在多链路PPP捆绑接口。此问题在一个ATM接口的CSCdv89201被看到了与极大tx-ring-limit值比五。问题变得特别明显,当分段禁用时或,当链路权重(分段大小限额)时大--在更高的速度链路的共同性类似T1或E1s--并且数据流包括小和大数据包的混合。启用分段和使用一个小分段大小(由interface configuration命令ppp multilink fragment delay的集)极大改进操作。然而,您应该在使用此前验证您的路由器有满足的处理的能力支持分段这些高水平,无需超载系统CPU,作为应急方案。

Cisco Bug ID CSCdw29890解决一问题用ATM PVC套件的CLI接受的tx-ring-limit命令,但是不生效。然而,您通常不需要更改tx-ring-limit ATM PVC套件。原因是,减少环大小有效移动所有传输缓冲向一个QOS受控的队列,因此一个到达的优先级信息包立即传送最小化在低速接口的延迟。使用ATM PVC套件,从数据包的信元所有成员VC同时总是被发送(并且插入),因此延迟自动地最小化。

在 3600 与 2600 路由器上调整 tx-ring-limit

当前Cisco IOS软件镜像支持调整在ATM网络模块的传输环路Cisco 2600及3600系列路由器的(Cisco Bug ID CSCdt73385)。当前值在show atm vc输出中出现。

相关的思科支持社区讨论

思科支持社区是您提问、解答问题、分享建议以及与工作伙伴协作的论坛。


相关信息


Document ID: 6142