目录

简介

先决条件

要求

使用的组件

规则

如何理解AAL5帧的分段和重组

如何理解流量整形和策略的基本知识

如何理解可变比特率、非实时(VBR-NRT)

如何在目标地址和PVC之间映射

故障排除

如何排除连接问题

如何排除PVC总连接故障

重要命令

pvc

命令模式

示例显示

atm pvc

命令模式

示例显示

致电思科技术支持

章回

脚注

1

2

3

4

5

6

相关信息

简介

本章介绍如何排除在WAN主干上传输第2层帧/第3层数据包时出现的ATM问题。它评论：

- 帧或数据包如何分段到ATM信元

- show命令的重要性以及如何解释它们

- 如何检测错误整形或管制并排除故障

注：本章中的信息适用于所有思科设备，因为它只关注技术本身，而不依赖于硬件或软件。

异步传输模式(ATM)是ITU-T（以前称为CCITT）在20世纪90年代初定义的技术。相关标准描述了一种传输技术，其中信息以称为信元的小型固定长度数据单元传输。

在ATM网络中，可以明确区分支持应用的设备(称为终端系统(ES))和仅中继信元的设备。这些中继设备是中间系统(IS)或ATM交换机。ES的示例包括路由器和LAN仿真(LANE)模块。IS的示例包括LS1010、8540MSR、BPX。

这是ATM网络的表示：

ATM定义了如何分段和重组不同类型的信息。ATM可以传输视频、语音和数据。ATM网络保留并保证适当的服务质量(QoS)。由于任何类型的信息都可以按照相关标准分割成信元，因此ATM是一种灵活的工具，因此可以在许多环境中使用。这些环境可分为两大类：

- LAN交换环境 — LANE最常用。通常，由于ATM连接是按需建立和移除的，因此此动态环境中的QoS很少。

- WAN环境 — 有两个参与者：

- _Telco — 通常在静态环境中提供非常精确的服务质量。电话公司的ATM网络由ATM交换机组成。由于电话公司提供ATM服务，因此请致电ATM服务提供商。

- _Enterprise — 通常向ATM服务提供商请求ATM服务

本章仅重点介绍企业WAN环境中的ATM连接。在这种环境中，终端系统是99%的路由器。因此，您只在本文档的其余部分使用“路由器”一词。这些路由器交换数据包1。您使用IP作为参考协议，所有解释对其他第3层协议（如IPX和ATALK）都有效。从企业角度来看，网络与以下类似：

通常，企业路由器和ATM服务提供商会遵守有关服务质量的流量合同。最初，它看起来非常简单，只有图中的两台设备和ATM提供商的云，从企业角度看不到。遗憾的是，此环境中的问题并非微不足道，因为您对ATM提供商的设备没有完全的可视性。

先决条件

要求

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

使用的组件

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

规则

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

如何理解AAL5帧的分段和重组

AAL（ATM适配层）使用户信息（包括数据、语音、视频等）适应可以轻松划分为ATM信元的格式。一旦您拥有了AAL-PDU，它就会传递到分段和重组(SAR)层，该层将这个大数据包分段为ATM信元。AAL5是最常用于数据传输的AAL类型。此处的数据还包括IP语音。本图说明了AAL5的SAR过程。

在目的路由器上，将应用反向过程。观察信元报头中设置为1的特殊位，以便目的路由器轻松识别AAL5数据包的最后一个信元。

整个过程通常在硬件中实现，运行效率高。以下是可能出现的两个主要问题：

- ATM网络中的发射器或设备可能会在目的地损坏一个或多个信元。信元中执行循环冗余校验(CRC)类型的唯一字段是报头校验和字段(HEC)。 如名称所示，它只检查单元格报头。

- 在提供商的网络中可以丢弃一个或多个信元。

这是您如何检查这两个问题在目的路由器上的影响以及如何检测它们：

- 如果一个单元格损坏，则单元格数量仍然相同。CPCS-PDU帧以正确的大小重新组装。路由器检查长度字段是否确实正确。但是，由于一个单元损坏了整个帧，因此只是略微损坏了。因此，AAL5 CPCS-PDU帧的CRC字段与最初发送的字段不同。

- 如果目的地缺少一个信元，则其大小和CRC与CPCS-PDU帧中包含的信元不同。

无论真正的问题是什么，在目的地检测到错误的CRC。检查接口统计信息，以便路由器管理员检测到此情况。一个CRC错误导致输入错误计数器增加1 [2]。show interface atm命令输出说明了以下行为：

Medina#show interface atm 3/0

ATM3/0 is up, line protocol is up

Hardware is ENHANCED ATM PA

MTU 4470 bytes, sub MTU 4470, BW 149760 Kbit, DLY 80 usec,

reliability 255/255, txload 1/255, rxload 1/255

Encapsulation ATM, loopback not set

Keepalive not supported

Encapsulation(s): AAL5

4096 maximum active VCs, 2 current VCCs

VC idle disconnect time: 300 seconds

Signalling vc = 1, vpi = 0, vci = 5

UNI Version = 4.0, Link Side = user

0 carrier transitions

Last input 00:00:07, output 00:00:07, output hang never

Last clearing of "show interface" counters never

Input queue: 0/75/0 (size/max/drops); Total output drops: 0

Queueing strategy: Per VC Queueing

5 minute input rate 0 bits/sec, 0 packets/sec

5 minute output rate 0 bits/sec, 0 packets/sec

104 packets input, 2704 bytes, 0 no buffer

Received 0 broadcasts, 0 runts, 0 giants, 0 throttles

32 input errors, 32 CRC, 0 frame, 0 overrun, 0 ignored, 0 abort

106 packets output, 2353 bytes, 0 underruns

0 output errors, 0 collisions, 1 interface resets

0 output buffer failures, 0 output buffers swapped out

在上一个输出中，输入错误计数器表示32个错误（32个输入错误）。 如果路由器已配置多条PVC，则仅依赖接口全局计数器可能不足，因为输入错误计数器可能显示多条PVC的流量。建议在此场景中使用show atm pvc vpi/vci命令。例如：

Medina#show atm pvc 0/36

ATM3/0.1: VCD: 4, VPI: 0, VCI: 36

VBR-NRT, PeakRate: 2000, Average Rate: 1000, Burst Cells: 32

AAL5-LLC/SNAP, etype:0x0, Flags: 0x20, VCmode: 0x0

OAM frequency: 0 second(s), OAM retry frequency: 1 second(s), OAM retry

frequen)

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

InARP frequency: 15 minutes(s)

Transmit priority 2

InPkts: 24972, OutPkts: 25032, InBytes: 6778670, OutBytes: 6751812

InPRoc: 24972, OutPRoc: 25219, Broadcasts: 0

InFast: 0, OutFast: 0, InAS: 0, OutAS: 0

InPktDrops: 0, OutPktDrops: 0

CrcErrors: 0, SarTimeOuts: 0, OverSizedSDUs: 0

OAM cells received: 0

F5 InEndloop: 0, F5 InSegloop: 0, F5 InAIS: 0, F5 InRDI: 0

F4 InEndloop: 0, F4 InSegloop: 0, F4 InAIS: 0, F4 InRDI: 0

OAM cells sent: 0

F5 OutEndloop: 0, F5 OutSegloop: 0, F5 OutRDI: 0

F4 OutEndloop: 0, F4 OutSegloop: 0, F4 OutRDI: 0

OAM cell drops: 0

Status: UP

在此输出3中,CRC错误计数器指示CPCS-PDU帧的CRC错误数。两个命令都是在同一台路由器上键入的。由于在显示PVC 0/36的统计信息时看不到CRC错误(CrcErrors)，因此假设show interface 命令的输入错误是由另一个PVC引起的。

注意：  一个输入错误并不总是意味着一个数据包丢失。由ATM提供商丢弃的信元可以是帧的最后一个。因此，被丢弃的单元将此特殊位设置为1。目的地查找帧边界的唯一方法是检查此位。因此，目的路由器在重组时会连接它接收的所有信元，直到找到此位设置为1的信元。如果丢弃帧的最后一个单元，则两个CPCS-PDU帧会丢失，这只会导致一个CRC和长度错误。

如何理解流量整形和策略的基本知识

流量整形是指由ATM流量源执行的操作。管制是指ATM交换机（通常在提供商端）执行的操作。

流量整形是小区流量适应特定交通契约的行为。这如下图所示。

策略是检查信元流是否符合特定流量合同的操作。此图如下所示：

注意：这些图并不表示流量整形和管制是指通用合同并使用类似算法。错误配置的管制或整形通常会导致被监察器丢弃的信元。即使整形和策略都设置为相同的值，策略也可以开始丢弃信元。这通常是因为整形器不良或监察器出现故障。

如何理解可变比特率、非实时(VBR-NRT)

本节仅介绍流量整形。您可以在ATM论坛网站上提供的流量管理规范中找到更多详细信息。

在ATM中，在信元之间插入等时间间隔，以使流量整形工作。例如，如果OC-3/STM-1连接为155Mbit/sec，则只能使用~149Mbit/sec来转发ATM信元[4]。因此，最大速率为353.208个信元（353.208 * 53 * 8位可在一秒内装入OC-3c/STM-1帧负载）。 如果请求连接74.5 Mbit/秒（线速的一半），则每个单元之间将插入2.83微秒的等距。2.83微秒是在OC3c/STM-1（1/353.208秒）处发送一个信元所需的时间。 当您请求半个线速时，您可以发送一个信元，等待相等的时间，然后重新开始。

请求的最传统流量是可变比特率(VBR)流量整形：

VBR流量整形是繁忙网络的有效方法。使用的参数包括峰值细胞率(PCR)、可持续细胞率(SCR)和最大突发大小(MBS)。 一旦达成流量合同，ATM网络就会保证VBR参数内的信元传输。允许超过SCR的细胞数由MBS设置并由PCR绑定。

以下是这些参数的定义：

- PCR — 源可发送信元的最大速率

- SCR — 长期平均信元速率上的绑定

- MBS — 在PCR时可在SCR上方发送的最大细胞数

如何在目标地址和PVC之间映射

问题的常见原因是ATM映射配置不正确。配置PVC本身后，必须告诉路由器要到达特定目的地要使用哪个PVC。有三种方法可确保映射正确：

- 如果将PVC放在点对点子接口上，路由器会假设该子接口上只配置了一个点对点PVC。因此，目的IP地址位于同一子网的所有IP数据包都会在此VC上转发。因此这是配置映射最简单的方法因此也是推荐的方法。

- 如果将PVC放在点对多点子接口或主接口中，则必须创建静态映射。有关配置示例，请参阅故障排除部分。

- 您可以使用逆向ARP自动创建映射。有关详细信息，请参阅重要命令。

故障排除

如何排除连接问题

假设信息在两台路由器之间丢失的两种最常见症状是：

- 由于信元在ATM云中被丢弃，导致IP数据包被丢弃，并且重新传输的次数很多，因此TCP连接速度很慢。TCP本身认为这是由于拥塞，并尝试降低其传输窗口，这会导致TCP连接速度非常慢。这会影响所有基于TCP的协议，如Telnet或FTP。

- 大型IP数据包在小数据包通过ATM网络时通常会失败，而且没有问题。这又是由于信元被丢弃。

请集中注意第二个症状，这有助于检测问题。假设，对于源路由器传输的每100个信元，提供商会因为管制而放弃最后一个信元。这意味着，如果ping的数据部分为100字节，则需要3个ATM信元才能发送它。这是因为包含ICMP回应请求需要3 x 48字节。实际上，这意味着前33个ping操作成功。更准确地说，前99个信元是提供商在合同中看到的，而第34个信元则因其中一个信元被丢弃而失败。

如果假设您保持相同的设置，并且您使用1500字节数据包而不是小型ICMP回声(ping)，则需要32个信元来传输每个大数据包（32 x 48 = 1536字节，是数据包大小以上48的最小倍数）。 如果网络在100个信元中丢弃一个信元，则大约3个或4个信元中的一个数据包将被丢弃。证明您存在策略问题的一种简单而有效的方法是提高数据包大小。

实际上，您可以从路由器自身生成大量ping。

Medina#ping

Protocol [ip]:

Target IP address: 10.2.1.2

Repeat count [5]: 100

Datagram size [100]: 1500

Timeout in seconds [2]: 2

Extended commands [n]:

Sweep range of sizes [n]:

Type escape sequence to abort.

Sending 100, 1500-byte ICMP Echos to 10.2.1.2, timeout is 2 seconds:

!!!.!!.!!!.!!.!!!.!!.!!!.!!.!!!.!!.!!!.!!.!!!.!!.!!!.!!.!!!.!!.!!!.!!.!!!.!!.!!!

.!!.!!!.!!.!!!.!!.!

成功率为72%(72/100)。

如果真正的问题与策略有关，则对较大数据包执行相同测试会生成不同的结果：

Medina#ping

Protocol [ip]:

Target IP address: 10.2.1.2

Repeat count [5]: 100

Datagram size [100]: 3000

Timeout in seconds [2]: 2

Extended commands [n]:

Sweep range of sizes [n]:

Type escape sequence to abort.

Sending 100, 3000-byte ICMP Echos to 10.2.1.2, timeout is 2 seconds:

!.!.!..!.!.!..!.!..!.!...!..!.!.!..!.!.!.!.!.!.!..!..!.!...!..!.!.!..!.!.!..!.!.

!..!.!..!.!.!.!..!..!

成功率为42%(42/100)。

如果在运行这些测试后您断定您遇到管制问题，请与ATM提供商联系并检查以下几点：

- 提供商是否确实在丢弃信元？提供商必须能够告诉您这一点。

- 如果是，具体原因是什么？答案通常是管制，但有时，其网络只是拥塞。

- 如果原因是管制，则流量参数是什么？它们是否与路由器上的设置匹配？

如果路由器和提供商确实使用相同的流量参数，则存在实际问题。路由器整形不良或提供商策略管制不准确。请参阅Bug工具包。(仅限注册客户)没有两种流量整形实施会提供完全相同的结果流量。可以接受小的变体。但是，实施只能产生可忽略不计的流量损失。

市场上的一些流量分析器可以根据给定的一组流量参数（例如GN Nettest和HP）检查流量合规性。这些设备可以判断来自路由器的流量是否整形正确。

如果您发现思科路由器整形不准确，并且找不到任何已记录的漏洞和/或卡限制，请向思科技术支持部门提交案例。

如何排除PVC总连接故障

上一节重点介绍部分丢包。本节重点介绍总连接丢失。

表 1：两台连接ATM的路由器之间的总连接丢失

可能的问题

解决方案

PVC在提供商云中断开。

这是最常见的问题。如果提供商的ATM云中存在大问题，则来自提供商设备的信号仍然良好。因此，路由器的接口仍处于up状态。同时，路由器发送的任何信元都被提供商接受，但永远无法到达目的地。通常，呼叫提供商会快速回答。但是，由于接口不关闭，因此路由表不会删除第3层路由，并且不能使用备用或备用路由5。在此环境中，最佳解决方案是启用OAM管理，以自动执行流程。有关详细信息，请参阅《Cisco WAN Manager安装和配置指南》。使用环回以证明ATM卡正常。有关详细信息，请参阅“其中一个接口关闭，下表”条目的解决方案。

其中一个接口关闭，关闭。

1. 找到一个ATM接口处于down、down状态。确保接口或子接口未关闭。

2. 检验成帧和扰码配置是否正确。

- 使用show atm interface atm命令检查必须与提供商同意的成帧。在接口配置模式下使用atm framing xxx进行配置。

- 扰码在DS-3中非常重要。请在接口配置模式下使用atm ds3-scramble或atm e3-scramble来对其进行配置。

3. 检查电缆的质量。

4. 在以下位置查找物理错误的证据：

- ATM设备的show controller。

- show atm pvc输出。检查PVC状态。例如，确保您没有收到AIS。

5. 如果物理端显示正常，并且您看到传出流量计数器不断增长，请回环物理接口，以便检查您实际上正在将流量从接口转发出去。这有两种方法：

- 将Tx物理环回到Rx。

- 请使用ATM卡的可能性来帮助您完成此操作，进入配置接口模式并键入环回诊断。一旦环回到位，如果硬件没有故障，接口必须恢复运行。

6. 定义环回后，尝试ping自己。为此，映射条目必须指回您。

存在第3层路由问题。

1. 两个接口都处于up和up状态。检查相应的路由表。对于IP，请使用show ip route命令。输入show ip route a.b.c.d，其中a.b.c.d是您无法到达的目标IP地址。此IP地址只能使用ATM PVC到达。

2. 检验是否可以到达PVC另一端的对等路由器。

3. 如果对等路由器是可到达的邻居，且路由表未指向ATM子接口（其中为给定路由定义了PVC），则问题可能是路由问题。请参阅“排除TCP/IP故障”一章。

对等路由器的第3层地址映射不匹配。

PVC与路由器的第3层地址之间没有自动映射（使用PVC可到达）。 使用show atm map命令可检查以下内容：
Ema#show atm map

Map list test: PERMANENT

ip 164.48.227.142 maps to VC 140

重要命令

本节介绍旧语法(show atm vc和atm pvc)与新语法(如Cisco IOS®软件版本11.3T(show atm pvc和pvc)所提供)之间的区别。

pvc

使用pvc interface 配置命令可执行以下一个或多个操作，其完整说明可在命令参考中找到：

- 在主接口或子接口上创建ATM PVC。

- 为ATM PVC分配名称。

- 指定要在此PVC上使用的ILMI、QSAAL或SMDS协议。

- 进入interface-atm-pvc配置模式。

命令模式

接口配置

示例显示

Medina#show running-config interface atm 3/0.1

Building configuration...

Current configuration:

!

interface ATM3/0.1 multipoint

ip address 10.2.1.1 255.255.255.252

no ip directed-broadcast

pvc 0/36

protocol ip 10.2.1.1 broadcast

protocol ip 10.2.1.2 broadcast

vbr-nrt 2000 1000 32

encapsulation aal5snap

!

end

使用show atm pvc 0/36 ，以检查其状态（如前所示），或使用早期命令show atm vc:

Medina#show atm vc

VCD /                                      Peak  Avg/Min Burst

Interface   Name       VPI   VCI  Type   Encaps   SC   Kbps   Kbps   Cells  Sts

3/0        1            0     5   PVC    SAAL     UBR  149760                UP

3/0        2            0    16   PVC    ILMI     UBR  149760                UP

3/0.1      4            0    36   PVC    SNAP     VBR    2000   1000   32    UP

找到正确的VCD编号后，即可显示VC统计信息：

Medina#show atm vc 4

ATM3/0.1: VCD: 4, VPI: 0, VCI: 36

VBR-NRT, PeakRate: 2000, Average Rate: 1000, Burst Cells: 32

AAL5-LLC/SNAP, etype:0x0, Flags: 0x20, VCmode: 0x0

OAM frequency: 0 second(s)

InARP frequency: 15 minutes(s)

Transmit priority 2

InPkts: 24972, OutPkts: 25137, InBytes: 6778670, OutBytes: 6985152

InPRoc: 24972, OutPRoc: 25419, Broadcasts: 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命令和旧的show atm vc命令。建议使用新命令。

映射已配置，因为这是点对多点接口，可使用show atm map 命令检查：

Medina#show atm map

Map list ATM3/0.1pvc4 : PERMANENT

ip 10.2.1.1 maps to VC 4, VPI 0, VCI 36, ATM3/0.1

, broadcast

ip 10.2.1.2 maps to VC 4, VPI 0, VCI 36, ATM3/0.1

, broadcast

子接口类型为多点，因此需要映射。如果是点对点子接口，则可跳过PVC配置中的协议行，因为路由器假设所有目标位于同一子网的IP数据包都需要转发到PVC。逆向ARP也可以在PVC配置中配置，以便自动执行映射过程。

atm pvc

如果运行Cisco IOS软件版本11.3（非T系列）或更早版本，则PVC config命令尚不可用，应使用旧语法。整个PVC配置仅在一行中完成，这限制了配置的可能性。完整说明可在命令参考中找到。

命令模式

接口配置

示例显示

Medina#show run interface atm 3/0.1

Building configuration...

Current configuration:

!

interface ATM3/0.1 multipoint

no ip directed-broadcast

map-group MyMap

atm pvc 4 0 36 aal5snap 2000 1000 32

end

以下是映射列表定义与映射组名称匹配的部分配置示例：

<snip>

!

map-list MyMap

ip 10.2.1.1 atm-vc 4 broadcast

ip 10.2.1.2 atm-vc 4 broadcast

<snip>

使用上述部分配置，以便使用与新语法相同的命令检查映射：

Medina#show atm map

Map list MyMap : PERMANENT

ip 10.2.1.1 maps to VC 4

, broadcast

ip 10.2.1.2 maps to VC 4

, broadcast

您将再次看到，新语法更简单、更清晰。

致电思科技术支持

在致电思科技术支持之前，请阅读本章并完成针对系统问题建议的操作。

完成以下步骤并记录结果，以便思科技术支持部门更好地为您提供帮助：

- 对两台路由器发出show tech命令。这有助于思科支持工程师(CSE)了解路由器行为。

- 在两台路由器上发出show atm pvc 命令，并在PVC上发出show atm pvc vpi/vci命令，导致问题。这有助于CSE了解问题。

- 解释ATM提供商对问题的看法，并说明提供商是否认为问题出在路由器上。

章回

1. 比较点对点和点对多点子接口上的PVC配置。

2. 为路由器和交换机配置不匹配的整形和策略。通过ping测试检验路由器发送的流量是否确实受到了错误的管制。

3. 配置OAM管理，使子接口在PVC故障时关闭。

4. 将PVC的配置与旧语法和新语法进行比较。迁移到新语法的主要原因是什么？

5. 比较使用旧命令show atm vc与新命令show atm pvc检查PVC状态/统计信息的情况。新语法提供哪些增强功能？

脚注

1

ATM基本上可以将任何类型的信息分割成信元。我们经常讨论数据包或帧（第3层或第2层数据单元）。 我们可以使用“协议数据单元”一词，它允许我们按照OSI规范的要求，大致讨论任何层。为了清晰起见，我们将讨论数据包。

2

您会看到，show interface的CRC错误计数器等于输入错误的数量。在某些终端系统（如Catalyst 5000的LANE模块）上，只增加输入错误计数器。因此，您应该关注输入错误。根据经验，如果不运行最新版本，建议还检查show controller的输出，因为它提供了有关ATM卡自身计数器的更多物理详细信息。

3

show atm pvc的输出可能会有所不同，具体取决于卡的功能和代码功能。所示示例使用PA-A3和Cisco IOS软件版本代码版本12.1。

4

SONET/SDH的开销约为3%。

5

这假定已使用静态路由。如果在此ATM PVC上使用动态路由协议，则协议最终会收敛。此过程可能很慢，请参阅相应路由协议的故障排除部分。

6

show controller输出特定于每个ATM卡。通常，可以从此输出推断出有价值的信息，但无法给出通用描述。

相关信息

- 国际电信联盟

- 外交部论坛

- 技术节 — 网络

- Protocols.com

- 技术支持和文档 - Cisco Systems