Re: [Lsr] Flow Control Discussion for IS-IS Flooding Speed

bruno.decraene@orange.com Fri, 24 April 2020 09:25 UTC

Return-Path: <bruno.decraene@orange.com>
X-Original-To: lsr@ietfa.amsl.com
Delivered-To: lsr@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 2689B3A10CE for <lsr@ietfa.amsl.com>; Fri, 24 Apr 2020 02:25:50 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.097
X-Spam-Level:
X-Spam-Status: No, score=-2.097 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_NONE=0.001, SPF_PASS=-0.001, UNPARSEABLE_RELAY=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=orange.com
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 D6JsKsTaMAnB for <lsr@ietfa.amsl.com>; Fri, 24 Apr 2020 02:25:46 -0700 (PDT)
Received: from relais-inet.orange.com (relais-inet.orange.com [80.12.66.39]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 334A53A1158 for <lsr@ietf.org>; Fri, 24 Apr 2020 02:25:25 -0700 (PDT)
Received: from opfedar00.francetelecom.fr (unknown [xx.xx.xx.11]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by opfedar23.francetelecom.fr (ESMTP service) with ESMTPS id 497pg74SBjzBs1k; Fri, 24 Apr 2020 11:25:23 +0200 (CEST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=orange.com; s=ORANGE001; t=1587720323; bh=2NpNQ4ZRQ5+i5rxVtPH3LI5xm4nfZzEwwFl0FhABcr4=; h=From:To:Subject:Date:Message-ID:Content-Type:MIME-Version; b=XAWmF8B3BxXXk854jeeCvnHvPCaeRvdK1hq9p8D1VASwHjNRayXwGqFwLeiGLEmL4 aeRLW29WMDkQXqwyZ9w2uB5JlOO/jBTDq/FpdTV30JgEn2Qod6NvM4b+bvL2A8ctkp R8bd4v6EpB/nH2//Tqyec3eRgpvUskhjNDbSfJd7hyOvcTSGNT0YTwEJB3OR5tIpwj 7TiJPoW8BH9ebcf0EZk+8y34tL8krj5WRHXJwWN6c2+GpynKT9Uxzg5mOCYUfwaZ70 oFG7n1+sjlTVyry1nALxxQ7Oa8AB7V2UF/x52c/YvdhMnOpl5MJusN8RoC7adwCISZ EbkaE+Sfum16A==
Received: from Exchangemail-eme6.itn.ftgroup (unknown [xx.xx.13.73]) (using TLSv1 with cipher ECDHE-RSA-AES256-SHA (256/256 bits)) (No client certificate requested) by opfedar00.francetelecom.fr (ESMTP service) with ESMTPS id 497pg72FVYzCqkk; Fri, 24 Apr 2020 11:25:23 +0200 (CEST)
From: bruno.decraene@orange.com
To: Tony Przygienda <tonysietf@gmail.com>
CC: "lsr@ietf.org" <lsr@ietf.org>, "Les Ginsberg (ginsberg)" <ginsberg=40cisco.com@dmarc.ietf.org>
Thread-Topic: [Lsr] Flow Control Discussion for IS-IS Flooding Speed
Thread-Index: AQHWGZSnbkJZPBB7TgK3RmmTteJ+KqiH/bCQ
Date: Fri, 24 Apr 2020 09:25:22 +0000
Message-ID: <4008_1587720323_5EA2B083_4008_332_1_53C29892C857584299CBF5D05346208A48E29FE5@OPEXCAUBM43.corporate.adroot.infra.ftgroup>
References: <MW3PR11MB46191E81D5B22B454D8184A4C1100@MW3PR11MB4619.namprd11.prod.outlook.com> <MW3PR11MB461942C752F9CCB0A6E6C1BFC1100@MW3PR11MB4619.namprd11.prod.outlook.com> <13222_1587383221_5E9D8BB5_13222_339_1_53C29892C857584299CBF5D05346208A48E22AF0@OPEXCAUBM43.corporate.adroot.infra.ftgroup> <MW3PR11MB46191D244D51A05F9AA4631DC1D50@MW3PR11MB4619.namprd11.prod.outlook.com> <CA+wi2hN2A3oZcZWngNjBnZ214jiGNfqyTZpytpK0jrxH68SnqQ@mail.gmail.com> <6448_1587578604_5EA086EC_6448_75_1_53C29892C857584299CBF5D05346208A48E26E6F@OPEXCAUBM43.corporate.adroot.infra.ftgroup> <CA+wi2hPd0Ccn_RiSf=EMa6BfPVhN5FnnOR2hz1PeWpMNNub-BA@mail.gmail.com> <19631_1587662111_5EA1CD1F_19631_99_1_53C29892C857584299CBF5D05346208A48E28EDE@OPEXCAUBM43.corporate.adroot.infra.ftgroup> <CA+wi2hMm=0C9LVy8po2eoYnrTRC6AKawoMJoDoEm5xtbFEvfhw@mail.gmail.com>
In-Reply-To: <CA+wi2hMm=0C9LVy8po2eoYnrTRC6AKawoMJoDoEm5xtbFEvfhw@mail.gmail.com>
Accept-Language: fr-FR, en-US
Content-Language: fr-FR
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
x-originating-ip: [10.114.13.245]
Content-Type: multipart/alternative; boundary="_000_53C29892C857584299CBF5D05346208A48E29FE5OPEXCAUBM43corp_"
MIME-Version: 1.0
Archived-At: <https://mailarchive.ietf.org/arch/msg/lsr/izzMmxXg2QlJR6TkIW4HFQZTkYY>
Subject: Re: [Lsr] Flow Control Discussion for IS-IS Flooding Speed
X-BeenThere: lsr@ietf.org
X-Mailman-Version: 2.1.29
Precedence: list
List-Id: Link State Routing Working Group <lsr.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/lsr>, <mailto:lsr-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/lsr/>
List-Post: <mailto:lsr@ietf.org>
List-Help: <mailto:lsr-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/lsr>, <mailto:lsr-request@ietf.org?subject=subscribe>
X-List-Received-Date: Fri, 24 Apr 2020 09:25:50 -0000

Tony

From: Tony Przygienda [mailto:tonysietf@gmail.com]
Sent: Thursday, April 23, 2020 7:29 PM
To: DECRAENE Bruno TGI/OLN
Cc: lsr@ietf.org; Les Ginsberg (ginsberg)
Subject: Re: [Lsr] Flow Control Discussion for IS-IS Flooding Speed

I was refering to RFC4960. Bruno, for all practical purposes I think that seems to go down the path of trying to reinvent RFC4960 (or ultimately use it).
[Bruno] I don’t think that SCTP (RC4960) is a better fit than TCP. Many more features and options than TCP, way more than needed given existing IS-IS flooding mechanism. Much less implementations experience and improvement than TCP.
Or, changing the packet formats heavily to incorporate all the control loop data you need to the point you have a different control channel along those lines since you'll find most of the problems RFC4960 is describing (minus stuff like multiple paths).
[Bruno] Really, adding one sub-TLV in IS-IS is not “changing the packet formats heavily”.
Nothing wrong with that but it's ambitious on a 30 years old anitque artefact we're nursing forward here ;-)
[Bruno] I’m perfectly fine with revolution approaches. I think that we can also provide incremental improvement to IS-IS.
As entertaining footnote, I saw in last 20 years at least 3 attempts to allow multiple TCP sessions in BGP between peers to speed/prioritize things up. All failed, after the first one I helped to push I smarted up ;-)
 [Bruno] On my side, I’ll try once and I think the LSR WG should also try to improve IS-IS performance. May be if we want to move, we should first release the brakes. I’m seen some progress, e.g., from “there is no need to improve flooding” to “we all agree to improve flooding”, or from “Network operator just need to configure existing CLI” to “We agree that we need something more automated/dynamic”. But this has been very slow progress over a year.

--Bruno

As another footnote: I looked @ all the stuff in RIFT (tcp, quic, 4960, more ephemeral stuff). I ended up adding to rift bunch very rudimentary things and do roughly what Les/Peter/Acee started to write (modulo algorith I contributed and bunch things that would be helpful but we can't fit into existing packet format). This was as much decision as to "what's available & well debugged" as well as "does it meet requirements" as "how complex is that vs. rtx in flooding architecture  we have today + some feedback". Not on powerpoint, in real production code ;-) rift draft shows you the outcome of that as IMO best trade-off to achieve high flooding speeds ;-)

my 2c

-- tony

On Thu, Apr 23, 2020 at 10:15 AM <bruno.decraene@orange.com<mailto:bruno.decraene@orange.com>> wrote:
Tony,
Thanks for engaging.
Please inline [Bruno2]



From: Tony Przygienda [mailto:tonysietf@gmail.com<mailto:tonysietf@gmail.com>]
Sent: Wednesday, April 22, 2020 9:25 PM
To: DECRAENE Bruno TGI/OLN
Cc: lsr@ietf.org<mailto:lsr@ietf.org>; Les Ginsberg (ginsberg)
Subject: Re: [Lsr] Flow Control Discussion for IS-IS Flooding Speed



On Wed, Apr 22, 2020 at 11:03 AM <bruno.decraene@orange.com<mailto:bruno.decraene@orange.com>> wrote:
Tony, all,

Thanks Tony for the technical and constructive feedback.
Please inline [Bruno]

From: Tony Przygienda [mailto:tonysietf@gmail.com<mailto:tonysietf@gmail.com>]
Sent: Wednesday, April 22, 2020 1:19 AM
To: Les Ginsberg (ginsberg)
Cc: DECRAENE Bruno TGI/OLN; lsr@ietf.org<mailto:lsr@ietf.org>
Subject: Re: [Lsr] Flow Control Discussion for IS-IS Flooding Speed

neither am I aware of anything like this (i.e. per platform/product flooding rate constants) in any major vendor stack for whatever that's worth. It's simply unmaintanable, point. All major vendors have extensive product lines over so many changing hardware configuration/setups it is simply not viable to attempt precise measurements (and even then, user changing config can throw the stuff off in a millisecond). There may have been here and there per deployment scenario some "recommended config" (not something I immediately recall either) but that means very fixed configuration of things & how they go into networks and even then I'm not aware of anyone having had a "precise model of the chain in the box". yes, probes to measure lots and lots of stuff in the boxes exist but again, those are chip/linecard/backplane/chassis/routing engine specific and mostly used in complex test/peformance scenarios and not to derive some kind of equations that can predict anything much ...
[Bruno] Good points.
Yet, one of the information that we propose to advertise by the LSP receiver to the LSP sender is the Receive Window.

-          This is a very common parameter and algorithm. Nothing fancy nor reinvented. In particular it’s a parameter used by TCP.

-          I would argue that TCP implementations also run on a variety of hardware and systems, must wider range than IS-IS platform. And those TCP implementations on all those platform manage to advertise this parameter (TCP window)

-          I fail to understand that when some WG contributors proposed the use of TCP, nobody said that determining and advertising a Receive Window would be an issue, difficult or even impossible. But when we propose to advertise a Receive Window in an IS-IS TLV, this becomes difficult or even impossible for some platforms. Can anyone help me understand the technical difference?


Bruno, I was waiting for that ;-)
[Bruno2] Good ;-)

Discounted for the fact that I'm not a major TCP expert: TCP is a very different beast. it has a 100-200msec fast timer & 500msec slow (which have to be quite accurate, it's really one timer for all connections + mbuf and other magic) and it sends a _lot_ of packets back and forth with window size indications so the negotiation can happen very quickly.  Also, TCP can detect losses based on sequence number received contrary to routing protocols (that's one of the things we added in RIFT BTW) and it can retransmit quickly when it sees a "hole". Contrary to that in ISIS ACKs may or may not come, they may be bundled, hellos may or may not come and we can't retransmit stuff on 100msec timers either. It's an utterly different transport channel.
[Bruno2] I would distinguish two things, which I think we have done in https://tools.ietf.org/html/draft-decraene-lsr-isis-flooding-speed-03

-          How fast you can adapt the sending rate. This seems mostly dependent on the speed of the feedback loop, rather than the format of message. E.g. In IS-IS the receiver can give a feedback more or less quickly (e.g. depending on how fast/bundled it sends the PSNP). In theory, I don’t see a major different. From an in implementation standpoint, I’m guessing that the difference is probably bigger (e.g. TCP is probably lower level/closer to the system/hardware, than IS-IS which is more user space and possibly Platform Independent in some organizations))

-          How fast you can detect packet loss. I agree that TCP & IS-IS are very different on this. We have proposed to improve this by allowing the receiver to advertise to the sender how fast it will ack the LSP. Currently the timer/behavior is known to receiver but no to the sender. Hence the sender needs to assume the wort case (ISO default).

In more abstract terms, TCP is a sliding N-window protocol (where N is adjusted all the time & losses can be efficiently detected) whereas LSR flooding is not a windowing protocol (or rather LSDB-size window protocol with selective retransmission but no detection of loss [or only very slow based on lack of ACK & CSNPs]). Disadvantage of something like TCP (I think I sent out the RFC with UDP control protocol work to make it more TCP like)
[Bruno2]  If you are referring to DCCP (Datagram Congestion Control Protocol) (RFC 4340), yes you did and thank you for this. Constructive feedback.

-          Regarding flow control, I’ve quickly looked at DCCP and it does not provides flow control.

-          Regarding congestion control, possibly the algorithm part may be reused. There are two algo and DCCP is open to others. May be one question is how much we want IS-IS to be fair to TCP (control plane TCP, not dataplane/user plane TCP). To me, IS-IS is more important than BGP traffic, given their relative importance to the network, their delay requirements, their typical volume of traffic. But that is probably a “detail” down the road. This is also depends on whether TCP & IS-IS compete for the same resources (e.g. same queue) or not (ideally TCP and IS-IS have different queues).

is that you are stuck when you put something into the pipe, no prioritization possible and if receiver is slow you may have multiple obsolete copies in the pipe waiting & lots retransmission BW when holes are punched into the data through loss. And plain TCP  is actually quite bad for control protocol traffic @ scale, almost all vendor run special version of it for BGP for that reason. Why that is is out of scope of this list I think ... Flooding is really good to send lots of data prioritized/in parallel but on losses re-TX is slow.
[Bruno2] Good that we seem to make the same distinction between the control loops for the sending rate vs the retransmission.
Regarding clarifying distinctions, draft may need to better introduce the distinction between flow control and congestion control, at least to structure the work and the discussion.

Thanks
--Bruno
Bruno, if you're so deeply interested in that stuff we can talk 1:1 off-line about implementation work on rift towards adapatable flooding rate
[Bruno] Sure. My pleasure. Please propose me some timeslot offline. Please note that I’m based in Europe (CEST), so a priori during your morning and my evening.
If you can also extend the offer to discuss the implementation work on the IS-IS implementation of your employer with regards to adaptable flooding rate, and/or how network operator can configure the CLI parameters of the LSP senders so as to improve flooding rate without overloading the Juniper receiver (possibly depending on the capability of the receiver, its number of IS-IS neighbors… and/or whatever parameter that you feel are relevant) that would be most appreciated. And if you believe that the Juniper LSP receiver can handle any rate from any reasonable (e.g. 50)  number of IGP neighbors, without (significantly) dropping the received LSPs, that would be even simpler, please advise.



ping me for that 1:1 on company email pls

-- tony

_________________________________________________________________________________________________________________________



Ce message et ses pieces jointes peuvent contenir des informations confidentielles ou privilegiees et ne doivent donc

pas etre diffuses, exploites ou copies sans autorisation. Si vous avez recu ce message par erreur, veuillez le signaler

a l'expediteur et le detruire ainsi que les pieces jointes. Les messages electroniques etant susceptibles d'alteration,

Orange decline toute responsabilite si ce message a ete altere, deforme ou falsifie. Merci.



This message and its attachments may contain confidential or privileged information that may be protected by law;

they should not be distributed, used or copied without authorisation.

If you have received this email in error, please notify the sender and delete this message and its attachments.

As emails may be altered, Orange is not liable for messages that have been modified, changed or falsified.

Thank you.

_________________________________________________________________________________________________________________________

Ce message et ses pieces jointes peuvent contenir des informations confidentielles ou privilegiees et ne doivent donc
pas etre diffuses, exploites ou copies sans autorisation. Si vous avez recu ce message par erreur, veuillez le signaler
a l'expediteur et le detruire ainsi que les pieces jointes. Les messages electroniques etant susceptibles d'alteration,
Orange decline toute responsabilite si ce message a ete altere, deforme ou falsifie. Merci.

This message and its attachments may contain confidential or privileged information that may be protected by law;
they should not be distributed, used or copied without authorisation.
If you have received this email in error, please notify the sender and delete this message and its attachments.
As emails may be altered, Orange is not liable for messages that have been modified, changed or falsified.
Thank you.