NAT64

Last updated

NAT64 is an IPv6 transition mechanism that facilitates communication between IPv6 and IPv4 hosts by using a form of network address translation (NAT). The NAT64 gateway is a translator between IPv4 and IPv6 protocols, [1] for which function it needs at least one IPv4 address and an IPv6 network segment comprising a 32-bit address space. The "well-known prefix" reserved for this service is 64:ff9b::/96.

Contents

An IPv6 client embeds the IPv4 address it wishes to communicate with using the host part of the IPv6 network segment, resulting in an IPv4-embedded IPv6 addresses (hence the 32-bit address space in the IPv6 network segment), and sends packets to the resulting address. The NAT64 gateway creates a mapping between the IPv6 and the IPv4 addresses, which may be manually configured or determined automatically. [2]

Principle of operation

NAT64 and DNS64 NAT64 1.svg
NAT64 and DNS64

A simple NAT64 installation may consist of a gateway with two interfaces connected to an IPv4 network and an IPv6 network, respectively. Traffic from the IPv6 network is routed via the gateway which performs all the necessary translations for transferring packets between the two networks. However, the translation is not symmetric, [3] as the IPv6 address space is much larger than the IPv4 address space; thus, one-to-one address mapping is not possible. The gateway maintains IPv6-to-IPv4 address mapping, which may be established with an automatic algorithm (stateless mapping) or with special and manual translations (stateful mapping) when the first packet from the IPv6 network reaches the NAT64 gateway.

Stateless translation is appropriate when a NAT64 translator is used in front of IPv4-only servers to allow them to be reached by remote IPv6-only clients. Stateful translation is suitable for deployment at the client side or at the service provider, allowing IPv6-only client hosts to reach remote IPv4-only nodes.

In general, NAT64 is designed to be used when the communication is initiated by IPv6 hosts. Some mechanisms, including static address mapping, exist to allow the inverse scenario. [4]

Not every type of resource is accessible with NAT64. Protocols that embed IPv4 literal addresses, such as SIP and SDP, FTP, WebSocket, Skype, MSN, and any other content with IPv4 literals are excluded, but a dual-stacked web proxy allows IPv6-only clients to access even web pages with IPv4 literals in URLs. However, 464XLAT, which uses NAT64, allows use of such protocols over IPv6-only connections. [5] For SIP and FTP, the problem can also be solved using an application-level gateway, or using Port Control Protocol with the PREFIX64 extension. [6]

Implementations

Related Research Articles

The Dynamic Host Configuration Protocol (DHCP) is a network management protocol used on Internet Protocol (IP) networks for automatically assigning IP addresses and other communication parameters to devices connected to the network using a client–server architecture.

<span class="mw-page-title-main">Internet Protocol version 4</span> Fourth version of the Internet Protocol

Internet Protocol version 4 (IPv4) is the fourth version of the Internet Protocol (IP). It is one of the core protocols of standards-based internetworking methods in the Internet and other packet-switched networks. IPv4 was the first version deployed for production on SATNET in 1982 and on the ARPANET in January 1983. It is still used to route most Internet traffic today, even with the ongoing deployment of Internet Protocol version 6 (IPv6), its successor.

<span class="mw-page-title-main">IPv6</span> Version 6 of the Internet Protocol

Internet Protocol version 6 (IPv6) is the most recent version of the Internet Protocol (IP), the communications protocol that provides an identification and location system for computers on networks and routes traffic across the Internet. IPv6 was developed by the Internet Engineering Task Force (IETF) to deal with the long-anticipated problem of IPv4 address exhaustion, and was intended to replace IPv4. In December 1998, IPv6 became a Draft Standard for the IETF, which subsequently ratified it as an Internet Standard on 14 July 2017.

<span class="mw-page-title-main">Network address translation</span> Protocol facilitating connection of one IP address space to another

Network address translation (NAT) is a method of mapping an IP address space into another by modifying network address information in the IP header of packets while they are in transit across a traffic routing device. The technique was originally used to bypass the need to assign a new address to every host when a network was moved, or when the upstream Internet service provider was replaced, but could not route the network's address space. It has become a popular and essential tool in conserving global address space in the face of IPv4 address exhaustion. One Internet-routable IP address of a NAT gateway can be used for an entire private network.

<span class="mw-page-title-main">Subnet</span> Logical subdivision of an IP network

A subnetwork, or subnet, is a logical subdivision of an IP network. The practice of dividing a network into two or more networks is called subnetting.

In Internet networking, a private network is a computer network that uses a private address space of IP addresses. These addresses are commonly used for local area networks (LANs) in residential, office, and enterprise environments. Both the IPv4 and the IPv6 specifications define private IP address ranges.

The Virtual Router Redundancy Protocol (VRRP) is a computer networking protocol that provides for automatic assignment of available Internet Protocol (IP) routers to participating hosts. This increases the availability and reliability of routing paths via automatic default gateway selections on an IP subnetwork.

The Dynamic Host Configuration Protocol version 6 (DHCPv6) is a network protocol for configuring Internet Protocol version 6 (IPv6) hosts with IP addresses, IP prefixes, default route, local segment MTU, and other configuration data required to operate in an IPv6 network. It is not just the IPv6 equivalent of the Dynamic Host Configuration Protocol for IPv4.

In the Internet addressing architecture, the Internet Engineering Task Force (IETF) and the Internet Assigned Numbers Authority (IANA) have reserved various Internet Protocol (IP) addresses for special purposes.

In computer networking, a link-local address is a network address that is valid only for communications on a local link, i.e. within a subnetwork that a host is connected to. Link-local addresses are most often unicast network addresses assigned automatically through a process known as stateless address autoconfiguration (SLAAC) or link-local address autoconfiguration, also known as automatic private IP addressing (APIPA) or auto-IP. Link-local addresses are not all unicast; e.g. IPv6 addresses beginning with ff02:, and IPv4 addresses beginning with 224.0.0. are multicast addresses that are link-local.

In computer networking, the Tunnel Setup Protocol (TSP) is an experimental networking control protocol used to negotiate IP tunnel setup parameters between a tunnel client host and a tunnel broker server, the tunnel end-points. A major use of TSP is in IPv6 transition mechanisms.

An IPv6 transition mechanism is a technology that facilitates the transitioning of the Internet from the Internet Protocol version 4 (IPv4) infrastructure in use since 1983 to the successor addressing and routing system of Internet Protocol Version 6 (IPv6). As IPv4 and IPv6 networks are not directly interoperable, transition technologies are designed to permit hosts on either network type to communicate with any other host.

A Request for Comments (RFC), in the context of Internet governance, is a type of publication from the Internet Engineering Task Force (IETF) and the Internet Society (ISOC), usually describing methods, behaviors, research, or innovations applicable to the working of the Internet and Internet-connected systems.

<span class="mw-page-title-main">IPv6 address</span> Label to identify a network interface of a computer or other network node

An Internet Protocol version 6 address is a numeric label that is used to identify and locate a network interface of a computer or a network node participating in a computer network using IPv6. IP addresses are included in the packet header to indicate the source and the destination of each packet. The IP address of the destination is used to make decisions about routing IP packets to other networks.

An IPv6 packet is the smallest message entity exchanged using Internet Protocol version 6 (IPv6). Packets consist of control information for addressing and routing and a payload of user data. The control information in IPv6 packets is subdivided into a mandatory fixed header and optional extension headers. The payload of an IPv6 packet is typically a datagram or segment of the higher-level transport layer protocol, but may be data for an internet layer or link layer instead.

<span class="mw-page-title-main">Carrier-grade NAT</span> Type of network address translation

Carrier-grade NAT, also known as large-scale NAT (LSN), is a type of network address translation (NAT) used by ISPs in IPv4 network design. With CGNAT, end sites, in particular residential networks, are configured with private network addresses that are translated to public IPv4 addresses by middlebox network address translator devices embedded in the network operator's network, permitting the sharing of small pools of public addresses among many end users. This essentially repeats the traditional customer-premise NAT function at the ISP level.

<span class="mw-page-title-main">IVI Translation</span> Stateless IPv4/IPv6 translation technique

IVI Translation refers to a stateless IPv4/IPv6 translation technique. It allows hosts in different address families communicate with each other and keeps the end-to-end address transparency.

<span class="mw-page-title-main">Address plus Port</span>

The Address plus Port (A+P) within the network layer communications protocol for Internet networking is an experimental approach to the IPv4 address shortage. It is a technique for sharing single IPv4 addresses among several users without using stateful network address translation in the carrier network.

Mapping of Address and Port (MAP) is a proposal that combines A+P port address translation with the tunneling of legacy IPv4 protocol packets over an ISP's internal IPv6 network.

Port Control Protocol (PCP) is a computer networking protocol that allows hosts on IPv4 or IPv6 networks to control how the incoming IPv4 or IPv6 packets are translated and forwarded by an upstream router that performs network address translation (NAT) or packet filtering. By allowing hosts to create explicit port forwarding rules, handling of the network traffic can be easily configured to make hosts placed behind NATs or firewalls reachable from the rest of the Internet, which is a requirement for many applications.

References

  1. C. Bao; C. Huitema; M. Bagnulo; M. Boucadair; X. Li (October 2010). IPv6 Addressing of IPv4/IPv6 Translators. IETF. doi: 10.17487/RFC6052 . ISSN   2070-1721. RFC 6052.Proposed Standard. Updates RFC  4291.
  2. M. Bagnulo; P. Matthews; I. van Beijnum (April 2011). Stateful NAT64: Network Address and Protocol Translation from IPv6 Clients to IPv4 Servers. Internet Engineering Task Force (IETF). doi: 10.17487/RFC6146 . ISSN   2070-1721. RFC 6146.Proposed Standard.
  3. Mavrin, Alex. "NAT64 power and limitations". Blog article. Archived from the original on 8 January 2014. Retrieved 6 January 2014.
  4. "NAT64 Technology: Connecting IPv6 and IPv4 Networks". Cisco. Archived from the original on 2020-11-12. Retrieved 2021-01-12.
  5. M. Mawatari; M. Kawashima; C. Byrne (April 2013). 464XLAT: Combination of Stateful and Stateless Translation. IETF. doi: 10.17487/RFC6877 . ISSN   2070-1721. RFC 6877.Informational.
  6. M. Boucadair (May 2014). Discovering NAT64 IPv6 Prefixes Using the Port Control Protocol (PCP). Internet Engineering Task Force. doi: 10.17487/RFC7225 . RFC 7225.Proposed Standard.
  7. "Introduction to Jool". Jool . Retrieved April 4, 2024.
  8. "package: jool-tools-netfilter". OpenWrt wiki . Retrieved April 4, 2024.
  9. Lutchansk, Nathan. "Tayga- Simple, no-fuss NAT64 for Linux" . Retrieved April 4, 2024.
  10. "Supporting IPv6 DNS64/NAT64 Networks". March 27, 2017. Retrieved April 4, 2024.
  11. "Configuring Stateful NAT64 for Handling IPv4 Address Depletion" . Retrieved April 4, 2024.
  12. "Understand and Configure NAT64" . Retrieved April 4, 2024.