mirror of
https://github.com/becarpenter/book6.git
synced 2024-05-07 02:54:53 +00:00
NAT64 for v6only clients
This commit is contained in:
@ -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)\],
|
||||
|
11
Citex.md
11
Citex.md
@ -1,7 +1,7 @@
|
||||
# book6 Citation Index
|
||||
<img src="./book6logo.png" alt="book6 logo" width="200px" height="auto"/>
|
||||
|
||||
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.
|
||||
<!-- Link lines generated automatically; do not delete -->
|
||||
@ -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)
|
||||
|
||||
|
4
Index.md
4
Index.md
@ -1,7 +1,7 @@
|
||||
# book6 Main Index
|
||||
<img src="./book6logo.png" alt="book6 logo" width="200px" height="auto"/>
|
||||
|
||||
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.
|
||||
<!-- Link lines generated automatically; do not delete -->
|
||||
@ -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)
|
||||
|
Reference in New Issue
Block a user