Re: [tcpm] I-D Action: draft-ietf-tcpm-prr-rfc6937bis-02.txt

Yuchung Cheng <ycheng@google.com> Mon, 14 November 2022 20:43 UTC

Return-Path: <ycheng@google.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 8FCA4C14F74A for <tcpm@ietfa.amsl.com>; Mon, 14 Nov 2022 12:43:08 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -17.598
X-Spam-Level:
X-Spam-Status: No, score=-17.598 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIMWL_WL_MED=-0.001, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, ENV_AND_HDR_SPF_MATCH=-0.5, RCVD_IN_DNSWL_NONE=-0.0001, RCVD_IN_ZEN_BLOCKED_OPENDNS=0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, URIBL_DBL_BLOCKED_OPENDNS=0.001, URIBL_ZEN_BLOCKED_OPENDNS=0.001, USER_IN_DEF_DKIM_WL=-7.5, USER_IN_DEF_SPF_WL=-7.5] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (2048-bit key) header.d=google.com
Received: from mail.ietf.org ([50.223.129.194]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id 9XU4MzG4kr7H for <tcpm@ietfa.amsl.com>; Mon, 14 Nov 2022 12:43:07 -0800 (PST)
Received: from mail-wm1-x32d.google.com (mail-wm1-x32d.google.com [IPv6:2a00:1450:4864:20::32d]) (using TLSv1.3 with cipher TLS_AES_128_GCM_SHA256 (128/128 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits) server-digest SHA256) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id D1BF1C14F743 for <tcpm@ietf.org>; Mon, 14 Nov 2022 12:43:07 -0800 (PST)
Received: by mail-wm1-x32d.google.com with SMTP id t1so8331352wmi.4 for <tcpm@ietf.org>; Mon, 14 Nov 2022 12:43:07 -0800 (PST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20210112; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:from:to:cc:subject:date:message-id:reply-to; bh=D/BOgD3cd2ZlBFzSDevcCbDAKsWbeNgBbKG2HGjgaPo=; b=lpDpfo9MME0tAE/1JTDHy10se/yWVFovU9P8w+UMbXoqGxFF1iqcgp9gQq36QAoKHP DWdEEbI2B0l+/IprLWBjKobNvlXhd/qlQkDPFm3RXO5kyYibrBOb4gCPRGnL3MAz+d9l lp6u0J1aBr9BwaZKuew6p7ir6SYugX87zPokaxOqB10GhX+WT4M3jiTIHdpwXtil+T1D lBTwHe3y7WhpdCGmWyhiOe1dG3BUvCAZ1j6diUSwV3a7hmVIRUGseKc7IVB9lxWLYqoE Aauvhlxz3ou6/7TtX56w8E+plWr6NbuSZbOylSQ+dJZJSXefoMhqrThZ0Z0yyklh0J4T qdjg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:x-gm-message-state:from:to:cc:subject:date:message-id :reply-to; bh=D/BOgD3cd2ZlBFzSDevcCbDAKsWbeNgBbKG2HGjgaPo=; b=oHBid4A/XeCSJWQqBdchjkKFCrMjBLVLFWk/84sVSCOUMvQtV15LVIyjsPanDG30P6 7QxCM8v6QC5p6Z4dk3VzV8xSCxgY+1rnljoGdsy+npftikPY0c1IjKo/XzqkgH8v3CIe iQ5h48bIihKu80T94Gt1vIWtoXO9OdziROmyjc5G0LkE0npAEHnYz1UguNkodFEyU8+P ayWK8Czs0waDAuDgisqWJ2qO8xwX/2/h/LY7eoYuB0bcPB+KoU13TjT0awh7MVtDMhhS FXtLEpj0txOX9CGjnBjbXjuY5iUdrOnn2K5z9pXX8n9zLAMPTiJw5jCwWlQMglxqyGxf 229A==
X-Gm-Message-State: ANoB5pmNezaBJ7X+lW+BXmqpsUxd6yUqiebw4avAcFAg0xcNDBTg83cT FGBPVQz+ZGiv30JAvzXFrSBU5tcCVXm9gmZd4YBy8LqEuLkK8Q==
X-Google-Smtp-Source: AA0mqf5OWB7F2r6qMw08kNkdtDn3rT/ptpzOxlV/obJNMPoQ8Ja/OUkvafU7S3qinMsXCrjGEZ7K+KsB9413F2Fie0k=
X-Received: by 2002:a1c:26c1:0:b0:3cf:b1c2:c911 with SMTP id m184-20020a1c26c1000000b003cfb1c2c911mr9078944wmm.16.1668458585470; Mon, 14 Nov 2022 12:43:05 -0800 (PST)
MIME-Version: 1.0
References: <161060871994.10783.1247396842504892132@ietfa.amsl.com> <b3a2eb4d-856c-035b-896d-dcfc3844b406@gmx.at> <7c527d72-2f48-b39e-9f09-0f22e9c865f2@gmx.at>
In-Reply-To: <7c527d72-2f48-b39e-9f09-0f22e9c865f2@gmx.at>
From: Yuchung Cheng <ycheng@google.com>
Date: Mon, 14 Nov 2022 12:42:27 -0800
Message-ID: <CAK6E8=fsmiaJiz8sBfW_iGPWn_1oCKZEmNEJR=0YF67SMHAOZQ@mail.gmail.com>
To: rscheff@freebsd.org
Cc: tcpm@ietf.org, draft-ietf-tcpm-prr-rfc6937bis@ietf.org, "Semke, Jeff" <Semke@netapp.com>
Content-Type: text/plain; charset="UTF-8"
Archived-At: <https://mailarchive.ietf.org/arch/msg/tcpm/G-k2lMz7MdBvwlCluSMc6Mh7yuU>
Subject: Re: [tcpm] I-D Action: draft-ietf-tcpm-prr-rfc6937bis-02.txt
X-BeenThere: tcpm@ietf.org
X-Mailman-Version: 2.1.39
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, 14 Nov 2022 20:43:08 -0000

On Wed, Nov 9, 2022 at 3:13 PM Scheffenegger, Richard <rs.ietf@gmx.at> wrote:
>
> Chairs,
>
> Matt, Yuchung,
>
> This is a summary of my Read of 6937bis-02.
>
> I found mostly editorial only nit-picks, and a few clarification
> questions - if my read of the heuristic is correct now.
>
> In short, I'm happy with the document, there are few editorial nits; I
> would like a very concrete example of a SafeACK, even though the last
> and final description appears to confirm what I assumed a SafeACK would
> be. But then again, still not 100% sure.
>
> Reason for my question: "does not indicate prior fast retransmit has
> been lost" may indicate only partial ACKs which do *not* shrink a SACK
> hole *from the right*, or create a new SACK hole (e.g. splitting an old
> one) are elegible... But partial ACKs on non-SACK sessions would always
> be elegible?

see my reply below

>
> The forced fast retransmit may not be reflected in the PRR packet
> diagram - unless I didn't quite understand the values there...

The examples do not include force retransmit examples. We'd clarify
that in the description of the examples to clarify.

>
> Thanks for doing this important work!
Thanks for the detailed review!


>
> Other than the above (SafeAck), all my comments from 8.Feb 2021 and
> 23.Feb.2021 appear to have been addressed.
>
> Best regards,
>     Richard
>
>
>
> Abstract:
>
>  > PRR potentially replaces the Fast Recovery to regulate
>
> missing noun "Fast Recovery algorithm" (excessive deletion btwn -01/-02.
>
> Also, the abbreviations PRR, ssthresh are mentioned again in
> Introduction, so maybe leave the bracketed acronym out in the abstract.
>
> Sec 1 - maybe reference to RACK-TLP with LRD when LRD is mentioned the
> first time; the reference is further down below currently. There are
> other ways to do LRD (with SACK), but not in the RFC series.
>
> Sec 2 - [6675] is not a link.
>
> Sec 5 - update rfc793 to 9293?

will address the nits above in the next rev. thanks

>
> SafeACK - missing what "and the ACK does not indicate
>     further losses." actually means. No new SACK block ? (new sack
> scoreboard hole)?
>
> Sec 6 - SafeACK again: "and the ACK does not indicate
>     further losses." (concrete example?)
>
>
> Sec 7, PRR example... You describe the forced fast retransmit on the
> first transmission oppty. Shouldn't that shift the "N" transmissions
> here one notch to the left? (The ACK for "4").
>
> PRR
>     ack#   X  1  2  3  4  5  6  7  8  9 10 11 12 13 14 15 16 17 18 19
>     cwnd:    20 20 19 19 18 17 17 16 16 15 15 14 14 13 13 12 12 11 10
>     pipe:    19 19 18 18 17 17 16 16 15 15 14 14 13 13 12 12 11 11 10
>     sent:     N  N  R  N        N     N     N     N     N     N     N
no because forced retransmit only applies when the fast recovery
starts (i.e. prr_out = 0). by ack #4, prr_out is already 1 due to the
first "R".

>
> Sec 9 - SafeAck seems to indicate, when SACK is in use, that no new SACK
> range is included (adding a new hole to the scoreboard). However, in a
> non-SACK case, due to the lack of this knowledge, wouldn't be all
> partial ACKs be considered to be SafeACKs?

Yes when SACK is not used SafeACK will be true for all partial ACKs.
To clarify better, we'd add LRD requirement on SACK and non-SACK sup

The current wording in the section "Changes from RFC 6937 is less
clear. We'd revise from
"For TCP, when the latest ACK advances snd.una and does not indicate
prior fast retransmit has been lost"
to
"For TCP, when the latest ACK advances snd.una and does not indicate
further new packet losses on both SACK and NonSACK"

And we'd change the SafeACK descriptions accordingly so they are
consistent across the draft. How to detect packet losses (including
retransmission) is out of scope of PRR (eg sack blocks changes). PRR
recommends RACK-TLP but does not want to mandate a particular loss
detection. Does that answer your question?


>
>
>
>
>
>
>
> Am 08.02.2021 um 23:27 schrieb Scheffenegger, Richard:
> >
> > Hi Matt, Yuchung, Nandita,
> >
> > The heuristic to switch between PRR-CRB and PRR-SSRB is only mentioned
> > in section 1 (intro to bis).
> >
> > Perhaps the actual pseudocode and text in secion 4 (algo) should also be
> > expanded to contain this.
> >
> >  From an implementers viewpoint, the paragraph about the heuristic (as
> > well as my conversation with Matt about this) left me wondering, if this
> > needs additional state, or how to achive this (e.g. tracking changes to
> > the SACK scoreboard - if an additional "hole" got accounted even when
> > snd.una advances, for example.
> >
> > one nit: In the para for the definition of "SACKd", there is one
> > instance where the "SACK blocks" got changed to "sack blocks". Its the
> > only instance of lowercase SACK.
> >
> > Best regards,
> >     Richard
> >
> >
> >
> > Am 14.01.2021 um 08:18 schrieb internet-drafts@ietf.org:
> >>
> >> A New Internet-Draft is available from the on-line Internet-Drafts
> >> directories.
> >> This draft is a work item of the TCP Maintenance and Minor Extensions
> >> WG of the IETF.
> >>
> >>          Title           : Proportional Rate Reduction for TCP
> >>          Authors         : Matt Mathis
> >>                            Nandita Dukkipati
> >>                            Yuchung Cheng
> >>     Filename        : draft-ietf-tcpm-prr-rfc6937bis-00.txt
> >>     Pages           : 19
> >>     Date            : 2021-01-13
> >>
> >> Abstract:
> >>     This document updates the Proportional Rate Reduction (PRR) algorithm
> >>     described as experimental in RFC 6937 to standards track.  PRR
> >>     potentially replaces the Fast Recovery and Rate-Halving algorithms.
> >>     All of these algorithms regulate the amount of data sent by TCP or
> >>     other transport protocol during loss recovery.  PRR more accurately
> >>     regulates the actual flight size through recovery such that at the
> >>     end of recovery it will be as close as possible to the ssthresh, as
> >>     determined by the congestion control algorithm.
> >>
> >>
> >> The IETF datatracker status page for this draft is:
> >> https://datatracker.ietf.org/doc/draft-ietf-tcpm-prr-rfc6937bis/
> >>
> >> There are also htmlized versions available at:
> >> https://tools.ietf.org/html/draft-ietf-tcpm-prr-rfc6937bis-00
> >> https://datatracker.ietf.org/doc/html/draft-ietf-tcpm-prr-rfc6937bis-00
> >>
> >>
> >> Please note that it may take a couple of minutes from the time of
> >> submission
> >> until the htmlized version and diff are available at tools.ietf.org.
> >>
> >> Internet-Drafts are also available by anonymous FTP at:
> >> ftp://ftp.ietf.org/internet-drafts/
> >>
> >>
> >> _______________________________________________
> >> tcpm mailing list
> >> tcpm@ietf.org
> >> https://www.ietf.org/mailman/listinfo/tcpm
> >>
> >
> > _______________________________________________
> > tcpm mailing list
> > tcpm@ietf.org
> > https://www.ietf.org/mailman/listinfo/tcpm