Subject: [Isis-wg] PPP/HDLC encapsulation for IS-IS packet

From: "Yongjun Im" <[email-masked]>
Date: Fri, 5 Jul 2002 00:53:35 +0900

Dear IS-IS Experts,

As you know, IS-IS packets are encapsulated directly over Layer-2 frames,
including Ethernet frame, AAL5 PDU, PPP frame. First of all, let me briefly 
describe the L2 header of each encapsulation below.

1. IS-IS packet over Ethernet frame.
      DA = 0x01-80-C2-00-00-14 (reserved MAC address of ISIS)
      SA = 0xXX-XX-XX-XX-XX-XX
      Length = 0xXX-XX
      DSAP = 0xFE
      SSAP = 0xFE
      Control = 0x03
      NLPID = 0x83
      ISIS PDU (variable)
      FCS

2. IS-IS packet over AAL5 PDU
      DSAP = 0xFE
      SSAP = 0xFE
      Control = 0x03
      NLPID = 0x83
      ISIS PDU (variable)
      AAL5 Trailer (8 bytes)

3. IS-IS packet over PPP/HDLC
      Flag = 0x7E (HDLC)
      Address = 0xFF
      Control = 0x03
      Protocol = 0x23
      NLPID = 0x83
      ISIS PDU (variable)
      FCS (4bytes)
      Flag = 0x7E (HDLC)

I think I'm pretty much sure regarding the Ethernet and AAL5 PDU encapsulation, 
while I'm wondering the PPP/HDLC encapsulation since I couldn't find 
any standard or implementation documentation about that. I would greatly appreciate 
if you could verify whether the PPP/HDLC encapsulation above is correct.

In addition, I was told that Cisco uses the proprietary PPP/HDLC implementaion
for ISIS packet that is described in Section 4.3.1 of RFC 1547.

[Except from RFC 1547]
"The Cisco Systems gateway supports both asynchronous links using SLIP
   and synchronous links using either simple HDLC framing, X.25 LAPB or
   full X.25.  The HDLC framing procedure includes a four byte header.
   The first octet (address) is either 0x0F (unicast intent) or 0x8F
   (multicast intent).  The second octet (control byte) is left zero and
   is not checked on reception.  The third and fourth octets contain a
   standard 16 bit Ethernet protocol type code."

In accordance with the description above, I think the L2 header format might be as follows;

       Flag = 0x7E (HDLC)
       Address = 0x8F
       Control = 0x00
       DSAP = 0xFE 
       SSAP = 0xFE
       Control = 0x03
       NLPID = 0x83
       ISIS PDU (variable)
       FCS (4bytes)
       Flag = 0x7E (HDLC)

If the encapsulation I assumed above is correct, is that popular or just
Cisco's proprietary? Which one is the most typical PPP/HDLC encapsulation 
for ISIS packet? When we operate the IS-IS protocol over PoS interface, 
which HDLC/PPP encapsulation is preferred and what kind of encapsulation
options are available? Any interoperabilty issues?

Any response or pointer to the related documentation will be greatly appreciated. 
Especially I would like to get reponse from Cisco and Juniper engineers.

Take care,

Yongjun.

---

From: James Carlson <[email-masked]>
Date: Thu, 4 Jul 2002 15:37:09 -0400

> 3. IS-IS packet over PPP/HDLC

The flag isn't actually part of the frame, any more than the escape
characters ("byte stuffing") or bit-stuffing.  On most hardware
implementations, you will not see this byte at all.

>       Control = 0x03

The HDLC Address and Control fields can be negotiated away by LCP.
See RFC 1661.

>       Protocol = 0x23

The protocol field is two octets by default, but can be negotiated
down to one octet by LCP for protocols (such as OSI) that are in the
range 0000-00FF.

>       NLPID = 0x83

Note that RFC 1377 allows padding before the NLPID.

>       FCS (4bytes)

The default PPP FCS on most media is 2 octets, not 4.  It's 4 on a few
high-speed links.  See RFC 2615.

>       Flag = 0x7E (HDLC)

Same as above.  Note that HDLC frames don't really require a starting
and ending flag -- merely one flag between adjacent frames.

> any standard or implementation documentation about that.

RFCs 1377, 1661, and 1662 should cover it.

> I would greatly appreciate 

Pretty close, minus the LCP negotiation bits.

>    standard 16 bit Ethernet protocol type code."

That's not PPP -- that's Cisco HDLC.  The two are not the same at all.

> In accordance with the description above, I think the L2 header format might be as follows;

That looks roughly correct, but if you don't have a Cisco router handy
to verify this and do the obvious interoperability testing, does it
matter?

> for ISIS packet?

There's only one PPP.  That protocol you're referring to isn't PPP.

> When we operate the IS-IS protocol over PoS interface, 

I'd prefer PPP, because it's widely available and interoperable.

> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">

Please do what you can to disable HTML in your outbound email ...

-- 
James Carlson, Solaris Networking         <[email-masked]>
SUN Microsystems / 1 Network Drive         71.234W   Vox +1 781 442 2084
MS UBUR02-212 / Burlington MA 01803-2757   42.497N   Fax +1 781 442 1677
_______________________________________________
Isis-wg mailing list  -  [email-masked]
http://spider.juniper.net/mailman/listinfo/isis-wg