[dtn] TCPCL version negotiation

Brian Sipos <BSipos@rkf-eng.com> Fri, 20 November 2020 15:07 UTC

Return-Path: <BSipos@rkf-eng.com>
X-Original-To: dtn@ietfa.amsl.com
Delivered-To: dtn@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id F22393A0C4C for <dtn@ietfa.amsl.com>; Fri, 20 Nov 2020 07:07:15 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.1
X-Spam-Level:
X-Spam-Status: No, score=-2.1 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, HTML_MESSAGE=0.001, RCVD_IN_MSPIKE_H2=-0.001, SPF_PASS=-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=rkf-eng.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 lezIvTnMJlLK for <dtn@ietfa.amsl.com>; Fri, 20 Nov 2020 07:07:14 -0800 (PST)
Received: from NAM11-DM6-obe.outbound.protection.outlook.com (mail-dm6nam11on2070.outbound.protection.outlook.com [40.107.223.70]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id A1AF93A0C46 for <dtn@ietf.org>; Fri, 20 Nov 2020 07:07:14 -0800 (PST)
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=aOm5T0M/bNazo/fygJby9Y+PECni85pjyTCOZvSkM7F88udARp8t4n/T+fGPb5EIHc33ovs13PnKT5miOzpiXSCaOBDT5HU2V9sziZJnu8MiPFbq6hJvhW+QMM/Gp7Wh3TK/xfYtyznLZZ78k6EGUlcSmibIUWg8MASEc6eTqZR58En2BaZBpCwUyLPlKQx61Pw3i9+gUzCsEonFpoZhXqUGC+mB1x+skzpgeRR6QrGLCQTfmvgXgY0XJUqPl7I2UofW2HfggtKK7ZCCC8QuaFKA+6yVmmKbqXFQ/5HviX+6NSnMUSdpIqvVWMmTZdWkv5x5aJFCFH0RdkE4pI9e8Q==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=c/MwzTJPdLzMXdJ9HlC5sGQY8D5podg6Qc8mSmwVxqI=; b=XbmFJ4yuDlVN5ahUcNQ2P+jNisrf1mHJWbzWuuJ6YmyRdlYhPtpGqYJifk5gHZPKbJO4AB2zl+U6qu0IkylGLX9/W8U5WTGg09+OzxQuAxna83Yf3vGwdaVXAwC+QQjTIq0FhmBE3GU6r0XOnism3nii48TGCMHbuFp2N4jQBX0hQZMCHTP39gGOIDWcwkyBaI+yWinicO6KhhnM0KQ8GuNPsNrsY03QRkZYgkAko2KL2Wot7iibGelbfEGp0iHZfMQucCH541SANoI3Vw43Yn//yUBBVyfOC+4HcA0em6kZ+F7B9Z5rRPK25Rxr6k3+5bC66LmlA4uUj+BbsvK9hA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=rkf-eng.com; dmarc=pass action=none header.from=rkf-eng.com; dkim=pass header.d=rkf-eng.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=rkf-eng.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=c/MwzTJPdLzMXdJ9HlC5sGQY8D5podg6Qc8mSmwVxqI=; b=h1uej69NwEZzSJOvmO3AxYyryopPFdTGHhlr4fV4TCJiLuG+taHsCztDPjHb1efBI+m3rWoGCEu3sYYtTY4jOPdWs8kJFWziCx+hyVMfO9ojXKORCbb/8ngEfdAWbOuBUdBN4zdLwmbWZe669AHtdl9PfkZlAZe89AFLzy7G+YQ=
Received: from MN2PR13MB3567.namprd13.prod.outlook.com (2603:10b6:208:168::10) by MN2PR13MB4397.namprd13.prod.outlook.com (2603:10b6:208:1b7::25) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3611.9; Fri, 20 Nov 2020 15:07:12 +0000
Received: from MN2PR13MB3567.namprd13.prod.outlook.com ([fe80::54f4:962e:10e5:a2e1]) by MN2PR13MB3567.namprd13.prod.outlook.com ([fe80::54f4:962e:10e5:a2e1%7]) with mapi id 15.20.3611.011; Fri, 20 Nov 2020 15:07:11 +0000
From: Brian Sipos <BSipos@rkf-eng.com>
To: "dtn@ietf.org" <dtn@ietf.org>
Thread-Topic: TCPCL version negotiation
Thread-Index: AQHWvwydltX6WF6yh0G8d439oqoLuw==
Date: Fri, 20 Nov 2020 15:07:11 +0000
Message-ID: <MN2PR13MB3567328E78503BF3C9F2EFB99FFF0@MN2PR13MB3567.namprd13.prod.outlook.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
authentication-results: ietf.org; dkim=none (message not signed) header.d=none;ietf.org; dmarc=none action=none header.from=rkf-eng.com;
x-originating-ip: [96.241.16.84]
x-ms-publictraffictype: Email
x-ms-office365-filtering-correlation-id: 1ee0999e-6ec9-4572-02ab-08d88d65f539
x-ms-traffictypediagnostic: MN2PR13MB4397:
x-microsoft-antispam-prvs: <MN2PR13MB43978EE1E4D707F5C0454E939FFF0@MN2PR13MB4397.namprd13.prod.outlook.com>
x-ms-oob-tlc-oobclassifiers: OLM:10000;
x-ms-exchange-senderadcheck: 1
x-microsoft-antispam: BCL:0;
x-microsoft-antispam-message-info: tq44GQRG6h0Hfv7TS0r+VExqQKOOPM3+2uL8BEFyL7m+VMASIL7MZbrLo4vLTM0RZVlYHpIKMlFaf7aGBCvtBnexcCzmLbksISrjgwEUwenJWtF1u8TviZS7O3DgN7dXLubKfYTvZgbNn8edPnZUiKT+X7yghmXKQvXZdYCBUlnSJuzGNBlMM5FMB3XfG/JDDD6ewcXZfaRWSoQJpoksfKS4/xbiQLqmHYG74QLkS+CalFuH2GOKUCzeaY6oRdk5lGL3ThygXKv0mAEw/xDDu53xCm/Nbl10QeA/qpHgbGQNmHUgPv7+A5Rj92aXx90yAaPVYrKEAwoQK5z6TWhtxA==
x-forefront-antispam-report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:MN2PR13MB3567.namprd13.prod.outlook.com; PTR:; CAT:NONE; SFS:(4636009)(376002)(346002)(366004)(396003)(136003)(39830400003)(3480700007)(316002)(26005)(83380400001)(6916009)(186003)(7116003)(71200400001)(86362001)(7696005)(55016002)(8676002)(33656002)(6506007)(2906002)(478600001)(52536014)(19627405001)(64756008)(66446008)(66476007)(8936002)(76116006)(9686003)(66946007)(66556008)(5660300002); DIR:OUT; SFP:1101;
x-ms-exchange-antispam-messagedata: sRDHwdcM4qK4T/NCAUVGiWGV8j9Igl81wGU0TBHFfxi90lNgmuX1t7Ye/jiq0WVLrBZzJeVdTyfx4dVGPzSaU/2ei2k1i2kzzTLr3vo/Ptufx275Vjtxg9yilr17QyTvhpTDa3pasEO0esByf3mYcBvtT6ytsc9CMHgTSG4UeBeVbQktl9D8tocHwr8yzh99ehRsA5/2ulDUGz82jo2UshKAS7qc/ply2HM4Q0fnQerkDLacwS8ThOuttjgyGUEoe9hry9/iSzC5PSjjrkBimgTNHwS7glt+QemGGUydlgOVPaWDEM3cwNQgd7ieJfo7qM/tMGvtuYO0snnBdXpeT8IHfyB5W7GHRqb1PH2+CKY6ErkFB2PbFUN9LVj6JceSlQq9SM3GaM60atKL8MtOkdphI0OUwmKBfZDXnMSXyjA+M4A7aF72RSkl1JdHWzVZ0cEx2NNIYPa1N6Lwl6OUZZKS+Ng0IbrL1iq/6IxTPW3hcB6RkUgNJkD9Lur+5YSzEtRA9GbPwApJrscBIhNDOvi2blu4ghosQ7vUVpawKQe/hBeyDke0q1lD3A1DHiX7y8FqyguG/rrgZB7lTxyeeyy1lfwdimGixqQK/QN9k5XEa6o+QIWSTA0j5F2K+Tv9/2+JH31nRcnek8mM8qx8agavso3OpXEEOKCfltho1+EpteCibQNAbHomnFkHnbcOxxQFiocuQ/3ECdUvakKwHTkWzvr9cPrLVzW/bs7M1DwQeLJlUnzuyXRJZ6q6hmiQsCoYbv/lKsi3hOi2kqKLuCcFs5kEpmSdMizJR6puFjSP9Q6+JMn7DhLmJ6cM9cnG1+Rixs2i6rO7xId+oubjzQyI/hu5+I6KEKAwTTnhjhMKvApZeTWDvGSuRnRMXFJ9XKqXrTq7joSDxtAFsiV8ig==
x-ms-exchange-transport-forked: True
Content-Type: multipart/alternative; boundary="_000_MN2PR13MB3567328E78503BF3C9F2EFB99FFF0MN2PR13MB3567namp_"
MIME-Version: 1.0
X-OriginatorOrg: rkf-eng.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-AuthSource: MN2PR13MB3567.namprd13.prod.outlook.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 1ee0999e-6ec9-4572-02ab-08d88d65f539
X-MS-Exchange-CrossTenant-originalarrivaltime: 20 Nov 2020 15:07:11.6383 (UTC)
X-MS-Exchange-CrossTenant-fromentityheader: Hosted
X-MS-Exchange-CrossTenant-id: 4ed8b15b-911f-42bc-8524-d89148858535
X-MS-Exchange-CrossTenant-mailboxtype: HOSTED
X-MS-Exchange-CrossTenant-userprincipalname: 0CPK85WZsqWRmqKsMYSffnX+Op/ug1hhOJQ6jMaay3jLURKS2XihXwJm3MrvyOV38Y2c8AxDHIXuiozOs+N0rg==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: MN2PR13MB4397
Archived-At: <https://mailarchive.ietf.org/arch/msg/dtn/H_qkXPZ6YmWEQCmKIvVfoyz8jbY>
Subject: [dtn] TCPCL version negotiation
X-BeenThere: dtn@ietf.org
X-Mailman-Version: 2.1.29
Precedence: list
List-Id: "Delay Tolerant Networking \(DTN\) discussion list at the IETF." <dtn.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/dtn>, <mailto:dtn-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/dtn/>
List-Post: <mailto:dtn@ietf.org>
List-Help: <mailto:dtn-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/dtn>, <mailto:dtn-request@ietf.org?subject=subscribe>
X-List-Received-Date: Fri, 20 Nov 2020 15:07:16 -0000

All,
This is a thread to discuss version negotiation in TCPCL. Currently the contact header has a 5-octet preamble which is a 4-octet "magic" byte string and a 1-octet version number.
In TCPCLv3 the contact header (CH) exchange was assumed to be simultaneous (no required ordering) and there was a "Version mismatch" termination reason for any disagreement.

The requirements in TCPCLv4 have been tightened to require the active entity (initiator of the TCP connection) to send a CH first and the passive entity (listener for TCP connection) to send its CH in response. There is still a single "Version mismatch" termination reason, but there is the possibility for the passive CH to adapt to the received version if it is supported.

There is a possibility for an active entity to send a version which is either too-low for the passive to support or too-high, but no way for the passive peer to indicate the distinction. So an active entity can send a CH with version N, see a "version mismatch" and try N-1, N-2, and so on until the client fails to achieve any CL session. The reason for failure may be that the passive entity only supports version N+1 but the active entity wastes N TCP connections to discover this.

Does it make sense to split termination reason codes for too-low and too-high (assuming that future TCPCL will have the same CH preamble structure)?
This would allow an active entity to shortcut the negotiation if it receives a "Version too-low" termination because there would be no reason to attempt any more. But as Rick mentioned at the IETF, this assumes that a v5 or later TCPCL entity would bother to implement a trivial v4 CH detection and termination.