Re: [6lowpan] HC

Jonathan Hui <jhui@archrock.com> Fri, 18 July 2008 02:12 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 8503E3A6A32; Thu, 17 Jul 2008 19:12:39 -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 EC55D3A6A1D for <6lowpan@core3.amsl.com>; Thu, 17 Jul 2008 19:12:37 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.999
X-Spam-Level:
X-Spam-Status: No, score=-1.999 tagged_above=-999 required=5 tests=[AWL=-0.600, BAYES_00=-2.599, J_CHICKENPOX_21=0.6, J_CHICKENPOX_66=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 3E0pujcySCr2 for <6lowpan@core3.amsl.com>; Thu, 17 Jul 2008 19:12:36 -0700 (PDT)
Received: from mail.sf.archrock.com (mail.sf.archrock.com [216.121.16.71]) by core3.amsl.com (Postfix) with ESMTP id ADE993A6A08 for <6lowpan@ietf.org>; Thu, 17 Jul 2008 19:12:36 -0700 (PDT)
Received: from localhost (localhost.localdomain [127.0.0.1]) by mail.sf.archrock.com (Postfix) with ESMTP id 5C57BAF883; Thu, 17 Jul 2008 19:13:09 -0700 (PDT)
X-Virus-Scanned: amavisd-new at
Received: from mail.sf.archrock.com ([127.0.0.1]) by localhost (mail.sf.archrock.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id aC82D3GeXgfF; Thu, 17 Jul 2008 19:13:08 -0700 (PDT)
Received: from [10.0.1.200] (adsl-71-142-88-226.dsl.pltn13.pacbell.net [71.142.88.226]) by mail.sf.archrock.com (Postfix) with ESMTP id 5322DAF85E; Thu, 17 Jul 2008 19:13:08 -0700 (PDT)
Message-Id: <6C5CA78E-94B5-419A-85D0-B1DC1FAA28B1@archrock.com>
From: Jonathan Hui <jhui@archrock.com>
To: Stephen Dawson-Haggerty <stevedh@eecs.berkeley.edu>
In-Reply-To: <44680fe70807171740w4a53b1dfm62589f7a7fba1e5b@mail.gmail.com>
Mime-Version: 1.0 (Apple Message framework v926)
Date: Thu, 17 Jul 2008 19:13:06 -0700
References: <OF5473A5FD.6B155ACA-ONC1257489.002DF3BE-C1257489.0030E03A@philips.com> <1216306481.6621.123.camel@dellx1> <44680fe70807171740w4a53b1dfm62589f7a7fba1e5b@mail.gmail.com>
X-Mailer: Apple Mail (2.926)
Cc: 6lowpan@ietf.org, David Culler <david.culler@gmail.com>
Subject: Re: [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-Transfer-Encoding: 7bit
Content-Type: text/plain; charset="us-ascii"; Format="flowed"; DelSp="yes"
Sender: 6lowpan-bounces@ietf.org
Errors-To: 6lowpan-bounces@ietf.org

Hi Stephen, see below:

On Jul 17, 2008, at 5:40 PM, Stephen Dawson-Haggerty wrote:
> - support route-over combined with no hop-by-hop reassembly

We should clean up the terminology here since the working group seems  
to have different ideas of what "route-over" is. I admit, that I  
haven't been that clear myself over the past few months. I'd like us  
to decouple routing from forwarding in the way that IP has  
traditionally done. So it's probably more appropriate to say L3  
forwarding in this context. Route-over is a term meant to describe IP  
routing rather than L2 mesh routing.

> - support source routing
>
> As older discussions on the list have gone over, the first is
> currently possible by unpacking the IP headers in the first fragment
> and caching the routing information for successive fragments.  I think
> it's probably not necessary to do anything other then declare that the
> compressed IP headers must fit into the first fragment, but there
> could be other ideas for how to best allow this.

Yes. Some are concerned that this adds some state/complexity within  
the node. I'm not convinced that the added resource requirements are a  
huge issue. As for fitting into the first fragment, even an  
uncompressed IPv6 header should fit given the worst case. Unless you  
have a huge hop-by-hop options header or large (yet-to-be-defined)  
6lowpan headers, this shouldn't be much of an issue.

> The second belongs in any standard, because it interacts with address
> compression: the source route can be used to infer the source and
> destination IP address for intra-pan routing.  What I would suggest
> here is the addition of an LOWPAN_HCNH encoding for source routing.
> This also brings up the issue it should be possible to follow this
> header (NHSR?) with a NH_UDP encoding block so as to have compressed
> source routing as well as UDP headers.  Whatever header format is
> decided on should also support a record route option in the dispatch
> byte.  If people agree that this is important, I can write up a
> proposal on how to do this.

I can say that we've been using such functionality in production  
deployments for many months now and they are invaluable resources for  
debugging wireless networks (especially when routing protocols fail)  
and can be used for simple routing protocols as well (e.g. DSR-like  
protocols). While they do interact with HC, I did not include them in  
the first draft simply because it was more important to solve the  
initial problem of proposing a new HC format. Furthermore, routing  
type 0 was just deprecated and there is no existing definition for  
record-route in IPv6. I'm strongly in favor of including this  
functionality in the draft, but we need to be careful about the  
processing rules. If the working group things this is useful  
functionality to include in the doc, I'd be happy to see your ideas  
and we can compare with mine or others.

> What else do people see as needing work in HC?

Some of the issues on the plate that I plan to address in the next  
draft (as discussed in the last WG meeting):
- two bits for HLIM to indicate where the packet came from
- adding bits to identify the prefix context for supporting multiple  
prefixes
- removing option for checksum compression in UDP
- add a new UDP-like transport that relies on end-to-end MIC rather  
than checksum

Chairs, given the urgency of pushing HC through, I'd like to have some  
time at the WG meeting to talk about updates and issues. Thanks.

To answer the original question in this thread: I too am in favor of  
deprecating HC1 and pushing HC forward as quickly as possible.

--
Jonathan Hui

>
>
> Steve
>
> On Thu, Jul 17, 2008 at 7:54 AM, Geoff Mulligan <geoff@mulligan.com>  
> wrote:
>> I also agree.  Now is the right time before we have to carry this  
>> design
>> baggage forward.
>>
>> As Pascal pointed out - we then need to get HC done sooner.
>>
>>       geoff
>>
>> On Thu, 2008-07-17 at 10:56 +0200, Anthony Schoofs wrote:
>>> I am also in favor of that approach.
>>> We have had issues with routing packets from 6lowpan nodes to IP
>>> hosts, and we definitively need the HC compression to make things
>>> cleaner and optimized.
>>>
>>> Anthony
>>> --
>>> Anthony Schoofs
>>> Research Scientist
>>> Philips Research
>>> High Tech Campus 34 , 5656 AE Eindhoven, The Netherlands
>>> Email: anthony.schoofs@philips.com
>>>
>>> Inactive hide details for Pascal"Pascal Thubert (pthubert)"
>>> <pthubert@cisco.com>
>>>
>>>
>>>        "Pascal Thubert (pthubert)"
>>>        <pthubert@cisco.com>
>>>
>>>        Sent by:
>>>        6lowpan-bounces@ietf.org
>>>
>>>        17-07-2008 10:13
>>>
>>>
>>>               To
>>>
>>> "David Culler"
>>> <david.culler@gmail.com>
>>> <6lowpan@ietf.org>
>>>
>>>               cc
>>>
>>>
>>>
>>>          Subject
>>>
>>> Re: [6lowpan] HC
>>>
>>>   Classification
>>>
>>>
>>>
>>>
>>>
>>> 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: 6lowpan-bounces@ietf.org [mailto:6lowpan-bounces@ietf.org] On
>>> Behalf Of David Culler
>>> Sent: mercredi 16 juillet 2008 18:25
>>> To: 6lowpan@ietf.org
>>> 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
>>> 6lowpan@ietf.org
>>> https://www.ietf.org/mailman/listinfo/6lowpan
>>>
>>> _______________________________________________
>>> 6lowpan mailing list
>>> 6lowpan@ietf.org
>>> https://www.ietf.org/mailman/listinfo/6lowpan
>>
>> _______________________________________________
>> 6lowpan mailing list
>> 6lowpan@ietf.org
>> https://www.ietf.org/mailman/listinfo/6lowpan
>>
> _______________________________________________
> 6lowpan mailing list
> 6lowpan@ietf.org
> https://www.ietf.org/mailman/listinfo/6lowpan

_______________________________________________
6lowpan mailing list
6lowpan@ietf.org
https://www.ietf.org/mailman/listinfo/6lowpan