Re: [6tisch] [6lo] Proposed improvement in RH3-6LoRH

"Pascal Thubert (pthubert)" <pthubert@cisco.com> Thu, 21 January 2016 07:24 UTC

Return-Path: <pthubert@cisco.com>
X-Original-To: 6tisch@ietfa.amsl.com
Delivered-To: 6tisch@ietfa.amsl.com
Received: from localhost (ietfa.amsl.com [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 61D371A0120; Wed, 20 Jan 2016 23:24:56 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -14.502
X-Spam-Level:
X-Spam-Status: No, score=-14.502 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, RCVD_IN_DNSWL_HI=-5, RP_MATCHES_RCVD=-0.001, SPF_PASS=-0.001, USER_IN_DEF_DKIM_WL=-7.5] 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 fJp6b9svBTgO; Wed, 20 Jan 2016 23:24:53 -0800 (PST)
Received: from rcdn-iport-3.cisco.com (rcdn-iport-3.cisco.com [173.37.86.74]) (using TLSv1.2 with cipher DHE-RSA-SEED-SHA (128/128 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 1A1781A011B; Wed, 20 Jan 2016 23:24:48 -0800 (PST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=cisco.com; i=@cisco.com; l=9779; q=dns/txt; s=iport; t=1453361088; x=1454570688; h=from:to:cc:subject:date:message-id:references: in-reply-to:content-transfer-encoding:mime-version; bh=417n8/UC5RuzMbrr8jYVoOhe2xHrWvvsCF3hwmvtfR0=; b=k2sfC046ecxKvwgPT44UeZaYa0xpQAeOIC6nMMrlKAbl/nhtzdbXUrri UEAC73MhZHmvMqR4Egpbf0cHTibMLfT3Qm1AaLyPvt+fBBAkRT/jgtuLy cxTTcIAwFzfOZqHT/eM9goxgWfeoaCAZUY1xykHpRIxoWJtOQv/0CX6UJ E=;
X-IronPort-Anti-Spam-Filtered: true
X-IronPort-Anti-Spam-Result: =?us-ascii?q?A0D2AQCzhqBW/5xdJa1egzpSbYhXshUBD?= =?us-ascii?q?YFkGAqFI0oCgS44FAEBAQEBAQGBCoQ0AQEBAwEBAQEkRwsFCwIBCA4DBAEBASc?= =?us-ascii?q?HIQYLFAkIAQEEDgWIBgMKCA64PQ2DYQEBAQEBAQEBAQEBAQEBAQEBAQEBAREEh?= =?us-ascii?q?jqCBoFqgQSCToFSDAkagy6BDwWXBAGLZoF4jwCGf4dDAR4BAUKBfBuBUGqFWoE?= =?us-ascii?q?4AQEB?=
X-IronPort-AV: E=Sophos;i="5.22,324,1449532800"; d="scan'208";a="69094125"
Received: from rcdn-core-5.cisco.com ([173.37.93.156]) by rcdn-iport-3.cisco.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 21 Jan 2016 07:24:46 +0000
Received: from XCH-RCD-003.cisco.com (xch-rcd-003.cisco.com [173.37.102.13]) by rcdn-core-5.cisco.com (8.14.5/8.14.5) with ESMTP id u0L7OkmK027166 (version=TLSv1/SSLv3 cipher=AES256-SHA bits=256 verify=FAIL); Thu, 21 Jan 2016 07:24:46 GMT
Received: from xch-rcd-001.cisco.com (173.37.102.11) by XCH-RCD-003.cisco.com (173.37.102.13) with Microsoft SMTP Server (TLS) id 15.0.1104.5; Thu, 21 Jan 2016 01:24:45 -0600
Received: from xch-rcd-001.cisco.com ([173.37.102.11]) by XCH-RCD-001.cisco.com ([173.37.102.11]) with mapi id 15.00.1104.009; Thu, 21 Jan 2016 01:24:46 -0600
From: "Pascal Thubert (pthubert)" <pthubert@cisco.com>
To: Ralph Droms <rdroms.ietf@gmail.com>
Thread-Topic: [6lo] [6tisch] Proposed improvement in RH3-6LoRH
Thread-Index: AdFSGKgSUfjCV02CR1+kaxeIZh+TPAArPBeAAAuVU6AAOVC0vwAQ51Ew
Date: Thu, 21 Jan 2016 07:24:45 +0000
Message-ID: <C2FE0019-EEFD-4C83-ABC9-6484636D13F4@cisco.com>
References: <efa57b85d5174e579bc553ff1ad3af63@XCH-RCD-001.cisco.com> <CAAdgstQXj80Pu-Syt_QuxD4_8V0PqEZqxVDsnyGdbBA-hGxEKQ@mail.gmail.com> <2c372ed593ad4d12a7ffff81c3ada270@XCH-RCD-001.cisco.com> <CAAdgstSiochR48+XVV3wCScd_XEttO0Us3rWNu=XVsO8_=kw2A@mail.gmail.com> <CAMxvJtLCN_6+NPruYu5J5KHOybbu+PdDeod7V8S+_iZTKhZTCg@mail.gmail.com> <1ebd8224c530495eba190b8b71f633f6@XCH-RCD-001.cisco.com> <CAMxvJtJ0F_SYe023Bv0y6DixTSQi=PTaKd56ECZdrrrXBk3ApA@mail.gmail.com>, <8C5E8825-6306-4A0F-A9FC-A0E9D4C10079@gmail.com>
In-Reply-To: <8C5E8825-6306-4A0F-A9FC-A0E9D4C10079@gmail.com>
Accept-Language: fr-FR, en-US
Content-Language: fr-FR
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
x-ms-exchange-transport-fromentityheader: Hosted
Content-Type: text/plain; charset="Windows-1252"
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0
Archived-At: <http://mailarchive.ietf.org/arch/msg/6tisch/IrmTNlv3b91BPqMIOuQtpOHDszk>
Cc: Simon Duquennoy <simonduq@sics.se>, "6tisch@ietf.org" <6tisch@ietf.org>, "6lo@ietf.org" <6lo@ietf.org>, Routing Over Low power and Lossy networks <roll@ietf.org>, Tengfei Chang <tengfei.chang@gmail.com>
Subject: Re: [6tisch] [6lo] Proposed improvement in RH3-6LoRH
X-BeenThere: 6tisch@ietf.org
X-Mailman-Version: 2.1.15
Precedence: list
List-Id: "Discuss link layer model for Deterministic IPv6 over the TSCH mode of IEEE 802.15.4e, and impacts on RPL and 6LoWPAN such as resource allocation" <6tisch.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/6tisch>, <mailto:6tisch-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/6tisch/>
List-Post: <mailto:6tisch@ietf.org>
List-Help: <mailto:6tisch-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/6tisch>, <mailto:6tisch-request@ietf.org?subject=subscribe>
X-List-Received-Date: Thu, 21 Jan 2016 07:24:56 -0000

Hello Ralph:

6LoRH can compress all RHs. If people have the same 75 bits in all addresses and then the compression will use type 3 with the alignment to 8 Octets. This will cause a waste of 11bits per address, these bits being known and yet transmitted. If we could align down to the bit we'd get a better compression. But it would take half of the type space to signal.

The point here is whether an the alignment to 1 2 4 8 16 Octets are enough for real world use cases or whether we should consume more type space.

Or else we could devise a different system but then it is more then high time to do it, and certainly too late for the plugtest. An example of a different system would be the each address has a prefix length of what's common with the previous address. We found that in the real world people align all addresses the same way so the factorization in 6LoRH was found more efficient.

Cheers,

Pascal

> Le 21 janv. 2016 à 00:20, Ralph Droms <rdroms.ietf@gmail.com> a écrit :
> 
> 
>> On Jan 19, 2016, at 2:32 PM 1/19/16, Simon Duquennoy <simonduq@sics.se> wrote:
>> 
>> Hi Pascal,
>> 
>> I feel we need to make sure any valid RH3 can be compressed with 6LoRH. This way, RPL implementations do not need to be aware of 6LoRH.
>> For the compression level, we could maybe optionally carry a full value inline (or well, it's only 4 bits..).
> 
> Along the same lines: suppose a node that does not employ 6LoRH builds a datagram D using an RH3 header that cannot be compressed by 6LoRH.  Now, how does an intermediate node that is configured to use 6LoRH on an interface over which D is forwarded correctly apply 6LoRH in such a way that the original D can be reconstructed at the eventual destination?
> 
> - Ralph
> 
>> As for using the root's address as reference for compression, although the idea makes sense, I'm afraid it makes it complicated to compress RH3, where the prefix is copied from the IPv6 destination.
>> 
>> Thanks,
>> Simon
>> 
>> 
>> On Tue, Jan 19, 2016 at 8:15 PM, Pascal Thubert (pthubert) <pthubert@cisco.com> wrote:
>> Hello Simon:
>> 
>> 
>> 
>> You can get different cmpri and cmpre values, by placing 2 different RH3-6LoRH header. Having as many 6LoRH headers allows you to compress that even more, like having intermediate cmprx values should you need that.
>> 
>> 
>> 
>> But ultimately what we compress is the RH0 format with the rules of RH3, knowing that apart from the rules RH3 is just a compression of RH0.
>> 
>> 
>> 
>> And then 6LoRH can enable a better compression when coalescing from the root’s address.
>> 
>> 
>> 
>> I agree that we placed an artificial limit with the power of 2, to avoid consuming too much type space. But if the power of 2 does not much the real world use cases and needs, now is a good time to change it.
>> 
>> 
>> 
>> Do you have an opinion on that?
>> 
>> 
>> 
>> Pascal
>> 
>> 
>> 
>> From: simon.duquennoy@gmail.com [mailto:simon.duquennoy@gmail.com] On Behalf Of Simon Duquennoy
>> Sent: mardi 19 janvier 2016 18:53
>> To: Tengfei Chang <tengfei.chang@gmail.com>
>> Cc: Pascal Thubert (pthubert) <pthubert@cisco.com>om>; 6tisch@ietf.org; Routing Over Low power and Lossy networks <roll@ietf.org>rg>; 6lo@ietf.org
>> Subject: Re: [6lo] [6tisch] Proposed improvement in RH3-6LoRH
>> 
>> 
>> 
>> Hi Pascal,
>> 
>> 
>> 
>> One thing that bugs me is that RH3-6LoRH seems to be an alternative to RH3 rather than a strict compression of it. For instance, a RH3 using different cmpri and cmpre values, or using non power-of-two, can not be compressed with 6LoRH. And the discussion on copying the prefix form the DAG root is also a departure from RH3.
>> 
>> Am I missing something?
>> 
>> 
>> 
>> Thanks,
>> 
>> Simon
>> 
>> 
>> 
>> 
>> 
>> On Tue, Jan 19, 2016 at 1:59 PM, Tengfei Chang <tengfei.chang@gmail.com> wrote:
>> 
>> Hello Pascal,
>> 
>> 
>> 
>> Thanks a lot for the detailed answer! I think it solves all my concern. I will vote for it!
>> 
>> 
>> 
>> Tengfei
>> 
>> 
>> 
>> 
>> 
>> 
>> 
>> On Tue, Jan 19, 2016 at 11:00 AM, Pascal Thubert (pthubert) <pthubert@cisco.com> wrote:
>> 
>> Hello Tengfei:
>> 
>> 
>> 
>> Basically the change proposal accounts for the assumption that the last segment may be different, which comes with the idea of supporting non RPL leaves. If you look at it the original RH4 (RFC 6554) makes a difference for the last hop.
>> 
>> 
>> 
>> Also, the root is the one computing the 6LoRH so it is easier for it to take its own address as reference.
>> 
>> 
>> 
>> Finally the text is unclear about which bits from the destination are to be used.
>> 
>> 
>> 
>> All in all, using the root as reference makes more sense than using the final destination as I had initially proposed. So the new proposal is not a merge but an instead, with clarifying text about the process I showed in the picture.
>> 
>> 
>> 
>> More answers  inline:
>> 
>> Dear all
>> 
>> 
>> 
>> The picture below illustrates how the RH3 6LoRH works with draft 03 in a case like Root -> A -> B -> C -> leaf
>> 
>> 
>> 
>> <image001.png>
>> 
>> 
>> 
>> The first 6LoRH is expected to be a full address (128 bits) to set up a reference and the next 6LoRH are expected to be smaller and just override the rightmost bits which form the delta from the reference.
>> 
>> 
>> 
>> What if the B and C address can be compressed to one byte(RH3-6LoRH type 0)?
>> 
>> When leaving the root the format would like:
>> 
>> RH3-6LoRH type 4    IPv6 Prefix (64bits)   A's suffix (64bits)    RH3-6LoRH type 0      B's suffix (8bits)    C's suffix (8bits)
>> 
>> 
>> 
>> Ø  Pascal If A’s address is the same as B and C for the first 120 bits then this format is correct : )> Pascal
>> 
>> 
>> 
>> 
>> 
>> 
>> 
>> should node A need to extend the address of B address when the packet leaving A? Like:
>> 
>> RH3-6LoRH type 4    IPv6 Prefix (64bits)   B's suffix (64bits)    RH3-6LoRH type 0      C's suffix (8bits)
>> 
>> 
>> 
>> Ø  Pascal: That is correct. Note that there is no separation between prefix in suffix in the type 4. So the drawing applies for all types if you consider that the prefix length is 64, 96, 112 or 120 depending on the type of the next RH. With the proposal, if the root has the same /120 prefix as A, B and C then we have a single type 0 with A, B and C in it.
>> 
>> Proposal: we could consider that the 128bits source of the IP header before the RH3 is the reference to start with.
>> 
>> I have no comments with the proposal. Just want to mention in the currently version of draft (version 3) , it says : (in section 5)
>> 
>> ...
>> 
>>  If some bits of the first address in the RH3-6LoRH header can be
>>  derived from the final destination in the LoWPAN_IPHC, then that
>>  address may be compressed; otherwise it is expressed as a full IPv6
>>  address of 128 bits.  Next addresses only need to express the delta
>>  from the previous address.
>> ...
>> 
>> How to understand this combining with the proposal? (Or this is the point we are going to replace by the proposal? Let me know)
>> 
>> 
>> 
>> Ø  Pascal: proposal is to replace. That text was unclear and more complex to implement.  And fails to optimize for leaves that are not configured like the mesh.
>> 
>> With that even the first hop could be compressed the same way as the other hops. With RPL, the root is the encapsulator if IP in IP in used. Good thing, in that case the root is totally elided with the IP-in-IP 6LoRH.
>> 
>> That's great! Could I confirm when the packet is inside a RPL domain where IP in IP is elided, the source destination in IPHC is the reference?
>> 
>> Ø  Pascal: Yes. The only case where IP in IP is elided is when the source is the root. The root would still be the reference. The text I proposed says the Source of the header that is placed before the RH3, and I meant in the non-compressed form. With RPL as it stands today this is always the root.
>> 
>> So this simple proposal saves up to 16 octets (that’s in the case with a single subnet and all addresses differ only by the last 2 bytes). I’m willing to add it in the next revision.
>> 
>> I don't know how to calculate the saved bytes. For this case, will the format looks like this?
>> 
>> RH3-6LoRH type 1    A's suffix (16bits)     B's suffix (16bits)   C's suffix (16bits)
>> 
>> Ø  Pascal: Yes. In that case you save 14 bytes in A’s address plus the RH3-6LoRH type 4 which is 2 additional bytes, 16 total.
>> 
>> Any opposition?
>> 
>> 
>> 
>> Pascal
>> 
>> 
>> 
>> Thanks for the proposal!
>> 
>> 
>> 
>> 
>> 
>> Ø  Pascal: Do you vote for it? I’m asking because the plugtest is coming.
>> 
>> 
>> _______________________________________________
>> 6tisch mailing list
>> 6tisch@ietf.org
>> https://www.ietf.org/mailman/listinfo/6tisch
>> 
>> 
>> 
>> 
>> 
>> 
>> _______________________________________________
>> 6lo mailing list
>> 6lo@ietf.org
>> https://www.ietf.org/mailman/listinfo/6lo
>> 
>> 
>> 
>> 
>> _______________________________________________
>> 6lo mailing list
>> 6lo@ietf.org
>> https://www.ietf.org/mailman/listinfo/6lo
>