Re: [tcpm] Benjamin Kaduk's No Objection on draft-ietf-tcpm-rack-14: (with COMMENT)

Neal Cardwell <ncardwell@google.com> Wed, 30 December 2020 04:05 UTC

Return-Path: <ncardwell@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 298003A0EB2 for <tcpm@ietfa.amsl.com>; Tue, 29 Dec 2020 20:05:02 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -17.599
X-Spam-Level:
X-Spam-Status: No, score=-17.599 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, HTML_MESSAGE=0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, URIBL_BLOCKED=0.001, USER_IN_DEF_DKIM_WL=-7.5, USER_IN_DEF_SPF_WL=-7.5] autolearn=unavailable autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (2048-bit key) header.d=google.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 6N4S4DVvqNjT for <tcpm@ietfa.amsl.com>; Tue, 29 Dec 2020 20:04:59 -0800 (PST)
Received: from mail-vs1-xe2b.google.com (mail-vs1-xe2b.google.com [IPv6:2607:f8b0:4864:20::e2b]) (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 5F0033A0D2D for <tcpm@ietf.org>; Tue, 29 Dec 2020 20:04:59 -0800 (PST)
Received: by mail-vs1-xe2b.google.com with SMTP id s85so8038684vsc.3 for <tcpm@ietf.org>; Tue, 29 Dec 2020 20:04:59 -0800 (PST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20161025; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc; bh=wAsjKaUBlk1pcpJa/WVO6aDzIpCDhJ0n0+RJzGVXLgs=; b=CRHIBVsOM5K3GfIw6wwJSdkHaMnYpKmMwZX504szMWcQcsvVh9nu44+Oo/Fwn/0raa crhdawrW77AatWQcEVKHZvZ0kRS9aHdm6/ej56AjzQAD+/jM2enx6kXopNMThYMJ0vpY VviPCkh89dxlPwdm+rjyVxK+49IFuH2I1vf4qM9WszcfYZBrtB8+vsT2WI3oHz31g81O wTq6N3AL4sebFkRzJRYPgKJLXMDia7iVoJz39/hJAYZy2lKCPH8oKcnWwtWz9PEfLg3a TW98Nc6UfMdynIg9MwwzaTCW/0IfecYcXfDwG9m060l3/EgmksyAYJfV0Gez8vlUWBN8 E0FQ==
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=wAsjKaUBlk1pcpJa/WVO6aDzIpCDhJ0n0+RJzGVXLgs=; b=kdMS/ZYve7LOJ+OY0ED7Gf3kJSIoZH14ABfT2vRtVKAWEUv7QhxsBTFTs4SdFNKqn/ eLc4soJ+jw5CK9HUfk+2DqcMpekNrgmLC3mZovqwe+4Ww24tJ3PpTyfUxfWN34F8D2pn FfDjRfi4TDNU+7bRfIQ2Gx4BK3iwy7Ji9y3LZv6pxOOnT2+WuAMoJc03MWjE0p1vPbAI 82ZcfpRzOX2oeZvqDBR4mgkrSOFBvpm2RMxMHJc7Kq0PyB84sLdA/H5apExFCnZzvVVs molIindvpWuoIB1o6Yk+WWYCb63w9z8sAnZAvsKQ5XiH/G8xsvN7u0Npt60yM9hzKpop 6wuw==
X-Gm-Message-State: AOAM533W3pfuOBikrP1kfOPEV3M8bhmqejy706vWlbbHA+vGCrRHlou3 aIlEQy0aSy5bereo1A77VAjdCCfisX4gmtrBpEGZgA==
X-Google-Smtp-Source: ABdhPJwMaj/33vBot2ULlXGXDeF5eTV52X1RvjAUoXPrn1vzglZ7dqcmQh911RFgf/jyAEwNheW7Fp2jVE64QhyO5V4=
X-Received: by 2002:a67:cd9a:: with SMTP id r26mr32239319vsl.52.1609301098034; Tue, 29 Dec 2020 20:04:58 -0800 (PST)
MIME-Version: 1.0
References: <160822770059.15041.16286115220871304513@ietfa.amsl.com> <CAK6E8=d1WsuNcdu_1hhn0x=Grom5WrMW8xhMXiREYx9Ys5xamw@mail.gmail.com> <20201229200656.GG89068@kduck.mit.edu>
In-Reply-To: <20201229200656.GG89068@kduck.mit.edu>
From: Neal Cardwell <ncardwell@google.com>
Date: Tue, 29 Dec 2020 23:04:41 -0500
Message-ID: <CADVnQykhSzziSNfoYDZ-HSzTsAStDTG3YRRTM=mV+r7m37-_mw@mail.gmail.com>
To: Benjamin Kaduk <kaduk@mit.edu>
Cc: Yuchung Cheng <ycheng@google.com>, The IESG <iesg@ietf.org>, draft-ietf-tcpm-rack@ietf.org, tcpm-chairs <tcpm-chairs@ietf.org>, "tcpm@ietf.org Extensions" <tcpm@ietf.org>, draft-ietf-tcpm-rack.all@ietf.org, Michael Tuexen <tuexen@fh-muenster.de>
Content-Type: multipart/alternative; boundary="0000000000004973f405b7a69c18"
Archived-At: <https://mailarchive.ietf.org/arch/msg/tcpm/52V1KzgfYR8tql0LDFmW-aO0HS4>
Subject: Re: [tcpm] Benjamin Kaduk's No Objection on draft-ietf-tcpm-rack-14: (with COMMENT)
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: Wed, 30 Dec 2020 04:05:02 -0000

On Tue, Dec 29, 2020 at 3:07 PM Benjamin Kaduk <kaduk@mit.edu> wrote:

> > > Section 3.3.2
> > >
> > >    1.  The reordering window SHOULD be set to zero if no reordering has
> > >        been observed on the connection so far, and either (a) three
> > >        segments have been delivered out of order since the last
> recovery
> > >
> > > I assume there's some subtle technical difference between "reordering"
> > > and "segments delivered out of order" that makes this a reasonable
> thing
> > > to say ... but it would be nice if the distincion was made more clear
> > > (whether here or in earlier text).
> > >
> > Great idea to define reordering more precisely. In this document,
> > reordering refers to when two TCP segments are delivered at the TCP
> > receiver in a different order from they were sent at the TCP sender for a
> > given TCP flow. Notice the ordering is chronological instead of
> sequential
> > on TCP sequences.
> >
> > We'll add that definition on the first appearance of the word
> 'reordering'
> > to clarify.
>
> I am quite confident that you know how this works, though I am not sure
> that I understand properly yet -- is the key distinction that "reordering
> has been observed" and "segments have been delivered out of order" refer to
> time vs TCP sequence number?  (There's not actually a need to respond; I am
> sure the document will be correct.  I am just curious, is all.)
>

Benjamin, I think I did not previously understand your earlier remark: 'I
assume there's some subtle technical difference between "reordering"
and "segments delivered out of order" that makes this a reasonable thing to
say... '

But now I think perhaps I understand what you were getting at: were you
remarking that there is an apparent contradiction in the text between "no
reordering has been observed on the connection so far" and "three segments
have been delivered out of order", so that it seems impossible for the
connection to meet the conditions for both "no reordering has been observed
on the connection so far" and "(a) three segments have been delivered out
of order since the last recovery"?

I agree that the text of the draft as currently written seems contradictory
or at least unclear. :-)

The "three segments have been delivered out of order" phrase in the draft
was meant to refer to three segments being SACKed. But now that you raise
this point, it seems to me it would be more correct and clear to say
something like "three segments have been SACKed", rather than "three
segments have been delivered out of order".

>From my perspective, the SACKed segments are not necessarily "delivered out
of order", they merely have at least one hole in the sequence space. For
example, in the sequence [1, 3, 4, 5], the [3, 4, 5] are not "out of
order", and were they TCP segments we would not say that reordering has
been observed; it's just that 2 is not (yet?) present.

I also like the "three segments have been SACKed" phrase since the "have
been SACKed" phrase is used in RFC6675 for a similar purpose in the
description of "IsLost (SeqNum):"

If it's not too late for edits, I would propose that the section you
mentioned ("3.3.2
<https://tools.ietf.org/html/draft-ietf-tcpm-rack-15#section-3.3.2>.
Reordering window adaptation") that says:

   1.  The reordering window SHOULD be set to zero if no reordering has
       been observed on the connection so far, and either (a) three
       segments *have been delivered out of order* since the last recovery
       or (b) the sender is already in fast or RTO recovery.


would be edited to:


   1.  The reordering window SHOULD be set to zero if no reordering has
       been observed on the connection so far, and either (a) three
       segments *have been SACKed* since the last recovery
       or (b) the sender is already in fast or RTO recovery.


Benjamin, does that help address what you were talking about?

best,
neal