Re: [tcpm] Possible error in accurate-ecn
Bob Briscoe <research@bobbriscoe.net> Tue, 10 November 2020 16:39 UTC
Return-Path: <research@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 16C293A0AD3 for <tcpm@ietfa.amsl.com>; Tue, 10 Nov 2020 08:39:04 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.101
X-Spam-Level:
X-Spam-Status: No, score=-2.101 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, NICE_REPLY_A=-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 zKwEJmhs9J5P for <tcpm@ietfa.amsl.com>; Tue, 10 Nov 2020 08:39:02 -0800 (PST)
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 572993A0A2B for <tcpm@ietf.org>; Tue, 10 Nov 2020 08:39:01 -0800 (PST)
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=bobbriscoe.net; s=default; h=Content-Transfer-Encoding:Content-Type: In-Reply-To:MIME-Version:Date:Message-ID:From:References:Cc:To:Subject:Sender :Reply-To: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=kMcVpvgHPBtoDqyuRSBfESXxBYBbPgTUWdeczv0mksU=; b=J5UNjj4DmcZFcVuDEg+Q1r9zQz rMh6XCPLsH9o9jXde83QxmRJfmxTklDDu+so3qg4KDoNSTMha/DEPJLdvgxsNNICF/y8/EQdVMMDq 647LeojoM7Vhba3EDZnSx7Qwk3nuD8FZza37so2lzzJA7oL0/thP+OIiWRbp4eZl+rrR3HCgfh7/N qYInDoT4EKoS32oX2wlGmwqebchYglr/5XB6jjYAorGjHMT4AT5uFEsLr3/0EtAEtmZIHHUgLFL+9 mPUaZsxjoM8EHkjGmTF3k1IerhcpkMqw4GKdJ36QPY/cvDUSA2Btv4jEKGMV6LkwXamifvjs645X4 AVFCVq7w==;
Received: from 67.153.238.178.in-addr.arpa ([178.238.153.67]:46816 helo=[192.168.1.11]) by cl3.bcs-hosting.net with esmtpsa (TLS1.2) tls TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 (Exim 4.93) (envelope-from <research@bobbriscoe.net>) id 1kcWfa-009r0h-4c; Tue, 10 Nov 2020 16:39:00 +0000
To: Mirja Kuehlewind <ietf@kuehlewind.net>
Cc: tcpm IETF list <tcpm@ietf.org>, Richard Scheffenegger <rscheff@gmx.at>
References: <47df9b8b-515e-d40d-3473-599b0a3e3876@bobbriscoe.net> <6031BE2B-4D33-426F-BA17-DDF15CF821DE@kuehlewind.net>
From: Bob Briscoe <research@bobbriscoe.net>
Message-ID: <060c8bd8-d64b-3e46-7874-742e35e6d114@bobbriscoe.net>
Date: Tue, 10 Nov 2020 16:38:57 +0000
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:68.0) Gecko/20100101 Thunderbird/68.10.0
MIME-Version: 1.0
In-Reply-To: <6031BE2B-4D33-426F-BA17-DDF15CF821DE@kuehlewind.net>
Content-Type: text/plain; charset="utf-8"; format="flowed"
Content-Transfer-Encoding: 8bit
Content-Language: en-GB
X-OutGoing-Spam-Status: No, score=-0.2
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/GGqLCEMiAybIJL8aP1BLarjMCVA>
Subject: Re: [tcpm] Possible error in accurate-ecn
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: Tue, 10 Nov 2020 16:39:06 -0000
Mirja, On 10/11/2020 10:08, Mirja Kuehlewind wrote: > Hi Bob, Please see below. >> On 10. Nov 2020, at 01:31, Bob Briscoe <research@bobbriscoe.net> >> wrote: Mirja, Richard, Ilpo, tcpm list, I've just been reading >> through the accurate-ecn draft to double-check. I think there's a >> problem with the following text... >> 3.2.2.5.1. Data Receiver Safety Procedures >> >> An AccECN Data Receiver: >> >> o SHOULD immediately send an ACK whenever a data packet marked CE >> arrives after the previous [data] packet was not CE. >> >> o MUST immediately send an ACK once 'n' CE marks have arrived since >> the previous ACK, where 'n' SHOULD be 2 and MUST be no greater >> than 6. >> >> ... >> For the avoidance of doubt, the change-triggered ACK mechanism is >> deliberately worded to solely apply to data packets, and to ignore >> the arrival of a control packet with no payload, because it is >> important that TCP does not acknowledge pure ACKs. >> In the first bullet, I think it doesn't matter whether the previous >> packet marked CE was a data packet or a pure ACK (i.e we should >> remove the second occurrence of 'data' that I have put in [square >> brackets]. > [MK] I believe it does matter. If the previous packet was a pure ACK > and was CE marked, you didn’t send an ACK and so you should > immediately send one now. [BB] Neither the current text, nor my proposed edit, nor the text you propose below, says this. And I don't think it needs to. Surely this falls into the case of the second bullet ('n' CE marks in a row before needing to feed back anything). > [MK] If the previous packet was a data packet and CE marked, you don’t > need to send an immediate ACK because you already did this with the > previous packet. However, it text might be a but ambiguous because > what is meant is “if the previous packet was a data packet and CE > marked”. So this does not apply if we e.g. have a CE-marked data > packets, then a pure ACK that is not CE marked, and then another > CE-marked data packet. [BB] An AQM will typically mark packets irrespective of their type or size (that's a feature not a bug). So there's no reason for the receiver to treat some marks differently to others, whatever type or size of packets they're on. Let's revisit your last sentence above with a more general scenario - with more than one pure ACK in between the data - actually quite a common pattern. I.e. a server receives a small request, sends its larger response, then when that response has completed, the client sends another small request. So the server's TCP will see one data packet, a load of pure ACKs then one data packet again. Now consider the case where both arriving data packets (the requests) are CE-marked. There are three relevant cases for the marking of the pure ACKs in between: 1) no CE-marked pure ACKs 2) some non-CE-marked pure ACKs. 3) all CE-marked pure ACKs In cases 1 & 2, there has been a transition from none to some CE marks, but there hasn't been an opportunity to report it yet, so use the first opportunity to ACK a data packet. In case 3, surely the server doesn't need to send feedback unless there are 'n' CE marks to report. So how about this text to replace the first bullet: An AccECN Data Receiver: o SHOULD send an ACK at the first opportunity (in response to the arrival of a data packet) whenever a mix of non-CE marked and CE marked packets have arrived since any previous ACK. Moving on to the second bullet... >> The second bullet doesn't consider the possibility that the 'n'th CE >> mark might arrive on a pure ACK. Then, the wording as it stands says >> the Data Receiver MUST immediately ACK a pure ACK. I know TCP never >> ACKs a pure ACK, but I'm not actually sure it does any harm to do so >> in this case (it cannot cause an infinite loop of ACKs). However, >> given it would be unorthodox, we maybe ought to rule it out by >> rewording anyway? > [MK] I think we also can leave this as it is because if that ’n’ > packet is a pure ACK that still means that you have unacked data > packets with CE marks and you should trigger an ACK for those packet > now (rather than waiting for the delayed ACK timer to expire). However > this case is less important. Also we should probably make sure that > this doesn’t apply if there are only pure ACKs with CE marks, maybe by > add “if unacknowledged data are outstanding” or something. [BB] By the end of your last para you start to realize that, if the n'th CE mark arrives on pure ACK, it doesn't say anything about whether the previous (n-1) CE marks were on data or pure ACKs. Consider another common scenario; a server delivering chunks of video over a high BDP path (e.g. 500 packets per RTT), and going idle between times (perhaps in response to an "exceeded high watermark" data packet from the server). Now consider the possibility that the reverse path bottleneck builds a queue during each chunk, and starts CE marking towards the end of each chunk. Then, after the server stops sending a chunk, it continues to see a couple of hundred CE-marked pure ACKs arriving. However, by your proposed rule, it doesn't send any feedback, 'cos it has no data to acknowledge. So the client cannot regulate its ACK stream. That's just tough, 'cos the client will stop sending more pure ACKs after it has received the last data, which is before any later feedback from the server can reach it. However, if the client later sends a data packet that the server can acknowledge (e.g. "a low watermark" message), the server's ACE counter will have wrapped dozens of times, and the client won't be able to work out how many. That doesn't matter if a few round trips have elapsed - the congestion info will have become stale. But it does matter if it's fairly soon. Instead, if we keep the text of the second bullet... if the server's 'n' was 2, it would send a pure ACK for every other pure ACK it received. But, what if these pure ACKs from the server were also CE-marked? Then the client would feed back pure ACKs using its 'n'. This regression would eventually die out, but I don't like it. This conversation about the second bullet presumes AccECN is being used for ACK congestion control. I'm not comfortable with writing anything specific about ACK congestion control into a draft on the standards track. But I don't want to preclude AccECN being used for ACK CC. I believe the second bullet needs something changed to limit the ACKing of pure ACKs. However, before we put effort into wordsmithing, I'd like to hear whether you agree with the general idea of not defining what to do for ACK CC, but not precluding it. Cheers Bob > > Mirja > > > >> Thoughts anyone? >> >> >> Bob >> >> -- >> ________________________________________________________________ >> Bob Briscoe >> http://bobbriscoe.net/ > _______________________________________________ > tcpm mailing list > tcpm@ietf.org > https://www.ietf.org/mailman/listinfo/tcpm -- ________________________________________________________________ Bob Briscoe http://bobbriscoe.net/
- [tcpm] Possible error in accurate-ecn Bob Briscoe
- Re: [tcpm] Possible error in accurate-ecn Mirja Kuehlewind
- Re: [tcpm] Possible error in accurate-ecn Bob Briscoe
- Re: [tcpm] Possible error in accurate-ecn Yoshifumi Nishida
- Re: [tcpm] Possible error in accurate-ecn Bob Briscoe
- Re: [tcpm] Possible error in accurate-ecn Yoshifumi Nishida
- Re: [tcpm] Possible error in accurate-ecn Scheffenegger, Richard
- Re: [tcpm] Possible error in accurate-ecn Scheffenegger, Richard
- Re: [tcpm] Possible error in accurate-ecn Scheffenegger, Richard
- Re: [tcpm] Possible error in accurate-ecn Mirja Kuehlewind
- Re: [tcpm] Possible error in accurate-ecn Bob Briscoe
- Re: [tcpm] Possible error in accurate-ecn Scheffenegger, Richard
- Re: [tcpm] Possible error in accurate-ecn Yoshifumi Nishida
- Re: [tcpm] Possible error in accurate-ecn Scheffenegger, Richard
- Re: [tcpm] Possible error in accurate-ecn Yoshifumi Nishida
- Re: [tcpm] Possible error in accurate-ecn Bob Briscoe
- Re: [tcpm] Possible error in accurate-ecn Yoshifumi Nishida
- [tcpm] Seeking WG opinions on ACKing ACKs with go… Bob Briscoe
- Re: [tcpm] Seeking WG opinions on ACKing ACKs wit… Martin Duke
- Re: [tcpm] Seeking WG opinions on ACKing ACKs wit… Scheffenegger, Richard
- Re: [tcpm] Seeking WG opinions on ACKing ACKs wit… Bob Briscoe
- Re: [tcpm] Seeking WG opinions on ACKing ACKs wit… Mirja Kuehlewind
- Re: [tcpm] Seeking WG opinions on ACKing ACKs wit… Martin Duke
- Re: [tcpm] Seeking WG opinions on ACKing ACKs wit… Martin Duke
- Re: [tcpm] Seeking WG opinions on ACKing ACKs wit… Vidhi Goel
- Re: [tcpm] Seeking WG opinions on ACKing ACKs wit… Yoshifumi Nishida
- Re: [tcpm] Seeking WG opinions on ACKing ACKs wit… Yoshifumi Nishida
- Re: [tcpm] Seeking WG opinions on ACKing ACKs wit… Scheffenegger, Richard
- Re: [tcpm] Seeking WG opinions on ACKing ACKs wit… Mirja Kuehlewind
- Re: [tcpm] Seeking WG opinions on ACKing ACKs wit… Mirja Kuehlewind
- Re: [tcpm] Seeking WG opinions on ACKing ACKs wit… Vidhi Goel
- Re: [tcpm] Seeking WG opinions on ACKing ACKs wit… Mirja Kuehlewind
- Re: [tcpm] Seeking WG opinions on ACKing ACKs wit… Scheffenegger, Richard
- Re: [tcpm] Seeking WG opinions on ACKing ACKs wit… Jonathan Morton
- Re: [tcpm] Seeking WG opinions on ACKing ACKs wit… Yoshifumi Nishida
- Re: [tcpm] Seeking WG opinions on ACKing ACKs wit… Scheffenegger, Richard
- Re: [tcpm] Seeking WG opinions on ACKing ACKs wit… Bob Briscoe
- Re: [tcpm] Seeking WG opinions on ACKing ACKs wit… Bob Briscoe
- Re: [tcpm] Seeking WG opinions on ACKing ACKs wit… Mirja Kuehlewind
- Re: [tcpm] Seeking WG opinions on ACKing ACKs wit… Yoshifumi Nishida
- Re: [tcpm] Seeking WG opinions on ACKing ACKs wit… Bob Briscoe
- Re: [tcpm] Seeking WG opinions on ACKing ACKs wit… Yoshifumi Nishida
- Re: [tcpm] Seeking WG opinions on ACKing ACKs wit… Scheffenegger, Richard
- Re: [tcpm] [EXTERNAL] Re: Seeking WG opinions on … Praveen Balasubramanian
- Re: [tcpm] [EXTERNAL] Re: Seeking WG opinions on … Vidhi Goel
- Re: [tcpm] [EXTERNAL] Re: Seeking WG opinions on … Jonathan Morton
- Re: [tcpm] [EXTERNAL] Re: Seeking WG opinions on … Praveen Balasubramanian
- Re: [tcpm] [EXTERNAL] Re: Seeking WG opinions on … Jonathan Morton
- Re: [tcpm] [EXTERNAL] Re: Seeking WG opinions on … Vidhi Goel
- Re: [tcpm] [EXTERNAL] Re: Seeking WG opinions on … Jonathan Morton
- Re: [tcpm] [EXTERNAL] Re: Seeking WG opinions on … Yoshifumi Nishida
- Re: [tcpm] [EXTERNAL] Re: Seeking WG opinions on … Bob Briscoe
- Re: [tcpm] [EXTERNAL] Re: Seeking WG opinions on … Christian Huitema
- Re: [tcpm] [EXTERNAL] Re: Seeking WG opinions on … Bob Briscoe
- Re: [tcpm] [EXTERNAL] Re: Seeking WG opinions on … Christian Huitema
- Re: [tcpm] [EXTERNAL] Re: Seeking WG opinions on … Neal Cardwell
- Re: [tcpm] [EXTERNAL] Re: Seeking WG opinions on … Bob Briscoe
- Re: [tcpm] [EXTERNAL] Re: Seeking WG opinions on … Ilpo Järvinen
- Re: [tcpm] [EXTERNAL] Re: Seeking WG opinions on … Neal Cardwell
- Re: [tcpm] [EXTERNAL] Re: Seeking WG opinions on … Bob Briscoe