Re: [tcpm] comments on draft-ietf-tcpm-prr-rfc6937bis-01
Yoshifumi Nishida <nsd.ietf@gmail.com> Tue, 20 September 2022 09:04 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 33593C1522BD for <tcpm@ietfa.amsl.com>; Tue, 20 Sep 2022 02:04:08 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -7.105
X-Spam-Level:
X-Spam-Status: No, score=-7.105 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_HI=-5, RCVD_IN_ZEN_BLOCKED_OPENDNS=0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, T_SCC_BODY_TEXT_LINE=-0.01, URIBL_DBL_BLOCKED_OPENDNS=0.001, URIBL_ZEN_BLOCKED_OPENDNS=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 ([50.223.129.194]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id 0NeYK4Dv7tVG for <tcpm@ietfa.amsl.com>; Tue, 20 Sep 2022 02:04:07 -0700 (PDT)
Received: from mail-wr1-x433.google.com (mail-wr1-x433.google.com [IPv6:2a00:1450:4864:20::433]) (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 30798C1522BB for <tcpm@ietf.org>; Tue, 20 Sep 2022 02:04:07 -0700 (PDT)
Received: by mail-wr1-x433.google.com with SMTP id z6so3211662wrq.1 for <tcpm@ietf.org>; Tue, 20 Sep 2022 02:04:07 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:from:to:cc:subject:date; bh=RCdvp83DnXAwimBTBBjfja0CdgkeAO8YHHxSfrbh5VU=; b=Y4kJGKOar8Lla2t2ACEZn6MCh3hth5otTB7dV+7jRP6YLKbIGz6JO09OcpG+upkVVz 3VAt9jm6Er12waKjS5jH1q0qNwboXumuqqNnnkmmWtacF/74DgzuWm+ktNkkF+L0JxJW ChBGzOi2zbu9jLpdGvUxxYxBcu2uwfiue6mRTTz+281/E2yJqkI/PouD3L5sqKHR2nQD lYsueEZQg6pojQesdifd07lg8KjU/ADy87MUbeCQHeZdWlzQ8oz8C5KrQUZMEqX7mFD5 vUPazkZNMC+zT0ySV+CO8vPqjl6A/0PiHqWtYZ7iA1xRyfQROWA57ubtmctb6h/4wkNK wVOg==
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; bh=RCdvp83DnXAwimBTBBjfja0CdgkeAO8YHHxSfrbh5VU=; b=KijQjkPnn2q+zPJ6+Tc6raJjsuaxMIWz6BKcTxvgjcdI8Iezrb0wbNrKXXtmMVs+XD rltVnpaPQLK9QHhLayQg1GSh2Ydxd0LYiWSZ9a6wnPvA7CT+V0hZdhhAITchEsplue6e FbfFzEEMdRiq/jvNokGqnfbthUreTVkZcS2bEqD1zmpAV5RnTq5q7iSN2AiywMI9uCUQ L7QUhoB5AxQgE6z9QfsCXH5ELPU0LmMBN5o6Sgw4RMTFiSVY0LS6O0oLKoCaVcc4ja5k B2Wq+ojcrBIrzhFkcMWw5M+QfBiN/7u5AoaWge4Ran4OXGH1dlxoX/xpAyyBoBU3lm2p oNog==
X-Gm-Message-State: ACrzQf1LeV29xFNai7vfbrm8g4+e2uNNSeibXqCVDeWMdzOdIr3OY85a zR6ZWdxdpyrt2OO/ILIH8J09nPBdVrKk9GjH8m/Izp4x
X-Google-Smtp-Source: AMsMyM6bwXZrX+tGta+k9f/0jqpyrgK22xp53Pm1KROr19Fh1XhKtx3gCnMPRMDOPyj8CmH9J95P+0Fn1n9RvKsQ7KM=
X-Received: by 2002:adf:ed81:0:b0:226:a509:14b6 with SMTP id c1-20020adfed81000000b00226a50914b6mr13159101wro.150.1663664645495; Tue, 20 Sep 2022 02:04:05 -0700 (PDT)
MIME-Version: 1.0
References: <CAAK044TS==yvSf+ve22XVQGU2s2os2P8cqckLykmMb9XEa9MTw@mail.gmail.com> <CAK6E8=fc9KsUHD1Bd7GjdLSu=6USYnsxtB+nnEJr0vZ1TDRQ9g@mail.gmail.com> <CAK6E8=ed7zt2-TjOa8y_6MOiNsFK+2ituR36=hV-fQ8+J9MiwQ@mail.gmail.com> <CAAK044TO2m-s8oB-MZ+av1daFMdfjVQ9neFQt+Es9NECn54EMg@mail.gmail.com> <CAK6E8=dnNNup8142puKPqcj_S9GcJ5OYpipyeOZmejVL8m9Etw@mail.gmail.com>
In-Reply-To: <CAK6E8=dnNNup8142puKPqcj_S9GcJ5OYpipyeOZmejVL8m9Etw@mail.gmail.com>
From: Yoshifumi Nishida <nsd.ietf@gmail.com>
Date: Tue, 20 Sep 2022 02:03:54 -0700
Message-ID: <CAAK044SW2xfq2cW4z5Ux9oobw-6Dn66hFbas-J4PFg2-3isk5A@mail.gmail.com>
To: Yuchung Cheng <ycheng@google.com>
Cc: "tcpm@ietf.org Extensions" <tcpm@ietf.org>
Content-Type: multipart/alternative; boundary="000000000000385ee705e9181cd2"
Archived-At: <https://mailarchive.ietf.org/arch/msg/tcpm/tJCI29W7BaWiCLcNO1xl6aCPurE>
Subject: Re: [tcpm] comments on draft-ietf-tcpm-prr-rfc6937bis-01
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: Tue, 20 Sep 2022 09:04:08 -0000
Hi Yuchung, Got it. Thanks for the clarification. -- Yoshi On Sat, Sep 17, 2022 at 4:32 PM Yuchung Cheng <ycheng@google.com> wrote: > hi Yoshifumi, > > yes we already explain the values are before any transmission because we > think it illustrates the "sent" behaviour better. see the 2nd paragraph of > the examples section > "The top line indicates the transmitted segment > number triggering the ACKs, with an X for the lost segment. "cwnd" > and "pipe" indicate the values of these algorithms after processing > each returning ACK but before further (re)transmission." > > On Wed, Sep 14, 2022 at 10:44 AM Yoshifumi Nishida <nsd.ietf@gmail.com> > wrote: > >> Hi Yuchung, >> >> Sorry for my very slow response and thanks for addressing my comments. >> They look good to me. >> One remaining minor comment I have is the values in the examples in >> Section 7 such as the below. >> >> I think I understand the values there, but it seems that the values for >> cwnd and pipe are the values in the period between after a new ACK segment >> arrives and before sending something. >> I am wondering it might be good to use the value for after sending >> segments (when all steps has finished) or might need to add more >> explanations about it. >> >> > RFC 6675 >> > ack# X 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 >> > cwnd: 20 20 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 >> > pipe: 19 19 18 18 17 16 15 14 13 12 11 10 10 10 10 10 10 10 10 >> > sent: N N R N N N N N N N N >> > >> >> Thanks, >> -- >> Yoshi >> >> On Thu, Aug 4, 2022 at 8:07 AM Yuchung Cheng <ycheng@google.com> wrote: >> >>> To clarify, all these fixes are in >>> https://datatracker.ietf.org/doc/html/draft-ietf-tcpm-prr-rfc6937bis-02 >>> >>> My previous email was responding to Yoshifumi's question in the last >>> tcpm meeting: did -02 address my comments? >>> >>> On Thu, Aug 4, 2022 at 10:00 AM Yuchung Cheng <ycheng@google.com> wrote: >>> > >>> > Hi Yoshifumi >>> > >>> > On Wed, Feb 9, 2022 at 11:30 AM Yoshifumi Nishida <nsd.ietf@gmail.com> >>> wrote: >>> > > >>> > > Hi, >>> > > >>> > > I have the following comments on draft-ietf-tcpm-prr-rfc6937bis-01 >>> > > >>> > > 1: Page 5 >>> > > "but recommended to use BBR-SSRB" >>> > > -> PRR-SSRB? >>> > fixed >>> > >>> > > >>> > > 2: Page 7 >>> > > "and do what? @@@@" >>> > > -> Please add more texts or remove this. >>> > >>> > New text to replace the "do what" >>> > "Without SACK, >>> > >>> > DeliveredData is the change in snd.una for a partial ACK or 1 MSS >>> > worth of bytes for a DUPACK. >>> > >>> > Note that without SACK, a poorly-behaved receiver that returns >>> > extraneous DUPACKs as depicted in [Savage99] can artificially >>> inflate >>> > DeliveredData. As a mitigation, PRR disallows incrementing >>> > DeliveredData when the total bytes delivered exceeds the outstanding >>> > data upon recovery (i.e., RecoverFS). >>> > " >>> > >>> > > >>> > > 3: Page 8: >>> > > """ >>> > > prr_delivered = 0 // Total bytes delivered during >>> recovery >>> > > >>> > > prr_out = 0 // Total bytes sent during recovery >>> > > >>> > > """ >>> > > -> I personally think "during recovery" might be a bit >>> ambiguous. I think it would be better to clarify >>> > > whether this includes a packet sent by fast retransmit or >>> not. >>> > >>> > The following subroutine should be clear on that it includes >>> retransmission >>> > >>> > On any data transmission or retransmission: >>> > prr_out += (data sent) >>> > >>> > >>> > > >>> > > 4: Page 8: >>> > > " pipe = (RFC 6675 pipe algorithm) " >>> > > >>> > > -> The algorithm here seems to depend on SACK, but the draft >>> also states: >>> > > "It is most accurate and more easily implemented with SACK >>> [RFC2018], but does not require SACK." >>> > > I think It is not clear how this algorithm works without >>> SACK. >>> > Great catch -- we define the non-SACK algorithm now in the pseudo and >>> > clarify in section 5 >>> > >>> > On every ACK starting or during the recovery: >>> > DeliveredData = bytes newly cumulatively acknowledged >>> > if (SACK is used) { >>> > DeliveredData += bytes newly selectively acknowledged >>> > } else if (ACK is a DUPACK and prr_delivered < RecoverFS) { >>> > DeliveredData += MSS >>> > } >>> > >>> > >>> > > >>> > > 5: Section 7 Page 9 >>> > > Why all examples shown here use Limited Transmit even though >>> PRR doesn't require it? >>> > > I think there should be some explanations for it even if >>> there's no strong reason. >>> > >>> > We did mention that we assume RFC3042 in our section 7: "We also >>> > assume standard Fast Retransmit and Limited Transmit [RFC3042], ... ". >>> > We use it because it's a standard track RFC and really helps ack >>> clocking >>> > >>> > > >>> > > >>> > > 6: Page 10: >>> > > It seems that the pipe size in the figure is different from >>> what RFC6675 calculates because Section 5 (4.2) in RFC6675 mentions >>> > > " >>> > > >>> > > note that [RFC5681] requires that any >>> > > segments sent as part of the Limited Transmit mechanism not >>> > > be counted in FlightSize for the purpose of the above >>> > > equation. >>> > > >>> > > >>> > > >>> > > Hence, I think the pipe size would be something like this if it >>> follows RFC6675. >>> > > >>> > > Please let me know if I miss something. >>> > > >>> > > >>> > > 6675 >>> > > ack# X 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 >>> > > cwnd: 20 20 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 >>> > > pipe: 19 19 19 18 17 16 15 14 13 12 11 10 09 09 09 09 09 09 09 >>> > > sent: N N R N N N N N N N >>> > > >>> > > >>> > > PRR >>> > > >>> > > ack# X 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 >>> > > pipe: 19 19 18 18 18 17 17 16 16 15 15 14 14 13 13 12 12 11 10 >>> > > sent: N N R N N N N N N N >>> > Thanks for catching this. Yes we've updated -bis 02 to correct the >>> > pipe size of PRR to match RFC6675 in the initial phase of recovery. >>> > >>> > RFC 6675 >>> > ack# X 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 >>> > cwnd: 20 20 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 >>> > pipe: 19 19 18 18 17 16 15 14 13 12 11 10 10 10 10 10 10 10 10 >>> > sent: N N R N N N N N N N N >>> > >>> > >>> > 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 18 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 >>> > >>> > >>> > >>> > >>> > > >>> > > >>> > > >>> > > 6675 >>> > > >>> > > ack# X X X X X X X X X X X X X X X 15 16 17 18 19 >>> > > cwnd: 20 20 10 10 10 >>> > > pipe: 19 19 4 10 10 >>> > > sent: N N 6R R R >>> > > >>> > > >>> > > Thanks, >>> > > -- >>> > > Yoshi >>> > > >>> > > >>> > > >>> > > >>> > > _______________________________________________ >>> > > tcpm mailing list >>> > > tcpm@ietf.org >>> > > https://www.ietf.org/mailman/listinfo/tcpm >>> >>
- [tcpm] comments on draft-ietf-tcpm-prr-rfc6937bis… Yoshifumi Nishida
- Re: [tcpm] comments on draft-ietf-tcpm-prr-rfc693… Yuchung Cheng
- Re: [tcpm] comments on draft-ietf-tcpm-prr-rfc693… Yuchung Cheng
- Re: [tcpm] comments on draft-ietf-tcpm-prr-rfc693… Yoshifumi Nishida
- Re: [tcpm] comments on draft-ietf-tcpm-prr-rfc693… Yuchung Cheng
- Re: [tcpm] comments on draft-ietf-tcpm-prr-rfc693… Yoshifumi Nishida