[6lowpan] HC

"David Culler" <david.culler@gmail.com> Wed, 16 July 2008 16:24 UTC

Return-Path: <6lowpan-bounces@ietf.org>
X-Original-To: 6lowpan-archive@megatron.ietf.org
Delivered-To: ietfarch-6lowpan-archive@core3.amsl.com
Received: from [127.0.0.1] (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id 3E5FD28C110; Wed, 16 Jul 2008 09:24:49 -0700 (PDT)
X-Original-To: 6lowpan@core3.amsl.com
Delivered-To: 6lowpan@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id 63FFC3A677D for <6lowpan@core3.amsl.com>; Wed, 16 Jul 2008 09:24:47 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.998
X-Spam-Level:
X-Spam-Status: No, score=-1.998 tagged_above=-999 required=5 tests=[BAYES_00=-2.599, HTML_MESSAGE=0.001, J_CHICKENPOX_21=0.6]
Received: from mail.ietf.org ([64.170.98.32]) by localhost (core3.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id O45D8GxYmBep for <6lowpan@core3.amsl.com>; Wed, 16 Jul 2008 09:24:46 -0700 (PDT)
Received: from el-out-1112.google.com (el-out-1112.google.com [209.85.162.182]) by core3.amsl.com (Postfix) with ESMTP id 1D86D3A6980 for <6lowpan@ietf.org>; Wed, 16 Jul 2008 09:24:46 -0700 (PDT)
Received: by el-out-1112.google.com with SMTP id v27so1049796ele.13 for <6lowpan@ietf.org>; Wed, 16 Jul 2008 09:25:15 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:received:received:message-id:date:from:to :subject:mime-version:content-type; bh=tezYQNs+kvzwXXjm5tKiXjiMUGo5W9HBvmFv9ddkXPI=; b=j8k0aN+Lu1D2soyVUlA/VvkdpPJVdMJsUyBMhpnZ+akqhUjR7qNGa6fLPnxed526ek O+M6GkEcogtNHJZA2jFdaqAo79aQtvsHbyiolBdL0ZgtjKDumscUPdYlA7Cj0Q8dacdX U9A4PKkG4zm3Uno7yDIoqeW/kL+3BiUgnpwzA=
DomainKey-Signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=message-id:date:from:to:subject:mime-version:content-type; b=sw2KKcgHDNUObB+5b1SH04wXqHijZSVv+UNAaLxMJr/Xn3wI/ZkTF4O3P6AN2NMNYS /NGB4vGk2G0qR0Oo44FGjweurcpK9l1EmPqSP5plNFTsVCOiALivtBhpPXK6ifGpCd/d ebZcqPu/8LNvjXAetvFMu6sDJ/ugRZaoUogO4=
Received: by 10.114.171.1 with SMTP id t1mr357202wae.120.1216225515019; Wed, 16 Jul 2008 09:25:15 -0700 (PDT)
Received: by 10.114.197.16 with HTTP; Wed, 16 Jul 2008 09:25:14 -0700 (PDT)
Message-ID: <fedbbd0a0807160925p3a832260x559271d32d151a1f@mail.gmail.com>
Date: Wed, 16 Jul 2008 09:25:14 -0700
From: David Culler <david.culler@gmail.com>
To: 6lowpan@ietf.org
MIME-Version: 1.0
Subject: [6lowpan] HC
X-BeenThere: 6lowpan@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: Working group discussion for IPv6 over LowPan networks <6lowpan.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/6lowpan>, <mailto:6lowpan-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/pipermail/6lowpan>
List-Post: <mailto:6lowpan@ietf.org>
List-Help: <mailto:6lowpan-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/6lowpan>, <mailto:6lowpan-request@ietf.org?subject=subscribe>
Content-Type: multipart/mixed; boundary="===============1251060626=="
Sender: 6lowpan-bounces@ietf.org
Errors-To: 6lowpan-bounces@ietf.org

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
6lowpan@ietf.org
https://www.ietf.org/mailman/listinfo/6lowpan