Re: [6lowpan] hc-01

"Julien Abeille (jabeille)" <jabeille@cisco.com> Thu, 09 October 2008 12:45 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 A4E243A692B; Thu, 9 Oct 2008 05:45:57 -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 E4B933A68C3 for <6lowpan@core3.amsl.com>; Thu, 9 Oct 2008 05:45:55 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -6.311
X-Spam-Level:
X-Spam-Status: No, score=-6.311 tagged_above=-999 required=5 tests=[AWL=0.288, BAYES_00=-2.599, RCVD_IN_DNSWL_MED=-4]
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 5twgiATkYPV0 for <6lowpan@core3.amsl.com>; Thu, 9 Oct 2008 05:45:54 -0700 (PDT)
Received: from ams-iport-1.cisco.com (ams-iport-1.cisco.com [144.254.224.140]) by core3.amsl.com (Postfix) with ESMTP id 596443A68F9 for <6lowpan@ietf.org>; Thu, 9 Oct 2008 05:45:53 -0700 (PDT)
X-IronPort-AV: E=Sophos;i="4.33,382,1220227200"; d="scan'208";a="22096542"
Received: from ams-dkim-1.cisco.com ([144.254.224.138]) by ams-iport-1.cisco.com with ESMTP; 09 Oct 2008 12:45:36 +0000
Received: from ams-core-1.cisco.com (ams-core-1.cisco.com [144.254.224.150]) by ams-dkim-1.cisco.com (8.12.11/8.12.11) with ESMTP id m99CjaMb006133; Thu, 9 Oct 2008 14:45:36 +0200
Received: from xbh-ams-332.emea.cisco.com (xbh-ams-332.cisco.com [144.254.231.87]) by ams-core-1.cisco.com (8.13.8/8.13.8) with ESMTP id m99Cjaa5005621; Thu, 9 Oct 2008 12:45:36 GMT
Received: from xmb-ams-33d.emea.cisco.com ([144.254.231.92]) by xbh-ams-332.emea.cisco.com with Microsoft SMTPSVC(6.0.3790.1830); Thu, 9 Oct 2008 14:45:36 +0200
X-MimeOLE: Produced By Microsoft Exchange V6.5
Content-class: urn:content-classes:message
MIME-Version: 1.0
Date: Thu, 09 Oct 2008 14:45:29 +0200
Message-ID: <38F26F36EAA981478A49D1F37F474A86020D05FC@xmb-ams-33d.emea.cisco.com>
In-Reply-To: <179B90FC-33BF-4FF1-908C-9B539E6AE82A@archrock.com>
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
Thread-Topic: hc-01
Thread-Index: AckpoIywmdeEPdl6SZiMY2WljdNRlwAZoGrg
References: <38F26F36EAA981478A49D1F37F474A86020D01F8@xmb-ams-33d.emea.cisco.com> <7892795E1A87F04CADFCCF41FADD00FC06577440@xmb-ams-337.emea.cisco.com> <179B90FC-33BF-4FF1-908C-9B539E6AE82A@archrock.com>
From: "Julien Abeille (jabeille)" <jabeille@cisco.com>
To: Jonathan Hui <jhui@archrock.com>, "Pascal Thubert (pthubert)" <pthubert@cisco.com>
X-OriginalArrivalTime: 09 Oct 2008 12:45:36.0507 (UTC) FILETIME=[ED3EF4B0:01C92A0C]
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; l=9919; t=1223556336; x=1224420336; c=relaxed/simple; s=amsdkim1002; h=Content-Type:From:Subject:Content-Transfer-Encoding:MIME-Version; d=cisco.com; i=jabeille@cisco.com; z=From:=20=22Julien=20Abeille=20(jabeille)=22=20<jabeille@ci sco.com> |Subject:=20RE=3A=20hc-01 |Sender:=20; bh=yxLQupqLntDzY8SLxpSNQAj5oFsJpnSEUTt/2VYP+ko=; b=qacsErZDbYOEuHxQy6H7Eb06bk2q1KHVsUOy8o3vRRdKGeAeO6bAUM6mV0 YQ2t7aNGsTMc9hgUNZ7y7sujbMZxkT44pQrm37oukHn54dMy2x2KKXt7s6LX TScsLfd8ku;
Authentication-Results: ams-dkim-1; header.From=jabeille@cisco.com; dkim=pass ( sig from cisco.com/amsdkim1002 verified; );
Cc: 6lowpan@ietf.org
Subject: Re: [6lowpan] hc-01
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: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: 6lowpan-bounces@ietf.org
Errors-To: 6lowpan-bounces@ietf.org

Hi Pascal, Jonathan,

For addresses I see an issue with a few scenarios:
- dest multicast, source global non compressable (SAM does not define
128 bits format)
- some dest multicast are not in either of the 4 DAM cases, e.g
FF3E:0040:aaaa:a:a:a:1:1 (address based on prefix aaaa:a:a:a::/64, with
32 bit group id = 1:1)

Pascal, can you clarify the DDF = 01 case

I tried to make my ideas clear by listing all current multicast
scenarios , based on
http://www.iana.org/assignments/ipv6-multicast-addresses and RFC 3306 +
3956 (unicast prefix based multicast addresses)

A 128, not compressed
B FF02::XX 1 byte needed
C FF0X::00XX:XXXX 4 bytes needed
D FF0X::00XX:XXXX:XXXX 6 bytes needed
E unicast prefix based address, not embedding rendez vous point: 5 bytes
needed
F unicast prefix based address, embedding rendez vous point: 6 bytes
needed

A covers unicast prefix based multicast addresses with prefix not in
context
B covers most useful link local cases (see IANA) e.g. LL all nodes,
FF02::1
C covers longer well known cases (see IANA) e.g. all-dhcp-servers
FF05::1:3
D covers solicited node and node information queries FF02::1:FFXX:XXXX
and FF02::2:FFXX:XXXX
E covers format defined in RFC3306, when the prefix used is in the
default context.

|   8    |  4 |  4 |   8    | 8  |       64       |    32    |
+--------+----+----+--------+----+----------------+----------+
|11111111|flgs|scop|reserved|plen| network prefix | group ID |  
+--------+----+----+--------+----+----------------+----------+
Here flags are 0011 (e.g. not embedding rendez vous point, unicast
prefix based, non permanently assigned)
We only need to send flags, scope, group ID (5 bytes)

F covers format defined in RFC3956, when the prefix used is in the
default context.

|   8    |  4 |  4 |  4 |  4 | 8  |       64       |    32    |
+--------+----+----+----+----+----+----------------+----------+
|11111111|flgs|scop|rsvd|RIID|plen| network prefix | group ID |
+--------+----+----+----+----+----+----------------+----------+
Here flags are 0111 (e.g. embedding rendez vous point, unicast prefix
based, non permanently assigned)
We only need flags, scope, reserved + RIID, group ID (6bytes)


Questions: 
- do we want to support all this?
- do we want to group some cases: we could group C and D, E and F, then
we have 4 cases only
- what do we do for dest multicast, source non compressable. 
- Do we keep unspecified support?
- do we afford one more bit (this would be 7 bits for addresses) and use
dispatch e.g. 1101xxxx?
- do we keep src and dest encoding linked. For now we have 2 bits common
to src and dest (DDF), plus SAM and DAM. This makes 16 cases for both
src and dest, 32 in total.

Cheers,
Julien


-----Original Message-----
From: Jonathan Hui [mailto:jhui@archrock.com] 
Sent: jeudi 9 octobre 2008 01:50
To: Pascal Thubert (pthubert)
Cc: Julien Abeille (jabeille); 6lowpan@ietf.org
Subject: Re: hc-01


Hi Pascal,

I think this looks great. It covers the cases we care about (unicast and
multicast) without using any extra bits that my initial proposal.  
The small thing I would change is moving the "DDF" field to bits 10-11
(shifting TF and NH 2 bits to the left). Then TF would not span a byte
boundary.

     0   1   2   3   4   5   6   7   8   9   0   1   2   3   4   5
   +---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+
   | 0 | 1 | 0 | 0 | 1 |  TF   |NH | HLIM  |  DDF  |  SAM  |  DAM  |
   +---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+

--
Jonathan Hui



On Oct 8, 2008, at 4:31 PM, Pascal Thubert (pthubert) wrote:

> Hi Julien:
>
> I think you're right, we need to dig a little bit more.
>
> So starting from Jonathan's encoding, maybe we can refine was was CTX
>
>
>     0   1   2   3   4   5   6   7   8   9   0   1   2   3   4   5
>   +---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+
>   | 0 | 1 | 0 | 0 | 1 |  DDF  |  TF   |NH | HLIM  |  SAM  |  DAM  |
>   +---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+
>
> - Dispatch: 8-15
> - DDF: Destination dependant fiels
>  - 00: Destination is global (or ULA), no context byte after the HC 
> field
>  - 01: Destination is global (or ULA), one byte context byte after the

> HC field
>  - 10: Destination is Link local
>  - 11: Destination is multicast scoped address
>
> - TF: Traffic Class, Flow Label
>  - 00: 4-bit Pad + Traffic Class + Flow Label (4 bytes)
>  - 01: ECN + 2-bit Pad + Flow Label (3 bytes)
>  - 10: Traffic Class (1 byte)
>  - 11: No Traffic Class and Flow Label
>
> - NH: Next Header compression
>
> - HLIM: Hop Limit
>  - 00: uncompressed
>  - 01: 1
>  - 10: 64
>  - 11: 255
>
> When destination is link local:
> -------------------------------
> prefix is FC80::/64 when compressed
>
> - SAM: Source Address Mode - prefix is link-local, when compressed
>  - 00: 128 bits
>  - 01: 64 bits
>  - 10: 16 bits
>  - 11: 0 bits
> - DAM: Destination Address Mode - prefix is link-local, when 
> compressed
>  - 00: 128 bits
>  - 01: 64 bits
>  - 10: 16 bits
>  - 11: 0 bits
>
> When destination is multicast:
> -------------------------------
> prefix is FF02::/64 when compressed
>
> - SAM: Source Address Mode
>  - 00: 0 bits, unspecified address
>  - 01: 64 bits, prefix is link local
>  - 10: 16 bits, prefix is link local
>  - 11: 0 bits, derived from the IID, prefix is link local
> - DAM: Destination Address Mode - prefix is link-local, when 
> compressed
>  - 00: 8 bits,  prefix is compressed, suffix is 7 octets of zeroes, 
> then this octet
>  - 01: 24 bits, prefix is compressed, suffix is 4 octets of zeroes, 
> then one octet 0xFF then this octet
>  - 10: 16 bits. 4 bits flags, 4 bits scope, 1 byte suffix.
> Prefix as defined in RFC 4291, suffix is 7 octets of zeroes, then this

> suffix octet
>  - 11: 24 bits  4 bits flags, 4 bits scope, 2 bytes suffix Prefix as 
> defined in RFC 4291, suffix is 6 octets of zeroes, then those suffix 
> octets
>
> When destination is ULA or global:
> -------------------------------
> The prefix is found from the context table.
> If there is no context octet after the HC field then this is the 
> default prefix.
>
> - SAM: Source Address Mode
>  - 00: 128 bits
>  - 01: 64 bits
>  - 10: 16 bits
>  - 11: 0 bits
> - DAM: Destination Address Mode
>  - 00: 128 bits
>  - 01: 64 bits
>  - 10: 16 bits
>  - 11: 0 bits
>
> Notes:
>
> With this change, the 16 bits format of Link local and ULA and global 
> really means the last 16 bits ( apposed to 15 in 
> http://tools.ietf.org/html/draft-ietf-6lowpan-hc-00
>  2.2.  IPv6 Unicast Address Compression.
>
> With this change, we have the most useful mcast cases covered:
> DAM of 00 compresses FF02::XX, so you get all routers on link, etc...
> DAM of 01 compresses FF02::FFXX:YYZZ, sollicited node mcast address 
> DAM of 10 and 11 compress all permanently-assigned multicast addresses

> defined today for all scopes
>
> What do you think?
>
> Pascal
> ________________________________________
> From: Julien Abeille (jabeille)
> Sent: mercredi 8 octobre 2008 17:51
> To: Jonathan Hui
> Cc: Pascal Thubert (pthubert)
> Subject: hc-01
>
> Hi Jonathan,
>
> I send unicast because my thought will not be clear, and to make a 
> quick presentation and bind it to "cisco sensor team".
> I did my master thesis in 2005 at Cisco in Sophia Antipolis. My 
> project manager was Patrick Wetterwald (IPSO president) and I worked 
> with Pascal on tree discovery and bubbles protocols. I joined Cisco as

> employee in july last year, and have been working on sensors with 
> Patrick as project manager, Pascal and a few others as engineers. I 
> met JP Vasseur a year ago and we have frequent calls and meetings, as 
> he recently moved 150km from switzerland where my office is. I work 
> most closely with Mathilde Durvy whom you met for IPSO interop calls.
>
> after discussion with Pascal about address compression, I try to 
> clarify my thoughts:
> - 64 last bits compression in unicast address compression is only 
> feasible if last 64 bits are based on IID (either 64 bit MAC address 
> or PAN ID+0+16bit address). I thought it would be nice to be able to 
> compress as well addresses with bytes 8 to 13 = 0. (e.g. a::1)
> - could be nice as well to compress the IID only when the prefix is 
> not compressable?
> - for multicast address compression, i thought stateless compression 
> could be nice. This works well with permanently assigned addresses 
> (Pascal, the link i promissed: 
> http://www.iana.org/assignments/ipv6-multicast-addresses)
> , as many bytes are 0 after the two first ones
> - for multicast again, it would be nice to be able to compress 
> addresses with more than 9-bit non 0 (a few permanently assigned ones 
> apply there, like all-dhcp-agents)
> - regarding the 16-bit compressed format, i would prefer not having 
> one bit or more in the compressed field with a special meaning (first 
> bit 0 = unicast, 3 first bits 101 = multicast), but keep all these 
> bits in the encoding
> - I was wondering if assuming flags are 0 cannot be an issue.
>
> These are just thoughts, as i am not extremely clear on the important 
> scenarios where we want to compress (e.g. solicited node multicast 
> compression might not be needed as with ND optimizations, there will 
> not be many NS), and am not clear either about multicast addresses 
> except permanently assigned ones. More preciely i do not know if we 
> want to support unicast prefix based multicast addresses or rendez 
> vous point addresses, and what they look like.
>
> hope this helps in the discussion,
> regards,
> Julien
>

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