TSVWG J. Touch Internet Draft Independent Consultant Updates: 4727 Intended status: Standards Track August 4, 2022 Expires: February 2023User Ports for Experiments draft-touch-tsvwg-usr-exp-01.txt
Abstract
This document defines user ports for experiments using transport protocols. It describes the use of experiment identifiers to enable shared use of these user ports, as well as updating the use of system ports for experiments [RFC4727] in the same manner.
Status of this Memo
This Internet-Draft is submitted in full conformance with the provisions of BCP 78 and BCP 79.
Internet-Drafts are working documents of the Internet Engineering Task Force (IETF), its areas, and its working groups. Note that other groups may also distribute working documents as Internet- Drafts.
The list of current Internet-Drafts can be accessed at http://www.ietf.org/ietf/1id-abstracts.txt
The list of Internet-Draft Shadow Directories can be accessed at https://www.ietf.org/shadow.html
Internet-Drafts are draft documents valid for a maximum of six months and may be updated, replaced, or obsoleted by other documents at any time. It is inappropriate to use Internet-Drafts as reference material or to cite them other than as "work in progress."
This Internet-Draft will expire on September 4, 2022.
Copyright Notice
Copyright (c) 2022 IETF Trust and the persons identified as the document authors. All rights reserved.
This document is subject to BCP 78 and the IETF Trust's Legal Provisions Relating to IETF Documents (http://trustee.ietf.org/license-info) in effect on the date of publication of this document. Please review these documents carefully, as they describe your rights and restrictions with respect to this document.
Touch Expires February 4, 2023 [Page 1]
Internet-Draft User Ports for Experiments August 2022
Table of Contents1. Introduction.................................................. 2
2. User Ports for Experiments.................................... 2
3. Security Considerations....................................... 4
4. IANA Considerations........................................... 4
5. References.................................................... 4
5.1. Normative References..................................... 4
5.2. Informative References................................... 5
6. Acknowledgments............................................... 5
1. Introduction
Various network codepoints have been allocated for experimental use, including those for IP, ICMP, UDP, and TCP [RFC4727]. These include transport protocol port numbers 1021 and 1022, using the service names "EXP1" and "EXP2".There has always been an expectation that experiments needing privileged (system) ports use these assignments and unprivileged ports use those from the dynamic range [RFC7605]. However, dynamic ports can be difficult to reserve in some systems or blocked from traversing some firewalls. As a consequence, there is a need for non-privileged, non-dynamic ports - i.e., user ports - for experiments.
This document reserves user ports experimentation and describes the use of experiment identifiers to differentiate shared use of these ports for concurrent experiments.
2. User Ports for Experiments
The system, user, and dynamic ranges vary in their properties [RFC7605]. System ports often include privileged access, sometimes known as 'root'. Dynamic ports are used as client ports when establishing associations with services on registered ports. User ports have neither privilege nor the risk of use by other connections. User ports are also more likely to allow configuration to pass through firewalls, where system and dynamic ports can be difficult to 'un-block'. This document registers USR-EXP1 and USR-EXP2 for user port experiments, using port numbers #UPORT1 and #UPORT2. These ports are assigned from the user range, allowing non-privileged experiments without the need to use ports from the dynamic range.
Touch Expires February 4, 2023 [Page 2]
Internet-Draft User Ports for Experiments August 2022
This document also creates a registry for port experiment identifiers (PExIDs), in the same manner as those created for shared TCP option experiments [RFC6994]. Experimenters are encouraged to register PExIDs with IANA and to include them in at the beginning of their transport data, i.e., at the front of each separate message or byte stream, in network standard byte order. The use of PEdIDs helps differentiate experiments without the need for additional port assignments.This document also encourages the use of these PExIDs for experiments using existing experiment ports, i.e., system ports EXP1 and EXP2.
PExIDs differentiate experiments but are not intended to be specific to a given experiment port, whether system or user, so a single registration is used for all experiment ports. It is the responsibility of the experimenter to determine which port(s) each experiment uses.
3. Using PExIDs in Transport Protocols
PExIDs differentiate use of the experiment transport ports, both for TCP as previously assigned [RFC4722] and for other transports as defined in this document.PExIDs are intended appear first in each independent transport data. It is intended to appear in network-standard byte order.
For connection-oriented protocols, such as TCP, SCTP, and DCCP, the PExID typically appears once for each connection. That socket pair is then associated with the experiment identified by that PExID for the duration of the connection.
For connectionless protocols, such as UDP, the PExID is typically included in every message.
Two endpoints can engage in multiple experiments using the same experimental port number and transport protocol. In such cases, users are expected to support demultiplexing of those different experiments using the PExID.
Touch Expires February 4, 2023 [Page 3]
Internet-Draft User Ports for Experiments August 2022 4. Security ConsiderationsThe creation of new ports for experiment purposes does not create any new security considerations. At best, it potentially reduces the use of privileged system ports for such experiments, which avoids the associated risk of unnecessary privileged access.
Experimenters are encouraged to include security in any new experiment, regardless of port (per Section 7.4 of [RFC7605]).
5. IANA Considerations
This document hereby requests the assignment of two user ports for experimental purposes below. IANA is asked to replace instances of #UPORT1 and #UPORT2 throughout this document based on the actual allocation. This paragraph is intended to be removed prior to final publication.IANA has assigned the following user ports for experiments:
USR-EXP1 #UPORT1 (desired port 1031) all transports
USR-EXP2 #UPORT2 (desired port 1032) all transports
This document directs IANA to create a "Port Experimental Option Experiment Identifiers (PExIDs)" registry. The registry records 32- bit PExIDs, consisting of a brief description, document pointer if available, assignee name, and e-mail contact for each entry. Once registered, PExIDs can be used with either the system (EXP1, EXP2) or user (USR-EXP1, USR-EXP2) ports and with any transport protocol.
Entries are assigned on a First Come, First Served (FCFS) basis [RFC5226]. IANA will also record known duplicate uses to assist the community in both debugging assigned uses as well as correcting unauthorized duplicate uses.
IANA should impose no requirements on making a registration request other than indicating the desired codepoint and providing a point of contact. A short description or acronym for the use is desired but not required.
6. References 6.1. Normative References[RFC4727] Fenner, B., "Experimental Values in IPv4, IPv6, ICMPv4,
ICMPv6, UDP, and TCP Headers," RFC 4727, Nov. 2026.
Touch Expires February 4, 2023 [Page 4]
Internet-Draft User Ports for Experiments August 2022
[RFC5226] Narten, T., H. Alvestrand," Guidelines for Writing an IANAConsiderations Section in RFCs,", RFC 5226, May 2008.
[RFC6994] Touch, J., "Shared Use of Experimental TCP Options," RFC
6994, Aug. 2013.
6.2. Informative References
[RFC7605] Touch, J., "Recommendations on Using Assigned TransportPort Numbers," RFC 7605, Aug. 2015.
7. Acknowledgments
This document was prepared using 2-Word-v2.0.template.dot.Authors' Addresses
Joe Touch Manhattan Beach, CA 90266 USA Phone: +1 (310) 560-0334 Email: touch@strayalpha.com
Touch Expires February 4, 2023 [Page 5]