NAPT

Network Address and Port Translation

Core Network →
Introduced in Rel-7 Also in: Security

NAPT is a network function that translates both IP addresses and port numbers to allow multiple private devices to share a single public IPv4 address, conserving public addresses in 3GPP networks.

Category
Core Network
Introduced
Rel-7
Where
Core Network › 5G Core
Also touches
1 segments
Specifications
10 specs
NAPT Description Purpose Related Classification Specifications

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

Part ofNAT

Evolution Across Releases

Rel-7 Initial

Introduced NAPT as a standardized function within the 3GPP architecture, primarily for the Gateway GPRS Support Node (GGSN) and later the PDN Gateway. Specified its role in handling private IPv4 address allocation and translation for UE traffic, enabling basic CGN capabilities to mitigate IPv4 address exhaustion.

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.

SpecificationTitleRelease
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
Patrick Zandl

About the author: Patrick Zandl (b. 1974)

Telecommunications specialist, technology journalist (founder of the Mobil server), and developer who has been running since 2025 — the largest Czech-language resource on AI-assisted programming. Formerly Chief Wizard Architect at Prusa3D and head of development for Turris at CZ.NIC; currently a consultant and instructor on AI implementation in companies.