Frame Relay connectivity


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.

  1. Point-to-point

I-a) No Inverse ARP

  • Interface
  • Sub-interface
  • Connectivity check

I-b) Inverse ARP

  • Interface
  • Sub-interface
  1. 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: