Frame Relay

Frame Relay is a scalable WAN solution that is often used as an alternative to

leased lines when leased lines prove to be cost prohibitive. With Frame Relay,

you can have a single serial interface on a router connecting into multiple

remote sites through virtual circuits.

Concepts and Terminology

You should be familiar with many terms when working with Frame Relay. The

following sections introduce you to these terms and their definitions.

 Virtual Circuits and Network Design

Your virtual circuits can be either permanent or switched. A permanent virtual

circuit (PVC) is always connected and, once up, operates very much like a leased

line. A switched virtual circuit (SVC) is established only when it is needed. Of

these two, PVCs are much more common.

DLCI

Circuits are identified by data-link connection identifiers (DLCI). DLCIs are

assigned by your provider and are used between your router and the Frame

Relay provider. In other words, DLCIs are locally significant. My example will show that there

 are three routers named Sleepy, Grumpy, and Bashful.

The Sleepy router is connected to a Frame Relay provider that provides

permanent virtual circuits to both the Bashful and Grumpy routers. DLCI 100

defines the PVC to Bashful, and DLCI 200 defines the PVC to Grumpy.

Although it is not shown in the figure, Bashful and Grumpy will likewise have

DLCIs to define their PVCs back to Sleepy.

 

 

 

 

 

 

 

As an analogy, DLCIs are like shipping docks. If you work for a shipping company,

you might have several ships attached to docks that are each going to a different destination.

When you have a package to ship, you just need to take it to the ship headed

for the destination. It is the captain’s job to know how to reach the destination.

DLCIs are like these docks. They are significant only on your side. You send

your packet out the relevant DLCI, and the provider’s job is to figure out how

to get that frame to its destination.

LMI

Behind-the-scenes is a little helper called the local management interface (LMI)

that works as a status enquiry and reporting message. LMI messages are sent

146

Chapter 7: Introduction to Wide-Area Networks

between your router and the Frame Relay provider’s equipment to verify and

report on the status of your PVC. The three possible states that your PVC can be

in are

. Active—Active is good. Active means that everything is up and operational.

. Inactive—Inactive is bad. Inactive means that you are connected to your

Frame Relay provider, but there is a problem with the far-end connection.

The problem is most likely between the far-end router and its connection

to the Frame Relay provider. You should contact your provider

to troubleshoot the issue.

. Deleted—Deleted is also bad. Deleted means that there is a problem

between your router and the Frame Relay provider’s equipment. You

should contact your provider to troubleshoot this issue.

Because of the frequency of LMI messages sent between your router and the Frame

Relay provider, LMI is also used as a keepalive mechanism. Should your router stop

hearing LMI messages it will know that there is a problem with your PVC.

There are three types of LMI. These can be manually configured (discussed

later in the configuration section) or, with IOS 11.2 and higher, can be autodetected.

The three types of LMI are

. Cisco

. ANSI

. Q933A

CIR

The committed information rate (CIR) is the guaranteed rate at which you are

allowed to pass data for a particular PVC. When ordering a PVC, you will

request a local access rate (the bandwidth of the physical connection) and the

CIR for a PVC. For example, you may order a T1, which has a local access rate

of 1.544Mb for the Sleepy router, and a CIR of 128K for the PVC to Bashful,

and a CIR of 512K for Grumpy.

BECN and FECN

Frame Relay is generous with its bandwidth. If there is no congestion on your

link, you are allowed to burst above the CIR rate. Any traffic sent above your

CIR is marked as being Discard Eligible (DE) and, in the event of congestion,

will be dropped.

When congestion does occur, congestion notification messages are sent out to

notify both the sending and the receiving routers that congestion has occurred

and that they should slow down their transmission rates. A Backward Explicit

Congestion Notification (BECN) is sent back to the sender and a Forward

Explicit Congestion Notification (FECN) is sent forward to the destination to

notify them of congestion.

 A BECN message is only sent back to the source when the destination sends a

frame back. Because the provider must wait for a message to return in order to

set the BECN bit in the frame header, the FECN bit is sent to the destination

to request some traffic to be sent back in the reverse direction. Without this, the

source might never know that congestion has occurred.

In the next figure, traffic is congested going from the Sleepy router to the Bashful

router. A FECN is sent to the Bashful router, and a BECN is sent back to the

Sleepy router.

 

 

 

 

 

 

Inverse-Arp

Frame Relay needs a mechanism to map Layer 3 addresses with Layer 2 Frame

Relay DLCIs. This can be done through a static map command (shown later in

the configuration section) or through inverse-arp. Just like Ethernet ARP,

inverse-arp is used to map a Layer 3 address to a Layer 2 address. However,

Ethernet ARP maps an IP address to a MAC address and inverse-arp works to

map an IP address (or other protocol) to a DLCI.

In the next figure Sleepy will need a Layer 3 to Layer 2 map to connect to Bashful,

which has IP address 10.0.0.2. Using inverse-arp, Sleepy will automatically

create a map telling it to use DLCI 100 to get to IP address 10.0.0.2.

 

 

 

 

 

 

NBMA

Frame Relay is a nonbroadcast multi-access (NBMA) medium, which means

that broadcast traffic is not allowed to traverse Frame Relay traffic. There are

ways, however, to circumvent the NBMA nature of Frame Relay to allow broadcasts

to cross the Frame Relay cloud. These are discussed in the configuration

section.

The Split Horizon Problem

The split horizon rule (described in Chapter 10, “Basic Routing”) states that a

route learned on an interface should not be advertised back out that same interface.

This poses a problem in NBMA networks where multiple circuits can connect

to a single interface in a hub-and-spoke topology.

Hub-and-spoke topologies are commonly used to connect multiple branch

offices to a headquarters office. For example, in Figure 7.7, the Bashful and

Grumpy routers have circuits to the Sleepy router but not to each other. In this

example, Sleepy is operating as the headquarters office. When Grumpy advertises

its 13.0.0.0/8 network to the Sleepy router, it is sent into serial 0/0, but the

Sleepy router is not allowed to send it back out serial0/0. This causes a problem

because serial0/0 is also connected to the Bashful router. As a result, the Bashful

router will never know about the 13.0.0.0/8 network.

 

 

 

 

 

 

You have four options to get around the split horizon problem:

. Disable split horizon with the no ip split-horizon command. If you

are not careful, this could create a loop.

. Have a fully meshed topology where every router has a PVC to every

other router. This can get expensive.

. Use static routes instead of dynamic routing protocols. This is not a scalable

solution.

. Use subinterfaces. This is your best option.

 Subinterfaces

A subinterface is a subset of an existing physical interface. As far as the router is

concerned, the subinterface is a separate interface. By creating subinterfaces,

each circuit can be on its own subnet.

There are two types of subinterfaces:

. point-to-point—This maps a single IP subnet to a single subinterface

and DLCI.

. multipoint—This maps a single IP subnet to multiple DLCIs on a

subinterface.

Of these two, only point-to-point subinterfaces address the issue of split horizon.

In Figure 7.8, subinterfaces are used on the Sleepy router. Subinterface serial0/0.1

is connected to the Bashful router and subinterface serial0/0.2 is connected to the

Grumpy router. Now when Grumpy advertises the 13.0.0.0/8 network to Sleepy, it

is sent to the subinterface. Sleepy can forward that information on to the Bashful

router because the Bashful router is connected to a different subinterface—a logically

(but not physically) different interface.

 

 

 

 

 

 

Configuration

Configuring Frame Relay involves the following steps:

. Changing the encapsulation for Frame Relay

. Configuring the LMI type (optional for IOS 11.2 or higher)

. Configuring the Frame Relay map (optional unless you are using

subinterfaces)

. Configuring subinterfaces (optional)

. If using a point-to-point subinterface, configuring your DLCI

 Chapter 7: Introduction to Wide-Area Networks

To begin, select the Frame Relay encapsulation on the interface. There are two

types of Frame Relay encapsulations: Cisco and IETF. Cisco is the default. The

syntax to set your encapsulation is

encapsulation frame-relay [ietf]

Next, you can configure the LMI type. The three LMI types are Cisco, Ansi,

and Q933a. For IOS 11.2 and higher, the LMI type is automatically detected.

For earlier IOS versions, enter the following command under the interface:

frame-relay lmi-type [cisco | ansi | q933a]

The third option, configuring a static Frame Relay map, is optional unless you

are using subinterfaces. The Frame Relay map will map a Layer 3 address to a

local DLCI. This step is optional because inverse-arp will automatically perform

this map for you. The syntax for a Frame Relay map is as follows:

frame-relay map protocol address dlci [broadcast] [cisco | ietf]

 ption

Protocol Layer 3 protocol such as IP or IPX.

Address The Layer 3 address of the remote router (such as an IP address or IPX

address).

DLCI Your local DLCI defining your PVC to the remote router.

Broadcast Optional, this allows for broadcasts and multicasts to traverse your

Nonbroadcast Multiaccess (NBMA) Frame Relay network.

Cisco | IETF Optional, this allows you to change your Frame Relay encapsulation per

DLCI.

For example, if you were connected to another router using DLCI 100 and the

router had the IP address of 10.0.0.2, your Frame Relay map statement would be

Router(config-if)#frame-relay map ip 10.0.0.2 100

If you want to use a routing protocol across your Frame Relay network, you will

need to add the keyword broadcast to the end of this command. Routing protocols

use broadcasts and multicasts by default, and Frame Relay does not enable

broadcasts and multicasts without the use of the broadcast keyword. If you are

using inverse-arp to create your maps for you, inverse-arp assumes that you

want to use routing protocols and adds the broadcast feature for you.

Frame Relay

151

If you are using a routing protocol in a hub-and-spoke topology, you will probably

want to use subinterfaces to avoid the split horizon problem. To configure a subinterface,

remove the IP address off the main interface and put it under the subinterface.

Configuring a subinterface involves assigning it a number and specifying the

type. The following command creates point-to-point subinterface serial0/0.1:

Router(config)#interface serial0/0.1 point-to-point

To create a multipoint subinterface, enter multipoint instead:

Router(config)#interface serial0/0.1 multipoint

After entering one of these commands you will be taken to the subinterface configuration

mode where you can enter your IP address:

Router(config-subif)#ip address 10.0.0.2 255.0.0.0

If you are using a multipoint subinterface, you will need to configure Frame

Relay maps and you cannot rely on inverse-arp.

If you are using a point-to-point subinterface, you will need to assign a DLCI to

the subinterface. This is only for point-to-point subinterfaces; this is not needed

on the main interface or on multipoint subinterfaces. To assign a DLCI to a pointto-

point subinterface, enter the following command under the subinterface:

frame-relay interface-dlci dlci

Now let’s put the entire configuration together. The following configuration will

configure Frame Relay for the Sleepy router using a point-to-point subinterface

to connect to the Bashful router and a multipoint subinterface to connect to the

Grumpy router. (A point-to-point could also have been used, but we’ll use

multipoint so you can see both methods.) The next figure shows the topology for the

configuration.

 

 

 

 

 

 

interface serial 0/0

encapsulation Frame Relay

!

! Take the IP address off the main interface:

no ip address

!

! Configure the connection to the Bashful router

interface serial 0/0.1 point-to-point

ip address 10.0.0.1 255.0.0.0

Frame Relay interface-dlci 100

!

! Configure the connection to the Grumpy router

interface serial 0/0.2 multipoint

ip address 14.0.0.2 255.0.0.0

Frame Relay map ip 14.0.0.3 200 broadcast

Many engineers like to configure their subinterface number to be the same as the DLCI.

For example, if you had a subinterface connected to DLCI 100, your subinterface may be

serial 0/0.100.

TIP

Verification and Troubleshooting

There are three verification commands and one troubleshooting command you

should be familiar with for the exam.

The three commands you can use to verify your configuration are

. show frame-relay lmi

. show frame-relay pvc

. show frame-relay map

show frame-relay lmi (displayed in the following) will show LMI statistics, including

the number of status enquiries sent and received. Because the status enquiries

and responses are used as continuous keepalives, these should be incrementing.

LMI Statistics for interface Serial1 (Frame Relay DTE) LMI TYPE = ANSI

Invalid Unnumbered info 0 Invalid Prot Disc 0

Invalid dummy Call Ref 0 Invalid Msg Type 0

Invalid Status Message 0 Invalid Lock Shift 0

Invalid Information ID 0 Invalid Report IE Len 0

Invalid Report Request 0 Invalid Keep IE Len 0

Num Status Enq. Sent 140 Num Status msgs Rcvd 139

Num Update Status Rcvd 0 Num Status Timeouts 0

 show frame-relay pvc (displayed in the following) will inform you to the status

of your PVC. The status should read ACTIVE. This is also where you will

see if your router is receiving BECN and FECN messages.

DLCI = 100, DLCI USAGE = LOCAL, PVC STATUS = ACTIVE, INTERFACE = Serial0/0

input pkts 120 output pkts 70 in bytes 5122

out bytes 3366 dropped pkts 0 in FECN pkts 0

in BECN pkts 0 out FECN pkts 0 out BECN pkts 0

in DE pkts 0 out DE pkts 0

out bcast pkts 7 out bcast bytes 1366

pvc create time 1d04h, last time pvc status changed 00:30:32

show frame-relay map (displayed in the following) will show you any static

maps configured and maps created by inverse-arp. This command will also show

you the status of your PVC.

Serial0/0 (up): ip 10.0.0.1 dlci 100(0x64,0x1840), dynamic,

broadcast,, status defined, active

For troubleshooting, you can execute the debug frame-relay lmi command.

This command shows you LMI messages in real-time:

Serial 0/0 (out) : StEnq, clock 202121241, myseq 120, mineseen,

119, yourseen 140, DTE up

PVC IE 0x64, length 0x6, dlci 100, status 0, bandwidth 64000