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
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. IPv ...
(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.
To meet its technical criteria, IPv6 must have a straightforward transition plan from the current IPv4.
The
Internet Engineering Task Force (IETF) conducts working groups and discussions through the IETF
Internet Drafts and
Request for Comments processes to develop these transition technologies towards that goal. Some basic IPv6 transition mechanisms are defined in RFC 4213.
Stateless IP/ICMP Translation
Stateless IP/
ICMP Translation (SIIT) translates between the packet header formats in
IPv6 and
IPv4
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 de ...
. The SIIT method defines a class of IPv6 addresses called ''IPv4-translated'' addresses. They have the prefix and may be written as , in which the IPv4 formatted address refers to an ''IPv6-enabled'' node. The prefix was chosen to yield a zero-valued
checksum to avoid changes to the transport protocol header checksum.
The algorithm can be used in a solution that allows IPv6 hosts that do not have a permanently assigned IPv4 address to communicate with IPv4-only hosts. Address assignment and routing details are not addressed by the specification. SIIT can be viewed as a special case of stateless
network address translation.
The specification is a product of the NGTRANS IETF working group, and was initially drafted in February 2000 by E. Nordmark of
Sun Microsystems
Sun Microsystems, Inc. (Sun for short) was an American technology company that sold computers, computer components, software, and information technology services and created the Java programming language, the Solaris operating system, ZFS, the ...
. It was revised in 2011, and in 2016 its current revision was published.
Tunnel broker
A
tunnel broker provides IPv6 connectivity by encapsulating IPv6 traffic in IPv4 Internet transit links, typically using
6in4. This establishes IPv6 tunnels within the IPv4 Internet. The tunnels may be managed with the
Tunnel Setup Protocol
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 ...
(TSP) or
AYIYA.
6rd
6rd is a mechanism to facilitate rapid deployment of the IPv6 service across
IPv4
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 de ...
infrastructures of Internet service providers (
ISPs). It uses stateless address mappings between
IPv4
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 de ...
and
IPv6 addresses, and transmits
IPv6 packets across automatic tunnels that follow the same optimized routes between customer nodes as
IPv4
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 de ...
packets.
It was used for an early large deployment of an IPv6 service with native addresses during 2007 (RFC 5569
).
The standard-track specification of the protocol is in RFC 5969.
Transport Relay Translation
RFC 3142 defines the Transport Relay Translation (TRT) method. TRT employs DNS translation between AAAA and A records known as ''
DNS-ALG'' as defined in RFC 2694.
NAT64
NAT64 is a mechanism to allow IPv6 hosts to communicate with IPv4 servers. The NAT64 server is the endpoint for at least one IPv4 address and an IPv6 network segment of 32-bits, e.g., . The IPv6 client embeds the IPv4 address with which it wishes to communicate using these bits, and sends its packets to the resulting address. The NAT64 server then creates a
NAT
Nat or NAT may refer to:
Computing
* Network address translation (NAT), in computer networking
Organizations
* National Actors Theatre, New York City, U.S.
* National AIDS trust, a British charity
* National Archives of Thailand
* National As ...
-mapping between the IPv6 and the IPv4 address, allowing them to communicate.
DNS64
DNS64 describes a
DNS server
A name server refers to the server component of the Domain Name System (DNS), one of the two principal namespaces of the Internet. The most important function of DNS servers is the translation (resolution) of human-memorable domain names (example. ...
that when asked for a domain's
AAAA records, but only finds
A records, synthesizes the AAAA records from the A records. The first part of the synthesized IPv6 address points to an IPv6/IPv4 translator and the second part embeds the IPv4 address from the A record. The translator in question is usually a NAT64 server. The standard-track specification of DNS64 is in RFC 6147.
There are two noticeable issues with this transition mechanism:
* It only works for cases where DNS is used to find the remote host address, if IPv4 literals are used the DNS64 server will never be involved.
* Because the DNS64 server needs to return records not specified by the domain owner,
DNSSEC validation against the
root will fail in cases where the DNS server doing the translation is not the domain owner's server.
# DNS resolver 2606:4700:4700:64 synthesizes AAAA records for
# ipv6test.google.com to a NAT64 address: 64::ff9b::
nslookup ipv6test.google.com 2606:4700:4700::64
Non-authoritative answer:
ipv6test.google.com canonical name = ipv6test.l.google.com.
Name: ipv6test.l.google.com
Address: 64:ff9b::8efa:c3e4
ISATAP
ISATAP (Intra-Site Automatic Tunnel Addressing Protocol) is an IPv6 transition mechanism meant to transmit IPv6 packets between dual-stack nodes on top of an IPv4 network.
Unlike 6over4 (an older similar protocol using IPv4 multicast), ISATAP uses IPv4 as a virtual nonbroadcast multiple-access network (NBMA) data link layer, so that it does not require the underlying IPv4 network infrastructure to support multicast.
464XLAT
464XLAT (RFC 6877) allows clients on IPv6-only networks to access IPv4-only Internet services, such as Skype.
The client uses a SIIT translator to convert packets from IPv4 to IPv6. These are then sent to a
NAT64 translator which translates them from IPv6 back into IPv4 and on to an IPv4-only server. The client translator may be implemented on the client itself or on an intermediate device and is known as the CLAT (Customer-side transLATor). The NAT64 translator, or PLAT (Provider-side transLATor), must be able to reach both the server and the client (through the CLAT). The use of NAT64 limits connections to a client-server model using UDP, TCP, and ICMP.
;Implementations
* There is a CLAT implementation for Android
Android CLAT T-Mobile USA provides NAT64 with T-Mobile's IPv6-only service.
*
Orange Poland began IPv6-only (CLAT/NAT64/DNS) service in September 2013.
*
Android
Android may refer to:
Science and technology
* Android (robot), a humanoid robot or synthetic organism designed to imitate a human
* Android (operating system), Google's mobile operating system
** Bugdroid, a Google mascot sometimes referred to ...
has a native CLAT implementation since Jelly Bean 4.3, released in 2013.
*
Windows Phone introduced a native CLAT implementation in 2014 with WP 8.1.
*
Windows 10 has a native 464XLAT implementation for desktop and mobile, since the
Creators Update in 2017. It is enabled for WWAN interfaces when the Mobile Operator has enabled 464XLAT on the network.
*
macOS starts to have native CLAT support in Ventura, released in 2022.
*
iOS has a native CLAT implementation since version 12.0, released in 2018. Additionally, Apple requires all apps submitted to the
App Store to work on IPv6 networks.
clatdis a CLAT implementation for
Linux.
*
FreeBSD
FreeBSD is a free and open-source Unix-like operating system descended from the Berkeley Software Distribution (BSD), which was based on Research Unix. The first version of FreeBSD was released in 1993. In 2005, FreeBSD was the most popular ...
has had CLAT implementations since 11.3 and 12.1.
Dual-Stack Lite (DS-Lite)
Dual-Stack Lite technology does not involve allocating an IPv4 address to
customer-premises equipment (CPE) for providing Internet access. The CPE distributes
private IPv4 addresses for the LAN clients, according to the networking requirement in the local area network. The CPE
encapsulates IPv4 packets within IPv6 packets. The CPE uses its global IPv6 connection to deliver the packet to the ISP's
carrier-grade NAT (CGN), which has a global IPv4 address. The original IPv4 packet is recovered and NAT is performed upon the IPv4 packet and is routed to the public IPv4 Internet. The CGN uniquely identifies traffic flows by recording the CPE public IPv6 address, the private IPv4 address, and TCP or UDP port number as a session.
Lightweight
4over6
4over6 is an IPv6 transition technology. It is intended as a mechanism for Internet service providers to provide continued access to the IPv4
Internet Protocol version 4 (IPv4) is the fourth version of the Internet Protocol (IP). It is one ...
extends DS-Lite by moving the NAT functionality from the ISP side to the CPE, eliminating the need to implement carrier-grade NAT. This is accomplished by allocating a port range for a shared IPv4 address to each CPE. Moving the NAT functionality to the CPE allows the ISP to reduce the amount of state tracked for each subscriber, which improves the scalability of the translation infrastructure.
V4-via-v6 routing
''V4-via-v6'' routing is a technique where IPv4 addresses are assigned to end hosts only while intermediate routers are only assigned IPv6 addresses. IPv4 routes are propagated as usual, and no packet translation or encapsulation is employed, but use an IPv6 next hop. V4-via-v6 reduces the amount of management required, since the core network only needs to be assigned IPv6 addresses, but still requires that the core network be able to forward IPv4 packets.
V4-via-v6 is defined for the
Border Gateway Protocol (BGP) and the
Babel routing protocol. It has been implemented the
Bird Internet routing daemon
BIRD (recursive acronym for ''BIRD Internet Routing Daemon'') is an open-source implementation for routing Internet Protocol packets on Unix-like operating systems. It was developed as a school project at the Faculty of Mathematics and Physics, ...
and in ''babeld''.
Draft proposals
The following mechanisms are still being discussed or have been abandoned by the IETF:
4rd
IPv4 Residual Deployment (4rd)
IPv4 Residual Deployment (4rd) is an IPv6 transition mechanism for Internet service providers for deployment of Internet Protocol version 6 (IPv6), while maintaining IPv4 service to customers. The protocol and sample applications are specified in ...
is an experimental mechanism to facilitate residual deployment of the IPv4 service across
IPv6 networks. Like
6rd, it uses stateless address mappings between
IPv6 and
IPv4
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 de ...
. It supports an extension of IPv4 addressing based on transport-layer ports. This is a stateless variant of the
A+P model.
MAP
Mapping of Address and Port
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.
MAP uses the extra bits available in the IPv6 address to contain th ...
(MAP) is a
Cisco IPv6 transition
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 Ver ...
proposal which combines
A+P port address translation with tunneling of the IPv4 packets over an ISP provider's internal
IPv6 network.
, MAP-T and MAP-E are proposed standards.
Deprecated mechanisms
These mechanisms have been deprecated by the IETF:
NAT-PT
''Network Address Translation/Protocol Translation'' (NAT-PT) is defined in RFC 2766, but due to numerous problems, it has been obsoleted by RFC 4966 and deprecated to historic status. It is typically used in conjunction with a
DNS
The Domain Name System (DNS) is a hierarchical and distributed naming system for computers, services, and other resources in the Internet or other Internet Protocol (IP) networks. It associates various information with domain names assigned to ...
application-level gateway (DNS-ALG) implementation.
NAPT-PT
While almost identical to NAT-PT, ''Network Address Port Translation + Protocol Translation'', which is also described in RFC 2766, adds translation of the ports as well as the address. This is done primarily to avoid two hosts on one side of the mechanism from using the same exposed port on the other side of the mechanism, which could cause application instability and security flaws. This mechanism has been deprecated by RFC 4966.
Implementations
*
stone (software), port translator for Windows & Unix-based systems.
*
faithd, BSD-based static TRT implementation by the
KAME projectCLATD a CLAT / SIIT-DC Edge Relay implementation for Linux
WrapSix a NAT64 implementation for Linux
TAYGA a stateless NAT64 implementation for Linux
Jool a stateful NAT64 implementation for Linux
naptd user-level NAT-PT
Ecdysis a NAT64 gateway, includes DNS64
Address Family Transition Router (AFTR) a DS-Lite implementation
niitLinux Kernel device that allow transmission of IPv4 unicast traffic through an IPv6 network
IVIIPv4/IPv6 packet translation implementation as a Linux kernel(2.6 only) patch
*
Microsoft Forefront Unified Access Gateway
Microsoft Forefront Unified Access Gateway (UAG) is a discontinued software suite that provides secure remote access to corporate networks for remote employees and business partners. Its services include reverse proxy, virtual private network (VPN ...
, a reverse proxy and VPN solution that implements DNS64 and NAT64
*
BIND, Berkeley Internet Name Domain DNS server, implements DNS64 since version 9.8
*
PF (firewall), the
OpenBSD
OpenBSD is a security-focused, free and open-source, Unix-like operating system based on the Berkeley Software Distribution (BSD). Theo de Raadt created OpenBSD in 1995 by forking NetBSD 1.0. According to the website, the OpenBSD project em ...
packet filter supports IP version translation since version 5.1, includes NAT64
See also
*
Comparison of IPv6 support in operating systems
*
Softwire (protocol) In computer networking, a softwire protocol is a type of tunneling protocol that creates a virtual "wire" that transparently encapsulates another protocol as if it was an anonymous point-to-point low-level link. Softwires are used for various purp ...
References
*''IPv6 in Practice'', Benedikt Stockebrand (2006),
*, ''Bump-in-the-Stack''
*, ''Bump-in-the-API''
*, ''Socks-based Gateway''
*, ''The China Education and Research Network (CERNET) IVI Translation Design and Deployment for the IPv4/IPv6 Coexistence and Transition''
External links
D. J. Bernstein - The IPv6 messTRT Howto from 2013IPv6 - Prospects and problems: a technical and management investigation into the deployment of IPv6Network World: Understanding Dual-Stack LiteIETF Draft: Framework for IPv4/IPv6 TranslationIPv4 and IPv6 Transition and Coexistence 6DEPLOY project, 2011
Assuring Interoperability Between Heterogeneous (IPv4/IPv6 Networks Without using Protocol Translation IETE Technical Review, 2012
Configuring Hosts to Auto-detect (IPv6, IPv6-in-IPv4, or IPv4) Network Connectivity KSII TRANSACTIONS ON INTERNET AND INFORMATION SYSTEMS, 2011
IPv6: NAT-PT versus NAT64Gianrico Fichera, 2012
{{DEFAULTSORT:Ipv6 Transition Mechanisms
IPv6
Routing software