Description
Network Address and Port Translation (NAPT) is a fundamental network function defined within the 3GPP architecture, primarily operating at the user plane to manage IPv4 address exhaustion. It functions by modifying the source IP address and source port number of outgoing IP packets from User Equipment (UE) within a private network, mapping them to a single public IP address and a unique port number on the public-facing interface. For incoming packets, it performs the reverse translation based on the destination port number, directing traffic back to the correct private IP address and port. This process is stateful, requiring the NAPT device to maintain a translation table that tracks active sessions, mapping tuples of private IP, private port, public IP, and public port, along with protocol identifiers.
Within the 3GPP ecosystem, NAPT is often implemented in key network elements such as the Packet Data Network Gateway (PGW) in 4G or the User Plane Function (UPF) in 5G. Its integration is specified to handle traffic for UEs that are assigned private IPv4 addresses, typically from ranges like 10.0.0.0/8. The function is crucial for the Carrier-Grade NAT (CGN) deployment, allowing mobile network operators to serve millions of subscribers with a limited pool of public IPv4 addresses. The translation mechanisms must comply with various IETF standards (like RFC 3022) for correct TCP/UDP/ICMP packet handling, ensuring application transparency where possible, though it can introduce challenges for protocols that embed IP addresses in their payload.
The architectural role of NAPT extends beyond simple address conservation. It provides a layer of privacy and security by obscuring internal network topology from the public internet. However, it also introduces complexities for peer-to-peer applications and services that require inbound connectivity initiation, necessitating complementary mechanisms like NAT traversal techniques (e.g., ICE, STUN, TURN). In 3GPP specifications, NAPT's behavior and controls are defined to ensure interoperability between network functions and to support policy enforcement, such as enabling or disabling NAPT per Access Point Name (APN) or per subscriber based on operator policy.
Purpose & Motivation
NAPT was introduced to directly address the critical shortage of globally routable IPv4 addresses, a problem that intensified with the exponential growth of internet-connected devices, particularly in mobile networks. Prior to its widespread adoption, networks often attempted to assign unique public IP addresses to each device, which quickly became unsustainable. NAPT allows an operator to allocate a single public IPv4 address to be shared dynamically among hundreds or thousands of subscribers, dramatically extending the utility of the existing IPv4 address space.
The motivation for standardizing NAPT within 3GPP was to ensure consistent, interoperable, and scalable implementation across all mobile network equipment vendors. Without such standardization, proprietary NAT implementations could lead to service incompatibilities, broken applications, and management headaches. By defining NAPT in specifications like TS 23.228 and TS 29.238, 3GPP provided a clear framework for its deployment in the gateway nodes, integrating it with existing mobility management, charging, and policy control functions. This allowed operators to defer the full migration to IPv6 while continuing to support the vast ecosystem of IPv4-based applications and services.
Furthermore, NAPT serves as a foundational element for network security and policy enforcement. By centralizing outbound connectivity through a translation point, operators can implement filtering, logging, and traffic management policies more effectively. It also simplifies network design by allowing the use of private addressing schemes within the mobile core, decoupling internal network topology from the external routing infrastructure.
Classification
Detected Changes Across Releases
from 3GPP Change RequestsSpecific changes extracted from the „Change history“ tables of 3GPP specifications (6 CRs across 4 releases). Complements the general historical overview above with the evidence-based evolution of this function.
Studied in Rel-7, normative work from Rel-15.
In Release 15, the NAPT function was clarified regarding its handling of additional IP addresses, specifically in the context of privacy extensions for IPv6 address autoconfiguration. This update references IETF RFC 4941 to provide clearer operational guidelines for address translation scenarios involving dynamically generated IPv6 addresses. The clarification ensures consistent NAPT behavior when managing sessions that utilize these privacy extensions.
- Clarification on additional IP address TS 23.228CR1187
In Release 16, the NAPT function was enhanced with error correction for the IMS Subscriber Data Management Service and the acquisition of a 5GS IP address for a UE. This specifically improved the procedures for managing subscriber data related to NAPT within the IMS framework and ensured proper IP address handling when a UE connects via 5G System access.
- Error correction for imsSubscriber Data Management Service and acquistion of an 5GS IP address for TS 23.228CR1235
In Release 18, the NAPT function was enhanced to support DCM (Data Connection Management) selection based on IP address and location. This allows the network to more intelligently manage data connections by considering the UE's specific IP address and its geographical or network location when applying NAPT policies and routing.
- DCM selection based on IP address and location TS 23.228CR1357
In Release 19, the NAPT function was enhanced to address specific requirements for the IMS Application Server (AS) Session Management Service, Avatar Representation Downloading, and Avatar ID List handling. These updates involved ensuring proper address translation and session management for these new IMS-based services, which operate across different network address realms. The work built upon existing NAPT and IMS ALG mechanisms to manage transport addresses and maintain session bindings for these application-layer functions.
Explore further
Broader topics and technologies where NAPT plays a role.
Defining Specifications
3GPP specifications that define or reference NAPT, with the latest known release. Sourced from the 3GPP document catalog — see methodology.
| Specification | Title | Release |
|---|---|---|
| TS 23.228 vj50 | IMS Stage-2 Service Description | Rel-19 |
| TS 23.334 vj00 | IMS-ALG to IMS-AGW Interface (Iq) Stage 2 | Rel-19 |
| TS 23.417 v1700 | IMS Core Component for NGN Architecture | Rel-7 |
| TS 23.517 v1800 | IMS Core Component for NGN Architecture | Rel-8 |
| TS 29.238 vj00 | H.248 Profile for IBCF-TrGW Interface | Rel-19 |
| TS 29.334 vj00 | IMS-ALG to IMS-AGW Interface Protocol | Rel-19 |
| TS 29.421 v810 | IMS Interworking with External IP Networks | Rel-8 |
| TS 29.828 vc10 | IMS Media Plane Security H.248 Profiles Study | Rel-12 |
| TS 33.203 vj10 | IMS Security Specification | Rel-19 |
| TS 33.320 vj00 | H(e)NB Subsystem Security Architecture | Rel-19 |