Re: the length of 802.3 + 802.2 header


jas@brubeck.proteon.com
Fri, 22 Aug 86 13:48:39 EDT


Your measurements of the length of a LLC Class 1 header are completely
correct. It is 3 bytes long!

This is all in the spirit of the ISO OSI protocol families. No attempt is
made in any of the protocols to preserve 'nice' alignment of fields longer
than one byte. Perhaps they consider density more important than performance.
Remember that on X.25 in Europe you often pay by the byte. The Connectionless
Internet protocol has a very small fixed-format header, which does not
even contain the destination address. Since the destination address is
variable-length, it is the variable part of the header.

In general, the first code any ISO OSI implementor has to write is the
stuff that serially parses the headers. Most of the variable length fields
are of the format:
        byte type
        byte length
        var data[]
You parse them serially, from beginning to end.

Given this mindset, the 802.2 people probably saw no reason to have an
even length header, as things would get odd soon enough. Also, why waste
a byte.

As for those of us who designed protocols for efficiency, we're out of
luck. One strategy is to receive 802.2-grams on an odd boundary, so that
the LLC1/IP pairing will wind up well aligned. Other protocols don't
care, so this wins.

(Just for more fun, when you use the SNAP protocol for extending
the protocol ID [ie. SAP], the header becomes even length again. Aauugh!)

                                        john shriver
                                        proteon

p.s. I suspect the whole 802.2 mess will be one of the active discussion
topics at the Implementor's Workshop...
-------



This archive was generated by hypermail 2.0b3 on Thu Mar 09 2000 - 14:36:35 GMT