From e4cef6b0c0b603b114e198d3e08a4b02074580f1 Mon Sep 17 00:00:00 2001 From: Brian E Carpenter Date: Sun, 23 Jul 2023 09:09:50 +1200 Subject: [PATCH] NAT64 for v6only clients --- .../Dual stack scenarios.md | 62 ++++++++++++------- Citex.md | 11 ++-- Index.md | 4 +- 3 files changed, 46 insertions(+), 31 deletions(-) diff --git a/3. Coexistence with Legacy IPv4/Dual stack scenarios.md b/3. Coexistence with Legacy IPv4/Dual stack scenarios.md index 5d4d125..aa5ff7c 100644 --- a/3. Coexistence with Legacy IPv4/Dual stack scenarios.md +++ b/3. Coexistence with Legacy IPv4/Dual stack scenarios.md @@ -51,6 +51,20 @@ Providers (ISPs) are leveraging Carrier-Grade NAT (CGN, of IPv4. However, large ISPs have discovered the scaling limits and operational costs of CGN. +A gap in this classical dual stack approach is that it does not allow an +IPv6-only client to communicate with an IPv4-only server. IPv6-only +devices do exist, e.g. +[Thread](https://www.threadgroup.org/What-is-Thread/Overview) devices, +and more are to be expected in future. This situation requires a +translation mechanism, such as NAT64 + DNS64 (see +\[[Translation](Translation.md)\], which will allow IPv6 only devices, +on a dual stack network, to access IPv4 hosts. Typically, dual stack +clients on the same network will also use NAT64 (instead of +[RFC1918](https://www.rfc-editor.org/info/rfc1918) addresses and NAT44) +to access IPv4 only hosts, but they are using NAT either way. See this +helpful +[blog article](https://sgryphon.gamertheory.net/2022/12/14/running-nat64-in-a-dual-stack-network/). + Although Dual-Stack provides advantages in the initial phase of deployment, it has some disadvantages in the long run, like the duplication of network resources and states. It also requires more IPv4 @@ -63,22 +77,22 @@ a particular application. ### IPv6-Mostly Networks With the standardization of -[RFC8925](https://www.rfc-editor.org/info/rfc8925/) -("IPv6-Only Preferred Option for DHCPv4") there now exists a -supportable, standard mechanism for gracefully migrating off of legacy -IP while preserving access for systems and network stacks that either do -not support IPv6 or only support classical dual-stack. (Such systems do -not automatically support the 464XLAT technique described below, or are -otherwise unable to operate without legacy IPv4 for application or -internal operating system requirements). What IPv6-mostly provides is a -low risk mode of converting legacy IPv4 or existing dual stack networks -to IPv6-only in a very measured manner. By leveraging the -IPv6-only-preferred option for legacy IPv4 (DHCP option 108) an operator -is able to signal via a network protocol that is likely already in use -(DHCP for IPv4) that the network is able to support IPv6-only mechanisms -if the host is capable of utilizing them. Conversely, if a device does not -implement and understand DHCP option 108, they happily move on with a -dual-stack IPv4/IPv6 experience, again, with no user intervention. +[RFC8925](https://www.rfc-editor.org/info/rfc8925/) ("IPv6-Only +Preferred Option for DHCPv4") there now exists a supportable, standard +mechanism for gracefully migrating off of legacy IP while preserving +access for systems and network stacks that either do not support IPv6 or +only support classical dual-stack. (Such systems do not automatically +support the 464XLAT technique described below, or are otherwise unable +to operate without legacy IPv4 for application or internal operating +system requirements). What IPv6-mostly provides is a low risk mode of +converting legacy IPv4 or existing dual stack networks to IPv6-only in a +very measured manner. By leveraging the IPv6-only-preferred option for +legacy IPv4 (DHCP option 108) an operator is able to signal via a +network protocol that is likely already in use (DHCP for IPv4) that the +network is able to support IPv6-only mechanisms if the host is capable +of utilizing them. Conversely, if a device does not implement and +understand DHCP option 108, they happily move on with a dual-stack +IPv4/IPv6 experience, again, with no user intervention. This methodology holds several advantages, notably the simplification of network segments and protocol deployment. This deployment model allows @@ -101,12 +115,12 @@ This controlled and deliberate migration allows the operating system to decide how much or how little it can support without needed input from the user, making the network fit the capabilities of the host, thus lowering the risk of incompatibility (and lowering the rate of problem -reports). Like most existing IPv6-only networks, IPv6-mostly will -nevertheless require packet and DNS translation services ([discussed -later](Translation.md)) as well as knowledge of the IPv6 prefix used -for translation ([ditto](Translation.md)). With these features -suppported, hosts on an IPv6-mostly network will have a full suite -of capabilities. +reports). Like most existing IPv6-only networks, IPv6-mostly will +nevertheless require packet and DNS translation services +([discussed later](Translation.md)) as well as knowledge of the IPv6 +prefix used for translation ([ditto](Translation.md)). With these +features suppported, hosts on an IPv6-mostly network will have a full +suite of capabilities. ### The need for IPv4 as a service @@ -162,8 +176,8 @@ started this process, as in the case of and [EE](https://indico.uknof.org.uk/event/38/contributions/489/attachments/612/736/Nick_Heatley_EE_IPv6_UKNOF_20170119.pdf). -[RFC9313](https://www.rfc-editor.org/info/rfc9313) compares the merits of -the most common IPv6 transition solutions, i.e. 464XLAT +[RFC9313](https://www.rfc-editor.org/info/rfc9313) compares the merits +of the most common IPv6 transition solutions, i.e. 464XLAT \[[RFC6877](https://www.rfc-editor.org/info/rfc6877)\], DS-lite \[[RFC6333](https://www.rfc-editor.org/info/rfc6333)\], Lightweight 4over6 (lw4o6) \[[RFC7596](https://www.rfc-editor.org/info/rfc7596)\], diff --git a/Citex.md b/Citex.md index 30a4420..f442435 100644 --- a/Citex.md +++ b/Citex.md @@ -1,7 +1,7 @@ # book6 Citation Index book6 logo -Generated at 2023-07-20 15:17:12 UTC+1200 +Generated at 2023-07-23 09:08:27 UTC+1200 This index was created automatically, so it's dumb. It has links to each section that mentions each citation. @@ -24,7 +24,8 @@ This index was created automatically, so it's dumb. It has links to each section [BCP91 ●](./2.%20IPv6%20Basic%20Technology/DNS.md) -[RFC1918 ●](./3.%20Coexistence%20with%20Legacy%20IPv4/Tunnels.md) +[RFC1918 ●](./3.%20Coexistence%20with%20Legacy%20IPv4/Dual%20stack%20scenarios.md) +[●](./3.%20Coexistence%20with%20Legacy%20IPv4/Tunnels.md) [RFC2080 ●](./2.%20IPv6%20Basic%20Technology/Routing.md) @@ -260,8 +261,6 @@ This index was created automatically, so it's dumb. It has links to each section [RFC7775 ●](./2.%20IPv6%20Basic%20Technology/Routing.md) -[RFC781 ●](./3.%20Coexistence%20with%20Legacy%20IPv4/Dual%20stack%20scenarios.md) - [RFC7849 ●](./4.%20Security/Layer%202%20considerations.md) [RFC7872 ●](./2.%20IPv6%20Basic%20Technology/Extension%20headers%20and%20options.md) @@ -319,11 +318,11 @@ This index was created automatically, so it's dumb. It has links to each section [RFC8754 ●](./2.%20IPv6%20Basic%20Technology/Extension%20headers%20and%20options.md) -[RFC8781 ●](./3.%20Coexistence%20with%20Legacy%20IPv4/Dual%20stack%20scenarios.md) +[RFC8781 ●](./3.%20Coexistence%20with%20Legacy%20IPv4/Translation.md) [RFC8837 ●](./2.%20IPv6%20Basic%20Technology/Traffic%20class%20and%20flow%20label.md) -[RFC8880 ●](./3.%20Coexistence%20with%20Legacy%20IPv4/Dual%20stack%20scenarios.md) +[RFC8880 ●](./3.%20Coexistence%20with%20Legacy%20IPv4/Translation.md) [RFC8899 ●](./2.%20IPv6%20Basic%20Technology/Extension%20headers%20and%20options.md) diff --git a/Index.md b/Index.md index 7b120d5..0b30632 100644 --- a/Index.md +++ b/Index.md @@ -1,7 +1,7 @@ # book6 Main Index book6 logo -Generated at 2023-07-20 15:17:12 UTC+1200 +Generated at 2023-07-23 09:08:27 UTC+1200 This index was created automatically, so it's dumb. It is not case-sensitive. It has links to each section that mentions each keyword. @@ -96,6 +96,7 @@ This index was created automatically, so it's dumb. It is not case-sensitive. It [●](./2.%20IPv6%20Basic%20Technology/Auto-configuration.md) [●](./2.%20IPv6%20Basic%20Technology/DNS.md) [●](./2.%20IPv6%20Basic%20Technology/Managed%20configuration.md) +[●](./3.%20Coexistence%20with%20Legacy%20IPv4/Dual%20stack%20scenarios.md) [●](./3.%20Coexistence%20with%20Legacy%20IPv4/Translation.md) [●](./6.%20Management%20and%20Operations/6.%20Management%20and%20Operations.md) [●](./6.%20Management%20and%20Operations/Multi-prefix%20operation.md) @@ -269,6 +270,7 @@ This index was created automatically, so it's dumb. It is not case-sensitive. It [●](./2.%20IPv6%20Basic%20Technology/Auto-configuration.md) [●](./2.%20IPv6%20Basic%20Technology/Managed%20configuration.md) [●](./2.%20IPv6%20Basic%20Technology/Routing.md) +[●](./3.%20Coexistence%20with%20Legacy%20IPv4/Dual%20stack%20scenarios.md) [●](./3.%20Coexistence%20with%20Legacy%20IPv4/IPv6%20primary%20differences%20from%20IPv4.md) [●](./3.%20Coexistence%20with%20Legacy%20IPv4/Translation.md) [●](./3.%20Coexistence%20with%20Legacy%20IPv4/Tunnels.md)