Re: [tsvwg] https://tools.ietf.org/html/draft-ietf-tsvwg-l4s-arch-03#page-10

<Ruediger.Geib@telekom.de> Thu, 28 March 2019 13:28 UTC

Return-Path: <Ruediger.Geib@telekom.de>
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 83BD41202EB for <tsvwg@ietfa.amsl.com>; Thu, 28 Mar 2019 06:28:25 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -4.3
X-Spam-Level:
X-Spam-Status: No, score=-4.3 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIMWL_WL_HIGH=-0.001, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, RCVD_IN_DNSWL_MED=-2.3, URIBL_BLOCKED=0.001] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (2048-bit key) header.d=telekom.de
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 jac8gAbmVW21 for <tsvwg@ietfa.amsl.com>; Thu, 28 Mar 2019 06:28:18 -0700 (PDT)
Received: from mailout31.telekom.de (mailout31.telekom.de [194.25.225.143]) (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 0382E1202AC for <tsvwg@ietf.org>; Thu, 28 Mar 2019 06:28:17 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=telekom.de; i=@telekom.de; q=dns/txt; s=dtag1; t=1553779698; x=1585315698; h=from:to:cc:subject:date:message-id:references: in-reply-to:content-transfer-encoding:mime-version; bh=b6nz3+tBuoI78dlKqFePE214xDb2JIqTioPz5HR7NYs=; b=SUTbi3fUONJHisUVW5cMg+6tcwCIYdQ2QxlCqsOki6RTwZR5SZEV8mNk DlbcXRfNwMOVvIXbYbQ5xqUa5UJUR6HGro8o/zF3PN78qTbI+Df4yAWvM t/9awKgFZ1SF4NhD6H7AQRML2w4rSr8qfhimNi6ldzbgloufSMnXbwLI7 OD3rH+ShnlkoG1BWtIqC7maToHYku3thlRw3rwij52kIllyuOtJIZv3JE RFxNU4yGHD8WKB/1o7eJV4hn1nSbz4uSTyHspTTZ/9odiPPp+Ojz6u4/l dSezpV0tPnzIOqLD+CRxcvVlPRUXkvTnGZjChHYJoGBzS+bkGgvvDxCe6 w==;
Received: from qdezc2.de.t-internal.com ([10.171.255.37]) by MAILOUT31.dmznet.de.t-internal.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 28 Mar 2019 14:28:15 +0100
Received: from he105651.emea1.cds.t-internal.com ([10.169.119.62]) by qde0ps.de.t-internal.com with ESMTP/TLS/AES256-SHA; 28 Mar 2019 14:28:15 +0100
Received: from HE105704.EMEA1.cds.t-internal.com (10.169.119.21) by HE105651.emea1.cds.t-internal.com (10.169.119.62) with Microsoft SMTP Server (TLS) id 15.0.1473.3; Thu, 28 Mar 2019 14:28:14 +0100
Received: from HE104163.emea1.cds.t-internal.com (10.171.40.38) by HE105704.EMEA1.cds.t-internal.com (10.169.119.21) with Microsoft SMTP Server (TLS) id 15.0.1473.3 via Frontend Transport; Thu, 28 Mar 2019 14:28:14 +0100
Received: from GER01-LEJ-obe.outbound.protection.outlook.de (51.5.80.15) by O365mail05.telekom.de (172.30.0.230) with Microsoft SMTP Server (TLS) id 15.0.1473.3; Thu, 28 Mar 2019 14:28:14 +0100
Received: from LEJPR01MB0460.DEUPRD01.PROD.OUTLOOK.DE (10.158.142.153) by LEJPR01MB0458.DEUPRD01.PROD.OUTLOOK.DE (10.158.142.151) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.1730.18; Thu, 28 Mar 2019 13:28:12 +0000
Received: from LEJPR01MB0460.DEUPRD01.PROD.OUTLOOK.DE ([fe80::6846:71f5:e7d1:f189]) by LEJPR01MB0460.DEUPRD01.PROD.OUTLOOK.DE ([fe80::6846:71f5:e7d1:f189%4]) with mapi id 15.20.1730.019; Thu, 28 Mar 2019 13:28:12 +0000
From: Ruediger.Geib@telekom.de
To: moeller0@gmx.de
CC: gorry@erg.abdn.ac.uk, tsvwg@ietf.org
Thread-Topic: [tsvwg] https://tools.ietf.org/html/draft-ietf-tsvwg-l4s-arch-03#page-10
Thread-Index: AQHU5UAedj1TDJ3MG0yBE8eiutC2+KYgvMAAgAAB8ACAAAJtgIAAHzUggAATl4CAABFhcA==
Date: Thu, 28 Mar 2019 13:28:12 +0000
Message-ID: <LEJPR01MB04608EF88862B5F8D8CF7BFA9C590@LEJPR01MB0460.DEUPRD01.PROD.OUTLOOK.DE>
References: <618DEC9B-5BA1-4D20-B68D-970EBD42CBCE@gmx.de> <5C9C8B64.4060101@erg.abdn.ac.uk> <0B102D90-1A4B-416C-8E7F-192ED6193ECE@gmx.de> <5C9C8F0D.4070300@erg.abdn.ac.uk> <LEJPR01MB0460775FEB678F3D5AEF94469C590@LEJPR01MB0460.DEUPRD01.PROD.OUTLOOK.DE> <FD4C44D8-0B74-40E9-91E1-C948F9A53820@gmx.de>
In-Reply-To: <FD4C44D8-0B74-40E9-91E1-C948F9A53820@gmx.de>
Accept-Language: en-US
Content-Language: de-DE
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
x-originating-ip: [164.19.3.219]
x-ms-publictraffictype: Email
x-ms-office365-filtering-correlation-id: a59c95b4-f294-4f00-72cd-08d6b38139ec
x-microsoft-antispam: BCL:0; PCL:0; RULEID:(2390118)(7020095)(4652040)(8989299)(4534185)(4627221)(201703031133081)(201702281549075)(8990200)(5600127)(711020)(4605104)(2017052603328)(7153060)(7193020); SRVR:LEJPR01MB0458;
x-ms-traffictypediagnostic: LEJPR01MB0458:
x-ms-exchange-purlcount: 1
authentication-results: spf=none (sender IP is ) smtp.mailfrom=Ruediger.Geib@telekom.de;
x-microsoft-antispam-prvs: <LEJPR01MB0458534A1D0DDD3AAD53F6049C590@LEJPR01MB0458.DEUPRD01.PROD.OUTLOOK.DE>
x-forefront-prvs: 0990C54589
x-forefront-antispam-report: SFV:NSPM; SFS:(10009020)(136003)(346002)(376002)(39860400002)(396003)(366004)(199004)(51874003)(189003)(8676002)(33656002)(86362001)(54906003)(478600001)(966005)(2906002)(75402003)(106356001)(85182001)(68736007)(81166006)(186003)(81156014)(6116002)(14454004)(105586002)(71190400001)(14444005)(3846002)(71200400001)(93886005)(6916009)(72206003)(26005)(85202003)(256004)(66066001)(446003)(53936002)(11346002)(7696005)(6306002)(52396003)(74482002)(76176011)(4326008)(476003)(305945005)(53546011)(102836004)(316002)(55016002)(7736002)(8936002)(486006)(97736004)(9686003)(5660300002)(66574012)(777600001); DIR:OUT; SFP:1101; SCL:1; SRVR:LEJPR01MB0458; H:LEJPR01MB0460.DEUPRD01.PROD.OUTLOOK.DE; FPR:; SPF:None; LANG:en; PTR:InfoNoRecords; A:1; MX:1;
received-spf: None (protection.outlook.com: telekom.de does not designate permitted sender hosts)
x-ms-exchange-senderadcheck: 1
x-microsoft-antispam-message-info: Oxflvfn6J+peTWE41xvg5YZE38lk4RfirM1wAivze/PfcGVedNF+3qTgOug61Nz5cFBEkouqad3DfUTdEfR2LXguDZzO/1gmgdL8Pm7J2LdfHO3d0mbguiAcR60VxxnslpU+def4unQKC/5gXsI1QJm2c8uIaE7WvBgzfmylkSatLwkEb3ZJZHhboNh4PdrWjdxTLNo8ZmpDhB7pmnPL5D8dDVEIsP18l1XYzdwrVr+WNLTUt4gWw5nFO8hu5+dRxrCzjRGiVAFiHn0IclDKrQkSondhWF/WTNkE/nRncZ3Xe61bxjn1lxyzb9S9nCFSyzlgLTOJuK9Xak9vBjvIdav5LQ5lt8aexRU7sHFgc695nks6Eg2g/EyAjMOx5PIOKCSJuGGm4RC6GKT7K6Swq8q5/SzgbyrBwnJkUkf3MQo=
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
MIME-Version: 1.0
X-MS-Exchange-CrossTenant-Network-Message-Id: a59c95b4-f294-4f00-72cd-08d6b38139ec
X-MS-Exchange-CrossTenant-originalarrivaltime: 28 Mar 2019 13:28:12.2643 (UTC)
X-MS-Exchange-CrossTenant-fromentityheader: Hosted
X-MS-Exchange-CrossTenant-id: bde4dffc-4b60-4cf6-8b04-a5eeb25f5c4f
X-MS-Exchange-CrossTenant-mailboxtype: HOSTED
X-MS-Exchange-Transport-CrossTenantHeadersStamped: LEJPR01MB0458
X-OriginatorOrg: telekom.de
Archived-At: <https://mailarchive.ietf.org/arch/msg/tsvwg/JPBIFhrkLvPqki1ZKelKcM1jEwg>
Subject: Re: [tsvwg] https://tools.ietf.org/html/draft-ietf-tsvwg-l4s-arch-03#page-10
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: Thu, 28 Mar 2019 13:28:26 -0000

Hi Sebastian,

it is hard to engineer hardware around cross layer functionalities. So reading and setting IP ECN bits behind an MPLS label stack is no good idea, I think. Then all in all, there are 8 codepoints to address DiffServ and ECN in MPLS. I think, spending a single ECN codepoint may be feasible (there's an RFC specifying MPLS/IP ECN interoperartion). Getting 4 ECN codepoints for a single PHB in MPLS will not work.

I personally like the idea of signaling congestion by packet marks rather than by drops. To get MPLS support, one must be sure it is honored E2E. 

AQM can be deployed to manage queue drops. It's deployed in the sections of the backbone that I am aware of (flow there is referring to a Diffserv aggregate, not to anything address-related). Looking at what's offered by our vendors, I think WRED dropping (or the like) is a commodity in the backbone.

ECN should first be deployed, where congestion appears most frequent. That's the Internet access, I think.

Regards,

Ruediger



-----Ursprüngliche Nachricht-----
Von: Sebastian Moeller <moeller0@gmx.de> 
Gesendet: Donnerstag, 28. März 2019 13:10
An: Geib, Rüdiger <Ruediger.Geib@telekom.de>
Cc: gorry@erg.abdn.ac.uk; tsvwg@ietf.org
Betreff: Re: [tsvwg] https://tools.ietf.org/html/draft-ietf-tsvwg-l4s-arch-03#page-10

Hi Ruediger,

> On Mar 28, 2019, at 12:10, <Ruediger.Geib@telekom.de> <Ruediger.Geib@telekom.de> wrote:
> 
> Hi Gorry,
> 
> If I get you right, you are asking whether all routers along an end to end path should generally deploy per flow queuing or whether that's more suitable for edge routers. 
> 
> I don't recommend per IP flow queuing in MPLS backbone networks. I also don't recommend per top label or per label stack queuing in MPLS backbones.
> 
> Some routers support Virtual Output Queuing, but this more refers to an incoming to outgoing interface multipoint to point relation. 

Do you recommend to deploy AQM in those routers at all? In other words would you bother to look into a MPLS encapsulated IP header to get access to the ECN bits in your MPLS cloud at all, and how about at the edges of the MPLS network?
I naively thought that such an AQM only is needed the edges (access links, and transit/peering points, basically the only places where congestion is likely enough to justify the cost of doing AQM in the first place).

Best Regards
	Sebastian

> 
> Regards,
> 
> Ruediger
> 
> 
> -----Ursprüngliche Nachricht-----
> Von: tsvwg <tsvwg-bounces@ietf.org> Im Auftrag von G Fairhurst
> Gesendet: Donnerstag, 28. März 2019 10:08
> An: Sebastian Moeller <moeller0@gmx.de>
> Cc: tsvwg IETF list <tsvwg@ietf.org>
> Betreff: Re: [tsvwg] https://tools.ietf.org/html/draft-ietf-tsvwg-l4s-arch-03#page-10
> 
> On 28/03/2019, 09:59, Sebastian Moeller wrote:
>> Dear Gorry,
>> 
>>> On Mar 28, 2019, at 09:52, G Fairhurst<gorry@erg.abdn.ac.uk>  wrote:
>>> 
>>> On 28/03/2019, 09:25, Sebastian Moeller wrote:
>>>> So the L4S architecture description has the following rationale, why L4S opted for the dual-queue approach instead of mandatinf flow queueing:
>>>> 
>>>> https://tools.ietf.org/html/draft-ietf-tsvwg-l4s-arch-03#page-10:
>>>> 
>>>>  Per-flow queuing:  Similarly per-flow queuing is not incompatible
>>>>       with the L4S approach.  However, one queue for every flow can be
>>>>       thought of as overkill compared to the minimum of two queues for
>>>>       all traffic needed for the L4S approach.  The overkill of per-flow
>>>>       queuing has side-effects:
>>>> 
>>>>      A.  fq makes high performance networking equipment costly
>>>>           (processing and memory) - in contrast dual queue code can be
>>>>           very simple;
>>>> 
>>>>       B.  fq requires packet inspection into the end-to-end transport
>>>>           layer, which doesn't sit well alongside encryption for privacy
>>>>           - in contrast the use of ECN as the classifier for L4S
>>>>           requires no deeper inspection than the IP layer;
>>>> 
>>>>       C.  fq isolates the queuing of each flow from the others but not
>>>>           from itself so, unlike L4S, it does not support applications
>>>>           that need both capacity-seeking behaviour and very low
>>>>           latency.
>>>> 
>>>>           It might seem that self-inflicted queuing delay should not
>>>>           count, because if the delay wasn't in the network it would
>>>>           just shift to the sender.  However, modern adaptive
>>>>           applications, e.g.  HTTP/2 [RFC7540] or the interactive media
>>>>           applications described in Section 6, can keep low latency
>>>>           objects at the front of their local send queue by shuffling
>>>>           priorities of other objects dependent on the progress of other
>>>>           transfers.  They cannot shuffle packets once they have
>>>>           released them into the network.
>>>> 
>>>>       D.  fq prevents any one flow from consuming more than 1/N of the
>>>>           capacity at any instant, where N is the number of flows.  This
>>>>           is fine if all flows are elastic, but it does not sit well
>>>>           with a variable bit rate real-time multimedia flow, which
>>>>           requires wriggle room to sometimes take more and other times
>>>>           less than a 1/N share.
>>>> 
>>>>           It might seem that an fq scheduler offers the benefit that it
>>>>           prevents individual flows from hogging all the bandwidth.
>>>>           However, L4S has been deliberately designed so that policing
>>>>           of individual flows can be added as a policy choice, rather
>>>>           than requiring one specific policy choice as the mechanism
>>>>           itself.  A scheduler (like fq) has to decide packet-by-packet
>>>>           which flow to schedule without knowing application intent.
>>>>           Whereas a separate policing function can be configured less
>>>>           strictly, so that senders can still control the instantaneous
>>>>           rate of each flow dependent on the needs of each application
>>>>           (e.g. variable rate video), giving more wriggle-room before a
>>>>           flow is deemed non-compliant.  Also policing of queuing and of
>>>>           flow-rates can be applied independently.
>>>> 
>>>> 
>>>> 
>>>> And then cablelabs, the organization closest to deploying L4S, in Data-Over-Cable Service Interface Specifications DOCSIS® 3.1, MAC and Upper Layer Protocols Interface SpecificationCM-SP-MULPIv3.1-I17-190121, Annex P Queue Protection Algorithm (Normative) says:
>>>> 
>>>> "This annex defines the Queue Protection algorithm that is required to be supported by the CM in the upstream (see Section 7.7.6.1). It is also the Queue Protection algorithm that CMTS Queue Protection algorithms are required to support (see Section 7.7.6.2). In either direction, this algorithm is intended to be applied solely to a Low Latency Service Flow. It detects queue- building Microflows and redirects some or all of their packets to the Classic Service Flow in order to protect the Latency Service Flow from excessive queuing. A Microflow is defined in Section P.3, but typically it is an end-to- end transport layer data flow."
>>>> 
>>>> To me this looks like the introduction of flow-queuing through a backdoor, instead of doing it upfront this tries to measure whether flows behave well enough to keep enjoying the L4S special treatment and demotes non-compliant flows to the TCP-friendly queue. I would be intersted to learn how this mandatory requirement can be implemented without at least having similar cost like flow queueung (at least I fear it will drag the identifies issues A. and B. from above into the system running the L4S-compliant AQM). I would love to learn where my interpretation is wrong.
>>>> 
>>>> Many Thanks in advance
>>>> 
>>>> Regards
>>>> 	Sebastian Moeller
>>> I'm not sure I agree this is necessarily a change of direction - I personally see queue protection as about a control plane optimisation to identify and mitigate traffic from non-conformant flows.
>> 	Sure, but it is telling that the one organization that is in the process of rolling-out L4S makes this a _mandatory_ requirement, no?
> I'll let those who worked on this spec comment upon this.
>>> Per-flow accounting is not the same as per-flow queueing. (From a different perspective: a circuit-breaker that monitors an envelope is not the same as a transport congestion controller or the same as a network traffic shaper/scheduler).
>> 	Sure, but if "Per-flow accounting" has similar computational cost " per-flow queueing" the rationale for not directly mandating  per-flow queueing seems somewhat diminished.
> Unpicking this and asking for help:
> 
> Is it really is the same "cost"?
> 
> And... do people see it as something that all routers along the path should do, or something that an edge router may do?
>>> My expectation would be that someone implementing L4S doesn't need to do this?
>> 	I agree, it is not in the L4S RFCs, so it is not a MUST from the RFCs perspective.
>> 
>> 
>>> ... unless someone wants to offer this sort of protection. In the same way that not all current Ethernet switches protect from overload, but it is important that those people who care about these things can acquire this when they needs it.
>> Fair enough, point taken.
>> 
>> Thanks
>> 	Sebastian
>> 
>>> Gorry
>>> 
> Gorry
>