NAT

Network Address Translation

Core Network
Introduced in R99
A method of remapping IP address spaces, used in 3GPP networks to conserve public IPv4 addresses and provide privacy. It translates private IP addresses used within the mobile network to public addresses for communication with the internet. NAT is essential for enabling massive-scale connectivity in mobile networks where public IPv4 addresses are scarce.

Description

Network Address Translation (NAT) in 3GPP networks is a function typically implemented in the Packet Data Network Gateway (PGW) in 4G or the User Plane Function (UPF) in 5G. It operates at the IP layer, modifying the source and/or destination IP addresses (and often port numbers) in packet headers as they traverse between the mobile user equipment (UE) and external packet data networks (PDNs) like the internet. The core mechanism involves maintaining a NAT binding table that maps each UE's private IP address (assigned from the mobile operator's pool, e.g., 10.0.0.0/8) and source port to a unique public IP address and port on the external interface. For outgoing packets from the UE, the NAT function replaces the private source IP and port with the mapped public ones; for incoming packets destined for the UE, it performs the reverse translation based on the destination port and IP in the packet.

The architecture integrates NAT within the data path of the user plane. In EPS (4G), the PGW acts as the anchor point and performs NAT for PDN connections that require it, often configured as part of the Packet Data Protocol (PDP) context or PDN connection establishment. In 5GC, the UPF performs the equivalent N6 point-of-presence function. Key components include the NAT mapping table (state), timers to manage the lifetime of inactive mappings, and algorithms for port allocation (e.g., Port Address Translation - PAT). Advanced forms like Carrier-Grade NAT (CGN) or Large Scale NAT (LSN) are employed to map thousands of UEs onto a single or a small pool of public IPv4 addresses, using port ranges to distinguish flows.

NAT's role is multifaceted: it conserves the globally scarce IPv4 address space by allowing many UEs to share few public addresses; it adds a layer of privacy and basic security by hiding internal network topology; and it simplifies network management for operators. However, it also introduces complexities, breaking the end-to-end principle of the internet. It can interfere with protocols that embed IP addresses in payloads (e.g., SIP, FTP) unless accompanied by Application Layer Gateways (ALGs) or techniques like NAT Traversal (NAT-T). Within 3GPP, NAT behavior and configuration are specified to ensure interoperability and predictable service delivery across different vendor equipment and network deployments.

Purpose & Motivation

NAT was adopted in 3GPP networks primarily to mitigate the exhaustion of public IPv4 addresses, a critical issue that emerged with the explosive growth of mobile internet devices. Without NAT, each UE requiring internet access would need a unique public IPv4 address, a requirement unsustainable given the limited address space. NAT solves this by allowing operators to use large private address spaces internally (RFC 1918) and map them to a much smaller pool of public addresses. This enabled the cost-effective scaling of mobile broadband services from 3G (R99) onwards.

Historically, early mobile data services had limited scale and sometimes used public addressing. As services expanded, NAT became a necessary network function. Its integration into 3GPP standards ensured a consistent, vendor-interoperable approach to address conservation. Furthermore, NAT provided incidental benefits like a basic firewall effect, as unsolicited inbound traffic without an existing mapping is typically dropped, enhancing network security. The technology addressed the limitations of simply deploying IPv6 (which has abundant addresses) by providing an immediate, backward-compatible solution while the transition to IPv6 progressed slowly. NAT's purpose evolved to also support network architectures like fixed-mobile convergence and multi-homing, where traffic from different access types is aggregated through a common gateway performing NAT.

Key Features

  • Translates private IPv4 addresses to public IPv4 addresses (and vice versa)
  • Implements Port Address Translation (PAT) to multiplex many users on a single IP
  • Maintains stateful mapping tables with configurable timeout policies
  • Integrated into core network gateways (GGSN/PGW/UPF) for mobile traffic
  • Can be deployed as Carrier-Grade NAT (CGN) for large-scale subscriber aggregation
  • Supports various NAT flavors like full-cone, restricted-cone, port-restricted, and symmetric

Evolution Across Releases

R99 Initial

Initial support for NAT in 3GPP, primarily conceptual within the GPRS/UMTS architecture. The GGSN could be configured to perform NAT functions for PDP contexts, enabling private IP address allocation (from the operator's pool) and translation for internet access. Basic mechanisms for address and port mapping were established.

Defining Specifications

SpecificationTitle
TS 22.495 3GPP TS 22.495
TS 22.832 3GPP TS 22.832
TS 23.179 3GPP TS 23.179
TS 23.221 3GPP TS 23.221
TS 23.228 3GPP TS 23.228
TS 23.234 3GPP TS 23.234
TS 23.280 3GPP TS 23.280
TS 23.334 3GPP TS 23.334
TS 23.379 3GPP TS 23.379
TS 23.501 3GPP TS 23.501
TS 23.700 3GPP TS 23.700
TS 23.701 3GPP TS 23.701
TS 23.758 3GPP TS 23.758
TS 23.875 3GPP TS 23.875
TS 23.981 3GPP TS 23.981
TS 24.139 3GPP TS 24.139
TS 24.229 3GPP TS 24.229
TS 24.281 3GPP TS 24.281
TS 24.379 3GPP TS 24.379
TS 24.523 3GPP TS 24.523
TS 24.820 3GPP TS 24.820
TS 26.236 3GPP TS 26.236
TS 26.506 3GPP TS 26.506
TS 26.804 3GPP TS 26.804
TS 26.806 3GPP TS 26.806
TS 26.923 3GPP TS 26.923
TS 26.998 3GPP TS 26.998
TS 28.314 3GPP TS 28.314
TS 29.139 3GPP TS 29.139
TS 29.212 3GPP TS 29.212
TS 29.238 3GPP TS 29.238
TS 29.334 3GPP TS 29.334
TS 29.421 3GPP TS 29.421
TS 29.564 3GPP TS 29.564
TS 29.828 3GPP TS 29.828
TS 29.839 3GPP TS 29.839
TS 32.501 3GPP TR 32.501
TS 33.128 3GPP TR 33.128
TS 33.203 3GPP TR 33.203
TS 33.210 3GPP TR 33.210
TS 33.234 3GPP TR 33.234
TS 33.320 3GPP TR 33.320
TS 33.739 3GPP TR 33.739
TS 33.749 3GPP TR 33.749
TS 33.822 3GPP TR 33.822
TS 33.871 3GPP TR 33.871
TS 33.978 3GPP TR 33.978
TS 36.579 3GPP TR 36.579
TS 37.579 3GPP TR 37.579
TS 44.318 3GPP TR 44.318