Re: [tcpm] Benjamin Kaduk's No Objection on draft-ietf-tcpm-rack-14: (with COMMENT)
Yuchung Cheng <ycheng@google.com> Wed, 30 December 2020 17:12 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 ECBAB3A0A22 for <tcpm@ietfa.amsl.com>; Wed, 30 Dec 2020 09:12:19 -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, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_BLOCKED=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 B9WWooaMrh05 for <tcpm@ietfa.amsl.com>; Wed, 30 Dec 2020 09:12:16 -0800 (PST)
Received: from mail-wr1-x435.google.com (mail-wr1-x435.google.com [IPv6:2a00:1450:4864:20::435]) (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 1A86F3A0A1E for <tcpm@ietf.org>; Wed, 30 Dec 2020 09:12:15 -0800 (PST)
Received: by mail-wr1-x435.google.com with SMTP id w5so17970358wrm.11 for <tcpm@ietf.org>; Wed, 30 Dec 2020 09:12:14 -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=qknqvin5xKaRi20p1qB7A5X2BwkoMj7pGkhWNzL9cIU=; b=GaOMMVqPym6Ik/SnE/Bmh5Pw/7CzHjSQyewTdXh5rspmy4kMjCqPhhmTLBJJ+5yTWC bpWlB8on8Zj98ao93uPZrl6+FGkrPp5Gz8GAnCbibZcnOKtEgARpHNfndLXo995pUnsw 1pHVdqQc/naPFBBccDymqejyHXJVIwtbC9otcRRKcsi0k49YECUW3VkLoRDeYW1Z8mhA IaaISV0UZmYyXSZrG1UJKLWiJEyuMnPmbz2Zo4kB/lWYvavAALHLHsNgEiA8knOQIuyS 6hR5wXdvH8YqqkTMSwILcK2JPOKj+jpsa5aSjm8QPwx939XKfVZlEzM72HsLcebJLr8J bDew==
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=qknqvin5xKaRi20p1qB7A5X2BwkoMj7pGkhWNzL9cIU=; b=azcbYRGpXs3kraC6fJH4Mh1uqrLUq0JLjERBlgdQ2oBwtyHNamIhfitjCj1dEp5sim FitCncIIKkPSVTK2CZBT1gtlOP/5vh4MvcAe4fXHm/ZmD29qPi1+OqP15+bjVJc3LeVo fYK7GN8UKlC4hAi7680GkUe6XN+zEBhe417sXthjYqliVDldLdXaimSS0RPkuyxEsvzi D9J5fPivIkAsH/BVBmaAtCToFWkRmLOTY/sixoVORW4+Z1BomCtey8pqSFliWKeT9B+M Xt82GiEmUQ9EZUJFVKdjS3jMEoNbiWdO1N+Ez+y/t2Ay3f11cYAZC7HSNzrdb/jqgka1 9OqA==
X-Gm-Message-State: AOAM531ju0jJOizcAEPYVvfthFAjtq5HC5gYYqUMPlzq8Rg8kY1++9Ku JVv+uOHkPgbJ6faEh8LL9LlyhUBb10fzkkLI+W82Eg==
X-Google-Smtp-Source: ABdhPJw+eGYcVlpZ9/7I+ljIkUfrQ8lNTtXc12I97yvizDogGLQvanYwfHU8wqyT7XcOJRa2sYhRJCfDvlLWff5eLVY=
X-Received: by 2002:adf:dc8b:: with SMTP id r11mr62218371wrj.131.1609348332620; Wed, 30 Dec 2020 09:12:12 -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> <CADVnQykhSzziSNfoYDZ-HSzTsAStDTG3YRRTM=mV+r7m37-_mw@mail.gmail.com> <20201230054144.GU89068@kduck.mit.edu> <CADVnQymKWcEJdZ8MP--6i3Unj-vStYbW376hPq4T0Nt5EYzDNA@mail.gmail.com>
In-Reply-To: <CADVnQymKWcEJdZ8MP--6i3Unj-vStYbW376hPq4T0Nt5EYzDNA@mail.gmail.com>
From: Yuchung Cheng <ycheng@google.com>
Date: Wed, 30 Dec 2020 09:11:35 -0800
Message-ID: <CAK6E8=cT8FwGMNQio2+cSoNypV9iBJi4eVSg00b1d1Xn1QXwrA@mail.gmail.com>
To: Neal Cardwell <ncardwell@google.com>
Cc: Benjamin Kaduk <kaduk@mit.edu>, 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/mixed; boundary="000000000000b0483805b7b19b35"
Archived-At: <https://mailarchive.ietf.org/arch/msg/tcpm/zbjUL0i51X0EtrrFOrhSXbjGuwY>
X-Mailman-Approved-At: Thu, 31 Dec 2020 08:01:04 -0800
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 17:12:20 -0000
Thank you Ben for your review. Here is the latest proposed diff. Let us know what you think and we'll work w/ RFC editors to incorporate this minor change. On Wed, Dec 30, 2020 at 5:55 AM Neal Cardwell <ncardwell@google.com> wrote: > > > On Wed, Dec 30, 2020 at 12:42 AM Benjamin Kaduk <kaduk@mit.edu> wrote: > >> Hi Neal, >> >> On Tue, Dec 29, 2020 at 11:04:41PM -0500, Neal Cardwell wrote: >> > 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"? >> >> Exactly so! Sorry for not having been more clear originally. >> >> > I agree that the text of the draft as currently written seems >> contradictory >> > or at least unclear. :-) >> >> Well, I guess I can feel better about having been confused by it, now :) >> > > Great. Thanks for raising this issue! > > >> > 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. >> >> Indeed, there is some subjectivity in the definition of "out of order". >> (My initial draft comments on this document had included a request for >> more >> clarity on how to tell which segments are "out of order" as compared to >> some baseline, but I deleted it once I got to, IIRC, discussion in Section >> 6.2 about segments below RACK.fack getting acknowledged as being ones >> delivered out of order, which I took to be effectively a definition, and >> seemed well-formed at the time. Though perhaps that formulation is not >> well-defined for what it means for a retransmitted segment to be >> out-of-order...) If we apply the definition of "a segment is delivered >> out >> of order if, when it is ACKd, RACK.fack is greater than its sequence >> number" to your example above, it seems like we would conclude that 2 is >> out >> of order, but 3, 4, and 5 are in-order. (Right?) >> > > Right, exactly. If there are no retransmissions and the sequence of packet > deliveries is [1, 3, 4, 5, 2] then my intuition and > RACK_detect_reordering() would not conclude that 3, 4, 5 are > "reordering", but upon seeing that 2 is delivered both my intuition > an RACK_detect_reordering() would declare that reordering has been seen. > > > >> > 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):" >> >> Also a pretty compelling argument. >> >> > 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? >> >> Yes. From my point of view, that proposal is a big improvement. > > > Great. Glad to hear it. We will talk it over among the draft co-authors > and see if we can make this more clear. > > Thanks! > > neal > > >
- [tcpm] Benjamin Kaduk's No Objection on draft-iet… Benjamin Kaduk via Datatracker
- Re: [tcpm] Benjamin Kaduk's No Objection on draft… Yuchung Cheng
- Re: [tcpm] Benjamin Kaduk's No Objection on draft… Benjamin Kaduk
- Re: [tcpm] Benjamin Kaduk's No Objection on draft… Neal Cardwell
- Re: [tcpm] Benjamin Kaduk's No Objection on draft… Benjamin Kaduk
- Re: [tcpm] Benjamin Kaduk's No Objection on draft… Neal Cardwell
- Re: [tcpm] Benjamin Kaduk's No Objection on draft… Yuchung Cheng