IANA maintains the list of the assigned port numbers, which are allocated for specific applications, like the well-known ports from the System Port number range [0-1023], or from the User Port number range [1024-49151] for the private networks such as 3GPP. Dynamic/Private Port number range [49152 - 65535] is not restricted by IANA and may be used by applications without any restrictions. For the IANA port number range definitions see
Section 6 of IETF RFC 6335.
3GPP interface applications typically also utilize fixed port numbers at which they are expecting to receive (are listening to) the application specific traffic. Therefore, when necessary 3GPP requests IANA to assign a port number and allocate it to a specific interface application, e.g. GTP. 3GPP specific port numbers are assigned from the User Port number range [1024-49151]. 3GPP interface applications are required to use the allocated ports only for the given interface traffic.
Recently however IANA became reluctant to assign new port numbers for protocols only used for network internal services, i.e. when the protocol is only used in a single network with no interconnection with other networks or the public Internet, and this applies to some of the protocols newly defined by 3GPP. As a consequence, 3GPP was forced to find a temporary solution (e.g. for S17 interface) to utilize port number allocation from the Dynamic/Private Port number range [49152 - 65535], where it became operator responsibility to configure network elements and avoid port clashes.
Annex A provides more information on IANA port allocation policy.
The purpose of this study is to find a long lasting and forward compatible solution for the future protocols for 3GPP interfaces. This study will analyse alternative solutions and provide guidelines on the port numbers allocation method, which will not require IANA action every time a need arises for a new port number allocation.
The present document studies alternative proposals for the port number allocations to the new 3GPP interfaces and applications. The study will focus on, but is not limited to following three alternatives:
-
3GPP allocating port numbers from the Dynamic/Private Port number range [49152 - 65535]. See clause 6 in IETF RFC 6335 [2];
-
Operators allocating port numbers from either the User Port number range [1024-49151] or the Dynamic/Private Port number range [49152 - 65535]. See clause 6 in IETF RFC 6335 [2];
-
DNS based solution, where port numbers are allocated from the User Port number range [1024-49151] or the Dynamic/Private Port number range [49152 - 65535]. See clause 6 in IETF RFC 6335 [2].
The primary focus of this study is on protocols only used for network internal services, i.e. when the protocol is only used in a single network with no interconnection with other networks or the public Internet. The solutions proposed in the study however could also be used in scenarios in which the protocol is used across multiple networks, e.g. in roaming case or between the RAN and the core network supported by different operator networks.
The following documents contain provisions which, through reference in this text, constitute provisions of the present document.
-
References are either specific (identified by date of publication, edition number, version number, etc.) or non-specific.
-
For a specific reference, subsequent revisions do not apply.
-
For a non-specific reference, the latest version applies. In the case of a reference to a 3GPP document (including a GSM document), a non-specific reference implicitly refers to the latest version of that document in the same Release as the present document.
[1]
TR 21.905: "Vocabulary for 3GPP Specifications".
[2]
RFC 6335: "Internet Assigned Numbers Authority (IANA) Procedures for the Management of the Service Name and Transport Protocol Port Number Registry".
[3]
RFC 7605: "Recommendations on Using Assigned Transport Port Numbers".
[4]
RFC 4960: "Stream Control Transmission Protocol".
[5]
ORAN-WG3.E2GAP, "O-RAN Working Group 3 Near-Real-time RAN Intelligent Controller Architecture & E2 General Aspects and Principles".
[6]
[7]
RFC 2782: "A DNS RR for specifying the location of services (DNS SRV)".
[8]
[9]
RFC 8126: "Guidelines for Writing an IANA Considerations Clause in RFCs".
[10]
RFC 1078: "TCP Port Service Multiplexer (TCPMUX)"
[11]
TR 29.941: "Guidelines on Port Allocation for New 3GPP Interfaces".
[12]
RFC 7805: "Moving Outdated TCP Extensions and TCP-Related Documents to Historic or Informational Status".
[13]
RFC 793: "Transmission Control Protocol".
[14]
RFC 5226: "Guidelines for Writing an IANA Considerations clause in RFCs".
[15]
RFC 7301: "Transport Layer Security (TLS) Application-Layer Protocol Negotiation Extension".
[16]
RFC 8446: "The Transport Layer Security (TLS) Protocol Version 1.3".
[17]
RFC 6347: "Datagram Transport Layer Security Version 1.2".
[18]
RFC 6066: "Transport Layer Security (TLS) Extensions: Extension Definitions".
[19]
RFC 1035: "Domain Names - Implementation and specification".
For the purposes of the present document, the terms given in
TR 21.905 and the following apply. A term defined in the present document takes precedence over the definition of the same term, if any, in
TR 21.905.
Port allocation mechanisms:
There are two main port allocation mechanisms, static and dynamic. With static allocation, server port number is known to the clients and can be used during the implantation phase. With dynamic allocation, server port number is allocated runtime and therefore the clients need to discover the server port number by one of the well-defined procedures.
Server port number:
A number of a transport layer port (UDP, TCP, SCTP, DCCP), which is allocated to an application server. Server listens to certain port, which means clients can send messages to this port. Ports may be either statically or dynamically assigned to certain 3GPP interface applications.
Server port number assignment methods:
This TR refers to the following two methods.
-
Fixed: this port allocation method implies there is no need for a client to discover a server port number. That is, the server port number is well-known (not to be confused with IANA well-known ports from the System Port number range [0-1023]).
-
Unassigned: this port allocation method implies a client must discover a server port number. The server port number may be pre-configured or may be dynamically assigned at runtime.
For the purposes of the present document, the abbreviations given in
TR 21.905 and the following apply. An abbreviation defined in the present document takes precedence over the definition of the same abbreviation, if any, in
TR 21.905.
IANA
Internet Assigned Numbers Authority
IESG
Internet Engineering Steering Group
IETF
Internet Engineering Task Force
OAM
Operation And Maintenance
RAN
Radio Access Network
RFC
Request For Comments