Hi David:

 

I do support that approach. I'd note that it would impose some pressure
to release HC rather quickly.

Is there a way to get a feedback on existing deployments that use
6LoWPAN HC1? 

 

Pascal

________________________________

From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On
Behalf Of David Culler
Sent: mercredi 16 juillet 2008 18:25
To: [email protected]
Subject: [6lowpan] HC

 

It appears that the 6LoWPAN WG is poised to take up serious discussion
of HC (http://www3.tools.ietf.org/html/draft-hui-6lowpan-hc-00) and I
would like to encourage us to make a bold move forward while the number
of "dusty deck 6LoWPAN implementations" are few - eliminate HC1/HC2 in
the process.

As a bit of background, the original format document defined HC1 for
compression of link local IPv6 addresses and HC2 for compression of UDP
and ICMP headers.  Both were part of a rather awkward encoding.  Most
other parts of the encoding got cleaned up with the switch to the
stacked header format that went to RFC.  Aside from its awkwardness, HC1
was never sufficient, because it provided no compression of routable
addresses, nor for the most useful multicast addresses - both rather
essential to IPv6.  HC1g was proposed to provide a similar (somewhat
more effective) stateless compression of common addresses of global
scope.  This meant two similar compression schemes, HC1 for link-local,
HC1G for global.  Both are implementable with much less than a thousand
lines of code.  No ambiguity about when to use which.

HC provides a much cleaner approach which subsumes both HC1 and HC1g,
better supports multicast, and is much more usable with IPv6 stacked
headers because the order of the subheaders is respected.  (HC2 comes in
between the dispatch and the address subheader, rather than as a portion
of the transport subheader).

The decision to take on HC, clean up the rough edges, and build
consensus around it is the easy part.  The bolder step that I would like
to suggest is that we deprecate HC1 and get it removed soon.

It is always easier to maintain backward compatibility than to make a
clean break.  But, ultimately that is burdening all the many future
implementations in order to avoid a burden on the few current
implementations.

The reason to avoid this burden is not that either is a huge amount of
code.  Implementing any of these HCs is only several hundred LOC.  The
issue is testing and interoperability. The interoperability draft sheds
some light on this.  There are so many different compression forms and
since each is an optimization on the uncompressed version, there are
many different ways to represent the same thing.  All with different
sizes and offsets.  At least they are all in the same suite.  To
multiply that with all the combinations of HC1 and HC will be really
unpleasant.  Moreover, the only thing anyone will ever use after a short
while is HC, since it is so much cleaner and more effective.  That means
all the HC1 mess and all the testing and interoperability investment
will be for nothing other than that - just to pass the test.  But it
will generate latent bugs, increase the footprint, and frustrate
interoperabilty.

So, as we imagine a future of billions of 6LoWPAN IP devices embedded in
important hard to reach places, lets take the step now to simplify their
implementation and testing, rather worry too much about saving a few
hours of coding for the half dozen existing implementations.  If that is
not reason enough, those same implementors will save many times that
amount in reduced testing and interoperability validation.



_______________________________________________
6lowpan mailing list
[email protected]
https://www.ietf.org/mailman/listinfo/6lowpan

Reply via email to