[e2e] Header length field in IP header

Mark Allman mallman at icir.org
Thu Sep 23 21:10:01 PDT 2004

> The header length HL of IP header has 4 bits.  Normally, the header
> length HL would be a number from 5 (no options) to
> 15. Since the IP header is at least 5, I wonder if the field HL can take
> the values 0, 1, 2, 3, or 4 to mean something else. If it takes such values
> (0-4), what is the meaning?

BTW, Eddie Kohler has suggested doing just this for TCP to allow for
more option space.  Basically, a TCP offset of 0=48 bytes of TCP
options, 1=64 bytes, 2=128 bytes, 3=256 bytes and 4=there is no payload.

The TCPM WG has been discussing these issues, and it'd be great to see
some commentary on tcpm at ietf.org on this topic.  

Eddie has a draft:

Also, Wes Eddy has another draft that provides a scheme to provide for
more option space in TCP.  It is in the draft:

Also, for kicks I did a little experiment and hacked tcptraceroute
(really libnet) to use a TCP offset of zero.  I beat on a FreeBSD 4.8
host across the country and it discarded the SYN (but, the SYN made it
to the endhost).  I hit a Solaris 9 box across the state and not only
did the SYN make it, but a valid SYN+ACK was returned!  All I can figure
is that Solaris assumes 20 bytes of TCP header and processes options if
the offset is >= 5.  Interesting, though.


Mark Allman -- ICIR -- http://www.icir.org/mallman/

-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 185 bytes
Desc: not available
Url : http://www.postel.org/pipermail/end2end-interest/attachments/20040924/f3532290/attachment.bin

More information about the end2end-interest mailing list