[tcpm] [Errata Verified] RFC6582 (6871)
RFC Errata System <rfc-editor@rfc-editor.org> Tue, 12 March 2024 22:21 UTC
Return-Path: <wwwrun@rfcpa.amsl.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 C29A0C14F6B8; Tue, 12 Mar 2024 15:21:03 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.656
X-Spam-Level:
X-Spam-Status: No, score=-1.656 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, CTE_8BIT_MISMATCH=0.001, HEADER_FROM_DIFFERENT_DOMAINS=0.249, RCVD_IN_DNSWL_BLOCKED=0.001, RCVD_IN_ZEN_BLOCKED_OPENDNS=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] autolearn=no autolearn_force=no
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 8rluOAQxHEzL; Tue, 12 Mar 2024 15:20:59 -0700 (PDT)
Received: from rfcpa.amsl.com (rfcpa.amsl.com [50.223.129.200]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 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 42D28C14F6B5; Tue, 12 Mar 2024 15:20:59 -0700 (PDT)
Received: by rfcpa.amsl.com (Postfix, from userid 499) id EB5DDE82C3; Tue, 12 Mar 2024 15:20:58 -0700 (PDT)
To: q645v49v@anonaddy.me, thomas.r.henderson@boeing.com, floyd@acm.org, gurtov@ee.oulu.fi, nishida@wide.ad.jp
From: RFC Errata System <rfc-editor@rfc-editor.org>
Cc: martin.h.duke@gmail.com, iesg@ietf.org, tcpm@ietf.org, iana@iana.org, rfc-editor@rfc-editor.org
Content-Type: text/plain; charset="UTF-8"
Message-Id: <20240312222058.EB5DDE82C3@rfcpa.amsl.com>
Date: Tue, 12 Mar 2024 15:20:58 -0700
Archived-At: <https://mailarchive.ietf.org/arch/msg/tcpm/scvVoWdEr2Z_H2Zmg52ZMZD8E9s>
X-Mailman-Approved-At: Wed, 13 Mar 2024 10:27:21 -0700
Subject: [tcpm] [Errata Verified] 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: Tue, 12 Mar 2024 22:21:03 -0000
The following errata report has been verified 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 -------------------------------------- Status: Verified Type: Technical Reported by: Clive Bloom <q645v49v@anonaddy.me> Date Reported: 2022-03-07 Verified by: Martin Duke (IESG) 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. -------------------------------------- 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] [Errata Verified] RFC6582 (6871) RFC Errata System