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

Yuchung Cheng <ycheng@google.com> Thu, 04 August 2022 15:07 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 36257C14F732 for <tcpm@ietfa.amsl.com>; Thu, 4 Aug 2022 08:07:45 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -17.607
X-Spam-Level:
X-Spam-Status: No, score=-17.607 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_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, 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 apZgifaePqvj for <tcpm@ietfa.amsl.com>; Thu, 4 Aug 2022 08:07:41 -0700 (PDT)
Received: from mail-wm1-x335.google.com (mail-wm1-x335.google.com [IPv6:2a00:1450:4864:20::335]) (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 6DC2AC14EB1E for <tcpm@ietf.org>; Thu, 4 Aug 2022 08:07:41 -0700 (PDT)
Received: by mail-wm1-x335.google.com with SMTP id 186-20020a1c02c3000000b003a34ac64bdfso358922wmc.1 for <tcpm@ietf.org>; Thu, 04 Aug 2022 08:07:41 -0700 (PDT)
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; bh=ati6RgYKSzrrXSetZ7GztClNMHgPwTDg986U1A9numE=; b=PXq/MDxzLm9Rb6ZMRgOGr5YQVLZtfMTXoAnCihvAm1voPYsy/i0+ctiGchFbpRrVhn YfBFPqyxYm+w41mIjQmPbJTf4FGSEZo7jid2+U+/RrOZDBtqTdFzZ8ko991WvtvPax/X +pvw1NkhBrlaNDCyXkZnQKK16oKNlESh9h962caCxxFjBSydRRiJlgYlX/vWm7gTISax Z9EJ2Uprcg4XlQ79RxX+0shU3a4wK1rovbJ/5LUlcKAcQJozIvl3HcsHeEfzwqUhmFof Uig1PSXQctaKr7Iy45rJJ7V/rxs4B7hKdrwXZsVGOzDPj+zhGC76RS071VFC0fC9Uh54 sJqQ==
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; bh=ati6RgYKSzrrXSetZ7GztClNMHgPwTDg986U1A9numE=; b=QrrrPcOUkepu6uYIMleLLrLBme2lze3p+hp+4Qnnr9OwxUrYCJFgXdUtxdt8sLgOUg tezNJ4qLqzCy9I3Gjl8qPZmE/GaCSdwwkB/54wManLEHIRA4tZtrexge8sD60jCFp4JK f3tpy5wCDeK3SjWz+V9UVrm/Oj/vDGLVkMy5bRQc7X+wR+Gd5LugNHkiz7MvauDalbMZ wx6Vy0vxZKu2stS162kNzN1oMmqFm0pwydb8uEa0URFZmcEIn8kMOu93PRJMH7D+e5mS wUn0kUG10zCE+T4g7j4ZH7G8kHh3lbcauwe6fX7nyogl36RmGLzx5gIyU7gq+ZsBbS4/ 3CYA==
X-Gm-Message-State: ACgBeo3+rV5d2FT3FRuMDTrMGypVQ7/jB5hCoAWtLztODkYMKQgUH1BQ YDDl4Ei9/jowln8SiaJavkw/kt6ajjZbXnCNdpuW4qhkJyUmxg==
X-Google-Smtp-Source: AA6agR6W52qzU7hOU5C4us4gNJdMc3tTxJRAn0PF7P712tV6QhmoeUsX1X72dyQC4T0rZRPCgxzC9R6V4VmLohQ0BhM=
X-Received: by 2002:a05:600c:a47:b0:39e:f953:84e2 with SMTP id c7-20020a05600c0a4700b0039ef95384e2mr6435535wmq.202.1659625659481; Thu, 04 Aug 2022 08:07:39 -0700 (PDT)
MIME-Version: 1.0
References: <CAAK044TS==yvSf+ve22XVQGU2s2os2P8cqckLykmMb9XEa9MTw@mail.gmail.com> <CAK6E8=fc9KsUHD1Bd7GjdLSu=6USYnsxtB+nnEJr0vZ1TDRQ9g@mail.gmail.com>
In-Reply-To: <CAK6E8=fc9KsUHD1Bd7GjdLSu=6USYnsxtB+nnEJr0vZ1TDRQ9g@mail.gmail.com>
From: Yuchung Cheng <ycheng@google.com>
Date: Thu, 04 Aug 2022 11:07:03 -0400
Message-ID: <CAK6E8=ed7zt2-TjOa8y_6MOiNsFK+2ituR36=hV-fQ8+J9MiwQ@mail.gmail.com>
To: Yoshifumi Nishida <nsd.ietf@gmail.com>
Cc: "tcpm@ietf.org Extensions" <tcpm@ietf.org>
Content-Type: text/plain; charset="UTF-8"
Archived-At: <https://mailarchive.ietf.org/arch/msg/tcpm/9feotbxZah5VmAioZj8MyV1cSqU>
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: Thu, 04 Aug 2022 15:07:45 -0000

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