Re: [tsvwg] L4S and MPLS

Bob Briscoe <ietf@bobbriscoe.net> Mon, 11 May 2020 21:17 UTC

Return-Path: <ietf@bobbriscoe.net>
X-Original-To: tsvwg@ietfa.amsl.com
Delivered-To: tsvwg@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id D076F3A0D1A for <tsvwg@ietfa.amsl.com>; Mon, 11 May 2020 14:17:20 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.098
X-Spam-Level:
X-Spam-Status: No, score=-2.098 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, HTML_MESSAGE=0.001, SPF_HELO_FAIL=0.001, SPF_PASS=-0.001, URIBL_BLOCKED=0.001] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (2048-bit key) header.d=bobbriscoe.net
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 XaRDN8kOJjJK for <tsvwg@ietfa.amsl.com>; Mon, 11 May 2020 14:17:18 -0700 (PDT)
Received: from cl3.bcs-hosting.net (cl3.bcs-hosting.net [3.11.37.202]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 59C103A0D01 for <tsvwg@ietf.org>; Mon, 11 May 2020 14:17:17 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=bobbriscoe.net; s=default; h=Content-Type:In-Reply-To:MIME-Version:Date: Message-ID:From:References:Cc:To:Subject:Sender:Reply-To: Content-Transfer-Encoding:Content-ID:Content-Description:Resent-Date: Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:List-Id: List-Help:List-Unsubscribe:List-Subscribe:List-Post:List-Owner:List-Archive; bh=Sndj+sOJ1TlciKVEMg+PxFF13xzl/bRX7EiJbyId68M=; b=oVJRVAlFqsqQY5kMsPUX+dEOZ 6Jv2NcvipN73e144bTBXlS98VVaClEm6jVfwWYsbjbTHfYp8COencuXtHeaATaDNzb4CRhWGrnEKt q2NU/7I2RZnd+PRPShb/OyPxn7PAdTEmLkd22N/1qEuh4vkuGnKnI3rpMJ7Ud61RjnZBkdnEFoQwU EHvYtTwDJyxXSMFU1HtX8ukf3npOjBnZBCugZhIUhCvHn5REJPZM8X5274/ZIMPSyj1Swv7neSQg8 ryusjHD+QHgc6glCbxDCj+a1LDmvQ/PEPgt3VwauOZ+z5UwKw6ZYga1IgpwtZNmQKEZ797its6acv WHSJKILjQ==;
Received: from [31.185.128.97] (port=49606 helo=[192.168.0.6]) by cl3.bcs-hosting.net with esmtpsa (TLS1.2) tls TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 (Exim 4.93) (envelope-from <ietf@bobbriscoe.net>) id 1jYFnY-00BtGd-2o; Mon, 11 May 2020 22:17:16 +0100
To: Uma Chunduri <umac.ietf@gmail.com>
Cc: tsvwg IETF list <tsvwg@ietf.org>
References: <3a475855-d8f3-0af0-b4f4-40dac1e97a52@bobbriscoe.net> <CAF18ct5tVcgbyJSGx-v44jHNqgKYUXA0gxuOnvPwAkCJZ_y21A@mail.gmail.com>
From: Bob Briscoe <ietf@bobbriscoe.net>
Message-ID: <26851c97-780c-3798-f75c-201decf02512@bobbriscoe.net>
Date: Mon, 11 May 2020 22:17:15 +0100
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:60.0) Gecko/20100101 Thunderbird/60.6.1
MIME-Version: 1.0
In-Reply-To: <CAF18ct5tVcgbyJSGx-v44jHNqgKYUXA0gxuOnvPwAkCJZ_y21A@mail.gmail.com>
Content-Type: multipart/alternative; boundary="------------9389870EE4C863939BB816CC"
Content-Language: en-GB
X-AntiAbuse: This header was added to track abuse, please include it with any abuse report
X-AntiAbuse: Primary Hostname - cl3.bcs-hosting.net
X-AntiAbuse: Original Domain - ietf.org
X-AntiAbuse: Originator/Caller UID/GID - [47 12] / [47 12]
X-AntiAbuse: Sender Address Domain - bobbriscoe.net
X-Get-Message-Sender-Via: cl3.bcs-hosting.net: authenticated_id: in@bobbriscoe.net
X-Authenticated-Sender: cl3.bcs-hosting.net: in@bobbriscoe.net
X-Source:
X-Source-Args:
X-Source-Dir:
Archived-At: <https://mailarchive.ietf.org/arch/msg/tsvwg/Nn0x03ouqx7ER6OH-RmZO_xFidc>
Subject: Re: [tsvwg] L4S and MPLS
X-BeenThere: tsvwg@ietf.org
X-Mailman-Version: 2.1.29
Precedence: list
List-Id: Transport Area Working Group <tsvwg.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/tsvwg>, <mailto:tsvwg-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/tsvwg/>
List-Post: <mailto:tsvwg@ietf.org>
List-Help: <mailto:tsvwg-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/tsvwg>, <mailto:tsvwg-request@ietf.org?subject=subscribe>
X-List-Received-Date: Mon, 11 May 2020 21:17:21 -0000

Uma,

On 06/05/2020 01:18, Uma Chunduri wrote:
> Bob,
>
>
> A draft is needed for handling this in legacy nodes

[BB] That's already implicit in any ECN approach - legacy nodes that 
don't support ECN will drop if congested, and drop is always recognized 
by end-systems as potential congestion.

RFC5129 took the view that it would be feasible for an operator to 
invest in ECN support for all the nodes around the boundary of an MPLS 
domain, which made it feasible to only burn 2 TC codepoints.

If full boundary support were not feasible, then 3 TC codepoints minimum 
would need to be burned for ECN (Not-ECN-capable, ECN-capable and 
Congestion-Experienced). I don't think anything has changed over the 
years that would make any operator want to burn 3 codepoints for ECN. 
So, I don't think anything new could be said about legacy support.

> but  also reducing section 9 options in 5129.

[BB] Yes, the world has moved on since then. But that's only an 
informational section anyway.

It would make sense to writing up one or perhaps two practical ways that 
today's MPLS could support ECN marking. All presuming that anyone thinks 
an LSR might become a bottleneck.


> For the new functionality, if a new label is pushed, current L-LSP 
> option of label per PSC can be done better.

[BB] Ah, perhaps here you have been thinking of feeding back the 
congestion signals solely edge-to-edge across the MPLS domain (like the 
[SHAYMAN] reference in RFC5129? Rather than (or perhaps as well as) 
propagating to the onward IP header and the ultimate destination for 
feeding back to the original source to get it to control the load.

Donald Eastlake and I have written up an approach like that here (but 
for the network services header (NSH) used in service function chaining 
(SFC)): https://tools.ietf.org/html/draft-ietf-sfc-nsh-ecn-support-02


>
> In-line [Uma]:
>
> Thank you for your response.
>
> --
> Uma C.
>
> On Wed, Apr 29, 2020 at 5:28 AM Bob Briscoe <ietf@bobbriscoe.net 
> <mailto:ietf@bobbriscoe.net>> wrote:
>
>         Uma,
>
>
>         Further to your query about L4S for MPLS, RFC5129 was written
>         before two distinct ECT codepoints were being considered, for
>         L4S.
>
>
>         Altho a network might be designed so that interior LSRs do not
>         bottleneck (e.g. some sort of Clos topology), in other network
>         designs, they might sometimes be a bottleneck.
>
> [Uma]: Not much in CLOS topologies or DC underlays. But in general 
> where ever LDP label is used bottlenecks can be avoided.  Right, not 
> sure if ECN/CE  marking is needed in TE cases (where overall link 
> utilization is designed to be  lower, in general).

[BB] So, will there be any interest in supporting ECN in MPLS anyway?

>
>         Then I can suggest two ways to handle the two distinct ECT
>         codepoints. They both devolve the work t  a) the ingress, b)
>         the egress where an MPLS header is respectively first pushed
>         over an IP header or finally popped from an IP header. This
>         would be in keeping with the general approach in RFC5129 of
>         devolving ECT checking to the nodes around the boundary.
>
>
>         a) Ingress
>
>
>         The two ECT codepoints are effectively 2 different AQM
>         classifiers, so I would suggest mapping them to two different
>         labels at the ingress. See
>         https://tools.ietf.org/html/rfc5129#section-6
>
>         Then the label selects the AQM behaviour.
>
> [Uma]; I see 2 cases here. An ingress node aware of L4S input signal. 
> Then yes,  a new label can be pushed and handled accordingly at 
> internal nodes.  But, the case where a non-L4S aware node treats this 
> to eventually mark CE is more important. Both cases  need to be 
> described properly in a draft for sure.

[BB] See my earlier point about burning TC codepoints. To burn no more 
than 2 TC codepoints, an MPLS domain cannot support ECN at all until all 
boundary nodes support ECN.

>
>         b) Egress
>
>
>         Map to only one label at ingress and have only one (linear)
>         L4S-ECN AQM behaviour on interior LSRs (generating the more
>         frequent ECN marking typical of L4S). Then when an egress LSR
>         pops the last label and finds an ECN field in an IP header:
>
>          1. if the inner is ECT(1), it passes on the ECN mark to the
>             inner IP packet verbatim
>
>          1. if the inner is ECT(0) or Not-ECT, it runs a simple
>             algorithm to thin the signals down to the square of their
>             frequency of arrival (requires one variable of per-LSP state).
>
> [Uma]: Sounds reasonable but I am sure you might see some 
> resistance w.r.t  per-LSP state. But this might be ok, as this is on 
> egress and we have examples with binding-SIDs in SR world.
>
>         Without thinking too hard about this, the "simple algorithm"
>         could be:
>
>          per LSP at egress, run each arriving ECN mark (i.e. C = 0 or
>         1) through a per-packet EWMA:
>
>
>             p += (C - p) >> g_shift;
>
>             if (rand() > p && rand() > p) {    // two random
>         comparisons squares the probability
>
>                    if (ECT0) mark;
>
>                    else drop;
>
>             }
>
>
>         where ">>" is a bit-shift and g_shift is the (constant) gain
>         chosen for the EWMA.
>
>
>         Longer term (or even short term) it wouldn't necessarily need
>         to support ECT0. Then the algo would simplify to:
>
>
>             p += (C - p) >> g_shift;
>
>             if (rand() > p && rand() > p) // two random comparisons
>         squares the probability
>
>                 drop;
>
> [Uma]: Thx for the info and the reference below.
>
>         I thought up the idea of two comparisons with random numbers
>         while in BT, and BT decided to publish without patenting it.
>         That publication has since been cited widely within the global
>         patent system, so it has official recognition. Therefore no
>         IPR declaration would be needed if we wrote these points up as
>         an extension to RFC5129 for L4S.
>
> [Uma]: Needed to update both 5129 and 5462  too. Not only capturing 
> this but also to simplify  5129 options with accumulated deployment 
> experience of what is not working (last, where I saw this whole thing  
> is very badly handled in various implementations).

I can't see why 5462 would need to be updated. We're not proposing to 
change the terminology of anything - no need.

Altho I agree that section 9 of 5129 is outdated, it's only 
informational not normative, so an additional RFC giving more up to date 
info would be useful, but I'm not sure it would need to formally update 
RFC5129. However, that's for WG to decide, not us.

Cheers


Bob

>
>         Cheers
>
>
>
>
>         Bob
>
>
>         PS. There's a broadly similar but inside-out approach written
>         up for adding L4S support to ECN support in TRILL:
>
>         https://tools.ietf.org/html/draft-ietf-trill-ecn-support-07#appendix-A
>
>         This has been sitting in the RFC-Editor queue for 2 years now,
>         waiting on the L4S decision in tsvwg.
>
>
>
>
>     -- 
>     ________________________________________________________________
>     Bob Briscoehttp://bobbriscoe.net/
>

-- 
________________________________________________________________
Bob Briscoe                               http://bobbriscoe.net/