本文档提供了请求注解RFC 1483 桥接格式ATM永久虚电路(PVC)的故障排除步骤。RFC 1483定义了如何封装可路由和不可路由协议的数据包,以便通过ATM链路传输。指定encapsulation aal5snap(也是默认值)将ATM接口配置为预置逻辑链路控制(LLC)和子网访问协议(SNAP)报头。此报头与以太网上的报头相同,它允许通过同一虚拟连接传输多个协议。
本文档没有任何特定的要求。
本文档不限于特定的软件和硬件版本。
有关文件规则的更多信息请参见“ Cisco技术提示规则”。
ATM支持两种类型的接口:
点对点 — 每个接口只有一个虚电路(VC)。 在一个子接口上接收的数据帧(也包括地址解析协议(ARP)广播)会转发到同一网桥组中配置的其他子接口。这使两个远程用户能够通信。
多点 — 每个接口有多条虚电路。标准桥接规则指定数据帧永远不会从接收它们的端口转发出去。从一个远程用户收到的ARP请求不会转发到VC上相同多点子接口下的其他远程用户,甚至不会转发到主接口(默认情况下为多点)上的其他远程用户。了解桥接规则的这些影响非常重要。
接口类型确定同一IP网络上的两个远程用户能否相互通信和接收ARP。
LLC和SNAP报头使用路由格式或桥接格式。桥接格式不一定表示封装协议不可路由。相反,当链路的一端仅支持桥接格式协议数据单元(PDU)时,会使用它,例如在以下应用中:
企业园区ATM网络中路由器与Catalyst交换机之间的连接。
路由器与通过DSL接入复用器(DSLAM)连接的数字用户线路(DSL)用户之间的连接。
在两个应用中,ATM路由器接口通常用作远程用户的默认网关。然后,集成路由和桥接(IRB)、路由网桥封装(RBE)或桥接式PVC为网络外的流量路由提供了机制。
LLC报头由三个一个二进制八位数字段组成:
SNAP报头(标识为LLC值0xAA-AA-03)使用以下格式:
组织唯一标识符(OUI)字段标识管理两个二进制八位数协议标识符(PID)字段含义的组织。OUI和PID字段共同标识不同的路由或桥接协议。
使用debug atm packet interface atm命令查看这些LLC或SNAP报头值。
警告: 在发出 debug 命令之前,请参阅有关 debug 命令的重要信息。
7200-2#show debug ATM packets debugging is on Displaying packets on interface ATM5/0.1 only 06:07:06: ATM5/0.1(O): VCD:0x3 VPI:0x1 VCI:0x32 DM:0x0 SAP:AAAA CTL:03 OUI:0080C2 TYPE:0007 Length:0x80 06:07:06: 0000 0030 9475 10A0 0000 0CD5 F07C 0800 4500 0064 000F 0000 FF01 B785 0101 06:07:06: 0101 0101 0102 0800 58EC 05DF 05A3 0000 0000 0150 188C ABCD ABCD ABCD ABCD 06:07:06: ABCD ABCD ABCD ABCD ABCD ABCD ABCD ABCD ABCD ABCD ABCD ABCD ABCD ABCD ABCD 06:07:06: ABCD ABCD ABCD ABCD ABCD ABCD ABCD ABCD ABCD ABCD ABCD ABCD ABCD
此输出表示:
ATM5/0.1(O) — 接口传输输出数据包。
VCD:0x3 VPI:0x1 VCI:0x32 - PVC使用虚电路描述符(VCD)3、虚路径标识符(VPI)1和虚通道标识符(VCI)0x32或十进制50。路由器以十六进制格式显示所有报头值。将这些值转换为十进制,以确保ATM报头使用正确的值。
SAP:AAAA - SNAP报头如下。
OUI:0080C2 - OUI已分配给IEEE 802.1委员会。标识以太网桥接格式PDU。
TYPE:0007 — 类型或协议ID字段与以太网介质一起使用,以指示发送ATM网桥是保留还是删除以太网帧的帧校验序列(FCS)。 一种ATM适配层5(AAL5)封装尾部,包括四字节CRC,该四字节CRC在传输期间提供与以太网FCS相同的防变保护。
0x00-01 — 保留以太网FCS
0x00-07 — 以太网FCS不保留。
基于Cisco IOS®的设备通常不传输(但接收)保留以太网FCS的帧。不能使用配置命令更改此项。
shu ying ying ying ying ying ying - Cisco ping数据包使用ABCD的默认负载模式。
除数据包外,桥接的ATM接口在配置为运行此协议的IEEE或数字设备公司(DEC)版本时发送生成树数据包。在网桥{group#}协议{ieee}的帮助下启用生成树 | dec}命令,除非远程用户没有进入桥接网络的其他方法。在这种情况下,禁用生成树可以减少路由器在构建网络无环路拓扑时需要执行的计算量。
生成树Hello数据包的类型值为0x000E。默认情况下,充当网桥的路由器每两秒传输一次hello数据包。
04:58:11: ATM5/0.1(O): VCD:0x3 VPI:0x1 VCI:0x32 DM:0x0 SAP:AAAA CTL:03 OUI:0080C2 TYPE:000E Length:0x2F 04:58:11: 0000 0000 0080 0000 000C 99F7 1800 0000 0080 0000 000C 99F7 1880 1200 0014 04:58:11: 0002 000F 0043 04:58:11: 04:58:13: ATM5/0.1(O): VCD:0x3 VPI:0x1 VCI:0x32 DM:0x0 SAP:AAAA CTL:03 OUI:0080C2 TYPE:000E Length:0x2F 04:58:13: 0000 0000 0080 0000 000C 99F7 1800 0000 0080 0000 000C 99F7 1880 1200 0014 04:58:13: 0002 000F 0029
在RFC 1483桥接应用中,Cisco IOS软件支持三种协议来路由离网(到不同的IP网络号)。这些协议是IRB、RBE和桥接式PVC。所有这些都允许ATM接口接收桥接格式PDU。但是,它们在几个关键方面存在差异。例如,IRB通过桥接转发路径和路由转发路径(如果适用)运行每个数据包。它需要第2层和第3层查找。相反,RBE假设要路由数据包,并仅通过路由路径运行数据包。
Cisco IOS软件版本12.1(5)T中引入了对RBE的CEF支持(Cisco Bug ID CSCdr37618(仅限注册客户))。Cisco IOS软件版本12.2(3)T和12.2(3)中引入了对IRB和BVI接口的CEF支持(Cisco Bug ID CSCdm66218(仅限注册客户))。 以前,在启用IRB时,Cisco IOS软件会打印一条消息,指示数据包被“传送”到下一条较低的交换路径。
在帧中继和非IP配置中,IRB是最佳解决方案。但是,思科建议您在配置支持时考虑RBE。
思科提供多个配置示例和白皮书,帮助您配置RFC 1483桥接。
ATM路由网桥封装功能概述 — Cisco 6400系列
ATM路由网桥封装功能概述 — Cisco 3600系列、Cisco 4500系列、Cisco 7200系列和Cisco 7500系列。
本文档不会进一步讨论RBE。接下来的部分将重点介绍标准桥接和IRB。
如果遇到桥接格式PVC的问题,请使用以下故障排除步骤。有关此方面的更详细指南,请与思科技术支持联系。
确保ATM链路两端都发送桥接格式PDU。ATM接口会对收到的每个数据包检查ATM LLC或SNAP报头字段。它确认数据包使用相同的桥接或路由格式。否则,数据包将被丢弃。仅支持这些配置。
路由器(路由格式) — (路由格式)路由器
路由器(桥接格式) — (桥接格式)网桥
网桥(桥接格式) — (桥接格式)网桥
打开debug atm packet interface atm并查看OUI和PID字段。OUI值0x0080C2表示桥接格式PDU。值0x000000表示路由格式的PDU。通过尽可能具体地使用调试配置来限制调试对路由器的影响。
7200-2#debug atm packet int atm 5/0.1 ATM packets debugging is on Displaying packets on interface ATM5/0.1 only 7200-2#ping 1.1.1.2 Type escape sequence to abort. Sending 5, 100-byte ICMP Echos to 1.1.1.2, timeout is 2 seconds: !!!!! Success rate is 100 percent (5/5), round-trip min/avg/max = 4/4/8 ms 7200-2# 06:07:06: ATM5/0.1(O): VCD:0x3 VPI:0x1 VCI:0x32 DM:0x0 SAP:AAAA CTL:03 OUI:0080C2 TYPE:0007 Length:0x80 06:07:06: 0000 0030 9475 10A0 0000 0CD5 F07C 0800 4500 0064 000F 0000 FF01 B785 0101 06:07:06: 0101 0101 0102 0800 58EC 05DF 05A3 0000 0000 0150 188C ABCD ABCD ABCD ABCD 06:07:06: ABCD ABCD ABCD ABCD ABCD ABCD ABCD ABCD ABCD ABCD ABCD ABCD ABCD ABCD ABCD 06:07:06: ABCD ABCD ABCD ABCD ABCD ABCD ABCD ABCD ABCD ABCD ABCD ABCD ABCD 06:07:06: 06:07:06: ATM5/0.1(I): VCD:0x3 VPI:0x1 VCI:0x32 Type:0x0 SAP:AAAA CTL:03 OUI:0080C2 TYPE:0007 Length:0x80 06:07:06: 0000 0000 0CD5 F07C 0030 9475 10A0 0800 4500 0064 000F 0000 FE01 B885 0101 06:07:06: 0102 0101 0101 0000 60EC 05DF 05A3 0000 0000 0150 188C ABCD ABCD ABCD ABCD 06:07:06: ABCD ABCD ABCD ABCD ABCD ABCD ABCD ABCD ABCD ABCD ABCD ABCD ABCD ABCD ABCD 06:07:06: ABCD ABCD ABCD ABCD ABCD ABCD ABCD ABCD ABCD ABCD ABCD ABCD ABCD 06:07:06:
在terminal monitor命令的帮助下,如果Telnet到路由器,请确保能够查看调试输出。要显示当前终端和会话的debug命令输出和系统错误消息,请使用terminal monitor EXEC命令。将所有调试输出定向到缓冲区而不是控制台。为此,请在全局配置模式下执行logging buffered和no logging console命令。使用show logging命令确认更改。所有终端参数设置命令都在本地设置。它们在会话结束后不会保持有效。
cisco#terminal monitor % Console already monitors
使用show atm vc命令显示VC表。确认VC的状态(Sts)为UP。
7200-2#show atm vc VC not configured on interface ATM2/0 VCD / Peak Avg/Min Burst Interface Name VPI VCI Type Encaps SC Kbps Kbps Cells Sts 5/0 1 1 1 PVC SNAP UBR 10000 UP 5/0.1 3 1 50 PVC SNAP UBR 149760 UP
确定PVC的虚电路描述符(VCD)后,发出show atm vc {vcd#}。确认InPkts和OutPkts计数器的增量。检查是否只有一个计数器在递增。PDU格式不匹配的症状包括ping失败,InPkts和OutPkts值增加。
7200#show atm vc 3 ATM5/0.1: VCD: 3, VPI: 1, VCI: 50 UBR, PeakRate: 149760 AAL5-LLC/SNAP, etype:0x0, Flags: 0xC20, VCmode: 0x0 OAM frequency: 0 second(s) InARP frequency: 15 minutes(s) Transmit priority 4 InPkts: 43, OutPkts: 0, InBytes: 1849, OutBytes: 0 InPRoc: 43, OutPRoc: 0, Broadcasts: 0 InFast: 0, OutFast: 0, InAS: 0, OutAS: 0 InPktDrops: 0, OutPktDrops: 0 CrcErrors: 0, SarTimeOuts: 0, OverSizedSDUs: 0, LengthViolation: 0, CPIErrors: 0 Out CLP=1 Pkts: 0 OAM cells received: 0 OAM cells sent: 0 Status: UP
使用debug atm packet int atm和show atm vc {vcd#}命令确认两端都发送了数据包。确认后,确定为什么没有端到端连接。为此,请执行排除IP over ATM PVC连接故障步骤4中列出的检查。
对于发往远程用户的数据包,路由器会查询IP路由表来确定出口接口。然后,它会检查与该接口关联的IP ARP表,查找要放入以太网报头中的目标介质访问控制(MAC)地址。如果路由器没有找到条目,则会生成目的IP地址的ARP请求。使用RBE时,ARP请求仅转发到目的接口。使用IRB时,ARP请求会转发到同一网桥组中配置的所有接口。
使用show ip arp命令确认路由器的IP ARP表中是否有完整的条目来查找用户的IP地址。路由器自动进入ARP表中的网桥组虚拟接口(BVI)。当ping失败时,路由器仍会在ARP表中为用户的IP地址创建一个条目。但是,它列出了不完整的硬件地址。
7200-2#show ip arp Protocol Address Age (min) Hardware Addr Type Interface Internet 1.1.1.1 - 0000.0cd5.f07c ARPA BVI1 Internet 1.1.1.2 0 Incomplete ARPA Internet 172.16.81.46 128 0000.0c8b.fce0 ARPA Ethernet3/0 Internet 172.16.81.14 - 0030.7b1e.9054 ARPA
使用debug atm packet interface atm命令捕获广播的ARP请求。查找FFFF FFFF FFFF的目的MAC地址。路由器发送5个广播。
7200-2#ping 1.1.1.2 Type escape sequence to abort. Sending 5, 100-byte ICMP Echos to 1.1.1.2, timeout is 2 seconds: 05:45:12: ATM5/0.1(O): VCD:0x3 VPI:0x1 VCI:0x32 DM:0x0 SAP:AAAA CTL:03 OUI:0080C2 TYPE:0007 Length:0x4A 05:45:12: 0000 FFFF FFFF FFFF 0000 0CD5 F07C 0806 0001 0800 0604 0001 0000 0CD5 F07C 05:45:12: 0101 0101 0000 0000 0000 0101 0102 0000 0000 0000 0000 0000 0000 0000 0000 05:45:12: 0000
debug arp命令还显示从正确接口传输的ARP请求。在远程端,查找传入的ARP请求。
7200-2#debug arp ? <cr> 7200-2#debug arp ARP packet debugging is on 7200-2#ping 1.1.1.2 Type escape sequence to abort. Sending 5, 100-byte ICMP Echos to 1.1.1.2, timeout is 2 seconds: 05:49:01: IP ARP: creating incomplete entry for IP address: 1.1.1.2 interface BVI1 05:49:01: IP ARP: sent req src 1.1.1.1 0000.0cd5.f07c, dst 1.1.1.2 0000.0000.0000 BVI1. 05:49:03: IP ARP: sent req src 1.1.1.1 0000.0cd5.f07c, dst 1.1.1.2 0000.0000.0000 BVI1. 05:49:05: IP ARP: sent req src 1.1.1.1 0000.0cd5.f07c, dst 1.1.1.2 0000.0000.0000 BVI1. 05:49:07: IP ARP: sent req src 1.1.1.1 0000.0cd5.f07c, dst 1.1.1.2 0000.0000.0000 BVI1. 05:49:09: IP ARP: sent req src 1.1.1.1 0000.0cd5.f07c, dst 1.1.1.2 0000.0000.0000 BVI1. Success rate is 0 percent (0/5)
ATM路由器接口在ATM LLC或SNAP封装之后检查以太网封装。充当网桥的路由器需要能够将目的MAC地址与ATM VC关联。路由器分析封装的PDU的源MAC地址,并将条目添加到其桥接表。使用show bridge命令查看此表。
7200-2#show bridge Total of 300 station blocks, 299 free Codes: P - permanent, S - self Bridge Group 1: Address Action Interface Age RX count TX count 0030.9475.10a0 forward ATM5/0.1 0 16 10
如果桥接表包含数百个或更多条目,请使用这些步骤简化查找单个条目的过程。
发出set terminal len 0命令。
执行show bridge命令。
捕获文件中的输出。
从UNIX工作站发出grep命令,或以其他方式搜索相应的MAC地址。
找到条目后,使用show bridge verbose命令查看特定远程用户的接收和传输计数。
7500-1#show bridge verbose | include 0000.0cd5.f07c BG Hash Address Action Interface VC Age RX count TX count 1 8C/0 0000.0cd5.f07c forward ATM4/0/0.1 9 0 4085 0
确保网桥组的成员端口处于正确的生成树状态。确保所有网桥指向同一指定根网桥。
此输出来自非根网桥。
7200-2#show spanning-tree 1 Bridge group 1 is executing the ieee compatible Spanning Tree protocol Bridge Identifier has priority 32768, address 0000.0c99.f718 Configured hello time 2, max age 20, forward delay 15 Current root has priority 32768, address 0000.0c78.8fb8 Root port is 18 (ATM5/0.1), cost of root path is 14 Topology change flag not set, detected flag not set Number of topology changes 1 last change occurred 00:09:51 ago from ATM5/0.1 Times: hold 1, topology change 35, notification 2 hello 2, max age 20, forward delay 15 Timers: hello 0, topology change 0, notification 0, aging 300 Port 18 (ATM5/0.1) of Bridge group 1 is forwarding Port path cost 14, Port priority 128, Port Identifier 128.18. Designated root has priority 32768, address 0000.0c78.8fb8 Designated bridge has priority 32768, address 0000.0c78.8fb8 Designated port id is 128.6, designated path cost 0 Timers: message age 2, forward delay 0, hold 0 Number of transitions to forwarding state: 1 BPDU: sent 142, received 160
此输出来自根桥。
7500-1#show spanning-tree 1 Bridge group 1 is executing the IEEE compatible Spanning Tree protocol Bridge Identifier has priority 32768, address 0000.0c78.8fb8 Configured hello time 2, max age 20, forward delay 15 We are the root of the spanning tree Port Number size is 12 Topology change flag not set, detected flag not set Times: hold 1, topology change 35, notification 2 hello 2, max age 20, forward delay 15 Timers: hello 0, topology change 0, notification 0 bridge aging time 300 Port 6 (ATM4/0/0.1 RFC 1483) of Bridge group 1 is forwarding Port path cost 15, Port priority 128 Designated root has priority 32768, address 0000.0c78.8fb8 Designated bridge has priority 32768, address 0000.0c78.8fb8 Designated port is 6, path cost 0 Timers: message age 0, forward delay 0, hold 0 BPDU: sent 0, received 1
如果两个远程用户可以ping通ATM接口和网外IP地址,但无法相互ping通,则确定它们是否配置在同一接口下。远程用户在同一主接口或多点子接口上配置时无法相互ping通,因为ARP请求等广播不会转发到接收它们的同一接口。
大型IRB网络的一个重要考虑因素是IP ARP和网桥表条目的老化计时器。始终确保两个表中的条目几乎同时老化。否则,链路中就会出现不必要的流量泛洪。
默认ARP超时为四小时。默认网桥老化时间为10分钟。对于空闲时间为10分钟的远程用户,路由器仅清除用户的网桥表条目并保留ARP表条目。当路由器需要向远程用户发送下行流量时,它会检查ARP表并找到指向MAC地址的有效条目。当路由器检查网桥表中的此MAC地址并找不到它时,路由器会将流量从网桥组中的每条虚电路泛洪出去。这种泛洪会产生不必要的下游流量。
当两个老化计时器配置了相同的值时,两个计时器同时过期。两个表中都清除了远程用户的条目。当路由器需要向远程用户发送下行流量时,它会检查ARP表,找不到任何条目,并为用户发送ARP请求数据包,而不是将数据流量从每条虚电路发送出去。当路由器收到ARP响应时,它仅在相关VC上继续传输数据。
使用这些命令设置ARP和网桥表老化时间。
7500-1(config)#bridge 1 aging-time ? <10-1000000> Seconds 7500-1(config)#interface bvi1 7500-1(config-if)#arp timeout ? <0-2147483> Seconds
RFC 2684取代 RFC 1483,以实现ATM上的多协议封装。RFC 2684第5.2节要求ATM桥接接口将收到的Ethernet/802.3帧(通过传入信元)填充到支持MTU的最小大小。RFC 2684中的字词如下:
“使用桥接以太网/802.3封装格式且保留的LAN FCS的网桥必须包括填充。使用桥接以太网/802.3封装格式而不保留的LAN FCS的网桥可能包括填充,或者省略填充。当网桥接收到没有LAN FCS的此格式帧时,它必须能够在转发到Ethernet/802.3子网之前插入必要的填充(如果尚不存在)。”
思科通过以下漏洞ID实施了此要求:
Bug ID | Platform |
---|---|
CSCds02872(仅限注册客户) | 基于粒子的平台,如Cisco 7200系列和2600/3600系列路由器。 |
CSCds38408(仅限注册客户) | 路由交换处理器(RSP)或Cisco 7500路由器。 |
CSCdr52760(仅限注册客户) | Catalyst XL交换机。 |
CSCdu24062(仅限注册客户) | 千兆位交换机路由器(GSR)。 注意:此Bug ID仅用于提供信息。GSR引擎0 ATM线卡(如4xOC3和1xOC12)由于当前架构而无法实施填充。实际接收子MTU帧并将其转发给以太网的远程设备必须实施所需的填充 |
CSCdu24059(仅限注册客户) | Catalyst 2800 交换机. |
CSCdp82703(仅限注册客户) | Catalyst 5000 交换机. |
版本 | 发布日期 | 备注 |
---|---|---|
1.0 |
18-Dec-2007 |
初始版本 |