Description
NAT64 is a stateful network address and protocol translation mechanism defined in IETF RFCs and adopted by 3GPP. It enables communication between an IPv6 network and an IPv4 network by synthesizing IPv4 addresses from IPv6 addresses and translating packet headers between the two protocols. A typical NAT64 deployment includes a NAT64 translator function, often co-located with the PGW or UPF, and a DNS64 server. The process begins when an IPv6-only client queries a domain name. The DNS64 server, if it receives only IPv4 records (A records) in response, synthesizes an IPv6 address by embedding the IPv4 address into a designated IPv6 prefix (usually 64:ff9b::/96). The client then sends packets to this synthesized IPv6 address. The NAT64 translator, seeing traffic destined for its configured prefix, extracts the embedded IPv4 address, translates the IPv6 packet header into an IPv4 header, and maintains a stateful mapping for the session. For return traffic from the IPv4 server, the translator reverses the process, reconstructing an IPv6 packet for the client. NAT64 supports three main modes: stateless, stateful, and 464XLAT. Stateful NAT64 is the most common in mobile networks, handling TCP, UDP, and ICMP. It modifies IP and transport layer headers and may require application-layer gateways for certain protocols. Its architecture is critical for mobile operators adopting IPv6-only access networks, as it allows them to allocate IPv6 addresses to devices while still providing seamless access to the entire Internet.
Purpose & Motivation
NAT64 was developed to facilitate the transition from IPv4 to IPv6. While IPv6 offers a vastly larger address space, the Internet's core content and services remained predominantly on IPv4, creating a compatibility challenge. Deploying dual-stack (IPv4 and IPv6 simultaneously) on all devices and networks was complex and still consumed scarce IPv4 addresses. NAT64 provides a path for network operators to deploy IPv6-only access networks for new subscribers and devices, freeing up IPv4 addresses for legacy services or other uses. It solves the critical problem of IPv6-only device connectivity to the IPv4 Internet, which is essential for a phased, manageable migration. In 3GPP, its standardization ensured that mobile operators could confidently roll out IPv6, knowing that subscriber experience would not be degraded by the lack of IPv4 connectivity. It addressed the limitations of earlier transition technologies like dual-stack, which required maintaining two protocol stacks and addresses, and other translation methods that were less scalable or transparent.
Key Features
- Stateful translation of IPv6 packets to IPv4 packets and vice versa
- Integration with DNS64 for automatic synthesis of IPv6 addresses from IPv4 DNS records
- Support for unidirectional communication from IPv6-only clients to IPv4 servers
- Maintenance of binding and session state tables for protocol and address mapping
- Compatibility with key transport protocols (TCP, UDP, ICMP)
- Enabler for IPv6-only network deployment strategies
Evolution Across Releases
Introduced NAT64 as a standardized transition mechanism within the 3GPP framework. Defined its integration with the Packet Data Network Gateway (PGW) and the use of DNS64 for seamless service discovery, enabling IPv6-only User Equipment (UE) to access IPv4-based services, as per specifications in 23.975.
Defining Specifications
| Specification | Title |
|---|---|
| TS 23.975 | 3GPP TS 23.975 |