Re: [tcpm] Fwd: [Technical Errata Reported] RFC6582 (6871)

Yoshifumi Nishida <nsd.ietf@gmail.com> Fri, 19 January 2024 04:34 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 D40D0C14CEE4 for <tcpm@ietfa.amsl.com>; Thu, 18 Jan 2024 20:34:10 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -7.105
X-Spam-Level:
X-Spam-Status: No, score=-7.105 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_HI=-5, RCVD_IN_ZEN_BLOCKED_OPENDNS=0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, T_SCC_BODY_TEXT_LINE=-0.01, 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 hzEI902WhIe7 for <tcpm@ietfa.amsl.com>; Thu, 18 Jan 2024 20:34:06 -0800 (PST)
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 52D5CC14CEFA for <tcpm@ietf.org>; Thu, 18 Jan 2024 20:34:02 -0800 (PST)
Received: by mail-wr1-x42a.google.com with SMTP id ffacd0b85a97d-33678156e27so228842f8f.1 for <tcpm@ietf.org>; Thu, 18 Jan 2024 20:34:02 -0800 (PST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1705638841; x=1706243641; darn=ietf.org; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:from:to:cc:subject:date:message-id:reply-to; bh=l/yBOEYcn8Df2isIDNZCgmO9lw8yaSx9p4UUpXOF6+8=; b=cY0fqqDG4mlqpBk/X418Ed+Vgf9OPO0EAnMll2d9vIIPvQttaoRvTHu//tXrDUIJXH oXT+cn6oOJr4HvpCxzj+7YAveN8+7tRtS/pQnZRbsSe4ZJE6FEC31T2273QRvVOqyT7U I5Gu6SWXuMgyvX8xB4VeXXU2tEQP0snP6CqfRAxBezMB+cVSVPwEXqYF9LvKKwKfZTt4 +A/8vvnM26Vv/4VACM8mgtjKNQvHvtiz+hNGXt3uGEKMLpR1dQek7xomYGMFr5Sbr4Kx pyKXPqQh1ToHau4JbbYQNKqVVeLw1rKjiHPImDQo1ru40+tUhcxgXSoF7tVpLqibTC/+ HzbA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1705638841; x=1706243641; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:x-gm-message-state:from:to:cc:subject:date:message-id :reply-to; bh=l/yBOEYcn8Df2isIDNZCgmO9lw8yaSx9p4UUpXOF6+8=; b=k5sIzeYNET96kTbXX4rdsd8UzkfR5lBr2OYTHlI+IBPL6iOl5PLtkPVMLy0W13iBxX Db8XQ53Ej3aGq8viRs7YhrPaj2NiH+2JUJhzYOdH0PoOzqJHHg2aScoKZTnk468pm7Zt WEkRFvkWx/xI86OdaLe68zfoIqFLWA8ZYnoT1sKUW7nURWwG2F69a0RnHdXlTEw2Y9o8 vk96IQ+g/vzYWk+EALuAR8OlBboNSImkLLP8Gx6Rl+e6vMiOdf41b3OuxZ/jRJjnft0G nnt72Q1uLhk96q48JBI53N8/6KAhUwY7R6LgYFvmgeVKLSwVNxCzZpsBlTC6tLi5MIaG C9cg==
X-Gm-Message-State: AOJu0Yxfg7iC0i44bRFHdyfrYr3clS/07FjLcp8+que2BmYcWyZ+CNmE Kh1NzXiCTXifhW0im2HiLvfAbh+SQxrRilJQUEBCzPWE94g2N49npeWAQBIS1G08rOruiS2tchY ysojMHIkbQqKl5p6arlsQeeNJgeM=
X-Google-Smtp-Source: AGHT+IFKT4sp+KaVS/lSGiGJvcIejvmQ7/IBpNmhSXi7PhIjjlw7WcDEdpMVqBsniEr3YSt82JLPEYJkB20jFI95/74=
X-Received: by 2002:adf:e946:0:b0:337:39e3:47b5 with SMTP id m6-20020adfe946000000b0033739e347b5mr993047wrn.14.1705638840478; Thu, 18 Jan 2024 20:34:00 -0800 (PST)
MIME-Version: 1.0
References: <20220307150858.E05E46AAB1@rfc-editor.org> <CAM4esxTxdcnNzr5p_o3SdZd5NCnUhyyFQeMwcMLoVp8Mg89mWg@mail.gmail.com>
In-Reply-To: <CAM4esxTxdcnNzr5p_o3SdZd5NCnUhyyFQeMwcMLoVp8Mg89mWg@mail.gmail.com>
From: Yoshifumi Nishida <nsd.ietf@gmail.com>
Date: Thu, 18 Jan 2024 20:33:49 -0800
Message-ID: <CAAK044SeLoK-6Gy-fmRn-cK7PQ=sMiUqE-0+EknFKuzAvxE-YQ@mail.gmail.com>
To: Martin Duke <martin.h.duke@gmail.com>
Cc: "tcpm@ietf.org Extensions" <tcpm@ietf.org>
Content-Type: multipart/alternative; boundary="00000000000033b148060f44fdab"
Archived-At: <https://mailarchive.ietf.org/arch/msg/tcpm/xwIrxOyx03XG8IOSYjvNaL2gtLs>
Subject: Re: [tcpm] Fwd: [Technical Errata Reported] RFC6582 (6871)
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: Fri, 19 Jan 2024 04:34:10 -0000

Hi Martin,
I personally think this errata is correct.
--
Yoshi

On Thu, Jan 18, 2024 at 3:10 PM Martin Duke <martin.h.duke@gmail.com> wrote:

> I do not have any TCP code in front of me, but ISTM this errata is
> accurate.
>
> if the window advances by 3 MSS or less, that implies that <= 2 DUPACKs
> were lost, which would not have triggered a Fast Retransmit.
>
> If the window advances by 4 MSS or more, then the peer should have sent at
> least 3 DUPACKs, which if received would have triggered FR.
>
> Am I thinking about this correctly?
>
> ---------- Forwarded message ---------
> From: RFC Errata System <rfc-editor@rfc-editor.org>
> Date: Mon, Mar 7, 2022 at 7:08 AM
> Subject: [Technical Errata Reported] RFC6582 (6871)
> To: <thomas.r.henderson@boeing.com>, <floyd@acm.org>, <gurtov@ee.oulu.fi>,
> <nishida@wide.ad.jp>, <martin.h.duke@gmail.com>, <
> Zaheduzzaman.Sarker@ericsson.com>, <nsd.ietf@gmail.com>, <
> michael.scharf@hs-esslingen.de>, <tuexen@fh-muenster.de>
> Cc: <q645v49v@anonaddy.me>, <tcpm@ietf.org>, <rfc-editor@rfc-editor.org>
>
>
> The following errata report has been submitted for RFC6582,
> "The NewReno Modification to TCP's Fast Recovery Algorithm".
>
> --------------------------------------
> You may review the report below and at:
> https://www.rfc-editor.org/errata/eid6871
>
> --------------------------------------
> Type: Technical
> Reported by: Clive Bloom <q645v49v@anonaddy.me>
>
> Section: 4.1
>
> Original Text
> -------------
> If the Cumulative Acknowledgment field didn’t cover more than
> recover, check to see if the congestion window is greater than
> SMSS bytes and the difference between highest_ack and
> prev_highest_ack is at most 4*SMSS bytes. If true, duplicate
> ACKs indicate a lost segment (enter fast retransmit).
> Otherwise, duplicate ACKs likely result from unnecessary
> retransmissions (do not enter fast retransmit).
>
> Corrected Text
> --------------
> If the Cumulative Acknowledgment field didn’t cover more than
> recover, check to see if the congestion window is greater than
> SMSS bytes and the difference between highest_ack and
> prev_highest_ack is at most 3*SMSS bytes. If true, duplicate
> ACKs indicate a lost segment (enter fast retransmit).
> Otherwise, duplicate ACKs likely result from unnecessary
> retransmissions (do not enter fast retransmit).
>
> Notes
> -----
> RFC6582 (as well as RFC3782) references to Gur03 and GF04 papers as to the
> initial sources
> of the heuristics both ACK-based and Timestamp-based. Neither of those
> papers nor Gur03 nor GF04 defines difference between highest_ack and
> previous_highest_ack
> of at least 4*SMSS bytes upon receiving the third duplicate ACK as an
> indication
> of droped retransmitted segment. Instead, section III of GF04 says:
>
> "The acknowledgment heuristic is based on an observation that if the
> TCP sender unnecessarily retransmits at least three adjacent packets,
> there will be a jump by at least four segments in a cumulative
> acknowledgment field. The sender will have correctly retransmitted at least
> one packet, to advance the cumulative acknowledgment field, and
> unnecessarily retransmitted at least three more to result in three
> duplicate
> acknowledgments. Following the advancement of the cumulative acknowledgment
> field, the sender stores the value of the previous cumulative
> acknowledgment
> as prev_highest_ack and stores the latest cumulative acknowledgment as
> highest_ack. Upon receiving the third duplicate acknowledgment,
> the sender invokes a Fast Retransmit if its congestion window is greater
> than one MSS (Maximum Segment Size), and the difference between highest_ack
> and prev_highest_ack is at most three MSS."
>
> According to GF04 if TCP sender in absence of any droped acknowledgments
> upon receiving
> the third duplicate ACK has difference between highest_ack and
> prev_highest ack values
> of at most/i.e. no more than 3*SMSS bytes then this is explicite
> indication of droped retransmitted
> segment and leads TCP sender to invoke Fast Retransmit, but current
> description of ACK-based
> heuristic in RFC6582 section 4.1 in part of: "If the Cumulative
> Acknowledgment field didn’t cover more  than recover, check to see if the
> congestion window is greater than
> SMSS bytes and the difference between highest_ack and prev_highest_ack is
> at most 4*SMSS bytes.
> If true, duplicate ACKs indicate a lost segment (enter fast retransmit).
> Otherwise, duplicate ACKs
> likely result from unnecessary retransmissions (do not enter fast
> retransmit). ", makes TCP sender
> to treat difference between highest_ack and prev_highest_ack of 4SMSS
> bytes upon receiving 3rd
> duplicate ACK as indication of lost retransmitted segment but again
> according to GF04 this is NOT so,
> and makes TCP sender to invoke Fast Retransmit when in fact those three
> duplicate acknowledgments
> indicate unnecessarily retransmitted segments and have in their
> acknowledgment fields sequence
> number which receiver expects to receive next but which sender has NOT
> sent yet, so Fast Retransmit
> has no point in this case.
>
> Instructions:
> -------------
> This erratum is currently posted as "Reported". If necessary, please
> use "Reply All" to discuss whether it should be verified or
> rejected. When a decision is reached, the verifying party
> can log in to change the status and edit the report, if necessary.
>
> --------------------------------------
> RFC6582 (draft-ietf-tcpm-rfc3782-bis-05)
> --------------------------------------
> Title               : The NewReno Modification to TCP's Fast Recovery
> Algorithm
> Publication Date    : April 2012
> Author(s)           : T. Henderson, S. Floyd, A. Gurtov, Y. Nishida
> Category            : PROPOSED STANDARD
> Source              : TCP Maintenance and Minor Extensions
> Area                : Transport
> Stream              : IETF
> Verifying Party     : IESG
> _______________________________________________
> tcpm mailing list
> tcpm@ietf.org
> https://www.ietf.org/mailman/listinfo/tcpm
>