Thursday, July 3, 2008

Frame-Relay LMI Basics

So... continuing with our Frame-Relay stuff, let´s take a look at our friend Local Management Interface (or LMI, as it preffers to be called). ;)

LMI is the protocol that exchanges information between your Router and the Frame-Relay Switch, it´ll carry information about DLCI status, Keepalives, etc. You can monitor the LMI traffic from your Router using the "debug frame-relay lmi" command.

Follows an output from a debug:

R1#debug frame-relay lmi
*Mar 1 00:15:13:Serial1/0(out):StEnq,myseq 52,yourseen 51,DTE up
*Mar 1 00:15:13: datagramstart = 0x7A01894, datagramsize = 14
*Mar 1 00:15:13: FR encap = 0x00010308
*Mar 1 00:15:13: 00 75 95 01 01 01 03 02 34 33
*Mar 1 00:15:13:
*Mar 1 00:15:13: Serial1/0(in): Status, myseq 52, pak size 14
*Mar 1 00:15:13: RT IE 1, length 1,
type 1
*Mar 1 00:15:13: KA IE 3, length 2, yourseq 52, myseq 52

...output omitted...

*Mar 1 00:16:43:Serial1/0(out):StEnq,myseq 61,yourseen 60,DTE up
*Mar 1 00:16:43: datagramstart = 0x7C08474, datagramsize = 14
*Mar 1 00:16:43: FR encap = 0x00010308
*Mar 1 00:16:43: 00 75 95 01 01 00 03 02 3D 3C
*Mar 1 00:16:43:
*Mar 1 00:16:43: Serial1/0(in): Status, myseq 61, pak size 24
*Mar 1 00:16:43: RT IE 1, length 1, type 0
*Mar 1 00:16:43: KA IE 3, length 2, yourseq 61, myseq 61
*Mar 1 00:16:43: PVC IE 0x7 ,length 0x3 , dlci 102, status 0x2
*Mar 1 00:16:43: PVC IE 0x7 ,length 0x3 , dlci 103, status 0x2

So, what can we understand about this output!? Hmmm... good question! Just checking it, we can identify that the first part is just a normal Keepalive, and the second one means a Full Status Update... Here is how we checked it:

Type 1 - is a Normal Keepalive (sent every 10 seconds by default)

Type 0 - is a Full Status Update, it is sent every 6th Keepalive, that means, if you don´t change the defaults, it´ll be sent every 60 seconds, and it´ll include the DLCI status, which can be:

-> 0x0 means "inactive"

-> 0x2 means "active" (the status we normally want!)

-> 0x3 means that the active DLCI cannot accept more traffic without drops ocurring - kind of a flow-control code

-> 0x4 means "deleted" 

So, checking the previous output we can see dlci 102, status 0x2, that means DLCI 102 is Active!

We can also check that using the "show frame-relay pvc" command:

R1#sh frame-relay pvc

PVC Statistics for interface Serial1/0 (Frame Relay DTE)

              Active      Inactive      Deleted       Static
  Local          2            0            0            0
  Switched       0            0            0            0
  Unused         0            0            0            0

DLCI=102, DLCI USAGE=LOCAL, PVC STATUS=ACTIVE,INTERFACE=Serial1/0

  input pkts 11            output pkts 7            in bytes 1074
  out bytes 588            dropped pkts 0       in pkts dropped 0
  out pkts dropped 0       out bytes dropped 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 2         out bcast bytes 68
  5 minute input rate 0 bits/sec, 0 packets/sec
  5 minute output rate 0 bits/sec, 0 packets/sec
  pvc create time 00:07:21, last time pvc status changed 00:07:11

DLCI=103, DLCI USAGE=LOCAL, PVC STATUS=ACTIVE,INTERFACE=Serial1/0

  input pkts 1             output pkts 4            in bytes 34
  out bytes 136            dropped pkts 0       in pkts dropped 0
  out pkts dropped 0       out bytes dropped 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 4         out bcast bytes 136
  5 minute input rate 0 bits/sec, 0 packets/sec
  5 minute output rate 0 bits/sec, 0 packets/sec
  pvc create time 00:07:22, last time pvc status changed 00:07:12

There are some good fields to be checked in this output, for example, the PVC STATUS and the DLCI USAGE.

The PVC Status can can have four possible states:

ACTIVE - PVC is up and functioning normally.

INACTIVE - PVC is not up end-to-end. This can be caused by several problems, like incorrect mapping (or no mapping at all) for the local DLCI in the frame-relay cloud, or the remote end of the PVC is Deleted!

DELETED - Either there´s no LMI being exchanged between the router and the local frame-relay switch (normally from PTT), or the frame-relay switch (again, normally this frame-relay switch belongs to the PTT) doesn´t have this specific DLCI configured.

STATIC - No keepalive configured on the frame-relay interface of the router.

And finally, the DLCI USAGE field can have one of the following entries:

SWITCHED - that means, this router is been used as a Frame-Relay Switch.

LOCAL - the Router is used as a Data Terminal Equipment (DTE).

UNUSED - the DLCI is not configured on the router (that means, you haven´t configured this DLCI under any interface).

Some good references at Cisco´s Website are:

http://www.cisco.com/en/US/docs/ios/wan/configuration/guide/wan_cfg_frm_rly_ps6350_TSD_Products_Configuration_Guide_Chapter.html

http://www.cisco.com/en/US/tech/tk713/tk237/technologies_tech_note09186a008014f8a7.shtml

No comments: