draft-ietf-v6ops-464xlat-05.txt | draft-ietf-v6ops-464xlat-06.txt | |||
---|---|---|---|---|
Internet Engineering Task Force M. Mawatari | Internet Engineering Task Force M. Mawatari | |||
Internet-Draft Japan Internet Exchange Co.,Ltd. | Internet-Draft Japan Internet Exchange Co.,Ltd. | |||
Intended status: BCP M. Kawashima | Intended status: BCP M. Kawashima | |||
Expires: January 4, 2013 NEC AccessTechnica, Ltd. | Expires: February 8, 2013 NEC AccessTechnica, Ltd. | |||
C. Byrne | C. Byrne | |||
T-Mobile USA | T-Mobile USA | |||
July 3, 2012 | August 7, 2012 | |||
464XLAT: Combination of Stateful and Stateless Translation | 464XLAT: Combination of Stateful and Stateless Translation | |||
draft-ietf-v6ops-464xlat-05 | draft-ietf-v6ops-464xlat-06 | |||
Abstract | Abstract | |||
This document describes an architecture (464XLAT) for providing | This document describes an architecture (464XLAT) for providing | |||
limited IPv4 connectivity across an IPv6-only network by combining | limited IPv4 connectivity across an IPv6-only network by combining | |||
existing and well-known stateful protocol translation RFC 6146 in the | existing and well-known stateful protocol translation RFC 6146 in the | |||
core and stateless protocol translation RFC 6145 at the edge. 464XLAT | core and stateless protocol translation RFC 6145 at the edge. 464XLAT | |||
is a simple and scalable technique to quickly deploy limited IPv4 | is a simple and scalable technique to quickly deploy limited IPv4 | |||
access service to IPv6-only edge networks without encapsulation. | access service to IPv6-only edge networks without encapsulation. | |||
skipping to change at page 1, line 38 | skipping to change at page 1, line 37 | |||
Internet-Drafts are working documents of the Internet Engineering | Internet-Drafts are working documents of the Internet Engineering | |||
Task Force (IETF). Note that other groups may also distribute | Task Force (IETF). Note that other groups may also distribute | |||
working documents as Internet-Drafts. The list of current Internet- | working documents as Internet-Drafts. The list of current Internet- | |||
Drafts is at http://datatracker.ietf.org/drafts/current/. | Drafts is at http://datatracker.ietf.org/drafts/current/. | |||
Internet-Drafts are draft documents valid for a maximum of six months | Internet-Drafts are draft documents valid for a maximum of six months | |||
and may be updated, replaced, or obsoleted by other documents at any | and may be updated, replaced, or obsoleted by other documents at any | |||
time. It is inappropriate to use Internet-Drafts as reference | time. It is inappropriate to use Internet-Drafts as reference | |||
material or to cite them other than as "work in progress." | material or to cite them other than as "work in progress." | |||
This Internet-Draft will expire on January 4, 2013. | This Internet-Draft will expire on February 8, 2013. | |||
Copyright Notice | Copyright Notice | |||
Copyright (c) 2012 IETF Trust and the persons identified as the | Copyright (c) 2012 IETF Trust and the persons identified as the | |||
document authors. All rights reserved. | document authors. All rights reserved. | |||
This document is subject to BCP 78 and the IETF Trust's Legal | This document is subject to BCP 78 and the IETF Trust's Legal | |||
Provisions Relating to IETF Documents | Provisions Relating to IETF Documents | |||
(http://trustee.ietf.org/license-info) in effect on the date of | (http://trustee.ietf.org/license-info) in effect on the date of | |||
publication of this document. Please review these documents | publication of this document. Please review these documents | |||
carefully, as they describe your rights and restrictions with respect | carefully, as they describe your rights and restrictions with respect | |||
to this document. Code Components extracted from this document must | to this document. Code Components extracted from this document must | |||
include Simplified BSD License text as described in Section 4.e of | include Simplified BSD License text as described in Section 4.e of | |||
the Trust Legal Provisions and are provided without warranty as | the Trust Legal Provisions and are provided without warranty as | |||
described in the Simplified BSD License. | described in the Simplified BSD License. | |||
Table of Contents | Table of Contents | |||
1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . . 3 | 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . . 3 | |||
2. Requirements Language . . . . . . . . . . . . . . . . . . . . 3 | 2. BCP Scenario . . . . . . . . . . . . . . . . . . . . . . . . . 3 | |||
3. Terminology . . . . . . . . . . . . . . . . . . . . . . . . . 3 | 3. Requirements Language . . . . . . . . . . . . . . . . . . . . 4 | |||
4. Motivation and Uniqueness of 464XLAT . . . . . . . . . . . . . 4 | 4. Terminology . . . . . . . . . . . . . . . . . . . . . . . . . 4 | |||
5. Network Architecture . . . . . . . . . . . . . . . . . . . . . 4 | 5. Motivation and Uniqueness of 464XLAT . . . . . . . . . . . . . 4 | |||
5.1. Wireline Network Architecture . . . . . . . . . . . . . . 4 | 6. Network Architecture . . . . . . . . . . . . . . . . . . . . . 4 | |||
5.2. Wireless 3GPP Network Architecture . . . . . . . . . . . . 5 | 6.1. Wireline Network Architecture . . . . . . . . . . . . . . 5 | |||
6. Applicability . . . . . . . . . . . . . . . . . . . . . . . . 6 | 6.2. Wireless 3GPP Network Architecture . . . . . . . . . . . . 5 | |||
6.1. Wireline Network Applicability . . . . . . . . . . . . . . 6 | 7. Applicability . . . . . . . . . . . . . . . . . . . . . . . . 6 | |||
6.2. Wireless 3GPP Network Applicability . . . . . . . . . . . 7 | 7.1. Wireline Network Applicability . . . . . . . . . . . . . . 6 | |||
7. Implementation Considerations . . . . . . . . . . . . . . . . 7 | 7.2. Wireless 3GPP Network Applicability . . . . . . . . . . . 7 | |||
7.1. IPv6 Address Format . . . . . . . . . . . . . . . . . . . 7 | 8. Implementation Considerations . . . . . . . . . . . . . . . . 7 | |||
7.2. IPv4/IPv6 Address Translation Chart . . . . . . . . . . . 7 | 8.1. IPv6 Address Format . . . . . . . . . . . . . . . . . . . 7 | |||
7.2.1. Case of enabling only stateless XLATE on CLAT . . . . 7 | 8.2. IPv4/IPv6 Address Translation Chart . . . . . . . . . . . 7 | |||
7.2.2. Case of enabling NAT44 and stateless XLATE on CLAT . . 9 | 8.2.1. Case of enabling only stateless XLATE on CLAT . . . . 7 | |||
7.3. IPv6 Prefix Handling . . . . . . . . . . . . . . . . . . . 11 | 8.2.2. Case of enabling NAT44 and stateless XLATE on CLAT . . 9 | |||
7.3.1. Case of enabling only stateless XLATE on CLAT . . . . 11 | 8.3. IPv6 Prefix Handling . . . . . . . . . . . . . . . . . . . 11 | |||
7.3.2. Case of enabling NAT44 and stateless XLATE on CLAT . . 11 | 8.3.1. Case of enabling only stateless XLATE on CLAT . . . . 11 | |||
7.4. Traffic Treatment Scenarios . . . . . . . . . . . . . . . 12 | 8.3.2. Case of enabling NAT44 and stateless XLATE on CLAT . . 11 | |||
7.5. DNS Proxy Implementation . . . . . . . . . . . . . . . . . 12 | 8.4. Traffic Treatment Scenarios . . . . . . . . . . . . . . . 12 | |||
7.6. CLAT in a Gateway . . . . . . . . . . . . . . . . . . . . 12 | 8.5. DNS Proxy Implementation . . . . . . . . . . . . . . . . . 12 | |||
7.7. CLAT to CLAT communications . . . . . . . . . . . . . . . 12 | 8.6. CLAT in a Gateway . . . . . . . . . . . . . . . . . . . . 12 | |||
8. Deployment Considerations . . . . . . . . . . . . . . . . . . 13 | 8.7. CLAT to CLAT communications . . . . . . . . . . . . . . . 12 | |||
9. Security Considerations . . . . . . . . . . . . . . . . . . . 13 | 9. Deployment Considerations . . . . . . . . . . . . . . . . . . 13 | |||
10. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 13 | 10. Security Considerations . . . . . . . . . . . . . . . . . . . 13 | |||
11. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . . 14 | 11. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 13 | |||
12. References . . . . . . . . . . . . . . . . . . . . . . . . . . 14 | 12. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . . 14 | |||
12.1. Normative References . . . . . . . . . . . . . . . . . . . 14 | 13. References . . . . . . . . . . . . . . . . . . . . . . . . . . 14 | |||
12.2. Informative References . . . . . . . . . . . . . . . . . . 14 | 13.1. Normative References . . . . . . . . . . . . . . . . . . . 14 | |||
13.2. Informative References . . . . . . . . . . . . . . . . . . 14 | ||||
Appendix A. Examples of IPv4/IPv6 Address Translation . . . . . . 16 | Appendix A. Examples of IPv4/IPv6 Address Translation . . . . . . 16 | |||
Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . . 19 | Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . . 19 | |||
1. Introduction | 1. Introduction | |||
The IANA unallocated IPv4 address pool was exhausted on February 3, | The IANA unallocated IPv4 address pool was exhausted on February 3, | |||
2011. Each RIR's unallocated IPv4 address pool will exhaust in the | 2011. Each RIR's unallocated IPv4 address pool will exhaust in the | |||
near future. It will be difficult for many networks to assign IPv4 | near future. It will be difficult for many networks to assign IPv4 | |||
addresses to end users, despite substantial IP connectivity growth | addresses to end users, despite substantial IP connectivity growth | |||
required for fast growing edge networks. | required for fast growing edge networks. | |||
skipping to change at page 3, line 39 | skipping to change at page 3, line 39 | |||
possible. The 464XLAT architecture encourages IPv6 transition by | possible. The 464XLAT architecture encourages IPv6 transition by | |||
making IPv4 services reachable across IPv6-only networks and | making IPv4 services reachable across IPv6-only networks and | |||
providing IPv6 and IPv4 connectivity to single-stack IPv4 or IPv6 | providing IPv6 and IPv4 connectivity to single-stack IPv4 or IPv6 | |||
servers and peers. | servers and peers. | |||
By combining 464XLAT with BIH [RFC6535], it is also possible to | By combining 464XLAT with BIH [RFC6535], it is also possible to | |||
provide single IPv4 to IPv6 translation service, which will be needed | provide single IPv4 to IPv6 translation service, which will be needed | |||
in the future case of IPv6-only servers and peers to be reached from | in the future case of IPv6-only servers and peers to be reached from | |||
legacy IPv4-only hosts across IPv6-only networks. | legacy IPv4-only hosts across IPv6-only networks. | |||
2. Requirements Language | 2. BCP Scenario | |||
This BCP only applies when the following two criteria are present: | ||||
1. There is an IPv6-only access network that uses stateful | ||||
translation [RFC6146] | ||||
2. There are IPv4-only applications or hosts that must communicate | ||||
across the IPv6-only access network to reach the IPv4 Internet | ||||
3. Requirements Language | ||||
The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", | The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", | |||
"SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this | "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this | |||
document are to be interpreted as described in [RFC2119]. | document are to be interpreted as described in [RFC2119]. | |||
3. Terminology | 4. Terminology | |||
PLAT: PLAT is Provider side translator(XLAT) that complies with | PLAT: PLAT is Provider side translator(XLAT) that complies with | |||
[RFC6146]. It translates N:1 global IPv6 packets to global | [RFC6146]. It translates N:1 global IPv6 packets to global | |||
IPv4 packets, and vice versa. | IPv4 packets, and vice versa. | |||
CLAT: CLAT is Customer side translator(XLAT) that complies with | CLAT: CLAT is Customer side translator(XLAT) that complies with | |||
[RFC6145]. It algorithmically translates 1:1 private IPv4 | [RFC6145]. It algorithmically translates 1:1 private IPv4 | |||
packets to global IPv6 packets, and vice versa. The CLAT | packets to global IPv6 packets, and vice versa. The CLAT | |||
function is applicable to a router or an end-node such as a | function is applicable to a router or an end-node such as a | |||
mobile phone. CLAT SHOULD perform router function to | mobile phone. CLAT SHOULD perform router function to | |||
facilitate packets forwarding through the stateless | facilitate packets forwarding through the stateless | |||
skipping to change at page 4, line 26 | skipping to change at page 4, line 35 | |||
translation, a NAT44 SHOULD be used between the router | translation, a NAT44 SHOULD be used between the router | |||
function and the stateless translator function. The CLAT as | function and the stateless translator function. The CLAT as | |||
a common home router or 3G router is expected to perform | a common home router or 3G router is expected to perform | |||
gateway functions such as DHCP server and DNS proxy for local | gateway functions such as DHCP server and DNS proxy for local | |||
clients. The CLAT does not comply with the sentence "Both | clients. The CLAT does not comply with the sentence "Both | |||
IPv4-translatable IPv6 addresses and IPv4-converted IPv6 | IPv4-translatable IPv6 addresses and IPv4-converted IPv6 | |||
addresses SHOULD use the same prefix." that is described on | addresses SHOULD use the same prefix." that is described on | |||
Section 3.3 in [RFC6052] due to using different IPv6 prefixes | Section 3.3 in [RFC6052] due to using different IPv6 prefixes | |||
for CLAT-side and PLAT-side IPv4 addresses. | for CLAT-side and PLAT-side IPv4 addresses. | |||
4. Motivation and Uniqueness of 464XLAT | 5. Motivation and Uniqueness of 464XLAT | |||
1. Minimal IPv4 resource requirements, maximum IPv4 efficiency | 1. Minimal IPv4 resource requirements, maximum IPv4 efficiency | |||
through statistical multiplexing | through statistical multiplexing | |||
2. No new protocols required, quick deployment | 2. No new protocols required, quick deployment | |||
3. IPv6-only networks are simpler and therefore less expensive to | 3. IPv6-only networks are simpler and therefore less expensive to | |||
operate | operate | |||
5. Network Architecture | 6. Network Architecture | |||
464XLAT architecture is shown in the following figure. | 464XLAT architecture is shown in the following figure. | |||
5.1. Wireline Network Architecture | 6.1. Wireline Network Architecture | |||
The private IPv4 host on this diagram can reach global IPv4 hosts via | The private IPv4 host on this diagram can reach global IPv4 hosts via | |||
translation on both CLAT and PLAT. On the other hand, the IPv6 host | translation on both CLAT and PLAT. On the other hand, the IPv6 host | |||
can reach other IPv6 hosts on the Internet directly without | can reach other IPv6 hosts on the Internet directly without | |||
translation. This means that the CPE can not only have the function | translation. This means that the CPE can not only have the function | |||
of CLAT but also the function of IPv6 native router for IPv6 native | of CLAT but also the function of IPv6 native router for IPv6 native | |||
traffic. | traffic. | |||
---- | ---- | |||
| v6 | | | v6 | | |||
skipping to change at page 5, line 28 | skipping to change at page 5, line 37 | |||
----- | ----- | ----- | ----- | |||
<- v4p -> XLAT <--------- v6 --------> XLAT <- v4g -> | <- v4p -> XLAT <--------- v6 --------> XLAT <- v4g -> | |||
v6 : Global IPv6 | v6 : Global IPv6 | |||
v4p : Private IPv4 | v4p : Private IPv4 | |||
v4g : Global IPv4 | v4g : Global IPv4 | |||
Figure 1: Wireline Network Topology | Figure 1: Wireline Network Topology | |||
5.2. Wireless 3GPP Network Architecture | 6.2. Wireless 3GPP Network Architecture | |||
The CLAT function on the UE provides an [RFC1918] address and IPv4 | The CLAT function on the UE provides an [RFC1918] address and IPv4 | |||
default route. The applications on the UE can use the private IPv4 | default route. The applications on the UE can use the private IPv4 | |||
address for reaching global IPv4 hosts via translation on both CLAT | address for reaching global IPv4 hosts via translation on both CLAT | |||
and PLAT. On the other hand, reaching IPv6 hosts (including host | and PLAT. On the other hand, reaching IPv6 hosts (including host | |||
presented via DNS64 [RFC6147]) does not require the CLAT function on | presented via DNS64 [RFC6147]) does not require the CLAT function on | |||
the UE. | the UE. | |||
---- | ---- | |||
| v6 | | | v6 | | |||
skipping to change at page 6, line 35 | skipping to change at page 6, line 35 | |||
+----------------------+ ----- | +----------------------+ ----- | |||
<- v4p -> XLAT <--------- v6 --------> XLAT <- v4g -> | <- v4p -> XLAT <--------- v6 --------> XLAT <- v4g -> | |||
v6 : Global IPv6 | v6 : Global IPv6 | |||
v4p : Private IPv4 | v4p : Private IPv4 | |||
v4g : Global IPv4 | v4g : Global IPv4 | |||
Figure 2: Wireless 3GPP Network Topology | Figure 2: Wireless 3GPP Network Topology | |||
6. Applicability | 7. Applicability | |||
6.1. Wireline Network Applicability | 7.1. Wireline Network Applicability | |||
When an ISP has IPv6 464XLAT, the ISP can provide outgoing IPv4 | When an ISP has IPv6 464XLAT, the ISP can provide outgoing IPv4 | |||
service to end users across an IPv6 access network. The result is | service to end users across an IPv6 access network. The result is | |||
that edge network growth is no longer tightly coupled to the | that edge network growth is no longer tightly coupled to the | |||
availability of scarce IPv4 addresses. | availability of scarce IPv4 addresses. | |||
If the IXP or another provider operates the PLAT, the edge ISP is | If the IXP or another provider operates the PLAT, the edge ISP is | |||
only required to deploy an IPv6 access network. All ISPs do not need | only required to deploy an IPv6 access network. All ISPs do not need | |||
IPv4 access networks. They can migrate their access network to a | IPv4 access networks. They can migrate their access network to a | |||
simple and highly scalable IPv6-only environment. | simple and highly scalable IPv6-only environment. | |||
Incidentally, the effectiveness of 464XLAT was confirmed in the WIDE | Incidentally, the effectiveness of 464XLAT was confirmed in the WIDE | |||
camp Spring 2012. The result is described in | camp Spring 2012. The result is described in | |||
[I-D.hazeyama-widecamp-ipv6-only-experience]. | [I-D.hazeyama-widecamp-ipv6-only-experience]. | |||
6.2. Wireless 3GPP Network Applicability | 7.2. Wireless 3GPP Network Applicability | |||
The vast majority of mobile networks are compliant to Pre-Release 9 | The vast majority of mobile networks are compliant to Pre-Release 9 | |||
3GPP standards. In Pre-Release 9 3GPP networks, GSM and UMTS | 3GPP standards. In Pre-Release 9 3GPP networks, GSM and UMTS | |||
networks must signal and support both IPv4 and IPv6 Packet Data | networks must signal and support both IPv4 and IPv6 Packet Data | |||
Protocol (PDP) attachments to access IPv4 and IPv6 network | Protocol (PDP) attachments to access IPv4 and IPv6 network | |||
destinations [RFC6459]. Since there are 2 PDPs required to support 2 | destinations [RFC6459]. Since there are 2 PDPs required to support 2 | |||
address families, this is double the number of PDPs required to | address families, this is double the number of PDPs required to | |||
support the status quo of 1 address family, which is IPv4. | support the status quo of 1 address family, which is IPv4. | |||
464XLAT in combination with stateful translation [RFC6146] and DNS64 | 464XLAT in combination with stateful translation [RFC6146] and DNS64 | |||
skipping to change at page 7, line 34 | skipping to change at page 7, line 34 | |||
function and passed to the IPv6-only mobile network, destine to the | function and passed to the IPv6-only mobile network, destine to the | |||
PLAT. In summary, the UE has the CLAT function that does a stateless | PLAT. In summary, the UE has the CLAT function that does a stateless | |||
translation [RFC6145], but only when required. The mobile network | translation [RFC6145], but only when required. The mobile network | |||
has a PLAT that does stateful translation [RFC6146]. | has a PLAT that does stateful translation [RFC6146]. | |||
464XLAT works with today's existing systems as much as possible. | 464XLAT works with today's existing systems as much as possible. | |||
464XLAT is compatible with existing network based deep packet | 464XLAT is compatible with existing network based deep packet | |||
inspection solutions like 3GPP standardized Policy and Charging | inspection solutions like 3GPP standardized Policy and Charging | |||
Control (PCC) [TS.23203]. | Control (PCC) [TS.23203]. | |||
7. Implementation Considerations | 8. Implementation Considerations | |||
7.1. IPv6 Address Format | 8.1. IPv6 Address Format | |||
IPv6 address format in 464XLAT is defined in Section 2.2 of | IPv6 address format in 464XLAT is defined in Section 2.2 of | |||
[RFC6052]. | [RFC6052]. | |||
7.2. IPv4/IPv6 Address Translation Chart | 8.2. IPv4/IPv6 Address Translation Chart | |||
7.2.1. Case of enabling only stateless XLATE on CLAT | 8.2.1. Case of enabling only stateless XLATE on CLAT | |||
This case should be used when a prefix delegation mechanism such as | This case should be used when a prefix delegation mechanism such as | |||
DHCPv6-PD [RFC3633] is available to assign a dedicated translation | DHCPv6-PD [RFC3633] is available to assign a dedicated translation | |||
prefix to the CLAT. | prefix to the CLAT. | |||
Source IPv4 address | Source IPv4 address | |||
+----------------------------+ | +----------------------------+ | |||
| Global IPv4 address | | | Global IPv4 address | | |||
| assigned to IPv4 pool@PLAT | | | assigned to IPv4 pool@PLAT | | |||
+--------+ +----------------------------+ | +--------+ +----------------------------+ | |||
skipping to change at page 9, line 5 | skipping to change at page 9, line 5 | |||
| IPv4 | | assigned to IPv4 client | | | IPv4 | | assigned to IPv4 client | | |||
| client | +----------------------------+ | | client | +----------------------------+ | |||
+--------+ Destination IPv4 address | +--------+ Destination IPv4 address | |||
+----------------------------+ | +----------------------------+ | |||
| Global IPv4 address | | | Global IPv4 address | | |||
| assigned to IPv4 server | | | assigned to IPv4 server | | |||
+----------------------------+ | +----------------------------+ | |||
Case of enabling only stateless XLATE on CLAT | Case of enabling only stateless XLATE on CLAT | |||
7.2.2. Case of enabling NAT44 and stateless XLATE on CLAT | 8.2.2. Case of enabling NAT44 and stateless XLATE on CLAT | |||
This case should be used when a prefix delegation mechanism is not | This case should be used when a prefix delegation mechanism is not | |||
available to assign a dedicated translation prefix to the CLAT. In | available to assign a dedicated translation prefix to the CLAT. In | |||
this case, NAT44 SHOULD be used so that all IPv4 source addresses are | this case, NAT44 SHOULD be used so that all IPv4 source addresses are | |||
mapped to a single IPv6 address. | mapped to a single IPv6 address. | |||
Source IPv4 address | Source IPv4 address | |||
+----------------------------+ | +----------------------------+ | |||
| Global IPv4 address | | | Global IPv4 address | | |||
| assigned to IPv4 pool@PLAT | | | assigned to IPv4 pool@PLAT | | |||
skipping to change at page 11, line 5 | skipping to change at page 11, line 5 | |||
| IPv4 | | assigned to IPv4 client | | | IPv4 | | assigned to IPv4 client | | |||
| client | +----------------------------+ | | client | +----------------------------+ | |||
+--------+ Destination IPv4 address | +--------+ Destination IPv4 address | |||
+----------------------------+ | +----------------------------+ | |||
| Global IPv4 address | | | Global IPv4 address | | |||
| assigned to IPv4 server | | | assigned to IPv4 server | | |||
+----------------------------+ | +----------------------------+ | |||
Case of enabling NAT44 and stateless XLATE on CLAT | Case of enabling NAT44 and stateless XLATE on CLAT | |||
7.3. IPv6 Prefix Handling | 8.3. IPv6 Prefix Handling | |||
7.3.1. Case of enabling only stateless XLATE on CLAT | 8.3.1. Case of enabling only stateless XLATE on CLAT | |||
From the delegated DHCPv6 [RFC3633] prefix, a /64 is dedicated to | From the delegated DHCPv6 [RFC3633] prefix, a /64 is dedicated to | |||
source and receive IPv6 packets associated with the stateless | source and receive IPv6 packets associated with the stateless | |||
translation [RFC6145]. | translation [RFC6145]. | |||
The CLAT MAY discover the Pref64::/n of the PLAT via some method such | The CLAT MAY discover the Pref64::/n of the PLAT via some method such | |||
as DHCPv6 option, TR-069, DNS APL RR [RFC3123] or | as DHCPv6 option, TR-069, DNS APL RR [RFC3123] or | |||
[I-D.ietf-behave-nat64-discovery-heuristic]. | [I-D.ietf-behave-nat64-discovery-heuristic]. | |||
7.3.2. Case of enabling NAT44 and stateless XLATE on CLAT | 8.3.2. Case of enabling NAT44 and stateless XLATE on CLAT | |||
In the case that DHCPv6-PD [RFC3633] is not available, the CLAT does | In the case that DHCPv6-PD [RFC3633] is not available, the CLAT does | |||
not have dedicated IPv6 prefix for translation. If the CLAT does not | not have dedicated IPv6 prefix for translation. If the CLAT does not | |||
have a dedicated IPv6 prefix for translation, the CLAT can perform | have a dedicated IPv6 prefix for translation, the CLAT can perform | |||
with NAT44 and stateless translation [RFC6145]. | with NAT44 and stateless translation [RFC6145]. | |||
Incoming source IPv4 packets from the LAN of [RFC1918] addresses are | Incoming source IPv4 packets from the LAN of [RFC1918] addresses are | |||
NAT44 to the CLAT IPv4 host address. Then, the CLAT will do a | NAT44 to the CLAT IPv4 host address. Then, the CLAT will do a | |||
stateless translation [RFC6145] so that the IPv4 packets from the | stateless translation [RFC6145] so that the IPv4 packets from the | |||
CLAT IPv4 host address are translated to the CLAT WAN IPv6 address as | CLAT IPv4 host address are translated to the CLAT WAN IPv6 address as | |||
described in [RFC6052]. | described in [RFC6052]. | |||
Its subnet prefix is made of the delegated prefix, completed if | Its subnet prefix is made of the delegated prefix, completed if | |||
needed to a /64 by a subnet ID = 0. Its interface ID is the 464XLAT | needed to a /64 by a subnet ID = 0. Its interface ID is the 464XLAT | |||
interface ID (Section 10). | interface ID (Section 10). | |||
The CLAT MAY discover the Pref64::/n of the PLAT via some method such | The CLAT MAY discover the Pref64::/n of the PLAT via some method such | |||
as TR-069, DNS APL RR [RFC3123] or | as TR-069, DNS APL RR [RFC3123] or | |||
[I-D.ietf-behave-nat64-discovery-heuristic]. | [I-D.ietf-behave-nat64-discovery-heuristic]. | |||
7.4. Traffic Treatment Scenarios | 8.4. Traffic Treatment Scenarios | |||
+--------+-------------+-----------------------+-------------+ | +--------+-------------+-----------------------+-------------+ | |||
| Server | Application | Traffic Treatment | Location of | | | Server | Application | Traffic Treatment | Location of | | |||
| | and Host | | Translation | | | | and Host | | Translation | | |||
+--------+-------------+-----------------------+-------------+ | +--------+-------------+-----------------------+-------------+ | |||
| IPv6 | IPv6 | End-to-end IPv6 | None | | | IPv6 | IPv6 | End-to-end IPv6 | None | | |||
+--------+-------------+-----------------------+-------------+ | +--------+-------------+-----------------------+-------------+ | |||
| IPv4 | IPv6 | Stateful Translation | PLAT | | | IPv4 | IPv6 | Stateful Translation | PLAT | | |||
+--------+-------------+-----------------------+-------------+ | +--------+-------------+-----------------------+-------------+ | |||
| IPv4 | IPv4 | 464XLAT | PLAT/CLAT | | | IPv4 | IPv4 | 464XLAT | PLAT/CLAT | | |||
+--------+-------------+-----------------------+-------------+ | +--------+-------------+-----------------------+-------------+ | |||
| IPv6 | IPv4 | Stateless Translation | CLAT | | | IPv6 | IPv4 | Stateless Translation | CLAT | | |||
+--------+-------------+-----------------------+-------------+ | +--------+-------------+-----------------------+-------------+ | |||
Traffic Treatment Scenarios | Traffic Treatment Scenarios | |||
The above chart shows most common traffic types and traffic | The above chart shows most common traffic types and traffic | |||
treatment. | treatment. | |||
7.5. DNS Proxy Implementation | 8.5. DNS Proxy Implementation | |||
The CLAT SHOULD implement a DNS proxy as defined in [RFC5625]. The | The CLAT SHOULD implement a DNS proxy as defined in [RFC5625]. The | |||
case of an IPv4-only node behind CLAT querying an IPv4 DNS server is | case of an IPv4-only node behind CLAT querying an IPv4 DNS server is | |||
undesirable since it requires both stateful and stateless translation | undesirable since it requires both stateful and stateless translation | |||
for each DNS lookup. The CLAT SHOULD set itself as the DNS server | for each DNS lookup. The CLAT SHOULD set itself as the DNS server | |||
via DHCP or other means and proxy DNS queries for IPv4 and IPv6 | via DHCP or other means and proxy DNS queries for IPv4 and IPv6 | |||
clients. Using the CLAT enabled home router or UE as a DNS proxy is | clients. Using the CLAT enabled home router or UE as a DNS proxy is | |||
a normal consume gateway function and simplifies the traffic flow so | a normal consume gateway function and simplifies the traffic flow so | |||
that only IPv6 native queries are made across the access network. | that only IPv6 native queries are made across the access network. | |||
The CLAT SHOULD allow for a client to query any DNS server of its | The CLAT SHOULD allow for a client to query any DNS server of its | |||
choice and bypass the proxy. | choice and bypass the proxy. | |||
7.6. CLAT in a Gateway | 8.6. CLAT in a Gateway | |||
The CLAT is a stateless translation feature which can be implemented | The CLAT is a stateless translation feature which can be implemented | |||
in a common home router or mobile phone that has a mobile router | in a common home router or mobile phone that has a mobile router | |||
feature. The router with CLAT function SHOULD provide common router | feature. The router with CLAT function SHOULD provide common router | |||
services such as DHCP of [RFC1918] addresses, DHCPv6, and DNS | services such as DHCP of [RFC1918] addresses, DHCPv6, and DNS | |||
service. The router SHOULD set itself as the DNS server advertised | service. The router SHOULD set itself as the DNS server advertised | |||
via DHCP or other means to the clients so that it may implement the | via DHCP or other means to the clients so that it may implement the | |||
DNS proxy function to avoid double translation of DNS request. | DNS proxy function to avoid double translation of DNS request. | |||
7.7. CLAT to CLAT communications | 8.7. CLAT to CLAT communications | |||
While CLAT to CLAT IPv4 communication may work when the client IPv4 | While CLAT to CLAT IPv4 communication may work when the client IPv4 | |||
subnets do not overlap, this traffic flow is out of scope. 464XLAT is | subnets do not overlap, this traffic flow is out of scope. 464XLAT is | |||
a hub and spoke architecture focused on enabling IPv4-only services | a hub and spoke architecture focused on enabling IPv4-only services | |||
over IPv6-only access networks. | over IPv6-only access networks. | |||
8. Deployment Considerations | 9. Deployment Considerations | |||
Even if the Internet access provider for consumers is different from | Even if the Internet access provider for consumers is different from | |||
the PLAT provider (e.g. another internet access provider), it can | the PLAT provider (e.g. another internet access provider), it can | |||
implement traffic engineering independently from the PLAT provider. | implement traffic engineering independently from the PLAT provider. | |||
Detailed reasons are below: | Detailed reasons are below: | |||
1. The Internet access provider for consumers can figure out IPv4 | 1. The Internet access provider for consumers can figure out IPv4 | |||
destination address from translated IPv6 packet header, so it can | destination address from translated IPv6 packet header, so it can | |||
implement traffic engineering based on IPv4 destination address | implement traffic engineering based on IPv4 destination address | |||
(e.g. traffic monitoring for each IPv4 destination address, | (e.g. traffic monitoring for each IPv4 destination address, | |||
skipping to change at page 13, line 38 | skipping to change at page 13, line 38 | |||
"IPv4/IPv6 translation packets"), and implement traffic | "IPv4/IPv6 translation packets"), and implement traffic | |||
engineering based on IPv6 prefix. | engineering based on IPv6 prefix. | |||
This 464XLAT architecture has two capabilities. One is a IPv4 -> | This 464XLAT architecture has two capabilities. One is a IPv4 -> | |||
IPv6 -> IPv4 translation for sharing global IPv4 addresses, another, | IPv6 -> IPv4 translation for sharing global IPv4 addresses, another, | |||
if combined with BIH [RFC6535], is a IPv4 -> IPv6 translation for | if combined with BIH [RFC6535], is a IPv4 -> IPv6 translation for | |||
reaching IPv6-only servers from IPv4-only clients that can not | reaching IPv6-only servers from IPv4-only clients that can not | |||
support IPv6. IPv4-only clients must be support through the long | support IPv6. IPv4-only clients must be support through the long | |||
period of global transition to IPv6. | period of global transition to IPv6. | |||
9. Security Considerations | 10. Security Considerations | |||
To implement a PLAT, see security considerations presented in Section | To implement a PLAT, see security considerations presented in Section | |||
5 of [RFC6146]. | 5 of [RFC6146]. | |||
To implement a CLAT, see security considerations presented in Section | To implement a CLAT, see security considerations presented in Section | |||
7 of [RFC6145]. The CLAT MAY comply with [RFC6092]. | 7 of [RFC6145]. The CLAT MAY comply with [RFC6092]. | |||
10. IANA Considerations | 11. IANA Considerations | |||
IANA is requested to reserve a Modified EUI-64 identifier for 464XLAT | IANA is requested to reserve a Modified EUI-64 identifier for 464XLAT | |||
according to section 2.2.2 of [RFC5342]. Its suggested value is 02- | according to section 2.2.2 of [RFC5342]. Its suggested value is 02- | |||
00-5E-00-00-00-00-00 to 02-00-5E-0F-FF-FF-FF-FF or 02-00-5E-10-00-00- | 00-5E-00-00-00-00-00 to 02-00-5E-0F-FF-FF-FF-FF or 02-00-5E-10-00-00- | |||
00-00 to 02-00-5E-EF-FF-FF-FF-FF, depending on whether it should be | 00-00 to 02-00-5E-EF-FF-FF-FF-FF, depending on whether it should be | |||
taken in reserved or available values. | taken in reserved or available values. | |||
11. Acknowledgements | 12. Acknowledgements | |||
The authors would like to thank JPIX NOC members, JPIX 464XLAT trial | The authors would like to thank JPIX NOC members, JPIX 464XLAT trial | |||
service members, Seiichi Kawamura, Dan Drown, Brian Carpenter, Rajiv | service members, Seiichi Kawamura, Dan Drown, Brian Carpenter, Rajiv | |||
Asati, Washam Fan, Behcet Sarikaya, Jan Zorz, Tatsuya Oishi, Lorenzo | Asati, Washam Fan, Behcet Sarikaya, Jan Zorz, Tatsuya Oishi, Lorenzo | |||
Colitti, Erik Kline, Ole Troan, Maoke Chen, Gang Chen, Tom Petch, and | Colitti, Erik Kline, Ole Troan, Maoke Chen, Gang Chen, Tom Petch, and | |||
Jouni Korhonen for their helpful comments. Special acknowledgments | Jouni Korhonen for their helpful comments. Special acknowledgments | |||
go to Remi Despres for his plentiful supports and suggestions, | go to Remi Despres for his plentiful supports and suggestions, | |||
especially about using NAT44 with IANA's EUI-64 ID. We also would | especially about using NAT44 with IANA's EUI-64 ID. We also would | |||
like to thank Fred Baker and Joel Jaeggli for their support. | like to thank Fred Baker and Joel Jaeggli for their support. | |||
12. References | 13. References | |||
12.1. Normative References | 13.1. Normative References | |||
[RFC2119] Bradner, S., "Key words for use in RFCs to Indicate | [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate | |||
Requirement Levels", BCP 14, RFC 2119, March 1997. | Requirement Levels", BCP 14, RFC 2119, March 1997. | |||
[RFC6052] Bao, C., Huitema, C., Bagnulo, M., Boucadair, M., and X. | [RFC6052] Bao, C., Huitema, C., Bagnulo, M., Boucadair, M., and X. | |||
Li, "IPv6 Addressing of IPv4/IPv6 Translators", RFC 6052, | Li, "IPv6 Addressing of IPv4/IPv6 Translators", RFC 6052, | |||
October 2010. | October 2010. | |||
[RFC6144] Baker, F., Li, X., Bao, C., and K. Yin, "Framework for | [RFC6144] Baker, F., Li, X., Bao, C., and K. Yin, "Framework for | |||
IPv4/IPv6 Translation", RFC 6144, April 2011. | IPv4/IPv6 Translation", RFC 6144, April 2011. | |||
[RFC6145] Li, X., Bao, C., and F. Baker, "IP/ICMP Translation | [RFC6145] Li, X., Bao, C., and F. Baker, "IP/ICMP Translation | |||
Algorithm", RFC 6145, April 2011. | Algorithm", RFC 6145, April 2011. | |||
[RFC6146] Bagnulo, M., Matthews, P., and I. van Beijnum, "Stateful | [RFC6146] Bagnulo, M., Matthews, P., and I. van Beijnum, "Stateful | |||
NAT64: Network Address and Protocol Translation from IPv6 | NAT64: Network Address and Protocol Translation from IPv6 | |||
Clients to IPv4 Servers", RFC 6146, April 2011. | Clients to IPv4 Servers", RFC 6146, April 2011. | |||
12.2. Informative References | 13.2. Informative References | |||
[I-D.hazeyama-widecamp-ipv6-only-experience] | [I-D.hazeyama-widecamp-ipv6-only-experience] | |||
Hazeyama, H., Hiromi, R., Ishihara, T., and O. Nakamura, | Hazeyama, H., Hiromi, R., Ishihara, T., and O. Nakamura, | |||
"Experiences from IPv6-Only Networks with Transition | "Experiences from IPv6-Only Networks with Transition | |||
Technologies in the WIDE Camp Spring 2012", | Technologies in the WIDE Camp Spring 2012", | |||
draft-hazeyama-widecamp-ipv6-only-experience-01 (work in | draft-hazeyama-widecamp-ipv6-only-experience-01 (work in | |||
progress), March 2012. | progress), March 2012. | |||
[I-D.ietf-behave-nat64-discovery-heuristic] | [I-D.ietf-behave-nat64-discovery-heuristic] | |||
Savolainen, T., Korhonen, J., and D. Wing, "Discovery of | Savolainen, T., Korhonen, J., and D. Wing, "Discovery of | |||
IPv6 Prefix Used for IPv6 Address Synthesis", | IPv6 Prefix Used for IPv6 Address Synthesis", | |||
draft-ietf-behave-nat64-discovery-heuristic-10 (work in | draft-ietf-behave-nat64-discovery-heuristic-11 (work in | |||
progress), June 2012. | progress), July 2012. | |||
[RFC1918] Rekhter, Y., Moskowitz, R., Karrenberg, D., Groot, G., and | [RFC1918] Rekhter, Y., Moskowitz, R., Karrenberg, D., Groot, G., and | |||
E. Lear, "Address Allocation for Private Internets", | E. Lear, "Address Allocation for Private Internets", | |||
BCP 5, RFC 1918, February 1996. | BCP 5, RFC 1918, February 1996. | |||
[RFC3123] Koch, P., "A DNS RR Type for Lists of Address Prefixes | [RFC3123] Koch, P., "A DNS RR Type for Lists of Address Prefixes | |||
(APL RR)", RFC 3123, June 2001. | (APL RR)", RFC 3123, June 2001. | |||
[RFC3633] Troan, O. and R. Droms, "IPv6 Prefix Options for Dynamic | [RFC3633] Troan, O. and R. Droms, "IPv6 Prefix Options for Dynamic | |||
Host Configuration Protocol (DHCP) version 6", RFC 3633, | Host Configuration Protocol (DHCP) version 6", RFC 3633, | |||
End of changes. 35 change blocks. | ||||
63 lines changed or deleted | 74 lines changed or added | |||
This html diff was produced by rfcdiff 1.41. The latest version is available from http://tools.ietf.org/tools/rfcdiff/ |