Subject: Re: [tcpm] I-D Action: draft-ietf-tcpm-rfc793bis-16.txt

From: "Scharf, Michael" <[email-masked]>
Date: Fri, 17 Apr 2020 23:25:45 +0000

Coming back to issue 2), given the lack of follow-ups on that specific detail.

I have checked the Linux kernel documentation. R1 and R2 seem to correspond to the Linux sysctl variables tcp_retries1 and tcp_retries2, which are documented as follows:

tcp_retries1 - INTEGER
                This value influences the time, after which TCP decides, that
                something is wrong due to unacknowledged RTO retransmissions,
                and reports this suspicion to the network layer.
                See tcp_retries2 for more details.

                RFC 1122 recommends at least 3 retransmissions, which is the
                default.

tcp_retries2 - INTEGER
                This value influences the timeout of an alive TCP connection,
                when RTO retransmissions remain unacknowledged.
                Given a value of N, a hypothetical TCP connection following
                exponential backoff with an initial RTO of TCP_RTO_MIN would
                retransmit N times before killing the connection at the (N+1)th RTO.

                The default value of 15 yields a hypothetical timeout of 924.6
                seconds and is a lower bound for the effective timeout.
                TCP will effectively time out at the first RTO which exceeds the
                hypothetical timeout.

                RFC 1122 recommends at least 100 seconds for the timeout,
                which corresponds to a value of at least 8.

As far as I can see, Linux implements for R1 the SHOULD that draft-ietf-tcpm-rfc793bis-16 inherits from RFC 1122.

The Linux default for R2 is larger than the SHOULD in draft-ietf-tcpm-rfc793bis-16, but that is allowed by the wording in draft-ietf-tcpm-rfc793bis-16.

Given this reference to RFC 1122, I also have the impression that draft-ietf-tcpm-rfc793bis-16 can stay as is regarding R1 and R2.

Michael

From: tcpm <[email-masked]> On Behalf Of Wesley Eddy
Sent: Tuesday, March 24, 2020 3:09 PM
To: [email-masked]
Subject: Re: [tcpm] I-D Action: draft-ietf-tcpm-rfc793bis-16.txt

In this update, I think everything is addressed except for 4 topics:

1) Reserved bits description - I made no changes yet.  Discussion spanned a few threads, but didn't look to me like it converged.  Michael's summary thread covers a number of options and relevant questions: https://mailarchive.ietf.org/arch/msg/tcpm/UOHo4tXQPpBV90U-pRmdt_LfjRA/

2) R1 and R2 values - Gorry questioned whether (A) applications should still be notified with R1 is reached, and (B) whether R1 = 3 RTOs and R2 >= 100s are still recommended values.  I don't think any other RFC or errata has revised these, so am inclined to leave it alone for now in this doc, but maybe bookmark it as a topic for future consideration in the working group.

3) Dead gateway detection - I made no changes yet; this may be another topic for potential future consideration.  The question is posed here: https://mailarchive.ietf.org/arch/msg/tcpm/IGhHYUOCwES7I-DjsgHnFsa-zVY/

4) OPEN+LISTEN while same local port is in SYN-SENT/RECEIVED - I made no changes yet, but Gorry suggested that the text below may need updating with regard to modern systems (I'll be grateful for specific suggested changes on this):

A TCP that supports multiple concurrent users MUST provide an
OPEN call that will functionally allow an application to LISTEN
on a port while a connection block with the same local port is
in SYN-SENT or SYN-RECEIVED state (MUST-42).

On 3/24/2020 9:53 AM, [email-masked]<mailto:[email-masked]> wrote:

A New Internet-Draft is available from the on-line Internet-Drafts directories.

This draft is a work item of the TCP Maintenance and Minor Extensions WG of the IETF.

        Title           : Transmission Control Protocol Specification

        Author          : Wesley M. Eddy

 Filename        : draft-ietf-tcpm-rfc793bis-16.txt

 Pages           : 106

 Date            : 2020-03-24

Abstract:

   This document specifies the Internet's Transmission Control Protocol

   (TCP).  TCP is an important transport layer protocol in the Internet

   stack, and has continuously evolved over decades of use and growth of

   the Internet.  Over this time, a number of changes have been made to

   TCP as it was specified in RFC 793, though these have only been

   documented in a piecemeal fashion.  This document collects and brings

   those changes together with the protocol specification from RFC 793.

   This document obsoletes RFC 793, as well as 879, 2873, 6093, 6429,

   6528, and 6691 that updated parts of RFC 793.  It updates RFC 1122,

   and should be considered as a replacement for the portions of that

   document dealing with TCP requirements.  It updates RFC 5961 due to a

   small clarification in reset handling while in the SYN-RECEIVED

   state.

   RFC EDITOR NOTE: If approved for publication as an RFC, this should

   be marked additionally as "STD: 7" and replace RFC 793 in that role.

The IETF datatracker status page for this draft is:

https://datatracker.ietf.org/doc/draft-ietf-tcpm-rfc793bis/

There are also htmlized versions available at:

https://tools.ietf.org/html/draft-ietf-tcpm-rfc793bis-16

https://datatracker.ietf.org/doc/html/draft-ietf-tcpm-rfc793bis-16

A diff from the previous version is available at:

https://www.ietf.org/rfcdiff?url2=draft-ietf-tcpm-rfc793bis-16

Please note that it may take a couple of minutes from the time of submission

until the htmlized version and diff are available at tools.ietf.org.

Internet-Drafts are also available by anonymous FTP at:

ftp://ftp.ietf.org/internet-drafts/

_______________________________________________

tcpm mailing list

[email-masked]<mailto:[email-masked]>

https://www.ietf.org/mailman/listinfo/tcpm