Content deleted Content added
Queernix1028 (talk | contribs) →Implementations: Jool also implements SIIT |
fix typo |
||
(30 intermediate revisions by 18 users not shown) | |||
Line 4:
An '''IPv6 transition mechanism''' is a technology that facilitates the [[IPv6 deployment|transitioning]] of the [[Internet]] from the [[Internet Protocol version 4]] (IPv4) infrastructure in use since 1983 to the successor addressing and routing system of [[IPv6|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.
To meet its technical criteria, IPv6 must have a straightforward transition plan from the current IPv4.<ref name="RFC1726">{{Cite IETF |title=Technical Criteria for Choosing IP The Next Generation (IPng) |rfc=1726 |last1=Partridge |first1=C. |last2=Kastenholz |first2=F. |date=December 1994 }}</ref> The [[Internet Engineering Task Force]] (IETF) conducts working groups and discussions through the IETF [[Internet Draft]]s and [[Request for Comments]] processes to develop these transition technologies
==Stateless IP/ICMP Translation==
Line 17:
==6rd==
{{Main|IPv6 rapid deployment}}
6rd was developed by [[Rémi Després]].<ref>{{Cite IETF|rfc=5569}}</ref><ref>{{Cite web |title=IETF RFC 5569 - IPv6 Rapid Deployment on IPv4 Infrastructures (6rd) |url=https://www.researchgate.net/publication/262571770}}</ref> It is a mechanism to facilitate rapid deployment of the IPv6 service across [[IPv4]] infrastructures of Internet service providers ([[Internet service provider|ISP]]s). It uses stateless address mappings between [[IPv4]] and [[IPv6]] addresses, and transmits [[IPv6]] packets across automatic tunnels that follow the same optimized routes between customer nodes as [[IPv4]] packets.<ref>{{Cite web |title=IPv6 Rapid Deployment |url=https://www.cisco.com/c/en/us/td/docs/ios-xml/ios/interface/configuration/xe-16-10/ir-xe-16-10-book/ip6-6rd-tunls-xe.pdf}}</ref>
It was used for an early large deployment of an IPv6 service with native addresses during 2007 (RFC 5569<ref name=RFC5569>{{Cite IETF |title=IPv6 Rapid Deployment on IPv4 Infrastructures (6rd) |rfc=5569 |last1=Despres |first1=R. |date=January 2010 }}</ref>). The standard-track specification of the protocol is in RFC 5969.<ref name=RFC5969>{{Cite IETF |title=IPv6 Rapid Deployment on IPv4 Infrastructures (6rd) – Protocol Specification |rfc=5969 |last1=Troan |first1=O. |date=August 2010 }}</ref>
==Transport Relay Translation==
The address, for example, if packets are to be transmitted from an IPv6 address ({{IPaddr|fec0:0:0:1::
TRT employs a similar operation to DNS translation between AAAA and A records known as ''[[DNS
==NAT64==
{{main
[[Image:NAT64.svg|thumb|NAT64 and DNS64]]
[[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., {{IPaddr|64:ff9b::|96}}.{{Ref RFC|6052}} 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 [[Network address translation|NAT]]-mapping between the IPv6 and the IPv4 address, allowing them to communicate.{{Ref RFC|6146}}
Line 38 ⟶ 37:
There are two noticeable issues with this transition mechanism:
* It only works for cases where DNS is used to find the remote host address
* Because the DNS64 server needs to return records not specified by the ___domain owner, [[DNSSEC]] validation against the [[DNSSEC#Deployment at the DNS root|root]] will fail in cases where the DNS server doing the translation is not the ___domain owner's server.
Line 53 ⟶ 52:
;Implementations
* [[
* [[OpenWrt]] via unbound opkg packages
==ISATAP==
Line 65 ⟶ 63:
==464XLAT==
464XLAT{{ref
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
;Implementations
* [[T-Mobile US]] became IPv6-only using 464XLAT.<ref>{{Cite web |date=June 13, 2014 |title=Case Study: T-Mobile US Goes IPv6-only Using 464XLAT |url=https://www.internetsociety.org/resources/deploy360/2014/case-study-t-mobile-us-goes-ipv6-only-using-464xlat/ |url-status=live |archive-url=https://web.archive.org/web/20240204021359/https://www.internetsociety.org/deploy360/2014/case-study-t-mobile-us-goes-ipv6-only-using-464xlat/ |archive-date=February 4, 2024 |access-date=January 15, 2023 |website=[[Internet Society]]}}</ref>
* [[Orange Polska]] began IPv6-only (CLAT/NAT64/DNS) service in September 2013, migrating all [[ADSL]], [[VDSL]], and [[Fiber to the x|FTTH]] gateways by January 2015.<ref>{{Cite web |last=Twardowska |first=Marta |date=January 6, 2015 |title=Orange Polska Has Launched a World's First Innovative IPv6 Solution with SoftAtHome |url=https://www.businesswire.com/news/home/20150106005488/en/Orange-Polska-Has-Launched-a-World%E2%80%99s-First-Innovative-IPv6-Solution-with-SoftAtHome |access-date=2023-01-15 |website=[[Business Wire]] |language=en |archive-date=2023-01-15 |archive-url=https://web.archive.org/web/20230115224447/https://www.businesswire.com/news/home/20150106005488/en/Orange-Polska-Has-Launched-a-World%E2%80%99s-First-Innovative-IPv6-Solution-with-SoftAtHome |url-status=live }}</ref>
* [[Telstra]] became IPv6-only for mobile services using 464XLAT in February 2020.
*[[Android (operating system)|Android]] includes a native implementation of CLAT since [[Android Jelly Bean|Jelly Bean]] 4.3, released in 2013.<ref>{{Cite web |last=Drown |first=Dan |title=What is Android CLAT? |url=https://github.com/toreanderson/clatd |access-date=January 15, 2023 |website=Dan's Notes |archive-date=December 17, 2022 |archive-url=https://web.archive.org/web/20221217201141/https://github.com/toreanderson/clatd |url-status=live }}</ref>
* [[Windows 10]] has a native WWAN-only implementation of 464XLAT for desktop and mobile since the [[Windows 10 version 1703|2017 Creators Update]].<ref>{{cite web |last1=Havey |first1=Daniel |last2=Balasubramanian |first2=Praveen |date=February 14, 2019 |title=Core Network Stack Features in the Creators Update for Windows 10 |url=https://techcommunity.microsoft.com/t5/Networking-Blog/Core-Network-Stack-Features-in-the-Creators-Update-for-Windows/ba-p/339676 |access-date=January 15, 2023 |website=[[Microsoft]] Networking Blog |archive-date=February 1, 2023 |archive-url=https://web.archive.org/web/20230201204557/https://techcommunity.microsoft.com/t5/networking-blog/core-network-stack-features-in-the-creators-update-for-windows/ba-p/339676 |url-status=live }}</ref>
* [[Windows 11]] (
* [[macOS]] starts to have native CLAT support in Ventura, released in 2022.<ref>{{cite web |title=Twitter
|access-date=27 June 2022|url=https://twitter.com/Oskar456/status/1541509105898164225}}</ref>
* [[iOS]] has a native CLAT implementation since version 12.0, released in 2018.<ref>{{cite web |title=[v6ops] iOS12 IPv6-only
|access-date=5 November 2018|url=https://www.ietf.org/mail-archive/web/v6ops/current/msg30153.html}}</ref> Additionally, Apple requires all apps submitted to the [[App Store (iOS)|App Store]] to work on IPv6 networks.<ref>{{cite web|last1=van Beijnum|first1=Iljitsch|title=Apple to iOS devs: IPv6-only cell service is coming soon, get your apps ready|url=https://arstechnica.com/apple/2015/06/apple-to-ios-devs-ipv6-only-cell-service-is-coming-soon-get-your-apps-ready/|website=Ars Technica|access-date=2 July 2016|date=2015-06-16|archive-date=2016-06-28|archive-url=https://web.archive.org/web/20160628114602/http://arstechnica.com/apple/2015/06/apple-to-ios-devs-ipv6-only-cell-service-is-coming-soon-get-your-apps-ready/|url-status=live}}</ref>
* clatd is a CLAT implementation for [[Linux]].<ref>{{Cite web |
* [[
* [[OpenWRT]] linux OS for routers has optional support for clat via the 464xlat package.<ref>{{cite web| title=OpenWrt Wiki package: 464xlat|url=https://openwrt.org/packages/pkgdata/464xlat|website=OpenWrt|access-date=1 April 2024}}</ref>
* [[FreeBSD]] has implemented NAT64 CLAT since Release 12.1.<ref>{{Cite web |last=Baoi |first=Danilo G. |date=June 19, 2021 |title=FreeBSD 12.1-RELEASE Release Notes |url=https://www.freebsd.org/releases/12.1R/relnotes/ |website=FreeBSD |access-date=January 15, 2023 |archive-date=January 15, 2023 |archive-url=https://web.archive.org/web/20230115224443/https://www.freebsd.org/releases/12.1R/relnotes/ |url-status=live }}</ref>
Line 95 ⟶ 92:
==V4-via-v6 routing==
''V4-via-v6'' routing<ref>{{Cite IETF|title=IPv4 routes with an IPv6 next hop|draft=draft-chroboczek-intarea-v4-via-v6-03|last1=Chroboczek|first1=Juliusz|last2=Kumari|first2=Warren|last3=Høiland-Jørgensen|first3=Toke|date=Jan 2025}}</ref> 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)<ref>{{Cite IETF|title=Advertising IPv4 Network Layer Reachability Information with an IPv6 Next Hop|rfc=5549|last1=Le Faucheur|first1=François|last2=Rosen|first2=Eric|date=May 2009}}</ref> and the [[Babel (protocol)|Babel routing protocol]].<ref>{{Cite IETF|rfc=9229|title=Pv4 Routes with an IPv6 Next Hop in the Babel Routing Protocol|last1=Chroboczek|first1=Juliusz|date=May 2022}}</ref> It has been implemented in the [[Bird Internet routing daemon]]<ref>{{Cite web |last=Rammhold |first=Andreas |date=December 15, 2020 |title=[RFC] Babel: Add v4viav6 Support |url=https://bird.network.cz/pipermail/bird-users/2020-December/015082.html |access-date=2023-01-15 |website=BIRD Internet Routing Daemon |archive-date=2022-12-29 |archive-url=https://web.archive.org/web/20221229084844/https://bird.network.cz/pipermail/bird-users/2020-December/015082.html |url-status=live }}</ref> and in [[Babel (protocol)#Implementations|''babeld'']].<ref>{{Cite web |last=Chroboczek |first=Juliusz |date=May 5, 2022 |title=[Babel-users] ANNOUNCE: babeld-1.12 |url=https://alioth-lists.debian.net/pipermail/babel-users/2022-May/003963.html |access-date=2023-01-15 |website=Debian Alioth Lists |archive-date=2022-12-29 |archive-url=https://web.archive.org/web/20221229084813/https://alioth-lists.debian.net/pipermail/babel-users/2022-May/003963.html |url-status=live }}</ref>
==MAP==
[[Mapping of Address and Port]] (MAP) is a [[Cisco]] [[IPv6 deployment|IPv6 transition]] proposal which combines [[A+P]] port address translation with tunneling of the IPv4 packets over an ISP provider's internal [[IPv6]] network.<ref>{{cite web|url=https://ripe65.ripe.net/presentations/91-townsley-map-ripe65-ams-sept-24-2012.pdf|title=Mapping Address + Port|author=Mark Townsley|publisher=Cisco|date=September 24, 2012|access-date=2012-09-25|archive-date=2022-12-29|archive-url=https://web.archive.org/web/20221229084809/https://ripe65.ripe.net/presentations/91-townsley-map-ripe65-ams-sept-24-2012.pdf|url-status=live}}</ref> MAP-T{{Ref RFC|7599}} and MAP-E{{Ref RFC|7597}} entered standards track in July 2015, and Sky Italia has deployed MAP-T in its internet services as early as year 2021.<ref>{{cite web |last1=Patterson |first1=Richard |title=IPv6-Only with MAP-T |url=https://www.ripe.net/participate/meetings/open-house/presentations/richard-patterson-sky-italia-and-map-t |website=RIPE NCC Open House |date=May 2021 |access-date=1 August 2023 |archive-date=21 February 2023 |archive-url=https://web.archive.org/web/20230221111150/https://www.ripe.net/participate/meetings/open-house/presentations/richard-patterson-sky-italia-and-map-t |url-status=live }}</ref>
==Draft proposals==
Line 128 ⟶ 125:
*[https://downloads.isc.org/isc/aftr/ Address Family Transition Router (AFTR)], a DS-Lite implementation
*[https://code.google.com/p/fabfi/wiki/niit niit] Linux Kernel device that allow transmission of IPv4 unicast traffic through an IPv6 network
*[http://www.ivi2.org/IVI/ IVI] {{Webarchive|url=https://web.archive.org/web/20150319154837/http://www.ivi2.org/IVI/ |date=2015-03-19 }} IPv4/IPv6 packet translation implementation as a Linux kernel(2.6 only) patch
*[[Microsoft Forefront Unified Access Gateway]], a reverse proxy and VPN solution that implements DNS64 and NAT64
*[[BIND]], Berkeley Internet Name Domain DNS server, implements DNS64 since version 9.8
Line 142 ⟶ 139:
==External links==
* {{Sum RFC|3089}}
* {{Sum RFC|6144}}
* {{Sum RFC|6219}}
* {{Sum RFC|6535}}
* ''IPv6 in Practice'', Benedikt Stockebrand (2006), {{ISBN|3-540-24524-3}}
*[https://web.archive.org/web/20070901003217/http://www.join.uni-muenster.de/Dokumente/Howtos/Howto_TRT.php?lang=en Christian and Tina Strauf
*[[International Data Group|''Network World'']]
* [[Institution of Electronics and Telecommunication Engineers|''IETE Technical Review'']]
▲*[http://cr.yp.to/djbdns/ipv6mess.html D. J. Bernstein - The IPv6 mess]
▲*[https://web.archive.org/web/20070901003217/http://www.join.uni-muenster.de/Dokumente/Howtos/Howto_TRT.php?lang=en Christian and Tina Strauf - Transport Relay Translator How To]
▲*[[International Data Group|''Network World'']] - [http://www.networkworld.com/community/node/46600 Understanding Dual-Stack Lite]
▲* [[Institution of Electronics and Telecommunication Engineers|''IETE Technical Review'']] - [https://www.tandfonline.com/doi/abs/10.4103/0256-4602.95384 Assuring Interoperability Between Heterogeneous (IPv4/IPv6) Networks Without using Protocol Translation]
* ''KSII Transactions on Internet and Information Systems -'' [https://www.thefreelibrary.com/Configuring+hosts+to+auto-detect+(IPv6%2C+IPv6-in-IPv4%2C+or+IPv4)+network...-a0269432131 Configuring Hosts to Auto-detect (IPv6, IPv6-in-IPv4, or IPv4) Network Connectivity]
{{IPv6}}
|