Re: [tcpm] More motivating scenarios for tcpm-ack-pull
Bob Briscoe <ietf@bobbriscoe.net> Sun, 15 March 2020 16:26 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 218D43A1897 for <tcpm@ietfa.amsl.com>; Sun, 15 Mar 2020 09:26:50 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.432
X-Spam-Level:
X-Spam-Status: No, score=-1.432 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_SOFTFAIL=0.665, URIBL_BLOCKED=0.001] autolearn=no 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 XyxayJKmK8B8 for <tcpm@ietfa.amsl.com>; Sun, 15 Mar 2020 09:26:47 -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 A1A933A1896 for <tcpm@ietf.org>; Sun, 15 Mar 2020 09:26:47 -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=xUr6whXqNW85FnejgPkvrf/zHuVXQUvznVRhrEpxXA4=; b=hk1dbP0yC9tB1TlhOpbRg6eUj kLMYfoR6SSdlwQYreTUXS5kbaMvfZgljBXcT4mJk0DrwbofXfwj9xpWJe1LxfPZY17mll0usyfsw8 bdhwcVgzzIBpPrWtersx0mOlHws3F5+3AUbznRnipI+YKo6eVWfqz6Y1X/f7yzY+3LWRBZRm/OCYG V3ZOewQkDiguaWpedSOAuEVe1lKBa9KmJFnI7TFtAdPKrfiVJgzA5jihHz9Ii1ZqaoFA3YEsqd1qg kwu39sie18WmH4/d/hu+5gecJpOR7aPvdFXYGUPk1xN9DKGWN4RMVMPNhOIkdkYDzEqrgjNvy3iDW zF2tO6qdA==;
Received: from [31.185.135.141] (port=41134 helo=[192.168.0.4]) 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 1jDW68-003DAj-St; Sun, 15 Mar 2020 16:26:45 +0000
To: Carles Gomez Montenegro <carlesgo@entel.upc.edu>
Cc: tcpm IETF list <tcpm@ietf.org>, Jon Crowcroft <jon.crowcroft@cl.cam.ac.uk>
References: <3326ed99-b077-592b-7913-aeb2286912c4@bobbriscoe.net> <13486113479ebcb344247daedda10467.squirrel@webmail.entel.upc.edu> <CAEeTejJC4KLbjLNWmVxPXwDtrC=rjrcOsVnwjEym2uEhJZq7cw@mail.gmail.com> <3f4d3d94-24a8-4ed8-a752-ae5242907d43@gmx.at> <ef6c55535a860b37056cd014ad178416.squirrel@webmail.entel.upc.edu> <db2a849d-a26f-d741-a039-1622c478ee50@gmx.at> <fde0262a-0206-92bf-b529-4043cacc8030@bobbriscoe.net> <391035ee6f57baa407f9be225db8dfbc.squirrel@webmail.entel.upc.edu>
From: Bob Briscoe <ietf@bobbriscoe.net>
Message-ID: <44192613-4e05-bffa-a810-ef261d78d190@bobbriscoe.net>
Date: Sun, 15 Mar 2020 16:26:43 +0000
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: <391035ee6f57baa407f9be225db8dfbc.squirrel@webmail.entel.upc.edu>
Content-Type: multipart/alternative; boundary="------------7F70ED1C76A6E6548B61CD01"
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/tcpm/g32W0keVyVMkAoR0hXzjma8vNKo>
Subject: Re: [tcpm] More motivating scenarios for tcpm-ack-pull
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: Sun, 15 Mar 2020 16:26:51 -0000
Carles & Jon, Yes, if the tcpm WG was prepared to consider adopting this, I'd support it. A few comments: I'm not sure I would limit it to "suppression" of delayed ACKs, and I don't just mean it should include releasing suppression. In many circumstances the sender would be happy with less frequent ACKs than the receiver is generating. E.g. with high performance data transfers, 1/16 would often be fine when there are hundreds of packets in flight. But, because the receiver can't be sure whether the sender would suffer one of the downsides to delaying ACKs, it maintains a conservatively low delayed ACK ratio. So perhaps a better scope (and title) would be "Sender control of Delayed ACKs in TCP"? I've added 'in TCP', because I think it's useful to make the scope concrete. But I think this doc could also be useful for other transport protocols, particularly QUIC. S3.1 & S3.2 Slow start & High bit rate environments and short data segments However, use of Delayed ACKs reduces the amount of ACKs received by the sender, thus reducing the rate of cwnd growth, increasing transfer time and reducing throughput, when compared with sending an ACK for each incoming data segment. I think ABC (appropriate byte counting) allows the sender to unilaterally address that concern without needing ACK Pull [RFC3465]. The reference to 'more rapidly get up to speed during slow-start without overshoot' is a bit opaque. Rather than "describing by reference", it needs to describe the lack of ability to send patterns of packets (e.g. chirps) and be able to time the gaps between the ACKs. At minimum, the citation should refer to Appendix B.4, which was the mechanism proposed to do ACK pull at the time. S.3.4 Beyond classic ACK transmission behavior It ought to mention that many link technologies (Satellite, DOCSIS, LTE, WiFi, ...?) do TCP ACK thinning 'cos TCP doesn't do it itself, but it improves performance (when the ACK stream becomes the bottleneck for the forward path, because many reverse paths have pathetic bandwidth, esp. if a parallel upload is going on). See "ACK Scaling and Performance on AsymmetricPaths" https://erg.abdn.ac.uk/~downloads/ackscaling.pdf 4.2. Per-segment granularity Between per-segment and permanent, there's per-connection suppression. I'm not saying that would be any use, I'm just saying it doesn't have to be permanent. 4.4 Support for enabling generic ACK ratios This reminds me of a subtle additional requirement. When you move from ACK pull to controlling the ACK ratio, there's an important distinction between a sender's packet stopping the receiver delaying the ACK for /that/ packet (as in ACK pull), vs. setting the receiver's Delayed ACK policy for /that and subsequent/ packets. This raises the question, should the mechanism use soft state (repeated in every packet), or connection state (remembered by the receiver)? Which is hinted at in your section on "safe return to normal operation".x 4.10+ Extra requirement: Who's in control? The receiver cannot be expected to control ACKs in any way the sender wants, which it will not always be able to honour anyway. So the semantics have to be of a hint, not a request or a command. Then there's the question of whether the receiver just does what it wants, or whether it ought to tell the sender it's not doing what it was asked. It might seem that the the receiver silently not doing what it's told is the simple case. However, it adds complexity to anything trying to rely on the behaviour (e.g. the slow start examples). A good first draft. Thank you. Bob On 15/03/2020 09:47, Carles Gomez Montenegro wrote: > Hi Bob, > > Thanks, once again, for your kind suggestions! > > We agreed with your proposal below, and we published the initial version > of a new I-D [1] that has the aim that you described below (i.e. > requirements analysis plus discussion of suggested solutions). > > We hope the document can be useful to analyze the problem space in a more > comprehensive approach. > > Should you have further comments, please do not hesitate to let us know! > > Cheers, > > Carles > > [1] https://tools.ietf.org/html/draft-gomez-tcpm-delack-suppr-reqs-00 > > >> Carles, >> >> It strikes me that there is a lot of interest in doing something like >> ACK-pull, but also a lot of disagreement in where to draw the line >> between what to do and what not to do. >> >> Can I suggest that a way to resolve this would be to start with an >> informational requirements draft, that I am sure would be adopted as WG >> business immediately given the interest. Whereas any particular choice >> of mechanism at this stage would probably not get the necessary >> consensus to be adopted. >> >> The requirements draft could discuss solutions, not as a "on this we all >> agree" protocol, but in terms of their pros and cons, e.g. which >> mechanisms could satisfy which requirements, so they can be judged >> relative to each mechanism's complexity / traversibility / usage of bits >> / etc. >> >> I will warn you that a requirements draft could itself add years to the >> process (the accurate ECN requirements did [RFC7560]). But not if we >> agree to allow a solution draft to start in parallel once the >> requirements are starting to converge, rather than waiting for the >> requirements to go thru the full RFC process. >> >> >> You might prefer to continue evangelising ack-pull as a sufficient >> solution, so I don't want to say a requirements draft is the only way >> forward. But you saw my comment earlier - that once you've been through >> all the years of effort of getting anything changed in TCP, you >> sometimes feel that you wish you'd been more ambitious than just one bit >> at the start. >> >> >> Bob > > _______________________________________________ > tcpm mailing list > tcpm@ietf.org > https://www.ietf.org/mailman/listinfo/tcpm -- ________________________________________________________________ Bob Briscoe http://bobbriscoe.net/
- [tcpm] More motivating scenarios for tcpm-ack-pull Bob Briscoe
- Re: [tcpm] More motivating scenarios for tcpm-ack… Jon Crowcroft
- Re: [tcpm] More motivating scenarios for tcpm-ack… Bob Briscoe
- Re: [tcpm] More motivating scenarios for tcpm-ack… Carles Gomez Montenegro
- Re: [tcpm] More motivating scenarios for tcpm-ack… Jon Crowcroft
- Re: [tcpm] More motivating scenarios for tcpm-ack… Scheffenegger, Richard
- Re: [tcpm] More motivating scenarios for tcpm-ack… Carles Gomez Montenegro
- Re: [tcpm] More motivating scenarios for tcpm-ack… Jeremy Harris
- Re: [tcpm] More motivating scenarios for tcpm-ack… Gorry Fairhurst
- Re: [tcpm] More motivating scenarios for tcpm-ack… Jonathan Morton
- Re: [tcpm] More motivating scenarios for tcpm-ack… Scheffenegger, Richard
- Re: [tcpm] More motivating scenarios for tcpm-ack… Bob Briscoe
- Re: [tcpm] More motivating scenarios for tcpm-ack… Bob Briscoe
- Re: [tcpm] More motivating scenarios for tcpm-ack… Carles Gomez Montenegro
- Re: [tcpm] More motivating scenarios for tcpm-ack… Carles Gomez Montenegro
- Re: [tcpm] More motivating scenarios for tcpm-ack… Bob Briscoe
- Re: [tcpm] More motivating scenarios for tcpm-ack… Jonathan Morton
- [tcpm] Sender control of Delayed ACKs (was Re: Mo… Carles Gomez Montenegro
- Re: [tcpm] More motivating scenarios for tcpm-ack… Carles Gomez Montenegro
- Re: [tcpm] Sender control of Delayed ACKs (was Re… Bob Briscoe
- Re: [tcpm] Sender control of Delayed ACKs (was Re… Rahul Arvind Jadhav
- Re: [tcpm] Sender control of Delayed ACKs (was Re… Bob Briscoe
- Re: [tcpm] Sender control of Delayed ACKs (was Re… Carles Gomez Montenegro