By Giorgi Gulbani, CT4 Rapporteur for the PortAl Work Item
Since 2015, The Internet Assigned Numbers Authority (IANA) has encouraged 3GPP to find and implement a solution for the port assignments for protocols only used in 3GPP networks, as an alternative to IANA assigned port numbers. In the meantime, IANA and the Internet Engineering Steering Group (IESG) have continued processing applications for new port allocations and do grant numbers, so long as their recommendations given in IETF RFC 7605 are followed.
A friendly parting of the ways
Now, from Release 17 onwards a 3GPP CT4 Working Group study has identified possible options for scenarios when a new default port number allocation is required, but for certain technical reasons requesting the number from IANA is not seen as the best way forward.
The study produced eight solution proposals and respective guidelines, which are documented in 3GPP TR 29.941. Any 3GPP working group can now rely on these guidelines and select the solution that is the most suitable for achieving their objectives.
It is still strongly recommended that 3GPP groups should apply to IANA for assigned service name and port number for any protocol potentially supported by roaming and inter-domain interfaces, when no other service port discovery is applicable (e.g. DNS-based solutions).
When the IANA assignment request cannot be justified, one of the alternative solutions described in clause 4 of TR 29.941 should be adopted. This is especially true for 3GPP interfaces that would be used only in intra-domain scenarios.
In scenarios, when IANA allocated default port numbers cannot be used, while a new 3GPP interface application may require a pre-defined specific server port number, 3GPP becomes responsible for allocating a server port number (solution#6 in 3GPP TR 29.941).
The 3GPP registry for Service Names and Port Numbers
Port numbers should be assigned from a sub-range of the Dynamic/Private Port range [49152 - 65535]. Working Group CT4 decided to set aside further sub-range of 101 ports from 65400 to 65500. 3GPP allocated port numbers are documented in 3GPP TS 29.641.
From Release 17, when a new application requires a pre-defined server port number, during the application initialization the operating system will tell the new application if the port is already in use or not. If the port is in use by another, legacy application, the new application or operating system shall ensure that the legacy application stops using the port.
It is up to the implementation to decide if the legacy application will be forced to stop using the port immediately, or if the legacy application will be granted some period of time for gracious removal of the port from use.
For more information, please check WG CT4’s Technical Report and Specification on this topic:
- 3GPP TR 29.941 - Guidelines on Port Allocation for New 3GPP Interfaces
- 3GPP TS 29.641 - 3GPP registry for Service Names and Port Numbers
This article first appeared in Highlights, Issue 4.