Frame-relay switching/bridging/back-to-back

Routing over frame-relay is pretty straightforward. Once you work out the differences between point to point and point to multipoint you’re pretty much set.

But what happens when you get to the lab and they require you to switch over frame-relay? Or have a point-to-point link through another router, but not running frame-relay switching? Or what about back to back frame-relay where no frame-relay switch is involved?

All of the above are actually not difficult, as long as you configure them each as least once.
Consider the following simply topology:

The task we’ve been given is for R1 to be a frame-relay switch. R2 and R3 need to communicate over a point to point link. The DLCI for R2 will be 203 and the DLCI for R3 will be 302. Let’s first configure R2 and R3 as a basic point-to-point:
R2:

R2#sh run | sec Serial0/0
interface Serial0/0
 no ip address
 encapsulation frame-relay
 no frame-relay inverse-arp
interface Serial0/0.203 point-to-point
 ip address 10.23.23.2 255.255.255.0
 frame-relay interface-dlci 203

R3:

R3#sh run | sec Serial0/0
interface Serial0/0
 no ip address
 encapsulation frame-relay
 no frame-relay inverse-arp
interface Serial0/0.302 point-to-point
 ip address 10.23.23.3 255.255.255.0
 frame-relay interface-dlci 302

At this point, let’s have a look at the PVCs from R2’s perspective:

R2#show frame pvc | include DLCI
DLCI = 203, DLCI USAGE = LOCAL, PVC STATUS = DELETED, INTERFACE = Serial0/0.203

Remember DELETED means that the frame-switch has no idea about the DLCI that R2 is talking about. So let’s now configure R1 as a frame-relay switch. It’s a 3 step process. Tell the device it’s going to be a frame-relay switch. Tell the router which interfaces are going to be DCEs. And finally tell the router which DLCIs are going to be switched from one interface to another.
R1:

frame-relay switching
!
interface Serial0/0
 no ip address
 encapsulation frame-relay
 clock rate 128000
 frame-relay intf-type dce
 frame-relay route 203 interface Serial0/1 302
!
interface Serial0/1
 no ip address
 encapsulation frame-relay
 clock rate 128000
 frame-relay intf-type dce
 frame-relay route 302 interface Serial0/0 203

Let’s take a look at R2 again:
R2:

R2#show frame pvc | include DLCI
DLCI = 203, DLCI USAGE = LOCAL, PVC STATUS = ACTIVE, INTERFACE = Serial0/0.203
R2#ping 10.23.23.3 repeat 100

Type escape sequence to abort.
Sending 100, 100-byte ICMP Echos to 10.23.23.3, timeout is 2 seconds:
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
Success rate is 100 percent (100/100), round-trip min/avg/max = 1/11/132 ms

To quickly see what routes are configured on the frame-switch, just do this:

R1#show frame-relay route
Input Intf      Input Dlci      Output Intf     Output Dlci     Status
Serial0/0       203             Serial0/1       302             active
Serial0/1       302             Serial0/0       203             active

You can of course have multiple map statements referencing different DLCIs under each DCE interface like you would expect!

Now let’s change the topology:

This time they want to run OSPF between R2 and R3. They want the OSPF network type to be broadcast. These broadcasts need to go through R1, but R1 is NOT a frame-relay switch this time. To make sure we don’t somehow bounce things of R1’s IP address, we’ll configure a /31 between R2 and R3. Essentially we’ll be bridging through R1’s frame-relay interfaces.

Let’s create the bridge-group on R2 first. R3’s will almost match, just the DLCI and IP will change:
R2:

bridge irb
!
interface Serial0/0
 no ip address
 encapsulation frame-relay
 frame-relay map bridge 201 broadcast
 bridge-group 1
!
interface BVI1
 ip address 10.23.23.2 255.255.255.254
 ip ospf network broadcast
 ip ospf 1 area 0
!
bridge 1 protocol ieee
bridge 1 route ip

The important part to notice about this is the frame-relay map bridge command. As noted above, the config on R3 is pretty identical. This is R1’s config:
R1:

bridge irb
!
interface Serial0/0
 no ip address
 encapsulation frame-relay
 frame-relay map bridge 102 broadcast
 frame-relay interface-dlci 102
 bridge-group 1
!
interface Serial0/1
 no ip address
 encapsulation frame-relay
 frame-relay map bridge 103 broadcast
 frame-relay interface-dlci 103
 bridge-group 1
!
bridge 1 protocol ieee

Does it all work?

R2#show ip ospf neighbor

Neighbor ID     Pri   State           Dead Time   Address         Interface
10.23.23.3        1   FULL/DR         00:00:32    10.23.23.3      BVI1
R2#ping 10.23.23.3

Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to 10.23.23.3, timeout is 2 seconds:
!!!!!
Success rate is 100 percent (5/5), round-trip min/avg/max = 132/152/192 ms

Let’s move onto the last topic, back to back frame-relay. You have the following topology:

The tasks states that you need to run frame-relay, but there is no frame-relay switch involved. We don’t even get DLCI numbers on the diagram.
For back-to-back frame-relay to work we essentially turn off our keepalives. The keepalives will be looking for the LMI messages which simply don’t exist. We then hard code the DLCI number on both sides. These DLCI numbers need to MATCH however.
Let’s configure it up:
R1:

interface Serial0/0
 ip address 10.23.23.3 255.255.255.0
 encapsulation frame-relay
 no keepalive
 clock rate 2000000
 frame-relay map ip 10.23.23.2 100
 no frame-relay inverse-arp

R1#ping 10.23.23.2

Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to 10.23.23.2, timeout is 2 seconds:
!!!!!
Success rate is 100 percent (5/5), round-trip min/avg/max = 1/28/72 ms

R1#show frame pvc | include DLCI
DLCI = 100, DLCI USAGE = LOCAL, PVC STATUS = STATIC, INTERFACE = Serial0/0

You can see the PVC is static, and communication is working just fine.

© 2009-2020 Darren O'Connor All Rights Reserved -- Copyright notice by Blog Copyright