Re: [tcpm] [tsvwg] Cross-area alignment on "L4S and RACK"
Bob Briscoe <ietf@bobbriscoe.net> Fri, 09 November 2018 18:19 UTC
Return-Path: <ietf@bobbriscoe.net>
X-Original-To: tcpm@ietfa.amsl.com
Delivered-To: tcpm@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 54A5712F1A5; Fri, 9 Nov 2018 10:19:13 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.99
X-Spam-Level:
X-Spam-Status: No, score=-1.99 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_NONE=-0.0001, SPF_PASS=-0.001, T_KAM_HTML_FONT_INVALID=0.01] 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 cHkIbKDudH38; Fri, 9 Nov 2018 10:19:09 -0800 (PST)
Received: from server.dnsblock1.com (server.dnsblock1.com [85.13.236.178]) (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 68CD312D4EE; Fri, 9 Nov 2018 10:19:09 -0800 (PST)
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:References:Cc:To:From: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=A1cQBHibKDSB3c4QHL/E2N+9q2oBVHDb7ijOn6sDrXQ=; b=tn3DjdDFwUMK25qtznfoHAJ0Q ckKqALTOmws2BS5oexdfkiuUErMcHMSrcCjmnJfhvf6K3/495OmGbfOG1w0cbIz3DCkejwWOBDrBt xVju3IiBYdMUz9qRhCRAnj7FI5q5yzpazggRXZ5yCgK+znY4wp5vLLm1X4aJHKVfvRdPNfvCsNe55 qeuc1xDvg2pzdhaK3SOCTubsL2kxu40WsOMCabdvFgrSVDApRWIoNvWv9y9SkW+KHaIi/auhVbINv qHVErHCYsk3axoXjPYEsFuXyUKzE1G00CnzMTmNEowLJkyJjakpWzV2NO3IA+20/8dOMpjlQtGM3b kGN7oc+pw==;
Received: from ppp-171-96-190-43.revip8.asianet.co.th ([171.96.190.43]:54950 helo=[192.168.1.48]) by server.dnsblock1.com with esmtpsa (TLSv1.2:ECDHE-RSA-AES128-GCM-SHA256:128) (Exim 4.91) (envelope-from <ietf@bobbriscoe.net>) id 1gLBN4-00053W-Vi; Fri, 09 Nov 2018 18:19:07 +0000
From: Bob Briscoe <ietf@bobbriscoe.net>
To: "Scharf, Michael" <Michael.Scharf@hs-esslingen.de>, "tcpm@ietf.org" <tcpm@ietf.org>
Cc: "tsvwg@ietf.org" <tsvwg@ietf.org>
References: <6EC6417807D9754DA64F3087E2E2E03E2D14F3F0@rznt8114.rznt.rzdir.fht-esslingen.de> <110030da-11f7-c9c2-c059-2abdf6178864@bobbriscoe.net> <6EC6417807D9754DA64F3087E2E2E03E2D15201A@rznt8114.rznt.rzdir.fht-esslingen.de> <1f7ccdda-0e0c-4241-3cfb-b4fe4cc00b47@bobbriscoe.net> <6EC6417807D9754DA64F3087E2E2E03E2D152905@rznt8114.rznt.rzdir.fht-esslingen.de> <53f76b72-67e8-9c95-0ea5-a5621f378dd0@bobbriscoe.net> <6EC6417807D9754DA64F3087E2E2E03E2D1536B3@rznt8114.rznt.rzdir.fht-esslingen.de> <bbe04ad6-d471-4dc3-1b14-000e5cd2bb9a@bobbriscoe.net>
Message-ID: <07172d9e-ca4c-f20a-c1d0-6b6ef617ab31@bobbriscoe.net>
Date: Fri, 09 Nov 2018 18:19:04 +0000
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:60.0) Gecko/20100101 Thunderbird/60.2.1
MIME-Version: 1.0
In-Reply-To: <bbe04ad6-d471-4dc3-1b14-000e5cd2bb9a@bobbriscoe.net>
Content-Type: multipart/alternative; boundary="------------8602BBA0E0DF1CC11A42C83E"
Content-Language: en-GB
X-AntiAbuse: This header was added to track abuse, please include it with any abuse report
X-AntiAbuse: Primary Hostname - server.dnsblock1.com
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: server.dnsblock1.com: authenticated_id: in@bobbriscoe.net
X-Authenticated-Sender: server.dnsblock1.com: in@bobbriscoe.net
Archived-At: <https://mailarchive.ietf.org/arch/msg/tcpm/HKZavZVBZc0SAgKuaocgIuIWRxY>
Subject: Re: [tcpm] [tsvwg] Cross-area alignment on "L4S and RACK"
X-BeenThere: tcpm@ietf.org
X-Mailman-Version: 2.1.29
Precedence: list
List-Id: TCP Maintenance and Minor Extensions Working Group <tcpm.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/tcpm>, <mailto:tcpm-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/tcpm/>
List-Post: <mailto:tcpm@ietf.org>
List-Help: <mailto:tcpm-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/tcpm>, <mailto:tcpm-request@ietf.org?subject=subscribe>
X-List-Received-Date: Fri, 09 Nov 2018 18:19:14 -0000
Michael, On 09/11/2018 18:03, Bob Briscoe wrote: > Michael, > > Please address the scaling rationale in the appendix for why it does > matter how a sender realizes this internally. > > The list of access links types I mentioned are rarely connected > directly to routers. Correction to my own statement: Only LTE links are rarely connected to routers , WiFi are, and DOCSIS are (the CMTS). The radio link (ARQ) issue is not to do with routing. One can think of bonded links as a form of L2 multipath, and therefore broadly related to routing. But it's access link expertise that's needed here, not routing expertise, I would say. Bob > > > > Bob > > On 09/11/2018 17:44, Scharf, Michael wrote: >> >> I’ll not comment on link technology implementation, scheduler and >> queue design assumptions in Appendix A.1.7 of >> draft-ietf-tsvwg-ecn-l4s-id-05. People e.g. in RTG area may be more >> familiar with the implications of internal designs e.g. inside a >> router. IMHO the best way to get routing experts into the loop before >> further discussing what is currently listed in Appendix A.1.7. >> >> Thus, I limit my response to the actual wording in the main part of >> draft-ietf-tsvwg-ecn-l4s-id-05: >> >> o A scalable congestion control MUST detect loss by counting in >> >> units of time, which is scalable, and MUST NOT count in units of >> >> packets (as in the 3 DupACK rule of traditional TCP), which is not >> >> scalable (see Appendix A.1.7 >> <https://tools.ietf.org/html/draft-ietf-tsvwg-ecn-l4s-id-05#appendix-A.1.7>for >> rationale). >> >> As individual contributor, I disagree with this requirement. I would >> probably be OK with a wording that a TCP sender must be able to >> tolerate reordering beyond 3 Duplicate ACKs. I believe it does not >> matter how a sender realizes this internally. >> >> And if that requirement is not just removed, I believe the wording >> “traditional TCP” has to be replaced by “standard TCP”. >> >> BTW, also, in the rest of the document there has to be a clear >> distinction between experiments and standards. History tells us that >> some experiments can evolve into standards track specifications, >> while other experiments may fail. And there is no way of knowing that >> in advance. >> >> Michael >> >> *From:*Bob Briscoe [mailto:ietf@bobbriscoe.net] >> *Sent:* Friday, November 9, 2018 11:08 AM >> *To:* Scharf, Michael; tcpm@ietf.org >> *Cc:* tsvwg@ietf.org >> *Subject:* Re: [tsvwg] Cross-area alignment on "L4S and RACK" >> >> Michael, >> >> On 09/11/2018 06:21, Scharf, Michael wrote: >> >> I don’t see the fundamental difference between a link technology >> that guarantees in-order delivery within a flow (say by flow >> hashing, see ECMP) vs. some link scheme that guarantees in-order >> delivery, say, only for some fraction of the traffic >> characterized by some other means (say, other header bits). >> >> [The "other means" and "other bits" wording is pretty ambiguous here. >> I reckon I can guess what you mean but then I don't know why you're >> saying this, 'cos I don't think I've disagreed with you on this. So >> perhaps you could be more specific and we might be able to see why >> you've brought this up.] >> >> Also I wasn't really talking about all "link technology that >> guarantees in-order delivery within a flow". {Note 1} I was talking >> about link technology where all flows are blocked while waiting to >> get the aggregate back in order that it was in when it arrived. I >> specifically said: >> >> Note that there can be multiple flows over one link. So 'in-order >> delivery' for a link does not mean in order of TCP sequence number. >> It means 'delivered in the order that packets arrived at the link' >> (the link ingress adds its own sequence numbers, and the link egress >> buffers them until it can send out in the same order, or until a >> time-out or max no. of link retransmissions). >> >> For example: >> >> * A packet resequencing buffer after allowing for link-layer >> retransmissions is common for radio link technologies such as LTE >> (PDCP layer) and 802.11 WiFi. >> * A packet resequencing buffer after merging multiple bonded link >> channels is common for other access link technologies such as >> downstream DOCSIS bonded channels. >> >> >> >> Clearly, reordering is a problem that needs to be discussed in the >> IETF as a whole. And we could discuss whether a revision of RFC 3366 >> is needed. >> >> No. There is no proposal to alter general guidance for all links like >> RFC 3366. No-one is saying this. >> >> There is not even a proposal to require or even recommend that >> L4S-specific links do anything. >> >> The specific proposal is to require L4S /sources/ to use a RACK-like >> scheme, as a condition for setting the ECT(1) codepoint. See the last >> bullet in S.4.3 of draft-ietf-tsvwg-ecn-l4s-id-05 >> <https://tools.ietf.org/html/draft-ietf-tsvwg-ecn-l4s-id-05#section-4.3>. >> >> >> This says nothing about what L4S links MUST, SHOULD or MAY do. It >> just gives an L4S link an opportunity not to have to do resequencing. >> >> >> But I am not convinced that this topic has to be tied into an >> experiment such as L4S. >> >> It is an opportunity that currently only applies to L4S. >> >> L4S is merely an example of a case where we can mandate that there >> will be no non-RACK traffic in a link, which creates an opportunity >> for those who are implementing the L4S DualQ Coupled AQM to ignore >> the RFC3366 resequencing advice for the L4S queue (but we are not >> changing the advice, because L4S is only an experiment). The prize is >> to remove the head-of-line blocking problem for their users. >> >> This is not L4S-specific, altho there are no other examples at the >> moment where this opportunity is possible (so in that sense it is >> /currently/ L4S-specific). >> >> >> The message has to be handled really carefully, because the >> opportunities for misunderstanding are enormous (as evidenced by this >> thread, and we haven't even started talking to non-transport people yet). >> >> So Gorry and David B want me to draft a short I-D that they will >> word-smith and author as tsvwg chairs to make the situation clear. >> >> I have said I don't want this discussion to be officially raised >> outside the transport area until we are sure that a variant of RACK >> is even feasible without any packet counting at all (i.e. without the >> initial 3-DupACK rule in current RACK). So I'll prioritize working >> that out for the next week or so, rather than drafting anything. >> >> >> >> Bob >> >> {Note 1}: I hadn't considered that this would affect technologies >> like ECMP that maintain order without a resequencing buffer and >> without introducing HoL blocking. But actually, the consequence there >> would be that L4S traffic could be sprayed by ECMP without per-flow >> hashing. >> >> >> Michael >> >> *From:*Bob Briscoe [mailto:in@bobbriscoe.net] >> *Sent:* Friday, November 9, 2018 6:42 AM >> *To:* Scharf, Michael; tcpm@ietf.org <mailto:tcpm@ietf.org> >> *Cc:* tsvwg@ietf.org <mailto:tsvwg@ietf.org> >> *Subject:* Re: [tsvwg] Cross-area alignment on "L4S and RACK" >> >> Michael, >> >> That is the point I thought you were making, and my point /is/ about >> that. >> >> If an application needs all the packets (i.e. a reliable protocol), >> it's not useful to reduce the latency of some packets but not all. >> That's where the in-order requirement comes from. >> >> However, if a stream-based transport is used (i.e. TCP) the >> /application/ still gets in-order delivery from TCP. It just doesn't >> have to require links to provide in order delivery as well. >> >> Note that there can be multiple flows over one link. So 'in-order >> delivery' for a link does not mean in order of TCP sequence number. >> It means 'delivered in the order that packets arrived at the link' >> (the link ingress adds its own sequence numbers, and the link egress >> buffers them until it can send out in the same order, or until a >> time-out or max no. of link retransmissions). >> >> So, if the link loses a packet from flow A (the link isn't aware of >> microflows, I'm just saying the packet happens to be from flow A), >> link-layer in-order delivery will hold back all packets sent after >> that packet (from all flows, not just flow A) until the link repairs >> the gap or gives up. >> >> So hop-by-hop in-order delivery gives every flow the same delay as >> the worst delayed flow. >> >> Of course, someone building a network for DETNET would avoid link >> technologies like WiFi or LTE that frequently lose and retransmit >> packets. But wherever there is variable delay in a link, guaranteed >> in-order delivery per-hop means every flow is guaranteed to always >> get the worst delay from every link, which would have been >> experienced by only one flow without per-hop in-order delivery. >> >> And many of the applications of DETNET involve dumb industrial >> machinery that just expects everything to arrive in order and to a >> clocked schedule. But it's always as effective to deploy a >> resequencing buffer as the penultimate hop, screwed onto the >> receiving machine if necessary, rather than require per-hop >> resequencing in the network. >> >> ________________ >> So, why do Internet links often ensure in-order delivery even though >> TCP puts everything in order for the application? >> >> Short answer: the 3 DupACK rule (which is to do with loss-recovery, a >> different issue from the discussion above). >> >> Long answer: As flow rates have scaled up, the typical time between 3 >> packet arrivals has become so small that TCP's 3-DupACK rule makes >> links have to provide delivery with only a very small re-ordering >> degree - so small that it's easier for a link to just deliver >> everything in the order it received it; not because TCP doesn't put >> packets back in order, but just so as not to trigger TCP into >> generating spurious retransmissions. >> >> >> >> Bob >> >> On 08/11/2018 16:35, Scharf, Michael wrote: >> >> Inline [ms] >> >> *From:*Bob Briscoe [mailto:in@bobbriscoe.net] >> *Sent:* Thursday, November 8, 2018 12:56 PM >> *To:* Scharf, Michael; tcpm@ietf.org <mailto:tcpm@ietf.org> >> *Cc:* tsvwg@ietf.org <mailto:tsvwg@ietf.org> >> *Subject:* Re: [tsvwg] Cross-area alignment on "L4S and RACK" >> >> Michael, >> >> This is merely a symptom of a difference in opinion on where the >> resequencing function should be located. >> >> * L4S takes the end-to-end approach saying that it is >> sufficient to do resequencing in one place (the receiving >> host) if it is needed. Then any resequencing delay only >> affects that flow. >> * The DETNET approach is saying the resequencing must be done >> hop-by-hop. This means there appears to be no resequencing >> needed on the receiver (except if there's re-ordering on the >> final hop). >> >> * In order to guarantee no resequencing in the network (DETNET >> approach), only the the worst case latency can be guaranteed, >> and every packet has to have that same worst-case latency. >> * When you leave resequencing to the receiver (end-to-end >> approach), most of the packets arrive earlier than they would >> with DETNET, but out of order ones might not. Then the >> application chooses whether it wants to wait. >> >> [ms] My point is different: There seem to be other working groups >> in the IETF that do talk about “low latency” as well but >> apparently they also do need in-order delivery of packets, too. >> So the assumption that e.g. a link layer technology can simply >> disable in-order delivery for all “low latency” applications >> seems not correct. The reality may be a bit more complex. >> >> The 3 DupACK rule in TCP led the Internet not to follow the >> end-to-end principle on re-sequencing. Now we're removing the 3 >> DupACK rule, we can take advantage of the e2e principle. >> >> [ms] For TCP, three DupACKS are a SHOULD in RFC 5681 and RFC 5681 >> is standards track. So the bar for “removing” that rule for TCP >> is not low… >> >> [ms] Also, the end-to-end principle comes with tradeoffs. For >> instance, relying on the end-to-end principle for recovery of bit >> errors is not efficient. For in-order delivery there are >> tradeoffs as well, see e.g. Section 4 in draft-ietf-tcpm-rack-04. >> There may be no free lunch. >> >> Of course, an application might choose to use TCP and L4S, rather >> than UDP and L4S (e.g QUIC). Then there could still be HoL >> blocking in the receiving TCP stack. But at least there's no HoL >> blocking in the network, and the app can choose between stream >> (TCP) or datagram (UDP). >> >> [ms] If LRO/GRO in the receiving TCP stack gets messed up, I fail >> to see the benefit (see draft-ietf-tcpm-rack-04). >> >> Michael >> >> >> Bob >> >> On 06/11/2018 19:20, Scharf, Michael wrote: >> >> A comment on the TCPM presentation "L4S and RACK": >> >> >> >> As far as I understand, the DETNET WG in RTG area has quite some uses cases for ultra-low latency transport - in particular also with bounded jitter. And some of these applications (e.g. using UDP) apparently may not be able to tolerate *any* out-of-order packet delivery. >> >> >> >> So perhaps some cross-area alignment on ulta-low-latency application requirements would be useful? >> >> >> >> Michael >> >> (who recently had to review draft-ietf-detnet-architecture) >> >> >> >> >> >> >> >> >> >> -- >> >> ________________________________________________________________ >> >> Bob Briscoehttp://bobbriscoe.net/ >> >> >> >> >> -- >> ________________________________________________________________ >> Bob Briscoehttp://bobbriscoe.net/ >> >> >> >> -- >> ________________________________________________________________ >> Bob Briscoehttp://bobbriscoe.net/ > > -- > ________________________________________________________________ > Bob Briscoehttp://bobbriscoe.net/ -- ________________________________________________________________ Bob Briscoe http://bobbriscoe.net/
- [tcpm] Cross-area alignment on "L4S and RACK" Scharf, Michael
- Re: [tcpm] [tsvwg] Cross-area alignment on "L4S a… Spencer Dawkins at IETF
- Re: [tcpm] [tsvwg] Cross-area alignment on "L4S a… Black, David
- Re: [tcpm] [tsvwg] Cross-area alignment on "L4S a… Bob Briscoe
- Re: [tcpm] [tsvwg] Cross-area alignment on "L4S a… Scharf, Michael
- Re: [tcpm] [tsvwg] Cross-area alignment on "L4S a… Bob Briscoe
- Re: [tcpm] [tsvwg] Cross-area alignment on "L4S a… Scharf, Michael
- Re: [tcpm] [tsvwg] Cross-area alignment on "L4S a… Fred Baker
- Re: [tcpm] [tsvwg] Cross-area alignment on "L4S a… Bob Briscoe
- Re: [tcpm] [tsvwg] Cross-area alignment on "L4S a… Scharf, Michael
- Re: [tcpm] [tsvwg] Cross-area alignment on "L4S a… Bob Briscoe
- Re: [tcpm] [tsvwg] Cross-area alignment on "L4S a… Bob Briscoe
- Re: [tcpm] [tsvwg] Cross-area alignment on "L4S a… Scharf, Michael
- Re: [tcpm] [tsvwg] Cross-area alignment on "L4S a… Bob Briscoe
- Re: [tcpm] [tsvwg] Cross-area alignment on "L4S a… Praveen Balasubramanian
- Re: [tcpm] [tsvwg] Cross-area alignment on "L4S a… Scharf, Michael
- Re: [tcpm] [tsvwg] Cross-area alignment on "L4S a… Bob Briscoe
- Re: [tcpm] [tsvwg] Cross-area alignment on "L4S a… Scharf, Michael
- Re: [tcpm] [tsvwg] Cross-area alignment on "L4S a… Scheffenegger, Richard
- Re: [tcpm] [tsvwg] Cross-area alignment on "L4S a… Bob Briscoe
- Re: [tcpm] [tsvwg] Cross-area alignment on "L4S a… Scharf, Michael