[dtn] Concept of BP conversations and ephemeral services
"Sipos, Brian J." <Brian.Sipos@jhuapl.edu> Thu, 13 April 2023 14:21 UTC
Return-Path: <Brian.Sipos@jhuapl.edu>
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 25F33C151B15 for <dtn@ietfa.amsl.com>; Thu, 13 Apr 2023 07:21:57 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -4.396
X-Spam-Level:
X-Spam-Status: No, score=-4.396 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_DNSWL_MED=-2.3, RCVD_IN_ZEN_BLOCKED_OPENDNS=0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, URIBL_DBL_BLOCKED_OPENDNS=0.001, URIBL_ZEN_BLOCKED_OPENDNS=0.001] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (2048-bit key) header.d=jhuapl.edu
Received: from mail.ietf.org ([50.223.129.194]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id OsY7dAcvE2Tg for <dtn@ietfa.amsl.com>; Thu, 13 Apr 2023 07:21:52 -0700 (PDT)
Received: from aplegw02.jhuapl.edu (aplegw02.jhuapl.edu [128.244.251.169]) (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 9BFD7C15154F for <dtn@ietf.org>; Thu, 13 Apr 2023 07:21:51 -0700 (PDT)
Received: from pps.filterd (aplegw02.jhuapl.edu [127.0.0.1]) by aplegw02.jhuapl.edu (8.17.1.19/8.17.1.19) with ESMTP id 33DCHxV9019114 for <dtn@ietf.org>; Thu, 13 Apr 2023 10:21:50 -0400
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=jhuapl.edu; h=from : to : subject : date : message-id : content-type : mime-version; s=JHUAPLDec2018; bh=l1PEd2Rv605O8nA5AbfpWatouaFDl8x+nF/VQAUyEm4=; b=Xi3SV7dxbQx5kQuiiTUpXhDUAQosocl+V7cG2Rcu30I9XNkU/pl2nAzTzN9/EnbYn/YI 3K+ctqC+vIeDMZbeUxyTFM1aRsNA41y+NlMM8vrZk98eGkzv1ISHqBS1aKAy3n044dnM 81axRZLVJqloaJBR+4EMqEs+A2deLM6XHZRjpZRD0UL6u51pQBOUy94VMZy/MPOfnLNB N3jsjrHwDeBGRfN2aAci981ip9KUz1921Mge84YBZXmC4121dFXkIA/wkYUI3zgqCO6n O6lNMmRwx0CHwTAdoCI7sYK54BcPzNgo8nNLAp1Fp22gTPMg7D9wHbTMzr7lAKMgRYRx dg==
Received: from aplex23.dom1.jhuapl.edu (aplex23.dom1.jhuapl.edu [10.114.162.8]) by aplegw02.jhuapl.edu (PPS) with ESMTPS id 3pu4g1vskq-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT) for <dtn@ietf.org>; Thu, 13 Apr 2023 10:21:50 -0400
Received: from APLEX21.dom1.jhuapl.edu (10.114.162.6) by APLEX23.dom1.jhuapl.edu (10.114.162.8) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.1118.26; Thu, 13 Apr 2023 10:21:50 -0400
Received: from APLEX21.dom1.jhuapl.edu ([fe80::20d7:9545:f01e:9b2]) by APLEX21.dom1.jhuapl.edu ([fe80::20d7:9545:f01e:9b2%5]) with mapi id 15.02.1118.026; Thu, 13 Apr 2023 10:21:50 -0400
From: "Sipos, Brian J." <Brian.Sipos@jhuapl.edu>
To: "dtn@ietf.org" <dtn@ietf.org>
Thread-Topic: Concept of BP conversations and ephemeral services
Thread-Index: AdluCVOhKadky8XQQPmJoLY2djfAjQ==
Date: Thu, 13 Apr 2023 14:21:49 +0000
Message-ID: <46c2da786c3f490f89dbf8880249809b@jhuapl.edu>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach: yes
X-MS-TNEF-Correlator:
x-originating-ip: [10.114.162.27]
Content-Type: multipart/signed; protocol="application/x-pkcs7-signature"; micalg="SHA1"; boundary="----=_NextPart_000_0589_01D96DF1.C1B54A90"
MIME-Version: 1.0
X-CrossPremisesHeadersFilteredBySendConnector: APLEX23.dom1.jhuapl.edu
X-OrganizationHeadersPreserved: APLEX23.dom1.jhuapl.edu
X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.254,Aquarius:18.0.942,Hydra:6.0.573,FMLib:17.11.170.22 definitions=2023-04-13_09,2023-04-13_01,2023-02-09_01
Archived-At: <https://mailarchive.ietf.org/arch/msg/dtn/7MLEZrRAaIYC98DZU0rcUuYpfhk>
Subject: [dtn] Concept of BP conversations and ephemeral services
X-BeenThere: dtn@ietf.org
X-Mailman-Version: 2.1.39
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: Thu, 13 Apr 2023 14:21:57 -0000
All, Now that we are getting into discussions of codifying BP application protocols (e.g. Marc's proposals for SNMP/BP and HTTP/BP, the DTN management protocol, etc.) there is a need to codify what is required, allowed, and not allowed regarding what some protocols and tools would call a "conversation" which means a multi-datagram sequence between two endpoints. My suggestion for how BP can handle this is to simply swap the Source and Destination EID as a way to participate in a conversation. This is terribly simple but does impose constraints on the application-side API for a BPA, which is that an application has some visibility into a received bundle's source and destination EID (in the same way that POSIX socket API allows `bind`, `recvfrom`, and `sendto` to identify port number). This is equivalent to how TCP, SCTP, and DCCP operate but because the BP EIDs are names and are separated from the CL transport there is no need for BP to ever introduce an explicit (and complex) logic for multi-homing, multi-pathing, etc. The EID is a stable name for one end of a conversation regardless of how the bundles are transported in either direction or how that may change over time. The point of codifying the notion of a conversation is so that both applications and diagnostic tools (like Wireshark) can have a shared understanding of "how things are supposed to work" that is independent of how the application protocol is actually using the conversation. There is even a bundle signaling flag in the form of "Acknowledgement by application is requested" [2] which seems to be otherwise undefined and could be used as an indication that a bundle is the start of a (possibly brief, one response) conversation. Taking analogy from protocols that use UDP, but not required by UDP itself, there are two general types of UDP port used: assigned and dynamic [1]. For many uses of UDP one side of a conversation will use an assigned port for a well-known service but the other side is free to use a dynamic port number. This has a few benefits, but the one most applicable to scaling of services is that while the "provider" of a service can use an assigned number, the "user" of a service can use a dynamic number without the need for any pre-configuration or negotiation. The disambiguation between users/conversations is by allowing each user to register its own ephemeral endpoint in the local BPA without the need to coordinate with any other endpoint. This also doesn't exclude the case where both endpoints use assigned numbers (which is how some protocols like SNMP or DNS can operate) but makes that more of a special case. The concrete effect of this would be to reserve a large chunk of 32-bit IPN service number space [3] and maybe reserve a prefix or pattern in the DTN service demux space for ephemeral endpoints (the tilde prefix is already reserved for non-singleton endpoints). The reason for all of this is that I think applications are going to naturally fall into this pattern, both because existing protocols (over UDP and the other connection-oriented transport) already use this pattern and because it is a genuinely useful thing to not need to reinvent every time there is a two-way exchange of bundles between applications. Finally, this isn't a proposal for "this is what you must do" but more like "if you need a conversation this is the standard pattern of behavior," which is equivalent to BPSec as "if you need bundle security this is what you use." Any thoughts or interest in a short draft to nail down some of these concepts? Brian S. [1] https://www.rfc-editor.org/rfc/rfc6335.html [2] https://www.rfc-editor.org/rfc/rfc9171#section-4.2.3 [3] https://www.ietf.org/id/draft-ietf-dtn-ipn-update-01.html#section-8.3
- [dtn] Concept of BP conversations and ephemeral s… Sipos, Brian J.
- Re: [dtn] Concept of BP conversations and ephemer… Marc Blanchet
- Re: [dtn] [External] Concept of BP conversations … Ostermann, Shawn
- Re: [dtn] [EXT] Re: Concept of BP conversations a… Sipos, Brian J.