Re: [Roll] [6lo] RPL artifact compression discussion
Michael Richardson <mcr+ietf@sandelman.ca> Mon, 23 March 2015 20:40 UTC
Return-Path: <mcr@sandelman.ca>
X-Original-To: roll@ietfa.amsl.com
Delivered-To: roll@ietfa.amsl.com
Received: from localhost (ietfa.amsl.com [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 52EA01B2A05; Mon, 23 Mar 2015 13:40:21 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.911
X-Spam-Level:
X-Spam-Status: No, score=-1.911 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, SPF_PASS=-0.001, T_RP_MATCHES_RCVD=-0.01] autolearn=ham
Received: from mail.ietf.org ([4.31.198.44]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id iiX-fi0o7R9U; Mon, 23 Mar 2015 13:40:19 -0700 (PDT)
Received: from tuna.sandelman.ca (tuna.sandelman.ca [209.87.249.19]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 2F9BB1B29E7; Mon, 23 Mar 2015 13:40:19 -0700 (PDT)
Received: from sandelman.ca (obiwan.sandelman.ca [IPv6:2607:f0b0:f:2::247]) by tuna.sandelman.ca (Postfix) with ESMTP id 59809203BD; Mon, 23 Mar 2015 16:50:06 -0400 (EDT)
Received: by sandelman.ca (Postfix, from userid 179) id 260F663B76; Mon, 23 Mar 2015 16:40:18 -0400 (EDT)
Received: from sandelman.ca (localhost [127.0.0.1]) by sandelman.ca (Postfix) with ESMTP id 14479636A2; Mon, 23 Mar 2015 16:40:18 -0400 (EDT)
From: Michael Richardson <mcr+ietf@sandelman.ca>
To: "6lo@ietf.org" <6lo@ietf.org>
In-Reply-To: <BN1PR03MB0729E0B05811AA6C648B2DD950F0@BN1PR03MB072.namprd03.prod.outlook.com>
References: <BN1PR03MB0729E0B05811AA6C648B2DD950F0@BN1PR03MB072.namprd03.prod.outlook.com>
X-Mailer: MH-E 8.6; nmh 1.3-dev; GNU Emacs 24.4.2
X-Face: $\n1pF)h^`}$H>Hk{L"x@)JS7<%Az}5RyS@k9X%29-lHB$Ti.V>2bi.~ehC0; <'$9xN5Ub# z!G,p`nR&p7Fz@^UXIn156S8.~^@MJ*mMsD7=QFeq%AL4m<nPbLgmtKK-5dC@#:k
MIME-Version: 1.0
Content-Type: multipart/signed; boundary="=-=-="; micalg="pgp-sha1"; protocol="application/pgp-signature"
Date: Mon, 23 Mar 2015 16:40:18 -0400
Message-ID: <22866.1427143218@sandelman.ca>
Sender: mcr@sandelman.ca
Archived-At: <http://mailarchive.ietf.org/arch/msg/roll/Yy1tfhdVMa93hcaOJWSNifMVib4>
Cc: roll@ietf.org
Subject: Re: [Roll] [6lo] RPL artifact compression discussion
X-BeenThere: roll@ietf.org
X-Mailman-Version: 2.1.15
Precedence: list
Reply-To: Routing Over Low power and Lossy networks <roll@ietf.org>
List-Id: Routing Over Low power and Lossy networks <roll.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/roll>, <mailto:roll-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/roll/>
List-Post: <mailto:roll@ietf.org>
List-Help: <mailto:roll-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/roll>, <mailto:roll-request@ietf.org?subject=subscribe>
X-List-Received-Date: Mon, 23 Mar 2015 20:40:21 -0000
There are three important parts of this problem. 1) what headers ("artifacts") are actually required. This is subject to a not-yet created ROLL document that the virtual interim meeting revealed was missing. The summary is we need RPI (RFC6553) on the way up and down, in order to find loops, and carry the RPL InstanceID. The InstanceID is an extra input to the routing process, and distinguishes one DAG from another. We need to have the RH3 on downward traffic in the non-storing case, as this header provides the source routes. As the RPI and RH3 are inserted, in order to do this an IPIP header is required. 2) there are various proposals as to the method to compress the artifacts themselves, and this part is subject to various discussion. 3) the 6lo part is that we need a way to signal that the compression in part (2) is actually being used. There are three options on how to introduce new compression mechanisms into the 6lowPAN/ROLL data plane. 1) draft-thubert-6lo-rpl-nhc originally proposal to add a new 6282 Next Header Compression for just 6553. from that document: (Discuss: Is this really an update of RFC 6282 or a straightforward addition to it?) the answer is that RFC6282 has an IANA registry, and the allocation policy is IETF Review. In this document, I would suggest that the Greedy approach probably is more a simple allocation (it's an update!), as it uses so much. The conservative approach is a simple registration, it takes a single value from the 11111000 to 11111110 range for the 6554. (Note 6lo-rpl-nhc-02 says "Section 4.2 of [RFC6553] defines LOWPAN_NHC encodings", but actually it's defined in 6282) The efficient approach, I guess, optimizes some common cases at the cost of one or more bytes extra for the non-common cases. 1b) NHC++ as noted below, there is no method defined to compress the IPv6 inner header, and no method to compress the RH3 (RFC6554) header was defined. The NHC++ proposal suggests to expand this proposal to do this. It can perhaps be done in the greedy approach with some thought, but it seems unlikely to fit, and the conservative approach would be required. Note that there aren't enough EIDs to encode each of IPIP, RH3 and RPI, but as the IPIP is not seen unless there is also an RH3 and/or RPI, the IPIP pieces that would follow could perhaps be implied 2) draft-thubert-6lo-routingdispatch The NHC method above adds additional nexthops, but does not change anything about the outer IPv6 header. It would continue to be compressed with 6282's LOWPAN_IPHC, and unfortunately, as there is no Next Header=LOWPAN_IPHC, the second (inner from the wild, likely more random), header can not be compressed. This method instead replaces the LOWPAN_IPHC with a new compression of the IPv6 header, plus 6553, plus 6554, plus inner IPv6. This occurs at the "dispatch" level, which also is where the 6LowPAN fragmentation occurs, which means that in theory with this method, one could route 6lo fragments individually, across the LLN rather than having to reassemble them hop-by-hop. To do this optimally, it takes the 10xxxxx encodings which are defined in rfc4944 Figure 2, and re-defines them. It does this with the knowledge from above that mesh-under and route-over networks will never occur on the same PANID. Whether or not this is acceptable is THE significant question for the 6lo WG. Note that this is not entirely necessary: we can instead use the 011 111111 "ESC" header, which lets us have another byte for dispatch headers. Summary: 1) NHC++ method using conservative approach costs the 1 or 2 code points from the NHC EID space (there are only 2 left). Using 1 code point means adding adjusting the format to switch on next header being RPI, RH3 or (compressed) IPIP [LOWPAN_IPHC]. There are three reserved bits show in 6low-nhc-02, section 4.3.2. 2) routingdispatch section is much more flexible, and at the cost of the additional byte, there is no conflict with existing users. But this is in some sense a forklift upgrade on RFC6282. -- Michael Richardson <mcr+IETF@sandelman.ca>, Sandelman Software Works IETF ROLL WG co-chair. http://datatracker.ietf.org/wg/roll/charter/
- Re: [Roll] [6lo] RPL artifact compression discuss… Michael Richardson
- Re: [Roll] [6lo] RPL artifact compression discuss… Carsten Bormann
- Re: [Roll] [6lo] RPL artifact compression discuss… Robert Cragie
- Re: [Roll] [6lo] RPL artifact compression discuss… Michael Richardson
- Re: [Roll] [6lo] RPL artifact compression discuss… Robert Cragie
- Re: [Roll] [6lo] RPL artifact compression discuss… Michael Richardson