Re: [tcpm] Seeking WG opinions on ACKing ACKs with good cause (was: Possible error in accurate-ecn)
Yoshifumi Nishida <nsd.ietf@gmail.com> Tue, 30 March 2021 09:35 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 DB16E3A12E3 for <tcpm@ietfa.amsl.com>; Tue, 30 Mar 2021 02:35:57 -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, 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 M18Iqwa4XuPm for <tcpm@ietfa.amsl.com>; Tue, 30 Mar 2021 02:35:53 -0700 (PDT)
Received: from mail-qt1-x831.google.com (mail-qt1-x831.google.com [IPv6:2607:f8b0:4864:20::831]) (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 6F1043A108B for <tcpm@ietf.org>; Tue, 30 Mar 2021 02:35:31 -0700 (PDT)
Received: by mail-qt1-x831.google.com with SMTP id y12so4306736qtx.11 for <tcpm@ietf.org>; Tue, 30 Mar 2021 02:35:31 -0700 (PDT)
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=8wa7kTZEbib7TK2Ig7M801LPUg38ojkhim8vKdR8S/o=; b=tkZN2eAikKq33f04xwa6AvVn3cKPS/htUyqLFl8D0rVouKcVprRBNrkNQ3EE4JCvQg g+poT1kai/6VjQaVa64+9wttCNOP5Ym99zZKENcJ8WOlh4YJq815s11FPzyzTzljlZx7 xb+/e4G6ODVe06JZ+W0rokXC3irJfxghwahsDVQGKALG4bg+DDcW4mkaa4ZbvDty3lbt T+EOjEfXmKgx4p+/OzzoJeofO+gTMuFrmas80OSPVoIsoZkDwat8ti4QoGSIMnVCuKAn AArYwuBWI998VSylt79HLubRxJXD8Oa/sowvcEbVt/sMmCMtSemZhpX3hs4YlwgncZEy Oa2Q==
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=8wa7kTZEbib7TK2Ig7M801LPUg38ojkhim8vKdR8S/o=; b=mkWx+5OBJC9A6wuPDJBtrWC6Uqygilq2+jgEC3JXEFWbWwTxlsc2o+JQ+91gaksbfi HEwezjb59drUGZjYK1kUR9rVrx+Z47tqb/eVEZBa1nOufRKU7FJCEfVIDAcJqK3k547G Xg3owj8iWdvUQYK6uyhxczJxuJRZrIbQDnKDkKjzop9plq5qKNJkxOnTnDYXOEhWH8u4 MprlGm7F0TqINTfQat3kB+XU0nE5kQnPj7tAPP2Wqe3k17DJTziZAwiKRKuR5shzkU+g OmwnrH9PPmTP+H1k/Uv4XRexpXg0W9qU9vO3qT1GFnyiNUvYQX5PzKl1QxCDZqekGID+ 43Vg==
X-Gm-Message-State: AOAM531Zg+xCUMTLM6S5QUPAcEA7dwsa1KUbPsr93LXMBKPllsiIs4ra d/ynohD9BE/qZW7scVFeJG83T94qVRqYnFTedFQ=
X-Google-Smtp-Source: ABdhPJw3wfbutqpZfZGSYFIPIfcZyTvN491MYCz4K0RR6780OtBynDhqld7y8rlrcGCaE+6GEGq2oPs5GUvQZyhHFkA=
X-Received: by 2002:ac8:6690:: with SMTP id d16mr26931126qtp.312.1617096929513; Tue, 30 Mar 2021 02:35:29 -0700 (PDT)
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> <CAAK044RhdAYexcGRj_XDkdY_o6JqB0DDo1X0H2AeFkRcsb0i4A@mail.gmail.com> <48c5910d-5340-acd6-8fd9-fff1b7758310@bobbriscoe.net> <CAAK044QOdi8DzBbLbwTvdcesFK21i1KU+Sj+4J7_odE5UQfmNg@mail.gmail.com> <dc11cd02-616e-93a7-7bcf-1e5112c2e1e1@bobbriscoe.net> <99B71B9A-EC9B-47FD-A149-FBEF9DEEC8DC@kuehlewind.net> <CAAK044SgdHAiBvDPHYOaq7-fgJTrBBoAqZQ70F5X3Q5HXvTEuw@mail.gmail.com> <ce4f09c2-2b50-8b35-3c3d-a01d45acce3b@bobbriscoe.net>
In-Reply-To: <ce4f09c2-2b50-8b35-3c3d-a01d45acce3b@bobbriscoe.net>
From: Yoshifumi Nishida <nsd.ietf@gmail.com>
Date: Tue, 30 Mar 2021 02:35:18 -0700
Message-ID: <CAAK044SC4+=RBOEky34OzuirM-u_Om58Lm8uqSqkcpExSBwfHA@mail.gmail.com>
To: Bob Briscoe <ietf@bobbriscoe.net>
Cc: Mirja Kuehlewind <ietf@kuehlewind.net>, tcpm IETF list <tcpm@ietf.org>, "Scheffenegger, Richard" <rs.ietf@gmx.at>, Yoshifumi Nishada <nishida@sfc.wide.ad.jp>
Content-Type: multipart/alternative; boundary="0000000000000d146305bebdb80f"
Archived-At: <https://mailarchive.ietf.org/arch/msg/tcpm/nnFa1cW2rWAPzWiqszZf3MfS9Dw>
Subject: Re: [tcpm] Seeking WG opinions on ACKing ACKs with good cause (was: 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, 30 Mar 2021 09:35:58 -0000
Hi Bob, On Thu, Mar 25, 2021 at 12:03 PM Bob Briscoe <ietf@bobbriscoe.net> wrote: > Yoshi, > > On 24/03/2021 08:44, Yoshifumi Nishida wrote: > > Hi Bob, Mirja > > On Mon, Mar 22, 2021 at 3:08 AM Mirja Kuehlewind <ietf@kuehlewind.net> > wrote: > >> See inline. >> >> > On 19. Mar 2021, at 18:37, Bob Briscoe <ietf@bobbriscoe.net> wrote: >> > >> > Yoshi, >> > >> > On 17/03/2021 07:22, Yoshifumi Nishida wrote: >> >> Hi Bob, >> >> >> >> On Fri, Mar 12, 2021 at 2:54 AM Bob Briscoe <ietf@bobbriscoe.net> >> wrote: >> >> Yoshi, tcpm list, >> >> >> >> As promised we set up a small design team on the single issue of >> occasionally ACKing pure ACKs if they carry new info (ECN marking at the IP >> layer). The design team has two solutions and everyone would be prepared to >> accept either, but preferences differ. So we're seeking wider opinions >> (more opinions obviously won't narrow the choices, but at least the WG can >> then make a decision informed by those who care). >> >> >> >> To understand the question, you can either read the email below. Or >> the 3 slides for the tcpm meeting are briefer, and include pictures: >> >> >> https://datatracker.ietf.org/meeting/110/materials/slides-110-tcpm-draft-ietf-tcpm-accurate-ecn-00#page=6 >> >> >> >> Here's the current draft text in question (see here for context >> https://tools.ietf.org/html/draft-ietf-tcpm-accurate-ecn-14#section-3.2.2.5 >> ): >> >> 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. >> >> >> >> >> >> Only the second bullet is in question. Here is the proposed diff for >> each alternative, then we explain: >> >> >> >> Alternative A >> >> o MUST immediately send an ACK once 'n' CE marks have arrived since >> >> - the previous ACK, >> >> + the previous ACK and there is outstanding data to acknowledge, >> >> where 'n' SHOULD be 2 and MUST be in the range 2 to 6 inclusive. >> >> >> >> >> >> Alternative B >> >> 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 >> >> + the previous ACK, where 'n' SHOULD be 3 and MUST be in the range >> 3 >> >> to 6 inclusive. >> >> >> >> >> >> Extra guidance text would be required in each case too (see the end). >> >> >> >> Background: >> >> AccECN is a change to the TCP wire protocol that requires the packet >> count of congestion feedback to include any congestion experienced (CE) >> arriving on Pure ACKs (amongst other things). AccECN doesn't require Pure >> ACKs to be ECN-capable, but allows for them to be. Similarly, AccECN >> doesn't require any congestion response to CE on pure ACKs, but having the >> feedback information there allows a response to be added with a one-ended >> update, if desired/necessary. Basically the data receiver is a 'dumb >> reflector'. >> >> >> >> The above two bullets were designed to ensure that an ACK is triggered >> a) on the first sign of congestion, and b) frequently enough for the count >> of CE markings to be fed back using the 3-bit ACE field before it wraps, >> even if an occasional pure ACK is lost. >> >> >> >> We then realized that the wording could require an ACK to be triggered >> in response to a CE-marked pure ACK. The circumstance when this could occur >> would be when peer X sends a volley of data to Y then stops, and the path >> back from Y to X is congested (probably by other flow(s) so that many of >> the ACKs are CE-marked. The second bullet above under alternative (B) would >> require X to ACK every 'n-th' CE-marked pure ACK. However, if Y immediately >> started sending a volley of data to X, Y could misinterpret those ACKs (of >> ACKs) from X as DupACKs. >> >> >> >> There are two ways to deal with this: >> >> A) Some of us prefer to completely prevent ACKs on pure ACKs, on the >> basis that they do not want to risk sometimes generating more ACKs today >> >> B) Others want to ensure that these rules will cause pure ACKs to be >> ACKed when the amount of CE on the ACKs merits it. But sparingly and >> strongly damping any ACK ping-pong. >> >> >> >> Hmm. This is not easy.. >> >> My personal preference is if SACK is negotiated and it 's utilized to >> distinguish dupacks, then (B) is fine for me. Otherwise, I would prefer >> (A). >> >> >> >> BTW, I am wondering if this could leave it to implementations since >> both methods have pros and cons. >> >> I think It's hard to tell one is much better than the order. >> > >> > [BB] The problem is that the decision impacts the complexity of the >> other end, not just the implementer's own code. >> > >> > * If an implementer chooses (A) (doesn't ACK pure ACKs at all), when it >> finally does send some data, it's CE counter could have built up an >> (unlimited) store of unreported CE marks, which it will report all at once. >> So implementations will have to include code that copes with receiving >> potentially multiple wraps of the ACE field (or just ignore the >> possibility). >> >> You always need to cover this case because it is always possible to lose >> ACKs and then counter may wrap. However, I don’t think you actually need >> to implement any logic to detect this. It only means the counters on both >> ends are off by N x 8 but congestion information is only valid that the >> point when it happens and resyncing on outdated information doesn’t help >> anybody. >> >> > So, in my understanding, there are two types of choices for > implementations on the other end. > 1) need to decide whether ignore CE counter wraps or prepare for it (for > both A and B) > 2) need to decide whether identify ACKs on pure ACKs by accecn or accept > possible ack ping-pong (for only B) > > In this case, > For 1) > Choosing (A) or (B) doesn't matter because both (A) and (B) have this > potential risk. > For 2) > if we pick A, we don't need this. > if we pick B, we need this > if we allow both, we need this > > If I think in this way, choosing (B) is not much different from allowing > both? > > > [BB] Yes,... > ...but I should make it clear that these pros and cons solely describe the > implementation complexity of each choice. They don't say anything about the > benefit of the feedback itself being available during that switch-over > round trip... > > In scenarios where the direction of data switches, option A is simpler for > one peer, but it denies its peer the benefit of continuing to maintain cwnd > up to the point it starts sending. So: > > If we pick A, no-one gets the benefit but there's not the complexity of > the extra check for B > If we pick B, everyone gets the benefit and everyone has the complexity of > the extra check for B > If we allow both, one peer only gets the benefit if the other peer chooses > the complexity of the extra check for B. > > If we allow both, one peer also has the uncertainty of not knowing whether > the other peer implements B. An implementater might be able to develop a > better cwnd validation algorithm if it knows for certain whether absence of > feedback from the other end is purely because it hasn't implemented option > B. > Yes, It seems that they all have pros and cons. It would be good if we can get feedback from implementers here.. If there is no strong opinion on this point in the community, I think the author will need to pick one at some point. -- Yoshi >
- [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