Re: [Roll] using the flow label instead of hop by hop

"Pascal Thubert (pthubert)" <pthubert@cisco.com> Sat, 20 October 2012 08:09 UTC

Return-Path: <pthubert@cisco.com>
X-Original-To: roll@ietfa.amsl.com
Delivered-To: roll@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id CFDB421F87E0 for <roll@ietfa.amsl.com>; Sat, 20 Oct 2012 01:09:27 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -9.948
X-Spam-Level:
X-Spam-Status: No, score=-9.948 tagged_above=-999 required=5 tests=[AWL=-0.350, BAYES_00=-2.599, EXTRA_MPART_TYPE=1, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_HI=-8]
Received: from mail.ietf.org ([64.170.98.30]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id iGlWihh8L1yO for <roll@ietfa.amsl.com>; Sat, 20 Oct 2012 01:09:23 -0700 (PDT)
Received: from rcdn-iport-2.cisco.com (rcdn-iport-2.cisco.com [173.37.86.73]) by ietfa.amsl.com (Postfix) with ESMTP id 1FEC421F87A2 for <roll@ietf.org>; Sat, 20 Oct 2012 01:09:23 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=cisco.com; i=@cisco.com; l=50597; q=dns/txt; s=iport; t=1350720563; x=1351930163; h=from:to:cc:subject:date:message-id:references: in-reply-to:mime-version; bh=5sgbf5ceB4bSxWHDlNz56x0WDS7DTUzyQshuP73BE3w=; b=gqQrgacd3oxXifwCCQZErS26ft7/fHNWuJ4x25aLDPUVys2KwvYhRUCG kPD/YIReHtFpITKZzE0dHux/X5HP9zGuOcEnKDX+uGmrcadvqDNchtN9W bLZScpH3qu9L0ZJFM1Pa+GfZWVkPOE/veB/8FnTpAtTNDWlw2VqxCOXwF 4=;
X-Files: image001.jpg : 20186
X-IronPort-Anti-Spam-Filtered: true
X-IronPort-Anti-Spam-Result: AjYFAHZbglCtJV2c/2dsb2JhbABEgkq1ZwGIW4EIgiEBAQQBAQECDQESCAE7AQQLDgICAQgODwEBAQIIAxIHAgUQAQMJAgELFBEBAQQOBAEGAgYGBQEIh2ILnACfZgSLVgUVAYMlgk9gA5AQAVGGI4Ioiw6Ba4JvgWMXHg
X-IronPort-AV: E=Sophos; i="4.80,621,1344211200"; d="jpg'145?scan'145,208,217,145"; a="133640372"
Received: from rcdn-core-5.cisco.com ([173.37.93.156]) by rcdn-iport-2.cisco.com with ESMTP; 20 Oct 2012 08:09:22 +0000
Received: from xhc-aln-x04.cisco.com (xhc-aln-x04.cisco.com [173.36.12.78]) by rcdn-core-5.cisco.com (8.14.5/8.14.5) with ESMTP id q9K89MsI028223 (version=TLSv1/SSLv3 cipher=AES128-SHA bits=128 verify=FAIL); Sat, 20 Oct 2012 08:09:22 GMT
Received: from xmb-rcd-x01.cisco.com ([169.254.1.176]) by xhc-aln-x04.cisco.com ([173.36.12.78]) with mapi id 14.02.0318.001; Sat, 20 Oct 2012 03:09:21 -0500
From: "Pascal Thubert (pthubert)" <pthubert@cisco.com>
To: Owen Kirby <osk@exegin.com>
Thread-Topic: [Roll] using the flow label instead of hop by hop
Thread-Index: Ac2tT14B78zttzpFSgOnw7I7S2GAIwBBnWmAAA9+R3A=
Date: Sat, 20 Oct 2012 08:09:20 +0000
Deferred-Delivery: Sat, 20 Oct 2012 08:09:00 +0000
Message-ID: <E045AECD98228444A58C61C200AE1BD8221D85A6@xmb-rcd-x01.cisco.com>
References: <E045AECD98228444A58C61C200AE1BD8221CB0DA@xmb-rcd-x01.cisco.com> <5081A327.9010505@exegin.com>
In-Reply-To: <5081A327.9010505@exegin.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach: yes
X-MS-TNEF-Correlator:
x-originating-ip: [10.55.80.246]
x-tm-as-product-ver: SMEX-10.2.0.1135-7.000.1014-19290.004
x-tm-as-result: No--59.909800-8.000000-31
x-tm-as-user-approved-sender: No
x-tm-as-user-blocked-sender: No
Content-Type: multipart/related; boundary="_004_E045AECD98228444A58C61C200AE1BD8221D85A6xmbrcdx01ciscoc_"; type="multipart/alternative"
MIME-Version: 1.0
Cc: "roll@ietf.org" <roll@ietf.org>, "Brian E Carpenter (brian.e.carpenter@gmail.com)" <brian.e.carpenter@gmail.com>
Subject: Re: [Roll] using the flow label instead of hop by hop
X-BeenThere: roll@ietf.org
X-Mailman-Version: 2.1.12
Precedence: list
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: Sat, 20 Oct 2012 08:09:28 -0000

Hi Owen:

I think we are back to the discussion with Brian (cc'ing Brian to make sure my account is faithful).
I think that we converged that the draft is actually doable, considering the LLN as one bug host from the perspective of the wider Internet.

With the proposal, the LLN gateway is in charge of setting the flow label towards the Internet and the flow label does not belong to the packet originator in the LLN, which, like any host in the Internet for the last 20 years, are wasting the precious bits.
So if an LLN originator sets the flow label it will be erased and recalculated if the LLN uses that draft. Can we justify that?

1) First thing first, the flow label is part of the IP header. Which is where you place stuff that you want examined by the router.
Anything farther down the packet will be a lot more trouble for the router. And app level communication does not belong here, whether it is a LLN app or any other app.

2) After 15 years of IPv6, the internet community finally found and standardized a usage for the label that basically adds burden to the hosts to serve the core but neiter sender nor receiver can use the value of the field for any practical usage.
For LLN devices that would mean ask a battery operated constrained node to do additional computation in case the packet goes in the powered Internet and needs load balancing. Do you know of any LLN device that would spend energy doing that?
It makes a lot more sense to push the burden to the power border router at the edge of the LLN in case the packet goes out the LLN towards the Internet.

3) The FL can only be compressed if it is NULL. This is the natural value for any constrained device, whether it aims at forwarding over RPL or not.
The burden of computing the tuple in the originator is not only on that node, but on all nodes in the LLN, and that would be whether the packet goes out to the Internet where the tuple can be used, or not.
HbH adds up to the waste, additional encap then adds up too. In a LLN that means wasting energy on every packet, with practical and measurable consequences in terms of battery life. In classical 15.4 that also means more fragmentation, and the consequences cascade.

The draft does not prevent an instance that needs the flow label for other usages to use the HbH. But is allows to control the damage when flow label is not used otherwise. Please see inline


When a  forwarding node receives a packet with the flow label set, how does it determine whether the flow label contains an identifier of the 5-tuple, or it contains the RPL HbH information? To get it wrong would interfere with the forwarding behavior and lead to interoperability issues.

[] Does not. If the instance is configured for Flow Label, then the original value is lost. In the future, we could store it in a new HC option but so far the need as not emerged.


When packets are received from an external prefix, how does the ingress router handle the flow label? Would it destroy the original label, leave the original label in tact, or use IPv6-in-IPv6 encapsulation to preserve the label (ie: the inner header contains the original flow label, and the outer header contains the HbH information)?

[] The only usage is in the core. When the FL comes in the LLN, the role is done, the FL would be ignored anyway.
I hoped we could convey something end to end here, like a hint for the instanceId, but failed so far.
So we are back to the BR selecting the instance based on the same heuristics as if the HbH is used.


How would the DODAG root rebuild the flow label from the 5-tuple if it encounters packets that have been fragmented at the IPv6 layer? The primary use of the flow label is so that routers don't have to reassemble IPv6 fragments when forwarding to determine the 5-tuple (which is a challenging thing for a router to do).

[] Since the BR compute the FL, it uses the same heuristic for the first and all fragments. Mixing instanceID and IP addresses mostly. Or keeping only the instanceID when we want the latency+jitter to be homogeneous within an instance over the net. For LLN applications, the distribution of 5 tuples is a lot wider than necessary or even beneficial for the core,  and instanceID + IP provides a better granularity and more meaningful volumes.

Cheers,

Pascal

Cheers,
Owen

On 18/10/2012 9:43 AM, Pascal Thubert (pthubert) wrote:
Hi

When I started this draft, we had a series of chats with Brian Carpenter and apparently reached a gentleman agreement that it was doable within the RPL domain to use the flow label and avoid the Hop by Hop option.

I published http://tools.ietf.org/html/draft-thubert-roll-flow-label-01 based on that discussion but did not get news from the group since then.

This technique has a number of advantages, in particular
-it saves extra bytes for the RPL option and the HbH header.
-it also avoids the prescribed tunneling within the RPL domain for packets from the outside.
- it has an optimized compression with 6LoWPAN.

Is there interest in the group to continue? If so I'd be glad to have some discussion time at the next meeting.

Cheers,



Pascal Thubert
IPv6 Engineering

pthubert@cisco.com<mailto:pthubert@cisco.com>
Phone :+33 497 23 26 34
Mobile :+33 619 98 29 85


Cisco Systems
Village d'Entreprises Green Side bat. T3
400, Avenue Roumanille
06410 Biot - Sophia Antipolis
France
Cisco.com<http://www.cisco.com/global/FR/>

[Description: Description:                      http://www.cisco.com/web/europe/images/email/signature/vertical04.jpg]

For corporate legal information go to: http://www.cisco.com/web/about/doing_business/legal/cri/index.html
This e-mail may contain confidential and privileged material for the sole use of the intended recipient. Any review, use, distribution or disclosure by others is strictly prohibited. If you are not the intended recipient (or authorized to receive for the recipient), please contact the sender by reply e-mail and delete all copies of this message.







_______________________________________________

Roll mailing list

Roll@ietf.org<mailto:Roll@ietf.org>

https://www.ietf.org/mailman/listinfo/roll