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

Yuchung Cheng <ycheng@google.com> Thu, 29 March 2018 14:10 UTC

Return-Path: <ycheng@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 2FF08127076 for <tcpm@ietfa.amsl.com>; Thu, 29 Mar 2018 07:10:47 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.01
X-Spam-Level:
X-Spam-Status: No, score=-2.01 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, SPF_PASS=-0.001, T_RP_MATCHES_RCVD=-0.01, URIBL_BLOCKED=0.001] 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 UxlAFsbmMZTC for <tcpm@ietfa.amsl.com>; Thu, 29 Mar 2018 07:10:44 -0700 (PDT)
Received: from mail-io0-x229.google.com (mail-io0-x229.google.com [IPv6:2607:f8b0:4001:c06::229]) (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 9E29C1242F7 for <tcpm@ietf.org>; Thu, 29 Mar 2018 07:10:44 -0700 (PDT)
Received: by mail-io0-x229.google.com with SMTP id 141so7815853iou.12 for <tcpm@ietf.org>; Thu, 29 Mar 2018 07:10:44 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20161025; h=mime-version:in-reply-to:references:from:date:message-id:subject:to; bh=5NsPZDRmBwIU+aVScn/LymE5LPm236E8oV95zOr/m8o=; b=HaQf3obfPR81jrBuQ6JohkLuPHNP4X649W1meN+ug+nTAWNXE8LMk4HcQ3Bzk8e3+p Hu25ytEST366eJddwbXCCpkudwM7VMNK0xhnycik+iiCAyEUacwc8gPHU8in2/e+DGS1 uS5PhD7Lmm9RhCMOE+20qbVUDkPGDhwosmvvaZHKhulpAIjtTLtYXO9S4n2WQi1YzAzG HUcfUYe360+Boh3Dur7KAnumWAv35kf+2/EfCM2dc36NY7rnNAg/KxoSPMyWp8SZbUKK 7Lut2r+ZfVp/Sy/F6dWQ9afkIGpWoTyZNnzu3MGCoa/4l/FqyahKTNPSVSD4l+CD/8S2 zyrw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:in-reply-to:references:from:date :message-id:subject:to; bh=5NsPZDRmBwIU+aVScn/LymE5LPm236E8oV95zOr/m8o=; b=X7nA2or5cYQOrN+FSVkTj/bZEnSEPW6VjEl9cAblGqQEB31gvGqGoPRDs2FHyz14xV MNMO4mJBNgdRm8GKuBQlI2N23UgJSFncku+jOimuQSvazUCiAy1XjWTA3YzTnSUhZTiZ 2i+lh+Iu6S4rSgZlfSAerLcTzE9ms4VlaZYKTMTsYSTmdcmS90rA9O3fAzsSVnfxhabG S3o+KxwFkUjHRcFPA5EPpvPa+UDdzaJSMoCuHeyo1m8DTzFORVUOUumCU5R+enq3kuEn ty07d9Vc3hoWfcyOJQT9MopUJIvfcXSTGipGpTw8NyyAJns5mAGf+PmypgpL+gFAnaX+ Za4A==
X-Gm-Message-State: AElRT7E9t8pETZS3TMnBUwDsM6gQz9UtJkGzDK7hkd4+qm451eQ7p6j2 cesU/gfmBQXVQ9svkc6znmF7K10KJ5P62VOkepmsdsKG0qQ=
X-Google-Smtp-Source: AIpwx49VrxF8CH5f6WFu2eC0g0VvjJB7U8FIkRY8M00Rgr/XKpGVPjCJ0YDy2MWPxM9nWRmREWKGlB8gh7nNBQZLNW4=
X-Received: by 10.107.171.65 with SMTP id u62mr31543971ioe.73.1522332643281; Thu, 29 Mar 2018 07:10:43 -0700 (PDT)
MIME-Version: 1.0
Received: by 10.107.138.29 with HTTP; Thu, 29 Mar 2018 07:10:02 -0700 (PDT)
In-Reply-To: <152229608335.23885.1229382205419997341@ietfa.amsl.com>
References: <152229608335.23885.1229382205419997341@ietfa.amsl.com>
From: Yuchung Cheng <ycheng@google.com>
Date: Thu, 29 Mar 2018 07:10:02 -0700
Message-ID: <CAK6E8=cn_Zw1chPrkEFrHEeoY6w-CVw551BsddZ+8h_PxmXVOg@mail.gmail.com>
To: "tcpm@ietf.org Extensions" <tcpm@ietf.org>
Content-Type: text/plain; charset="UTF-8"
Archived-At: <https://mailarchive.ietf.org/arch/msg/tcpm/dI3Qic9HpxV7qi_DJA3ezFHrbsI>
Subject: Re: [tcpm] I-D Action: draft-ietf-tcpm-rfc793bis-08.txt
X-BeenThere: tcpm@ietf.org
X-Mailman-Version: 2.1.22
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: Thu, 29 Mar 2018 14:10:47 -0000

Thanks for the update. I enjoy reading the new diffserv text.

comments:
<quote>
The IPv4 specification [1] includes a precedence value in the Type of
precedence will still have to check the precedence of incoming Service
field (TOS), that was also modified in [15], and then
segments and possibly raise the precedence level they use on the
obsoleted by the definition of Differentiated Services (DiffServ)
connection. [6]. In DiffServ the former precedence values are treated as Class
Selector codepoints, and methods for compatible treatment are
described in the DiffServ architecture. The RFC 793/1122 TCP
specification includes logic intending to have connections use the
highest precedence requested by either endpoint application, and to
keep the precedence consistent throughout a connection. There is an
assumption of bidirectional/symmetric precedence values, however, the
DiffServ architecture is asymmetric. Problems were described in [17]
and the solution described is to ignore IP precedence in TCP. Since
RFC 2873 is a Standards Track document (although not marked as
updating RFC 793), these checks are no longer a part of the TCP
standard defined in this document, though the DiffServ field value is
still is a part of the interface between TCP and the network layer,
and values can be indicated both ways between TCP and the
application.
</quote>

I am not entirely I get the main points this paragraph tries to convey. Are they
1. a TCP stack MUST implement RFC2873
2. precedence is obsoleted.
?


<quote>
Note that the DiffServ field is permitted to change during a
connection (section 4.2.4.2 of RFC 1122). However, the
application interface might not support this ability, and the
application does not have knowledge about individual TCP
segments, so this can only be done on a coarse granularity, at
best. This limitation is further discussed in RFC 7657 (sec
5.1, 5.3, and 6) [37]. Generally, an application SHOULD NOT
change the DiffServ field value during the course of a
connection.
</quote>

The underlying assumptions of this text is
1. Application can not specify precisely the DiffServ at TCP segments level
2. TCP does not tolerate reordering well today

As API and TCP evolve and socket API isn't the only one, it would be
good to be explicit about these assumptions. e.g.
"Generally an application SHOULD NOT change DiffServe field vale
during the course of a connection because it may cause excessive
reorderings and adversely hurts performance"

nits:
p32: s/the DiffServ field value is still is a part/ the DiffServ field
value still is a part /
p68: s/ SND.NEXT/SND.NXT/
p47: s/TCP may be buffer the data/TCP may buffer the data/

On Wed, Mar 28, 2018 at 9:01 PM,  <internet-drafts@ietf.org> 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-08.txt
>         Pages           : 102
>         Date            : 2018-03-28
>
> 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-08
> https://datatracker.ietf.org/doc/html/draft-ietf-tcpm-rfc793bis-08
>
> A diff from the previous version is available at:
> https://www.ietf.org/rfcdiff?url2=draft-ietf-tcpm-rfc793bis-08
>
>
> 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
> tcpm@ietf.org
> https://www.ietf.org/mailman/listinfo/tcpm