Re: [6lowpan] hc-01
Jonathan Hui <jhui@archrock.com> Fri, 10 October 2008 03:04 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 1EFD53A68BC; Thu, 9 Oct 2008 20:04:36 -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 B1DDD3A68BC for <6lowpan@core3.amsl.com>; Thu, 9 Oct 2008 20:04:33 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.599
X-Spam-Level:
X-Spam-Status: No, score=-2.599 tagged_above=-999 required=5 tests=[BAYES_00=-2.599]
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 ca+0YW3bUTuf for <6lowpan@core3.amsl.com>; Thu, 9 Oct 2008 20:04:31 -0700 (PDT)
Received: from mail.sf.archrock.com (mail.sf.archrock.com [216.121.16.71]) by core3.amsl.com (Postfix) with ESMTP id E873E3A6359 for <6lowpan@ietf.org>; Thu, 9 Oct 2008 20:04:31 -0700 (PDT)
Received: from localhost (localhost.localdomain [127.0.0.1]) by mail.sf.archrock.com (Postfix) with ESMTP id BBC84AF8B6; Thu, 9 Oct 2008 20:05:05 -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 GJpFSRlZJSxY; Thu, 9 Oct 2008 20:05:04 -0700 (PDT)
Received: from [10.0.1.198] (adsl-71-142-65-236.dsl.pltn13.pacbell.net [71.142.65.236]) by mail.sf.archrock.com (Postfix) with ESMTP id 6825AAF8B1; Thu, 9 Oct 2008 20:05:04 -0700 (PDT)
Message-Id: <23F4D81C-9DDA-40A7-A295-6F95C3BA4DF5@archrock.com>
From: Jonathan Hui <jhui@archrock.com>
To: Jonathan Hui <jhui@archrock.com>
In-Reply-To: <9DDB4F7F-D00C-4873-A28A-849B46FE67DF@archrock.com>
Mime-Version: 1.0 (Apple Message framework v929.2)
Date: Thu, 09 Oct 2008 20:05:02 -0700
References: <38F26F36EAA981478A49D1F37F474A86020D01F8@xmb-ams-33d.emea.cisco.com> <7892795E1A87F04CADFCCF41FADD00FC06577440@xmb-ams-337.emea.cisco.com> <179B90FC-33BF-4FF1-908C-9B539E6AE82A@archrock.com> <38F26F36EAA981478A49D1F37F474A86020D05FC@xmb-ams-33d.emea.cisco.com> <9DDB4F7F-D00C-4873-A28A-849B46FE67DF@archrock.com>
X-Mailer: Apple Mail (2.929.2)
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-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 Julien, I realized that the 128-bit case for both unicast and multicast is redundant. So I made a minor change to add extra support for multicast compression. See below: > 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 > +---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+ > | X | X | X | X | TF | HLIM |NH | CTX | SAM | M | DAM | > +---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+ > > - CTX (context identifier for both source and destination addrs, if > applicable): > - 00: Link-local > - 01: Unspecified Address (valid only for source addr with mcast) > - 10: Global w/ Default > - 11: Global w/ Context Identifier Extension > > - SAM: > - 00: 128-bit > - 01: 64-bit > - 10: 16-bit > - 11: 0-bit > > - M: Multicat Compression > - 0: Prefix Compression > - 1: Multicast Compression > > - DAM: > - When M = 0: > - 00: 128-bit > - 01: 64-bit > - 10: 16-bit > - 11: 0-bit > - When M = 1: > - 00: 48-bit (FFXX:XXplen::prefix:XXXX:XXXX) > - 01: 48-bit (FF0X::XX:XXXX:XXXX) > - 10: 32-bit (FF0X::XX:XXXX) > - 11: 8-bit (FF02::XX) -- Jonathan Hui > > > This covers all the multicast cases you care about. It also covers > multicast with a global source address. And it covers all the > unicast formats that we've supported since the beginning (link- > local, global with default context, global with other contexts). > Whether or not we want to support all of the cases you outlined is a > question, but given that it only adds a single bit to the format, I > think it's little added overhead. > > How does that look to you? > > -- > Jonathan Hui > > > > On Oct 9, 2008, at 5:45 AM, Julien Abeille (jabeille) wrote: > >> 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 _______________________________________________ 6lowpan mailing list 6lowpan@ietf.org https://www.ietf.org/mailman/listinfo/6lowpan
- Re: [6lowpan] hc-01 Pascal Thubert (pthubert)
- Re: [6lowpan] hc-01 Jonathan Hui
- Re: [6lowpan] hc-01 Julien Abeille (jabeille)
- Re: [6lowpan] hc-01 Pascal Thubert (pthubert)
- Re: [6lowpan] hc-01 Jonathan Hui
- Re: [6lowpan] hc-01 Jonathan Hui
- Re: [6lowpan] hc-01 Pascal Thubert (pthubert)