Re: [tcpm] [tsvwg] [Technical Errata Reported] RFC3782 (6789)

Yoshifumi Nishida <nsd.ietf@gmail.com> Wed, 05 January 2022 09:32 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 CEDAF3A0B35; Wed, 5 Jan 2022 01:32:53 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.097
X-Spam-Level:
X-Spam-Status: No, score=-2.097 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, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, URIBL_BLOCKED=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 ([4.31.198.44]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id 0yPr0JtDUOgN; Wed, 5 Jan 2022 01:32:49 -0800 (PST)
Received: from mail-qk1-x734.google.com (mail-qk1-x734.google.com [IPv6:2607:f8b0:4864:20::734]) (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 AFB0A3A0B31; Wed, 5 Jan 2022 01:32:49 -0800 (PST)
Received: by mail-qk1-x734.google.com with SMTP id m2so36014011qkd.8; Wed, 05 Jan 2022 01:32:49 -0800 (PST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc; bh=WuOjhp50r+e9Cs57lBcdlHEPn5UGXXDST3kpYcM/sp0=; b=h5MNxtrHaX+DaVm9fcQ3gmBv8iGPRTZ7cRF3lMb2RQKJf1wysp0wMzpMRVQjmjjjQ8 +S7+X4MhOxjz5QL6bAK7RReEF0On7F69IsLuPeUUQEH3f/bq0O4eMOvTeAS27jkvatkt 9oIo3nW9Of4ljcd4hfnSDvRwml0yZbQOCdF2Vn4+4k9+hoaPX2chGFsVH0GZWxmuz6xq 6JFDorg081kBRTi3YvlvldV2aS60y90PN+dFXqC5NkEPFdt6+c3n1ie1WsWR9Zr0R/2I HgLozGE0TYLuD70mijJJGlWCVfRgQaN8C6E+IV3UIDbkYXEabV80nEny45p7kIVFsFtn ntLA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc; bh=WuOjhp50r+e9Cs57lBcdlHEPn5UGXXDST3kpYcM/sp0=; b=SPpp9WzUBgMuKJ7JyXGbluMBYq6ASYbVbRM6b6D4v0odRxcCiT6QmJyawJQT07ZZ0w mcs+s+gTaISghDavCZ4DtqHyvflO8T8acRR2YlnNEWwekm4H5gi+2GQJ1gRAmQ4V/IRB oqcy3LN2GtfD50G7WepJoern2Ff42hbvq/H1HdSUDDLlzV+kfm50b2Ncaw4R8hojiz69 stXRDRwRSkPzaiz8uJxzr/BHAqocEnmiinUIhUgZ1R4AVRQwgjNdMqLny/1EgE140l8w jSqEVRbF4d1kLYr7St9G7qCsW2RFqa+aCDosqJyupm7oZ/1Egt8djGz2CF6P0dSFfJl4 kwvQ==
X-Gm-Message-State: AOAM530KLyhIPuDlhcXKyQ07aJv+4B6DWZ+r1tbo0PzX13yVCV34V9Um pL9RC009K24QZXvlbn+fuPQe+l3hC+8R2VRSzsI=
X-Google-Smtp-Source: ABdhPJxaq/N5v410CbwrSeOrNKam6oBxYwvAcjaWf0wpJIYIMYI+nylaa98x0KEhOAP8LLTfpECXFJ9caEZJ4eHk3KU=
X-Received: by 2002:ae9:ed96:: with SMTP id c144mr234426qkg.306.1641375168099; Wed, 05 Jan 2022 01:32:48 -0800 (PST)
MIME-Version: 1.0
References: <20211219081501.6A08C214B58@rfc-editor.org> <MN2PR19MB4045B6E7C0CD14859E05BF4883499@MN2PR19MB4045.namprd19.prod.outlook.com>
In-Reply-To: <MN2PR19MB4045B6E7C0CD14859E05BF4883499@MN2PR19MB4045.namprd19.prod.outlook.com>
From: Yoshifumi Nishida <nsd.ietf@gmail.com>
Date: Wed, 05 Jan 2022 01:32:37 -0800
Message-ID: <CAAK044TvT1Ew4DhSkiA2PwyV1jzsnjzaWsGt9jiWp9++OvDHsw@mail.gmail.com>
To: "Black, David" <David.Black@dell.com>
Cc: RFC Errata System <rfc-editor@rfc-editor.org>, "floyd@acm.org" <floyd@acm.org>, "thomas.r.henderson@boeing.com" <thomas.r.henderson@boeing.com>, "andrei.gurtov@teliasonera.com" <andrei.gurtov@teliasonera.com>, "martin.h.duke@gmail.com" <martin.h.duke@gmail.com>, "Zaheduzzaman.Sarker@ericsson.com" <Zaheduzzaman.Sarker@ericsson.com>, "gorry@erg.abdn.ac.uk" <gorry@erg.abdn.ac.uk>, "wes@mti-systems.com" <wes@mti-systems.com>, "tcpm@ietf.org" <tcpm@ietf.org>, "tsvwg@ietf.org" <tsvwg@ietf.org>, "q645v49v@anonaddy.me" <q645v49v@anonaddy.me>
Content-Type: multipart/alternative; boundary="000000000000d6785105d4d26fa0"
Archived-At: <https://mailarchive.ietf.org/arch/msg/tcpm/rK9OS8FZyTrK4Ym5y6A6gR_Bn3c>
X-Mailman-Approved-At: Wed, 05 Jan 2022 01:39:41 -0800
Subject: Re: [tcpm] [tsvwg] [Technical Errata Reported] RFC3782 (6789)
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, 05 Jan 2022 09:32:54 -0000

I personally think the errata looks correct, but I would like to see if
there're other opinions.
But, in any case, it should be for RFC6582 rather than for RFC3782.
--
Yoshi

On Mon, Jan 3, 2022 at 9:02 AM Black, David <David.Black@dell.com> wrote:

> +tcpm, Thanks, --David
>
> -----Original Message-----
> From: RFC Errata System <rfc-editor@rfc-editor.org>
> Sent: Sunday, December 19, 2021 3:15 AM
> To: floyd@acm.org; thomas.r.henderson@boeing.com;
> andrei.gurtov@teliasonera.com; martin.h.duke@gmail.com;
> Zaheduzzaman.Sarker@ericsson.com; Black, David; gorry@erg.abdn.ac.uk;
> wes@mti-systems.com
> Cc: q645v49v@anonaddy.me; tsvwg@ietf.org; rfc-editor@rfc-editor.org
> Subject: [Technical Errata Reported] RFC3782 (6789)
>
>
> [EXTERNAL EMAIL]
>
> The following errata report has been submitted for RFC3782,
> "The NewReno Modification to TCP's Fast Recovery Algorithm".
>
> --------------------------------------
> You may review the report below and at:
>
> https://urldefense.com/v3/__https://www.rfc-editor.org/errata/eid6789__;!!LpKI!xxWA_mawfGxDiokgZx4JlYDNW_ZS26fWQiKHj4sSE9uTS0HGa1KsqyaqZqDwU0qQ$
> [rfc-editor[.]org]
>
> --------------------------------------
> Type: Technical
> Reported by: Clive Bloom <q645v49v@anonaddy.me>
>
> Section: 6.1
>
> Original Text
> -------------
> If the Cumulative Acknowledgement 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 (proceed to Step 1A in Section 3).
> Otherwise, duplicate ACKs likely result from unnecessary
> retransmissions (proceed to Step 1B in Section 3).
>
> Corrected Text
> --------------
> If the Cumulative Acknowledgement 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 (proceed to Step 1A in Section 3).
> Otherwise, duplicate ACKs likely result from unnecessary
> retransmissions (proceed to Step 1B in Section 3).
>
> Notes
> -----
> 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 RFC3782 section 6.1 in part of: "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 (proceed to Step 1A in Section 3)", 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.
>
> --------------------------------------
> RFC3782 (draft-ietf-tsvwg-newreno-02)
> --------------------------------------
> Title               : The NewReno Modification to TCP's Fast Recovery
> Algorithm
> Publication Date    : April 2004
> Author(s)           : S. Floyd, T. Henderson, A. Gurtov
> Category            : PROPOSED STANDARD
> Source              : Transport Area Working Group
> Area                : Transport
> Stream              : IETF
> Verifying Party     : IESG
>