Re: [tcpm] Possible error in accurate-ecn
Yoshifumi Nishida <nsd.ietf@gmail.com> Mon, 01 March 2021 21:07 UTC
Return-Path: <nsd.ietf@gmail.com>
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 303673A22EE for <tcpm@ietfa.amsl.com>; Mon, 1 Mar 2021 13:07:56 -0800 (PST)
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, FREEMAIL_FROM=0.001, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=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=gmail.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 xl9Dh7kSWkif for <tcpm@ietfa.amsl.com>; Mon, 1 Mar 2021 13:07:53 -0800 (PST)
Received: from mail-qk1-x72d.google.com (mail-qk1-x72d.google.com [IPv6:2607:f8b0:4864:20::72d]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 93B293A22EC for <tcpm@ietf.org>; Mon, 1 Mar 2021 13:07:53 -0800 (PST)
Received: by mail-qk1-x72d.google.com with SMTP id z128so18091519qkc.12 for <tcpm@ietf.org>; Mon, 01 Mar 2021 13:07:53 -0800 (PST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc; bh=vOVq+l8dHmA1fyIX8ogGuTxI1/2UJpryjJ1HYUg67XY=; b=DssOMdq2TmpVIpgtHG6vomEVdUvYUA0GC2Nu8Ue2cQaYMhjPdAS2DaqnLxpHC7GPPq V2kt+yoccO3eNFsk6hLeeXHerdJohpSu1fvmvkEypiXgwc7ZHWjwQ3ZzDDwENgNB4pIM M0oWk9LxGhIxJzJ6NVf6pPx6TwUPMRPUz6DsXPCKKfuJUqur4AnOD7eBdmA+rq8Nhme/ F/p4KOYTiY04awbhELK3cTpzqj7jpHkjttH0CEBnG4QxKTt6340yxWSzBA0TnyM7mbBk YCE1h9pklcvbYQB7ovXcekZxNBHFGAavLjtFMsOzEXeXyME8xEhLXSh4WoxE7vGIlDh2 bcqA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc; bh=vOVq+l8dHmA1fyIX8ogGuTxI1/2UJpryjJ1HYUg67XY=; b=FHOk6sQRrIxuUPkSjA0q0yTm13+LV3+mBHvDjbtUwUpSrd7D1ElYqbWB90ajYB3GMX Tn0HnKafZaE/SrJAn7kAD0uIWDXAOU32crAkQl69zkEq89Fp6j5tvXIMh8ugh/gfXYr3 Y8xfIJdC2jlcOjH1iDw6WXX1M/3OCkL9efFfP97+siCKuV7MzRziW8YVSvUc/7ioqkT0 9Azsja43TDQgFfuasye1XYBTGhJOqUlm1tO7l1F4/C+ok/oihx8GQyFbPP0krYxgmE0g tNdQl0Em7bubledT6GlPq2wakC8NFc5LcvBpUZJae5OB/UhXnH+NGeOoa3aghc6FrySQ tHKg==
X-Gm-Message-State: AOAM530AIlCAUQkK7hssd7iaiMUI1W/AU9OFefK3F9Ddi1Orztdixg+1 cu70aJibn9u5o6yY8EvoUW+7K/e4U4i06sSWAng=
X-Google-Smtp-Source: ABdhPJyCp9jvArG/Tto41zbp1Vzte8qlYOpBegO8AccQx6+RD8rYGzz3083KuDzSAbB3m68MuMqIVN8FOgnF2wjPm4E=
X-Received: by 2002:a05:620a:941:: with SMTP id w1mr16374503qkw.484.1614632871868; Mon, 01 Mar 2021 13:07:51 -0800 (PST)
MIME-Version: 1.0
References: <47df9b8b-515e-d40d-3473-599b0a3e3876@bobbriscoe.net> <6031BE2B-4D33-426F-BA17-DDF15CF821DE@kuehlewind.net> <060c8bd8-d64b-3e46-7874-742e35e6d114@bobbriscoe.net> <221e58f3-ada0-c880-db72-d98af84fedb8@gmx.at> <bd6ab65d-ccd5-9fa9-58be-6d9fea4af870@bobbriscoe.net> <CAAK044QgF4pz5Wamnxkobthou5ac4_LBxh8=nBYWyOxQUtcW-Q@mail.gmail.com> <8151fdef-ae78-80f3-adfc-d40db878ac8e@gmx.at>
In-Reply-To: <8151fdef-ae78-80f3-adfc-d40db878ac8e@gmx.at>
From: Yoshifumi Nishida <nsd.ietf@gmail.com>
Date: Mon, 01 Mar 2021 13:07:40 -0800
Message-ID: <CAAK044RhdAYexcGRj_XDkdY_o6JqB0DDo1X0H2AeFkRcsb0i4A@mail.gmail.com>
To: "Scheffenegger, Richard" <rs.ietf@gmx.at>
Cc: Bob Briscoe <research@bobbriscoe.net>, Mirja Kuehlewind <ietf@kuehlewind.net>, Yoshifumi Nishada <nishida@sfc.wide.ad.jp>, tcpm IETF list <tcpm@ietf.org>, Richard Scheffenegger <rscheff@gmx.at>
Content-Type: multipart/alternative; boundary="000000000000c53bb205bc800219"
Archived-At: <https://mailarchive.ietf.org/arch/msg/tcpm/EGnNEv88oVjPJ_t6QqXeLXOGeJk>
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: Mon, 01 Mar 2021 21:07:56 -0000
Hi Richard, Thanks for the comments. I also think both a) and b) can mitigate the concerns I mentioned. Although I'm not sure if this is the best solution or not yet, it looks certainly better to me than the previous ones. -- Yoshi On Wed, Feb 24, 2021 at 10:33 AM Scheffenegger, Richard <rs.ietf@gmx.at> wrote: > > Hi Yoshi, > > A valid concern. Two ways to remediate these at least to some extent: > > a) used a "n" higher than 2 (e.g. 6) > b) refrain from sending the ACK for n CE immediately, but hold off for > either the delayed ack timeout, or the n+1'th receipt of CE, or a valid > data segment by that time. > > While this would not fully rule out any possibilty of an inadvertend > DupAck, it significantly reduces the time window when this may happen. > > Also, if an implementation uses other clues (e.g. TS opt, SACK > negotiated but not present in the ACKs incrementing the CE.P ), > ambiguity can be further reduced. > > However, I feel that these optimizations may overburden the definition > of the mechanism. > > Best regards, > Richard > > > > Am 24.02.2021 um 11:03 schrieb Yoshifumi Nishida: > > Hi Bob, > > > > > > On Mon, Feb 22, 2021 at 4:12 PM Bob Briscoe <research@bobbriscoe.net > > <mailto:research@bobbriscoe.net>> wrote: > > > > Mirja, Richard, Yoshi, > > > > I just posted a new rev of AccECN for a number of other reasons, and > > realized we hadn't converged on an answer to the tricky problem in > > this old thread from Nov'20. For now, the text says the following > > (which I've justified below, but I don't think it's the solution > > yet), and I've asked Richard & Mirja if we (as co-authors) can act > > as a little design team to thrash out this problem in the next few > days. > > > > 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 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 in the > range 2 > > to 6 inclusive. > > > > > > Justification for first bullet: The aim is to trigger an ACK on a > > transition from non-CE to CE, but only when the latest packet is a > > data packet. Cases where the previous packet was a CE-marked pure > > ACK and therefore not ACK'd ought to be picked up by the 2nd bullet, > > not the first. Similarly, if there's CE-marked packets (data or pure > > ACKs) that haven't been ACKd yet, and the next data packet is not > > CE-marked, I think the first bullet is still correct, and the second > > rule will pick up cases with enough CE marks. > > > > The second bullet is more tricky. I've added Richard's suggesting of > > flooring 'n' at 2. But made no other changes. That's deliberate, > > 'cos I think it's sufficient to allow ACK CC to be added, but not to > > preclude it. And I think the danger of being interpreted as DupACKs > > shouldn't apply if there's no outstanding data. I know I'm wrong in > > those odd cases I mentioned when new data might cross the ACKs in > > the other direction. But I don't think that's going to cause too > > much harm. > > > > This might be too pathological, but I'm thinking about a certain extreme > > example.. > > In my understanding, let's say a node sends 50 ACKs for some reasons and > > all ACKs have CE marks, then its peer sends back 25 ACKs. > > If these 25 ACKs have CE marks as well, it can generate another 12 ACKs, > > and so on. > > If this understanding is correct, I'm not sure if this is a good > behavior. > > I am thinking we had better do something here such as don't send an ACK > > if the correspond ACKs carries accecn signals. > > > > Also, I think it's hard to tell there's no outstanding data from the > > receiver side. > > Let's say a sender send some data packets after sending 10 acks, and the > > receiver sends back 5 acks as the 10 ACKs have CE marks. > > In this case, they look like dup acks from the sender's point of view. > > I know this is a rare case, though. > > > > -- > > Yoshi > > > > > > > > On 17/11/2020 08:48, Scheffenegger, Richard wrote: > >> > >> See my suggestion; The critical requirement for the 2nd bullet > >> point is, > >> to have n > 1 for pure, CE-marked ACKs. The exponential decay, > >> after how > >> many ACKs triggered by CE-marked ACKs these ACK-for-ACK stop, > >> strongly > >> depends on "n", so the recommendation should be to use a higher > >> value of > >> n in the case where you only observe a stream of pure ACKs (with or > >> without marks; only those marked would account against "n" though). > >> > >> In the case of data packets mixed in, you don't want to delay > >> excessively, thus "n" may be choosen lower... > >> > >> Richard > >> > >> > >> > >> Am 10.11.2020 um 17:38 schrieb Bob Briscoe: > >>> > >>> 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/ <http://bobbriscoe.net/> > >>>> _______________________________________________ > >>>> tcpm mailing list > >>>> tcpm@ietf.org <mailto:tcpm@ietf.org> > >>>> https://www.ietf.org/mailman/listinfo/tcpm > >>>> <https://www.ietf.org/mailman/listinfo/tcpm> > >>> > >> > >> _______________________________________________ > >> tcpm mailing list > >> tcpm@ietf.org <mailto:tcpm@ietf.org> > >> https://www.ietf.org/mailman/listinfo/tcpm > >> <https://www.ietf.org/mailman/listinfo/tcpm> > > > > -- > > ________________________________________________________________ > > Bob Briscoehttp://bobbriscoe.net/ <http://bobbriscoe.net/> > > > > _______________________________________________ > > tcpm mailing list > > tcpm@ietf.org <mailto:tcpm@ietf.org> > > https://www.ietf.org/mailman/listinfo/tcpm > > <https://www.ietf.org/mailman/listinfo/tcpm> > > >
- [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