帧中继论坛(FRF)发布帧中继网络的实施协议或标准,以促进互操作性。FRF.8指定帧中继到ATM服务互通。我们的网络拓扑使用三个组件:
配置了帧中继封装的串行接口的路由器终端。
ATM终端。
网络交换机或实施互通功能(IWF)的思科路由器,允许两个终端通信。
FRF.8协议的第5部分讨论了两种上层协议封装模式。此封装是指标识协议数据单元(PDU)内所承载协议的报头,使接收方能够正确处理传入的数据包。FRF.8定义了两种模式 — 转换和透明。在交互工作功能中选择其中一种模式将决定我们需要在ATM终端上配置的封装。
本文档说明透明模式和转换模式之间的数据包级别差异,以帮助排除FRF.8实施的端到端连接问题。
本文档没有任何特定的要求。
本文档不限于特定的软件和硬件版本。
有关文件规则的更多信息请参见“ Cisco技术提示规则”。
帧中继和ATM是网络接口的第2层协议。两种协议在第2层使用两个不同的报头:
上层协议封装报头 — 将封装和传输到帧或信元中的协议进行通信。由帧中继的请求注解(RFC)1490和FRF 3.2以及ATM的RFC 1483和2684定义。
地址报头 — 传达第2层地址(数据链路连接标识符[DLCI]或虚拟路径标识符/虚拟通道标识符[VPI/VCI])以及丢失优先级和拥塞指示值。由Q.922(通常为两个字节)定义的帧中继和ATM的五字节信元报头。
注意:FRF.8转换和透明模式与封装报头有关。
下图说明了一个帧中继数据包示例,其中包含Q.922地址报头以及上层协议封装报头的控制和网络层协议标识(NLPID)字段。
在查看一些debug命令以说明FRF.8模式之前,我们首先需要了解帧中继封装。Cisco路由器接口支持两种协议封装:Cisco和Internet工程任务组(IETF),您可以使用encapsulation frame-relay [ietf]命令选择这两种封装。这些封装包括两种IETF格式和一种Cisco格式。让我们更详细地了解这些。
RFC 1490和2427定义了帧中继的IETF封装。它们指定如何使用NLPID值。ISO/国际电工委员会(IEC)TR 9577文档为选定的多种协议定义了NLPID值,包括:
价值 | 描述 |
---|---|
0x00 | 空网络层或非活动设置(不与帧中继一起使用) |
0x80 | 子网访问协议(SNAP) |
0x81 | ISO CLNP |
0x82 | ISO端系统到中间系统(ES-IS) |
0x83 | ISO中间系统到中间系统(IS-IS) |
0xCC | 互联网IP |
具有已定义NLPID值的协议使用短格式报头,如下所示。
没有定义NLPID值的协议使用SNAP报头,并且NLPID值为0x80表示,如下所示。
路由器自动选择以下规则使用的IETF表单:如果协议有NLPID值,请使用缩写。否则,请使用长格式。
Cisco封装使用包含EtherType值的双字节控制字段来标识第3层协议。Cisco IP封装使用两字节EtherType 0x0800,后跟IP数据报。
FRF.8实施协议使用以下措辞描述翻译和透明模式。
透明模式(模式1) — 当封装方法不符合模式2中引用的标准,但它们在终端设备之间兼容时,互通功能(IWF)会转发未更改的封装。它不执行任何映射、分段或重组。
转换模式(模式2) — 在帧中继PVC和ATM PVC上传输多个上层用户协议(例如,LAN到LAN)的封装方法分别符合标准FRF 3.2和RFC 2684。由于两种方法不兼容,IWF在两种封装之间执行映射。转换模式支持网间(路由和/或桥接)协议的互通。
现在,我们发出Cisco IOS®软件show和debug命令,了解如何将这些模式应用于Cisco路由器上FRF.8的实际实施。
本部分使用以下网络设置:
本部分使用以下配置:
3620-1 |
---|
interface Serial1/0 ip address 10.10.10.1 255.255.255.0 encapsulation frame-relay IETF frame-relay map ip 10.10.10.2 25 frame-relay interface-dlci 25 frame-relay lmi-type ansi |
72.06亿 |
---|
frame-relay switching ! interface Serial4/3 no ip address encapsulation frame-relay IETF frame-relay interface-dlci 50 switched frame-relay lmi-type ansi frame-relay intf-type dce ! interface ATM5/0 no ip address atm clock INTERNAL no atm ilmi-keepalive pvc 5/50 vbr-nrt 100 75 oam-pvc manage encapsulation aal5mux fr-atm-srv ! connect SIVA Serial4/3 50 ATM5/0 5/50 service-interworking |
7500-A |
---|
interface atm 4/0/0.50 multi ip address 10.10.10.2 255.255.255.0 pvc 5/50 vbr-nrt 100 75 30 protocol ip 10.10.10.1 |
注意:当说明这两种模式时,我们通过在ATM终端上发出命令encapsulation aal5nlpid和在IWF路由器上发出no service translation来更改两种配置。
交互工作设备执行其功能中断模式,因此无法捕获debug atm packet输出,因为这些调试仅与进程级数据包一起工作。我们必须在两端运行调试以捕获数据包的格式。
注意:在发出debug命令之前,请参阅有关Debug命令的重要信息。
debug frame-relay packet int serial 1/0 — 在帧中继终端上捕获数据包级解码。
debug atm packet int atm 4/0/0.50 — 捕获ATM终端上的数据包级解码。
debug atm error — 捕获封装错误或不匹配。
当我们使用connect命令链接ATM和帧中继PVC时,IWF路由器会自动使用转换模式。使用show connect name命令确认此情况。
我们可以使用以下配置从帧中继终端向ATM终端发起ping:
使用IETF封装配置帧中继终端。
为转换模式配置IWF路由器。
使用AAL5SNAP封装配置ATM终端。
3620-1.9# ping 10.10.10.2 Type escape sequence to abort. Sending 5, 100-byte ICMP Echos to 10.10.10.2, timeout is 2 seconds: !!!!! Success rate is 100 percent (5/5), round-trip min/avg/max = 36/36/40 ms
我们的ping操作成功。我们来看看每个终端上的数据包报头。
在帧中继终端上调试帧中继数据包
3620-1.9# *Apr 4 11:13:20.978: Serial1/0(o): dlci 50(0xC21), NLPID 0x3CC(IP), datagramsize 104 *Apr 4 11:13:21.014: Serial1/0(i): dlci 50(0xC21), NLPID 0x3CC(IP), datagramsize 104 *Apr 4 11:13:21.014: Serial1/0(o): dlci 50(0xC21), NLPID 0x3CC(IP), datagramsize 104 *Apr 4 11:13:21.050: Serial1/0(i): dlci 50(0xC21), NLPID 0x3CC(IP), datagramsize 104 *Apr 4 11:13:21.050: Serial1/0(o): dlci 50(0xC21), NLPID 0x3CC(IP), datagramsize 104 *Apr 4 11:13:21.086: Serial1/0(i): dlci 50(0xC21), NLPID 0x3CC(IP), datagramsize 104 *Apr 4 11:13:21.090: Serial1/0(o): dlci 50(0xC21), NLPID 0x3CC(IP), datagramsize 104 *Apr 4 11:13:21.122: Serial1/0(i): dlci 50(0xC21), NLPID 0x3CC(IP), datagramsize 104 *Apr 4 11:13:21.126: Serial1/0(o): dlci 50(0xC21), NLPID 0x3CC(IP), datagramsize 104 *Apr 4 11:13:21.162: Serial1/0(i): dlci 50(0xC21), NLPID 0x3CC(IP), datagramsize 104
回顾我们对IETF封装的讨论,我们发现ping数据包使用短格式封装报头,因为IP协议的NLPID值为0xCC。
ATM终端上的debug atm packet
7500-1.5# 1w3d: ATM4/0/0.50(I): VCD:0xD VPI:0x5 VCI:0x32 Type:0x0 SAP:AAAA CTL:03 OUI:000000 TYPE:0800 Length:0x70 1w3d: 4500 0064 004B 0000 FE01 9437 0A0A 0A01 0A0A 0A02 0800 0C14 08FE 246F 0000 1w3d: 0000 B1E8 92E0 ABCD ABCD ABCD ABCD ABCD ABCD ABCD ABCD ABCD ABCD ABCD ABCD 1w3d: ABCD ABCD ABCD ABCD ABCD ABCD ABCD ABCD ABCD ABCD ABCD ABCD ABCD ABCD ABCD 1w3d: ABCD ABCD ABCD ABCD ABCD 1w3d: 1w3d: ATM4/0/0.50(O): VCD:0xD VPI:0x5 VCI:0x32 DM:0x0 SAP:AAAA CTL:03 OUI:000000 TYPE:0800 Length:0x70 1w3d: 4500 0064 004B 0000 FF01 9337 0A0A 0A02 0A0A 0A01 0000 1414 08FE 246F 0000 1w3d: 0000 B1E8 92E0 ABCD ABCD ABCD ABCD ABCD ABCD ABCD ABCD ABCD ABCD ABCD ABCD 1w3d: ABCD ABCD ABCD ABCD ABCD ABCD ABCD ABCD ABCD ABCD ABCD ABCD ABCD ABCD ABCD 1w3d: ABCD ABCD ABCD ABCD ABCD
对于路由协议数据单元(PDU),AAL5SNAP封装在type字段中使用OUI值0x000000和Ethertype值(例如0x0800 for IP)。有关详细信息,请参阅使用LLC封装的ATM PVC上的多个路由协议。
我们的调试说明了IWF如何在帧中继NLPID报头和AAL5SNAP ATM报头之间转换。
为了说明透明模式,我们仅更改IWF路由器上的模式。发出no service translation命令以显式配置透明模式。
7200-2.4(config)# connect SIVA 7200-2.4(config-frf8)# no service translation
发出show connect name命令以确认更改。
7200-2.4# show connect name SIVA FR/ATM Service Interworking Connection: SIVA Status - UP Segment 1 - Serial4/3 DLCI 50 Segment 2 - ATM5/0 VPI 5 VCI 50 Interworking Parameters - no service translation efci-bit 0 de-bit map-clp clp-bit map-de
现在,两台路由器之间的ping操作会失败。使用debug atm packet和debug atm error,我们可以看到ping失败的原因 — 原始NLPID报头直接通过IWF传输并到达ATM终端,该终端配置有AAL5SNAP,并且不了解NLPID值。
7500-1.5# 1w3d: ATM4/0/0.50(I): VCD:0xD VPI:0x5 VCI:0x32 Type:0x0 SAP:03CC CTL:45 Length:0x6A 1w3d: 0000 6400 4A00 00FF 0193 380A 0A0A 010A 0A0A 0208 0058 3603 6F10 EA00 0000 1w3d: 00B1 8E60 2CAB CDAB CDAB CDAB CDAB CDAB CDAB CDAB CDAB CDAB CDAB CDAB CDAB 1w3d: CDAB CDAB CDAB CDAB CDAB CDAB CDAB CDAB CDAB CDAB CDAB CDAB CDAB CDAB CDAB 1w3d: CDAB CDAB CDAB CDAB CD43 1w3d: 1w3d: ATM(ATM4/0/0.50): VC(13) Bad SAP received 03CC
使用AAL5SNAP封装时,ATM接口会查找目标服务接入点(DSAP)和源服务接入点(SSAP)值AA,以指示SNAP报头后跟。相反,在同一字节位置,我们会收到原始帧中继报头的控制值(0x03)和NLPID值(0xCC for IP)。
我们可以通过将ATM封装更改为AAL5NLPID来更正此错误情况。现在,两个终端都使用相同的封装,因此我们的ping操作成功。
7500-1.5(config)# interface atm 4/0/0.50 7500-1.5(config-subif)# pvc 5/50 7500-1.5(config-if-atm-vc)# encapsulation ? aal5ciscoppp Cisco PPP over AAL5 Encapsulation aal5mux AAL5+MUX Encapsulation aal5nlpid AAL5+NLPID Encapsulation aal5snap AAL5+LLC/SNAP Encapsulation 1w3d: %SYS-5-CONFIG_I: Configured from console by console 7500-1.5# show debug Generic ATM: ATM packets debugging is on ATM errors debugging is on 7500-1.5# 1w3d: ATM4/0/0.50(I): VCD:0xD VPI:0x5 VCI:0x32 Type:0x2 NLPID:0x03CC Length:0x6A 1w3d: 4500 0064 0054 0000 FE01 942E 0A0A 0A01 0A0A 0A02 0800 F9A6 1C05 2248 0000 1w3d: 0000 B1F5 9460 ABCD ABCD ABCD ABCD ABCD ABCD ABCD ABCD ABCD ABCD ABCD ABCD 1w3d: ABCD ABCD ABCD ABCD ABCD ABCD ABCD ABCD ABCD ABCD ABCD ABCD ABCD ABCD ABCD 1w3d: ABCD ABCD ABCD ABCD ABCD 1w3d: 1w3d: ATM4/0/0.50(O): VCD:0xD VPI:0x5 VCI:0x32 DM:0x0 NLPID:0x03CC Length:0x6A 1w3d: 4500 0064 0054 0000 FF01 932E 0A0A 0A02 0A0A 0A01 0000 01A7 1C05 2248 0000 1w3d: 0000 B1F5 9460 ABCD ABCD ABCD ABCD ABCD ABCD ABCD ABCD ABCD ABCD ABCD ABCD 1w3d: ABCD ABCD ABCD ABCD ABCD ABCD ABCD ABCD ABCD ABCD ABCD ABCD ABCD ABCD ABCD 1w3d: ABCD ABCD ABCD ABCD ABCD