Re: [tcpm] Comment on draft-ietf-tcpm-rack

Neal Cardwell <ncardwell@google.com> Tue, 07 April 2020 18:49 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 86C433A0D42 for <tcpm@ietfa.amsl.com>; Tue, 7 Apr 2020 11:49:59 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -17.601
X-Spam-Level:
X-Spam-Status: No, score=-17.601 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, SPF_HELO_NONE=0.001, SPF_PASS=-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 ([4.31.198.44]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id SAznXqdk426t for <tcpm@ietfa.amsl.com>; Tue, 7 Apr 2020 11:49:58 -0700 (PDT)
Received: from mail-ua1-x931.google.com (mail-ua1-x931.google.com [IPv6:2607:f8b0:4864:20::931]) (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 63C063A1027 for <tcpm@ietf.org>; Tue, 7 Apr 2020 11:49:37 -0700 (PDT)
Received: by mail-ua1-x931.google.com with SMTP id g24so1677144uan.10 for <tcpm@ietf.org>; Tue, 07 Apr 2020 11:49:37 -0700 (PDT)
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=aex/GJTQibrlu51RD4Yu/1MoAcJoajmGK9wwIDnVwGc=; b=Wmuwlq4VVS58w8tCSSBumSapZWlVQg16HHWO/RKFLlsFmRpJxNqEisP04D+2D5ogtI KHwfydwYtWpcKxFnpb5KM6cAZ+ZhVNEU6ME62m++CThGGL0ZzvafTJctLbCqZd1a/eBV xJAzlk5fWCwNM1rc0ivsTYzU52lkU9T5ne+RFTxStFg8RNKwWcVPDZONWCO8tpL+xBhM rATIPi7NBDrRuOjvQ/uV9VwUxzIHB4ZfFgMkUA7dHlSLGU0n17oceT5ip16Z1l2PP8od IGzW+IF7K9nGoBJlDRtfIUPTC4sCKHR61vQfGeEB+MzI0OGf9D+d7k21VG37xLyHxpPd zglQ==
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=aex/GJTQibrlu51RD4Yu/1MoAcJoajmGK9wwIDnVwGc=; b=uKTyZTeEuWoPTQIEDciT5GjrRhVgoVIHDE6qeVDHiX9Rr9vckrw85fEwpRmT+KEn62 Xbr7bNTjugCLtCFukWQYXHw5xpHatCUxWA4lc6zQvY8Hj09uu50bfMXxyKmHCgeVHGjz k+LQ+AMjTVqSJnII9C0lTtHqQ5z2yHMlSGs6Q5uyy53tM+ZA7rSW402yH0/uNacTGqPS UNZBPHx4cUhZycSoyUQsnw7bsBKyS1xk4wLievV2kYpNw/YaEZVj8APG3SxblrV9e9Pd KdMHHW9zCvUyPStFxF7/g+kBytoMkNv4/ctC9le5W286qOipv1CRtJjaRaKfj23xZ5Qa Zt4A==
X-Gm-Message-State: AGi0PuYAsvEidexiop9X1XGeG1NkPfkxAXnYD1F7Zv6rFQvtc6UpqdSu qUaYReB+F6Q+iop3LWNAqGqhqIewql9GcuYAN5k0mg==
X-Google-Smtp-Source: APiQypIucvogc7GyLDWKG4mFTtp3SwMHs7MIkgwnfPVLFPW02Bhx8uawbM7chi9elMPVt75OTrYXxiR7pX/NB4VamHE=
X-Received: by 2002:ab0:69d4:: with SMTP id u20mr2627837uaq.33.1586285375846; Tue, 07 Apr 2020 11:49:35 -0700 (PDT)
MIME-Version: 1.0
References: <CAM4esxQxK-NV=T4V4O9GQqn7Swv=8+865jCnE7ECFJJtSWjNHQ@mail.gmail.com>
In-Reply-To: <CAM4esxQxK-NV=T4V4O9GQqn7Swv=8+865jCnE7ECFJJtSWjNHQ@mail.gmail.com>
From: Neal Cardwell <ncardwell@google.com>
Date: Tue, 07 Apr 2020 14:49:18 -0400
Message-ID: <CADVnQykquLhVNwcxKoFrTRJmPDfpZiLJEXpC7+u7X7qqra0B5A@mail.gmail.com>
To: Martin Duke <martin.h.duke@gmail.com>
Cc: draft-ietf-tcpm-rack.authors@ietf.org, "tcpm@ietf.org Extensions" <tcpm@ietf.org>, Yuchung Cheng <ycheng@google.com>, Priyaranjan Jha <priyarjha@google.com>
Content-Type: text/plain; charset="UTF-8"
Archived-At: <https://mailarchive.ietf.org/arch/msg/tcpm/HuU-3VRn50Egv0BOhEOGLItBDJU>
Subject: Re: [tcpm] Comment on draft-ietf-tcpm-rack
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: Tue, 07 Apr 2020 18:50:00 -0000

On Tue, Apr 7, 2020 at 12:09 PM Martin Duke <martin.h.duke@gmail.com> wrote:
>
> Not a full review, but I may be missing something in this paragraph in Section 3:
>
>    Using a threshold for counting duplicate acknowledgments (i.e.,
>    DupThresh) alone is no longer reliable because of today's prevalent
>    reordering patterns.  A common type of reordering is that the last
>    "runt" packet of a window's worth of packet bursts gets delivered
>    first, then the rest arrive shortly after in order.  To handle this
>    effectively, a sender would need to constantly adjust the DupThresh
>    to the burst size; but this would risk increasing the frequency of
>    RTOs on real losses.
>
> In the "runt" pattern you describe, would not the returning sequence be
>
> Dupack, Ack, Ack, Ack ...
>
> So that any threshold > 1 would handle this with no problems?
>
> Martin

Thanks, I think this point about the threshold is a good point. AFAICT
the "final runt packet" case was a real problem for the FACK loss
recovery algorithm used by Linux for many years until RACK, but this
case was probably not a problem for implementations that used RFC6675
(since RFC6675 basically requires 3 packets SACKed above a hole to
mark it lost).

To address this, what do you think about the following more general
text as a replacement for that paragraph:

"Using a threshold for counting duplicate acknowledgments (i.e.,
DupThresh) alone is no longer reliable because of today's prevalent
reordering. Any time at least DupThresh packets in a flight arrive out
of order, traditional packet-counting approaches
[RFC5681][RFC6675][FACK] usually suffer spurious retransmissions. To
avoid such problems, some implementations have dynamically increased
the DupThresh packet count based on the measured degree of reordering
in sequence space; but this increases the frequency of RTOs upon real
losses in the common case of small flights of data."

Thanks,
neal