Frame Relay connectivity
June 25, 2008 Leave a comment
Frame Relay is was one of the main topics of the CCIE lab exam until v5.0 before being replaced by MPLS technology. But Some Enterprises still using it and it is nice to have some understanding about some related concepts like point-to-point and multipoint interfaces, sub-interfaces, enabled/disabled inverse ARP… etc.
In this post two main topologies will be treated: the first with point-to-point interfaces and sub-interfaces and the second with multipoint interfaces and sub-interfaces. For each case inverse ARP will be enabled and disabled.
-
Point-to-point
I-a) No Inverse ARP
- Interface
- Sub-interface
- Connectivity check
I-b) Inverse ARP
- Interface
- Sub-interface
- Point-to-multipoint
II-a) No Inverse ARP
- Interface
- Sub-interface
II-b) Inverse ARP
- Interface
- Sub-interface
First let’s start by a very brief recall of “LMI” and “inverse ARP”:
LMI (Local Management Interface): Manage local access link between the FR router and service provider switch, it maintains the status between the two devices.
The router sends status enquiry message each 10 seconds and the FR switch responds with a status message (keepalive) with the sixth message carrying information about PVC and DLCI routed to the interface of the router.
Also LMI trigger the router to send inverse ARP message (router IP over the VC).
Inverse ARP: allow a FR router to react to a received LMI message “PVC up” and announce its IP address to the other end of the PVC, this is particularly useful when the IP address of the other end of the PVC is not known or when a FR router interface/sub-interface ends more than one PVC.
I-Point-to-point
I-a) NO InverseARP
Interface
– When using a “physical interface” to end a point-to-point PVC with a “sub-interface” in the other side, a static mapping is needed to map the local DLCI to the next-hop ip.
SpokeA:
interface Serial0/0 ip address 172.16.0.18 255.255.255.240 encapsulation frame-relay ip ospf network point-to-point frame-relay map ip 172.16.0.17 110 broadcast frame-relay interface-dlci 110 no frame-relay inverse-arp |
SpokeB:
interface Serial0/0 ip address 172.16.0.34 255.255.255.240 encapsulation frame-relay ip ospf network point-to-point frame-relay map ip 172.16.0.33 201 broadcast frame-relay interface-dlci 201 no frame-relay inverse-arp |
Sub-interface
– Only interface local DLCI.
– No need for static mapping to the other side, because it is a point-to-point “sub-interface” and there is only one DLCI in the other side.
HUB:
interface Serial0/0 no ip address encapsulation frame-relay no frame-relay inverse-arp ! interface Serial0/0.101 point-to-point ip address 172.16.0.17 255.255.255.240 ip ospf network point-to-point frame-relay interface-dlci 101 ! interface Serial0/0.102 point-to-point ip address 172.16.0.33 255.255.255.240 ip ospf network point-to-point frame-relay interface-dlci 102 ! interface Serial0/0.103 point-to-point ip address 172.16.0.49 255.255.255.240 ip ospf network point-to-point frame-relay interface-dlci 103 |
SpokeC:
interface Serial0/0 no ip address encapsulation frame-relay no frame-relay inverse-arp ! interface Serial0/0.301 point-to-point ip address 172.16.0.50 255.255.255.240 ip ospf network point-to-point frame-relay interface-dlci 301 !! it doesn’t matter whether inverse ARP is configured or not !!no frame-relay inverse-arp |
Connectivity check
HUB:
HUB#ping 172.16.0.18 Type escape sequence to abort. Sending 5, 100-byte ICMP Echos to 172.16.0.18, timeout is 2 seconds: !!!!! Success rate is 100 percent (5/5), round-trip min/avg/max = 20/55/96 ms HUB#ping 172.16.0.34 Type escape sequence to abort. Sending 5, 100-byte ICMP Echos to 172.16.0.34, timeout is 2 seconds: !!!!! Success rate is 100 percent (5/5), round-trip min/avg/max = 52/70/112 ms HUB#ping 172.16.0.50 Type escape sequence to abort. Sending 5, 100-byte ICMP Echos to 172.16.0.50, timeout is 2 seconds: !!!!! Success rate is 100 percent (5/5), round-trip min/avg/max = 32/84/168 ms HUB# |
I-b) InverseARP
Interface
– When using a “physical interface” to end a point-to-point PVC, with a “sub-interface” in the other side, and inverse ARP enabled, there is no need for a static mapping.
Sub-interface
– Only interface local DLCI is configured.
– No need for static mapping to the other side, because it is a point-to-point “sub-interface” and there is only one DLCI in the other side.
II) Point-to-multipoint
NO InverseARP
Interface
– With inverse ARP disabled you have to set static mapping of the local DLCI (PVC) to next hop IP addresses because the interface ends more than one PVC.
SpokeB:
interface Serial0/0 ip address 172.16.0.34 255.255.255.240 encapsulation frame-relay ip ospf network point-to-multipoint frame-relay map ip 172.16.0.33 201 broadcast frame-relay map ip 172.16.0.35 203 broadcast no frame-relay inverse-arp |
Sub-interface
– As with physical interfaces, in sub-interfaces you need to set static mapping of interface local DLCI to remote IP because the sub-interface ends more than one PVC.
HUB:
interface Serial0/0 no ip address encapsulation frame-relay no frame-relay inverse-arp ! interface Serial0/0.102 multipoint ip address 172.16.0.33 255.255.255.240 ip ospf network point-to-multipoint frame-relay map ip 172.16.0.34 102 broadcast frame-relay map ip 172.16.0.35 103 broadcast |
SpokeC:
interface Serial0/0 no ip address encapsulation frame-relay no frame-relay inverse-arp ! interface Serial0/0.300 multipoint ip address 172.16.0.35 255.255.255.240 ip ospf network point-to-multipoint frame-relay map ip 172.16.0.33 301 broadcast frame-relay map ip 172.16.0.34 302 broadcast |
Connectivity check
HUB:
HUB#sh frame map Serial0/0.102 (up): ip 172.16.0.34 dlci 102(0x66,0x1860), static, broadcast, CISCO, status defined, active Serial0/0.102 (up): ip 172.16.0.35 dlci 103(0x67,0x1870), static, broadcast, CISCO, status defined, active Serial0/0.101 (up): point-to-point dlci, dlci 101(0x65,0x1850), broadcast status defined, active HUB# |
HUB#sh ip route … 172.16.0.0/16 is variably subnetted, 4 subnets, 2 masks C 172.16.0.32/28 is directly connected, Serial0/0.102 O 172.16.0.34/32 [110/64] via 172.16.0.34, 00:19:49, Serial0/0.102 O 172.16.0.35/32 [110/64] via 172.16.0.35, 00:19:49, Serial0/0.102 C 172.16.0.16/28 is directly connected, Serial0/0.101 10.0.0.0/8 is variably subnetted, 4 subnets, 2 masks O IA 10.10.0.1/32 [110/65] via 172.16.0.18, 00:19:49, Serial0/0.101 C 10.0.1.0/24 is directly connected, Loopback0 O IA 10.30.0.1/32 [110/65] via 172.16.0.35, 00:19:49, Serial0/0.102 O IA 10.20.0.1/32 [110/65] via 172.16.0.34, 00:19:49, Serial0/0.102 HUB# |
HUB#ping 172.16.0.34 Type escape sequence to abort. Sending 5, 100-byte ICMP Echos to 172.16.0.34, timeout is 2 seconds: !!!!! Success rate is 100 percent (5/5), round-trip min/avg/max = 28/84/132 ms HUB#ping 172.16.0.35 Type escape sequence to abort. Sending 5, 100-byte ICMP Echos to 172.16.0.35, timeout is 2 seconds: !!!!! Success rate is 100 percent (5/5), round-trip min/avg/max = 24/110/168 ms HUB#ping Protocol [ip]: Target IP address: 10.20.0.1 Repeat count [5]: Datagram size [100]: Timeout in seconds [2]: Extended commands [n]: y Source address or interface: 10.0.1.1 Type of service [0]: Set DF bit in IP header? [no]: Validate reply data? [no]: Data pattern [0xABCD]: Loose, Strict, Record, Timestamp, Verbose[none]: Sweep range of sizes [n]: Type escape sequence to abort. Sending 5, 100-byte ICMP Echos to 10.20.0.1, timeout is 2 seconds: Packet sent with a source address of 10.0.1.1 !!!!! Success rate is 100 percent (5/5), round-trip min/avg/max = 60/72/96 ms HUB# |
InverseARP
Inteface
Whether it is a sub-interface or a physical interface with inverse ARP enabled with point-to-multipoint, it is nor required to map statically local DLCI’s to next-hop’s:
SpokeB:
interface Serial0/0 ip address 172.16.0.34 255.255.255.240 encapsulation frame-relay ip ospf network point-to-multipoint ip ospf priority 0 serial restart-delay 0 no dce-terminal-timing-enable frame-relay interface-dlci 201 frame-relay interface-dlci 203 |
Sub-interface
– Inverse ARP will discover what DLCI to use to reach a particular adjacent IP address, for that LMI triggers the router to send inverse ARP messages.
– IT is recommended to disable inverse ARP in the CCIE lab exam, otherwise routers will be connected not according to the lab exam. In general pay a particular attention to default configuration and parameters.
HUB:
interface Serial0/0 no ip address encapsulation frame-relay ! interface Serial0/0.102 multipoint ip address 172.16.0.33 255.255.255.240 ip ospf network point-to-multipoint frame-relay interface-dlci 102 frame-relay interface-dlci 103 |
SpokeC:
interface Serial0/0 no ip address encapsulation frame-relay ! interface Serial0/0.300 multipoint ip address 172.16.0.35 255.255.255.240 ip ospf network point-to-multipoint frame-relay interface-dlci 301 frame-relay interface-dlci 302 |
Connectivity check
HUB:
HUB(config-subif)#do sh frame map Serial0/0.102 (up): ip 172.16.0.34 dlci 102(0x66,0x1860), dynamic, broadcast, CISCO, status defined, active Serial0/0.102 (up): ip 172.16.0.35 dlci 103(0x67,0x1870), dynamic, broadcast, CISCO, status defined, active Serial0/0.101 (up): point-to-point dlci, dlci 101(0x65,0x1850), broadcast status defined, active HUB(config-subif)# |
HUB(config-subif)#do ping Protocol [ip]: Target IP address: 10.20.0.1 Repeat count [5]: Datagram size [100]: Timeout in seconds [2]: Extended commands [n]: y Source address or interface: 10.0.1.1 Type of service [0]: Set DF bit in IP header? [no]: Validate reply data? [no]: Data pattern [0xABCD]: Loose, Strict, Record, Timestamp, Verbose[none]: Sweep range of sizes [n]: Type escape sequence to abort. Sending 5, 100-byte ICMP Echos to 10.20.0.1, timeout is 2 seconds: Packet sent with a source address of 10.0.1.1 !!!!! Success rate is 100 percent (5/5), round-trip min/avg/max = 44/80/156 ms HUB(config-subif)# |
SpokeB:
SpokeB(config-if)#do sh frame map Serial0/0 (up): ip 172.16.0.33 dlci 201(0xC9,0x3090), dynamic, broadcast, CISCO, status defined, active Serial0/0 (up): ip 172.16.0.35 dlci 203(0xCB,0x30B0), dynamic, broadcast,, status defined, active SpokeB(config-if)# |
SpokeC:
SpokeC(config-subif)#do sh frame map Serial0/0.300 (up): ip 172.16.0.33 dlci 301(0x12D,0x48D0), dynamic, broadcast, CISCO, status defined, active Serial0/0.300 (up): ip 172.16.0.34 dlci 302(0x12E,0x48E0), dynamic, broadcast, CISCO, status defined, active SpokeC(config-subif)# |
Debugging LMI:
HUB# *Mar 1 08:55:48.173: Serial0/0(out): StEnq, myseq 152, yourseen 20, DTE up *Mar 1 08:55:48.173: datagramstart = 0x7B6D434, datagramsize = 13 *Mar 1 08:55:48.177: FR encap = 0xFCF10309 *Mar 1 08:55:48.177: 00 75 01 01 01 03 02 98 14 *Mar 1 08:55:48.201: *Mar 1 08:55:48.205: Serial0/0(in): Status, myseq 152, pak size 13 *Mar 1 08:55:48.205: RT IE 1, length 1, type 1 *Mar 1 08:55:48.209: KA IE 3, length 2, yourseq 21, myseq 152 *Mar 1 08:55:58.173: Serial0/0(out): StEnq, myseq 153, yourseen 21, DTE up *Mar 1 08:55:58.173: datagramstart = 0x7B6D2F4, datagramsize = 13 *Mar 1 08:55:58.177: FR encap = 0xFCF10309 *Mar 1 08:55:58.177: 00 75 01 01 01 03 02 99 15 *Mar 1 08:55:58.185: *Mar 1 08:55:58.213: Serial0/0(in): Status, myseq 153, pak size 13 *Mar 1 08:55:58.217: RT IE 1, length 1, type 1 *Mar 1 08:55:58.217: KA IE 3, length 2, yourseq 22, myseq 153 *Mar 1 08:56:08.173: Serial0/0(out): StEnq, myseq 154, yourseen 22, DTE up *Mar 1 08:56:08.177: datagramstart = 0x7B6CDF4, datagramsize = 13 *Mar 1 08:56:08.177: FR encap = 0xFCF10309 *Mar 1 08:56:08.177: 00 75 01 01 01 03 02 9A 16 *Mar 1 08:56:08.185: *Mar 1 08:56:08.221: Serial0/0(in): Status, myseq 154, pak size 37 *Mar 1 08:56:08.221: RT IE 1, length 1, type 0 *Mar 1 08:56:08.225: KA IE 3, length 2, yourseq 23, myseq 154 *Mar 1 08:56:08.225: PVC IE 0x7 , length 0x6 , dlci 101, status 0x2 , bw 0 *Mar 1 08:56:08.229: PVC IE 0x7 , length 0x6 , dlci 102, status 0x0 , bw 0 *Mar 1 08:56:08.229: PVC IE 0x7 , length 0x6 , dlci 103, status 0x2 , bw 0 *Mar 1 08:56:18.173: Serial0/0(out): StEnq, myseq 155, yourseen 23, DTE up *Mar 1 08:56:18.173: datagramstart = 0x7B6D6B4, datagramsize = 13 *Mar 1 08:56:18.177: FR encap = 0xFCF10309 *Mar 1 08:56:18.177: 00 75 01 01 01 03 02 9B 17 *Mar 1 08:56:18.185: |