Re: [tcpm] comments on draft-ietf-tcpm-prr-rfc6937bis-01

Yoshifumi Nishida <nsd.ietf@gmail.com> Wed, 14 September 2022 17:44 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 843A0C14F74F for <tcpm@ietfa.amsl.com>; Wed, 14 Sep 2022 10:44:23 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.104
X-Spam-Level:
X-Spam-Status: No, score=-2.104 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_BLOCKED=0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, T_SCC_BODY_TEXT_LINE=-0.01, URIBL_BLOCKED=0.001, 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 CLrXORyOxxhm for <tcpm@ietfa.amsl.com>; Wed, 14 Sep 2022 10:44:19 -0700 (PDT)
Received: from mail-wr1-x42a.google.com (mail-wr1-x42a.google.com [IPv6:2a00:1450:4864:20::42a]) (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 943DCC14F748 for <tcpm@ietf.org>; Wed, 14 Sep 2022 10:44:19 -0700 (PDT)
Received: by mail-wr1-x42a.google.com with SMTP id bq9so26902092wrb.4 for <tcpm@ietf.org>; Wed, 14 Sep 2022 10:44:19 -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=+a1HT2DLACiuVJl8U2/mq6AUdt/vzW2kcPDTQ1hkxkI=; b=WiHwFuGPFbpqNko8YCwXoTxcJ04GFfHtM5/PO70/08UyAz0+Hzv6i7xlteffoq1GOu xTjriBxQdjK+E/Qa2r3Z1kpuVApdA91HCPT8DocmdSRTkob+MQlS9DqcF4O4SkpvpuAN DbwGreDnyGqhKASwuPK4/rDy3BtS0BPJeDe23+zY42lgGmWJx+WlhGhLHmLUKgNrgGuo bKetbqBbNWM3qE3NLsiBYzWGPmjCWl0pPB3G4DzOEaJLLcRjeswnswZSegM272CeaNjS sEENyQs6yoHxz6by2YSj9Dvq7je0HP3lwbWl+DHUcXv2dxyLb5/33C6jWU7658KwO4xp Oaaw==
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=+a1HT2DLACiuVJl8U2/mq6AUdt/vzW2kcPDTQ1hkxkI=; b=igBt6x2NL0WfU9BFHA3GH/QDWeGXBmQ6yo+uh5O5CBNFPKxBMtwqvBPx+QWGWsGcZr Vw4JoxQ55IOoBDKUT7UlN62zuW6C5nRgGFCrULFjn1NhfKwcBiYKMYwSla46IVxQPo48 NCk4cZayt+McHJA1Bv3myc9F635HDnjXFBvCnRhWAd77uSr+Ezp+L0jjf+T2fu4/3U6T zwu2HrTkL1IUNZstdF1n5iC/Lm/Ot7fQDioSb2qqOCOo/cR0/qeIlSHy8xe0uV3UuqwE C5hHnjDAxwhYwJhodkwersa81sM1/ueEpm38rGkX2EDTOoqiqQbVF2sVwql1Ep2xKxyA DVwQ==
X-Gm-Message-State: ACgBeo2qwz+v5dIlHXJCxqM3FBzABjkVmNT1h/UC3JVgncT4ysL4G5W1 tNcP9E5g2dj5/kVKUVsxso/AcnlTC5vGfUrHtACflmwwWew=
X-Google-Smtp-Source: AA6agR5l41jw6Q4UmhPNKjurmrGE4+EAOqcK2SLm5kg1YartS2s0VYlWqRchIKbYw7JMcnSRKkoS/ENhibp68LZ0WRE=
X-Received: by 2002:adf:df82:0:b0:228:e2cf:d20f with SMTP id z2-20020adfdf82000000b00228e2cfd20fmr23385677wrl.356.1663177457810; Wed, 14 Sep 2022 10:44:17 -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>
In-Reply-To: <CAK6E8=ed7zt2-TjOa8y_6MOiNsFK+2ituR36=hV-fQ8+J9MiwQ@mail.gmail.com>
From: Yoshifumi Nishida <nsd.ietf@gmail.com>
Date: Wed, 14 Sep 2022 10:44:06 -0700
Message-ID: <CAAK044TO2m-s8oB-MZ+av1daFMdfjVQ9neFQt+Es9NECn54EMg@mail.gmail.com>
To: Yuchung Cheng <ycheng@google.com>
Cc: "tcpm@ietf.org Extensions" <tcpm@ietf.org>
Content-Type: multipart/alternative; boundary="00000000000092415e05e8a6ad62"
Archived-At: <https://mailarchive.ietf.org/arch/msg/tcpm/KTfo9tJ-J_qnStG3CZqOJz2ztyw>
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: Wed, 14 Sep 2022 17:44:23 -0000

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
>