CCIE Pursuit Blog

October 10, 2007

How IP Address Is Encoded In Frame-Relay Inverse-ARP Datagrams

This is straight out of the Cisco Press CCIE Routing and Switching Official Exam Certification Guide (Second Edition) and probably won’t help you on the CCIE lab, but I think that it’s pretty cool.

First we set up a Bizarre Frame Triangle (apologies to New Order and to the three people who will get that horrible joke)  🙂

r2

r1(hub)

r3

s1/0.201 ptp

——cloud——

s1/0.123 multipoint

——cloud——

s1/0(physical)

DLCI 201

DLCI 102, 103

DLCI 301

Notice that I’m running Frame Inverse-ARP (default):
r1#sh run | sec Serial1/0
interface Serial1/0
 description -> FR Hub
 no ip address
 encapsulation frame-relay
!
interface Serial1/0.123 multipoint
 ip address 172.31.134.1 255.255.255.0
 frame-relay interface-dlci 102
 frame-relay interface-dlci 103

r2#sh run | sec Serial1/0
interface Serial1/0
 no ip address
 encapsulation frame-relay
!
interface Serial1/0.201 point-to-point
 ip address 172.31.134.2 255.255.255.0
 frame-relay interface-dlci 201

r3#sh run | sec Serial1/0
interface Serial1/0
 ip address 172.31.134.3 255.255.255.0
 encapsulation frame-relay

Let’s turn on “debug frame-relay events” on all three routers and take a look at the debug output:

r1#debug frame events
Frame Relay events debugging is on

r1#
*Oct 10 14:04:58.147: Serial1/0.123: FR ARP input
*Oct 10 14:04:58.151: datagramstart = 0x900070E, datagramsize = 34
*Oct 10 14:04:58.151: FR encap = 0x18710300
*Oct 10 14:04:58.155: 80 00 00 00 08 06 00 0F 08 00 02 04 00 08 00 00
*Oct 10 14:04:58.163: AC 1F 86 03 48 D1 00 00 00 00 01 02 00 40
*Oct 10 14:04:58.171:
*Oct 10 14:04:58.171: Serial1/0.123: inarp received on 103
r1#
*Oct 10 14:06:13.539: Serial1/0.123: preparing IP inarp on 102
*Oct 10 14:06:13.703: Serial1/0.123: FR ARP input
*Oct 10 14:06:13.707: datagramstart = 0x9001D8E, datagramsize = 34
*Oct 10 14:06:13.707: FR encap = 0x18610300
*Oct 10 14:06:13.707: 80 00 00 00 08 06 00 0F 08 00 02 04 00 09 00 00
*Oct 10 14:06:13.719: AC 1F 86 02 18 61 AC 1F 86 01 02 02 00 40
*Oct 10 14:06:13.727:
*Oct 10 14:06:13.727: Serial1/0.123: inarp received on 102

r1#sh frame map
Serial1/0.123 (up): ip 172.31.134.2 dlci 102(0x66,0x1860), dynamic,
              broadcast,
              CISCO, status defined, active
Serial1/0.123 (up): ip 172.31.134.3 dlci 103(0x67,0x1870), dynamic,
              broadcast,
              CISCO, status defined, active
r2#
*Oct 10 14:07:36.299: Serial1/0: FR ARP input
*Oct 10 14:07:36.299: datagramstart = 0x91F54EE, datagramsize = 34
*Oct 10 14:07:36.303: FR encap = 0x30B10300
*Oct 10 14:07:36.303: 80 00 00 00 08 06 00 0F 08 00 02 04 00 08 00 00
*Oct 10 14:07:36.315: AC 1F 86 03 48 E1 00 00 00 00 01 02 00 40
*Oct 10 14:07:36.323:
*Oct 10 14:07:36.323: Serial1/0: inarp received on 203
r2#
*Oct 10 14:08:51.787: Serial1/0.201: FR ARP input
*Oct 10 14:08:51.787: datagramstart = 0x91F67AE, datagramsize = 34
*Oct 10 14:08:51.791: FR encap = 0x30910300
*Oct 10 14:08:51.791: 80 00 00 00 08 06 00 0F 08 00 02 04 00 08 00 00
*Oct 10 14:08:51.803: AC 1F 86 01 18 61 00 00 00 00 01 02 00 40
*Oct 10 14:08:51.811:
*Oct 10 14:08:51.811: Serial1/0.201: inarp received on 201

r2#sh frame map
Serial1/0.201 (up): point-to-point dlci, dlci 201(0xC9,0x3090), broadcast
          status defined, active
r3#
*Oct 10 14:08:24.359: Serial1/0: preparing IP inarp on 301
*Oct 10 14:08:24.359: Serial1/0: preparing IP inarp on 302
*Oct 10 14:08:24.547: Serial1/0: FR ARP input
*Oct 10 14:08:24.551: datagramstart = 0x90000CE, datagramsize = 34
*Oct 10 14:08:24.551: FR encap = 0x48D10300
*Oct 10 14:08:24.551: 80 00 00 00 08 06 00 0F 08 00 02 04 00 09 00 00
*Oct 10 14:08:24.563: AC 1F 86 01 48 D1 AC 1F 86 03 02 02 00 40 <-AC = 172 1F = 31 86 = 134  01 = 1
*Oct 10 14:08:24.571:
*Oct 10 14:08:24.571: Serial1/0: inarp received on 301

r3#sh frame map
Serial1/0 (up): ip 172.31.134.1 dlci 301(0x12D,0x48D0), dynamic,
              broadcast,
              CISCO, status defined, active

If we look at the debuging output we see:

r1
AC 1F 86 03  DCLI 103
AC 1F 7C 02  DCLI 102

r2
AC 1F 86 03  DLCI 203
AC 1F 86 01  DLCI 201

r3
AC 1F 86 01  DLCI 301

Now if we convert those hex values to (dotted) decimal we see:

r1
172.31.134.3 (AC 1F 86 03) on DCLI 103
172.31.134.2 (AC 1F 86 02) on DCLI 102

r2
172.31.134.3 (AC 1F 86 03) on DLCI 203
172.31.134.1 (AC 1F 86 01) on DLCI 201

r3
172.31.134.1 (AC 1F 86 01) on DLCI 301

Pretty cool.  Or not.  I think that it is.  🙂

Advertisements

Leave a Comment »

No comments yet.

RSS feed for comments on this post. TrackBack URI

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

Blog at WordPress.com.

%d bloggers like this: