[tcpm] Thoughts on EXP vs. PS in TCPM

"Scharf, Michael" <Michael.Scharf@hs-esslingen.de> Tue, 19 November 2019 12:08 UTC

Return-Path: <Michael.Scharf@hs-esslingen.de>
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 73595120917 for <tcpm@ietfa.amsl.com>; Tue, 19 Nov 2019 04:08:43 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.997
X-Spam-Level:
X-Spam-Status: No, score=-1.997 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_HELO_NONE=0.001, SPF_NONE=0.001, URIBL_BLOCKED=0.001] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (1024-bit key) header.d=hs-esslingen.de
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 yhcQm55xp1kY for <tcpm@ietfa.amsl.com>; Tue, 19 Nov 2019 04:08:41 -0800 (PST)
Received: from mail.hs-esslingen.de (mail.hs-esslingen.de [134.108.32.78]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 1687D12004D for <tcpm@ietf.org>; Tue, 19 Nov 2019 04:08:41 -0800 (PST)
Received: from localhost (localhost.localdomain [127.0.0.1]) by mail.hs-esslingen.de (Postfix) with ESMTP id 99A8125A14 for <tcpm@ietf.org>; Tue, 19 Nov 2019 13:08:39 +0100 (CET)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=hs-esslingen.de; s=mail; t=1574165319; bh=dX5D3lHGQwoOrQTesxK9hCKVJdKwEnntHRK8aqhsLeE=; h=From:To:Subject:Date:From; b=WHDIh7eAj7iM6kFiXjsK4zX5y2MBqMXCJP2RA9QYcWkdMVSn1r1k7MWRGFWQOkcY/ tmPQ9A1XPDVfF8/LSZ//nnXxbnWkYt+nZ/Axef7Rhn8+qPGYgENIft4uArSU3F2wRp MJYu4M/wx5JXEG2IQsAVW/ygoo/SMz4/bBAeNPDg=
X-Virus-Scanned: by amavisd-new-2.7.1 (20120429) (Debian) at hs-esslingen.de
Received: from mail.hs-esslingen.de ([127.0.0.1]) by localhost (hs-esslingen.de [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id G5KXMeNiszG0 for <tcpm@ietf.org>; Tue, 19 Nov 2019 13:08:38 +0100 (CET)
Received: from rznt8101.rznt.rzdir.fht-esslingen.de (rznt8101.rznt.rzdir.fht-esslingen.de [134.108.29.101]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-SHA384 (256/256 bits)) (No client certificate requested) by mail.hs-esslingen.de (Postfix) with ESMTPS for <tcpm@ietf.org>; Tue, 19 Nov 2019 13:08:38 +0100 (CET)
Received: from RZNT8114.rznt.rzdir.fht-esslingen.de ([169.254.3.61]) by rznt8101.rznt.rzdir.fht-esslingen.de ([fe80::bd73:d6a9:24d7:95f1%10]) with mapi id 14.03.0468.000; Tue, 19 Nov 2019 13:08:38 +0100
From: "Scharf, Michael" <Michael.Scharf@hs-esslingen.de>
To: tcpm IETF list <tcpm@ietf.org>
Thread-Topic: Thoughts on EXP vs. PS in TCPM
Thread-Index: AdWew5FU19VWLf+AS/Gv7aHLLJwOLg==
Date: Tue, 19 Nov 2019 12:08:37 +0000
Message-ID: <6EC6417807D9754DA64F3087E2E2E03E2D51A41C@rznt8114.rznt.rzdir.fht-esslingen.de>
Accept-Language: de-DE, en-US
Content-Language: de-DE
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
x-originating-ip: [134.108.63.68]
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0
Archived-At: <https://mailarchive.ietf.org/arch/msg/tcpm/km-kdUH-THW1w0h6P6FEXSUrqxs>
Subject: [tcpm] Thoughts on EXP vs. PS in TCPM
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: Tue, 19 Nov 2019 12:08:43 -0000

[chair hat off]

In TCPM we repeatedly run into the question whether to publish specs as PS or as EXP. We also have several worked examples in which TCPM first published a EXP RFC and later a PS.

This somehow implies that TCPM often follows a process with three maturity levels (EXP, PS, and Internet Standard), while the IETF actually has two maturity levels (see RFC 6410). Formal definitions are:
* EXP in https://tools.ietf.org/html/rfc2026#section-4.2.1
* PS in https://tools.ietf.org/html/rfc7127#section-3.1 
* Internet Standard in https://tools.ietf.org/html/rfc6410

As questions on EXP and PS emerges repeatedly, I think it would be useful to discuss two questions:

1/ What is the minimum requirement for publishing an EXP RFC in TCPM?

2/ What is the minimum requirement for publishing an PS RFC in TCPM?

I have been thinking myself about these questions quite a bit, most notably since I have recently also worked in working groups outside TSV (such as RTG and OPS). As far as I can tell, other IETF working groups don't make use of EXP as frequently as TCPM. In many working groups PS is the norm.

I start to get worried by that. At the end of the day, the IETF is one standardization organization and TCPM documents matter also to other areas of the IETF, as well as the networking industry as a whole. So, TCPM does not operate in isolation.

Of course, I am partly accountable for that, given that I have run several consensus calls on the target status of RFCs in the last years. I think the community feedback was pretty clear in all these cases, typically in favor of EXP instead of PS. Yet, after more insight in the rest of the IETF, I wonder if maybe TCPM sometimes decides to early to go for EXP if PS is actually possible?

For instance, as individual contributor, I believe that IW10 and TLP could fulfill the PS requirements now. And, in retrospective, I think they were not far away from PS at the time of publication. So, in some sense, TCPM has been very careful and conservative when publishing these RFCs. This now implies that we would have to reissue a PS to actually clean up the RFC services.

Given that other working groups apparently operate differently regarding PS as target, do we need to rethink our minimum bars?

I believe that it would be useful to discuss this question, and I'd be in particular interested in the opinions of implementers.

As a starting point, I offer my own understanding of how to answer the two questions - with chair hat off. So, feel free to disagree... Of course, a case-by-case analysis is always needed, so this is not really a checklist, but I guess we should have some general understanding of what "maturity" really implies.

Michael's thought on question 1/:

In order to start a WGLC in TCPM for EXP status, there SHOULD be one implementation in the main source code tree of an important TCP/IP stack; a default to "off" is perfectly acceptable. Alternatively, there SHOULD be at least one implementation outside the main tree and a certain level of operational experience e.g. in very controlled environments. Comprehensive testing by simulation can also be understood as operational experience if the simulation results are verified independently. (As example, the converter specification meets this requirement in my point of view.)

Note that this requirement is significantly higher than what is written in RFC 2026 - in principle, thousands of research papers on TCP could meet the EXP requirement of RFC 2026. But, at least to me, there is little value in documenting an experiment without proof that it is actually implementable in a TCP stack.

Michael's thought on question 2/:

The requirement follows from RFC 7127, which strongly suggests implementation and operational experience, but it is not strictly required. So, there is some room for interpretation. The bar for PS is _not_ widespread deployment in the Internet. For instance, to me a WGLC for an PS could be started if there are two independent implementations, at least one being deployed in an important TCP stack (i.e., one does not have to be production quality), and some operational experience over a subset of the Internet. For instance, such operational experience can also be tests, it does not require enabling by default. (As example, RACK easily meets these requirements as far as I understand.)

Note that with two independent implementations one gets already relatively close to the requirements of an Internet Standard, but in that case also widespread deployment and some other conditions are required (see RFC 6410). So, the bar for PS must be lower than that.

Please feel free to comment and/or disagree...

Michael