Subject: PPP protocol field compression

From: Bonnie Hutchings <[email-masked]>
Date: Wed, 24 May 2000 10:00:27 -0700

RFC-1973 describes an encapsulated PPP frame format without protocol field
compression as follows:
 
    0                   1                   2                   3
    0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
   +-+-+-+-+-+-+-+-+
   |  Flag (0x7e)  |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |         Q.922 Address         |    Control    |  NLPID(0xcf)  |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |         PPP Protocol          |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

Then it describes protocol field compression as follows:

   Protocol-Field-Compression

      Note that unlike PPP in HDLC-like framing, the Frame Relay framing
      does not align the Information field on a 32-bit boundary.
      Alignment to a 32-bit boundary occurs when the NLPID is removed
      and the Protocol field is compressed to a single octet.  When this
      improves throughput, Protocol-Field-Compression SHOULD be
      negotiated.

So does a protocol-compressed frame look like this (call it example 1)?:

    0                   1                   2                   3
    0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
   +-+-+-+-+-+-+-+-+
   |  Flag (0x7e)  |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |         Q.922 Address         |    Control    |  PPP Protocol |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  
Or does it look like this (example 2):
 
    0                   1                   2                   3
    0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
   +-+-+-+-+-+-+-+-+
   |  Flag (0x7e)  |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |         Q.922 Address         |    Control    |  NLPID(0xcf)  |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   | PPP Protocol  |
   +-+-+-+-+-+-+-+-+

Example 1 seems to conform to 'the NLPID is removed and the Protocol field
is compressed to a single octet', but not to 'Alignment to a 32-bit
boundary' whereas in Example 2, the NLPID has not been removed, but the PPP
payload is 32-bit aligned.   Can anyone clarify this for me?

Thanks,
Bonnie

---

From: Archie Cobbs <[email-masked]>
Date: Wed, 24 May 2000 10:15:28 -0700 (PDT)

> So does a protocol-compressed frame look like this (call it example 1)?:

I believe example 1 is what is intended. Example 1 *is* aligned to
a 32-bit boundary: there are four data bytes. The "flag byte" is
not really a byte, but a repeated bit pattern on the synchronous
line for which there is no "alignment" because there is no data...
it's just inter-frame fill. The Q.922 address is the beginning of
the data.

-Archie

___________________________________________________________________________
Archie Cobbs   *   Whistle Communications, Inc.  *   http://www.whistle.com