draft-ietf-v6ops-464xlat-03.txt | draft-ietf-v6ops-464xlat-04.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: November 9, 2012 NEC AccessTechnica, Ltd. | Expires: December 27, 2012 NEC AccessTechnica, Ltd. | |||
C. Byrne | C. Byrne | |||
T-Mobile USA | T-Mobile USA | |||
May 8, 2012 | June 25, 2012 | |||
464XLAT: Combination of Stateful and Stateless Translation | 464XLAT: Combination of Stateful and Stateless Translation | |||
draft-ietf-v6ops-464xlat-03 | draft-ietf-v6ops-464xlat-04 | |||
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 mobile and wireline IPv6-only edge networks without | access service to IPv6-only edge networks without encapsulation. | |||
encapsulation. | ||||
Status of this Memo | Status of this Memo | |||
This Internet-Draft is submitted in full conformance with the | This Internet-Draft is submitted in full conformance with the | |||
provisions of BCP 78 and BCP 79. | provisions of BCP 78 and BCP 79. | |||
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 November 9, 2012. | This Internet-Draft will expire on December 27, 2012. | |||
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. Requirements Language . . . . . . . . . . . . . . . . . . . . 3 | |||
3. Terminology . . . . . . . . . . . . . . . . . . . . . . . . . 4 | 3. Terminology . . . . . . . . . . . . . . . . . . . . . . . . . 3 | |||
4. Motivation and Uniqueness of 464XLAT . . . . . . . . . . . . . 4 | 4. Motivation and Uniqueness of 464XLAT . . . . . . . . . . . . . 4 | |||
5. Network Architecture . . . . . . . . . . . . . . . . . . . . . 5 | 5. Network Architecture . . . . . . . . . . . . . . . . . . . . . 4 | |||
5.1. Wireline Network Architecture . . . . . . . . . . . . . . 6 | 5.1. Wireline Network Architecture . . . . . . . . . . . . . . 4 | |||
5.2. Wireless 3GPP Network Architecture . . . . . . . . . . . . 7 | 5.2. Wireless 3GPP Network Architecture . . . . . . . . . . . . 5 | |||
6. Applicability . . . . . . . . . . . . . . . . . . . . . . . . 7 | 6. Applicability . . . . . . . . . . . . . . . . . . . . . . . . 6 | |||
6.1. Wireline Network Applicability . . . . . . . . . . . . . . 7 | 6.1. Wireline Network Applicability . . . . . . . . . . . . . . 6 | |||
6.2. Wireless 3GPP Network Applicability . . . . . . . . . . . 8 | 6.2. Wireless 3GPP Network Applicability . . . . . . . . . . . 7 | |||
7. Implementation Considerations . . . . . . . . . . . . . . . . 9 | 7. Implementation Considerations . . . . . . . . . . . . . . . . 7 | |||
7.1. IPv6 Address Format . . . . . . . . . . . . . . . . . . . 9 | 7.1. IPv6 Address Format . . . . . . . . . . . . . . . . . . . 7 | |||
7.2. IPv4/IPv6 Address Translation Chart . . . . . . . . . . . 9 | 7.2. IPv4/IPv6 Address Translation Chart . . . . . . . . . . . 7 | |||
7.3. Traffic Treatment Scenarios . . . . . . . . . . . . . . . 10 | 7.2.1. Case of enabling only stateless XLATE on CLAT . . . . 7 | |||
7.4. DNS Proxy Implementation . . . . . . . . . . . . . . . . . 11 | 7.2.2. Case of enabling NAT44 and stateless XLATE on CLAT . . 9 | |||
7.5. IPv6 Prefix Handling . . . . . . . . . . . . . . . . . . . 11 | 7.3. IPv6 Prefix Handling . . . . . . . . . . . . . . . . . . . 11 | |||
7.6. Relationship between CLAT and NAT44 . . . . . . . . . . . 11 | 7.3.1. Case of enabling only stateless XLATE on CLAT . . . . 11 | |||
7.7. CLAT in a Gateway . . . . . . . . . . . . . . . . . . . . 11 | 7.3.2. Case of enabling NAT44 and stateless XLATE on CLAT . . 11 | |||
7.8. CLAT to CLAT communications . . . . . . . . . . . . . . . 12 | 7.4. Traffic Treatment Scenarios . . . . . . . . . . . . . . . 12 | |||
8. Deployment Considerations . . . . . . . . . . . . . . . . . . 12 | 7.5. DNS Proxy Implementation . . . . . . . . . . . . . . . . . 12 | |||
9. Security Considerations . . . . . . . . . . . . . . . . . . . 12 | 7.6. CLAT in a Gateway . . . . . . . . . . . . . . . . . . . . 12 | |||
7.7. CLAT to CLAT communications . . . . . . . . . . . . . . . 12 | ||||
8. Deployment Considerations . . . . . . . . . . . . . . . . . . 13 | ||||
9. Security Considerations . . . . . . . . . . . . . . . . . . . 13 | ||||
10. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 13 | 10. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 13 | |||
11. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . . 13 | 11. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . . 14 | |||
12. References . . . . . . . . . . . . . . . . . . . . . . . . . . 13 | 12. References . . . . . . . . . . . . . . . . . . . . . . . . . . 14 | |||
12.1. Normative References . . . . . . . . . . . . . . . . . . . 13 | 12.1. Normative References . . . . . . . . . . . . . . . . . . . 14 | |||
12.2. Informative References . . . . . . . . . . . . . . . . . . 13 | 12.2. Informative References . . . . . . . . . . . . . . . . . . 14 | |||
Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . . 14 | Appendix A. Examples of IPv4/IPv6 Address Translation . . . . . . 15 | |||
Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . . 18 | ||||
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 mobile devices, smart-grid, and cloud nodes. | required for fast growing edge networks. | |||
This document describes an IPv4 over IPv6 solution as one of the | This document describes an IPv4 over IPv6 solution as one of the | |||
techniques for IPv4 service extension and encouragement of IPv6 | techniques for IPv4 service extension and encouragement of IPv6 | |||
deployment. 464XLAT is not a one for one replacement of full IPv4 | deployment. 464XLAT is not a one for one replacement of full IPv4 | |||
functionality. The 464XLAT IPv4 service is limited to application | functionality. The 464XLAT architecture only supports IPv4 in the | |||
that function in a client server model and is not fit for IPv4 peer- | client server model, where the server has global IPv4 address. This | |||
to-peer communication or inbound IPv4 connections. | means it is not fit for IPv4 peer-to-peer communication or inbound | |||
IPv4 connections. 464XLAT builds on IPv6 transport and includes full | ||||
any to any IPv6 communication. | ||||
The 464XLAT architecture described in this document uses IPv4/IPv6 | The 464XLAT architecture described in this document uses IPv4/IPv6 | |||
translation standardized in [RFC6145] and [RFC6146]. It does not | translation standardized in [RFC6145] and [RFC6146]. It does not | |||
require DNS64 [RFC6147] since a host may simply send IPv4 packets, | require DNS64 [RFC6147] since an IPv4 host may simply send IPv4 | |||
including packets to an IPv4 DNS server, which will be translated on | packets, including packets to an IPv4 DNS server, which will be | |||
the CLAT to IPv6 and back to IPv4 on the PLAT. 464XLAT networks may | translated on the CLAT to IPv6 and back to IPv4 on the PLAT. 464XLAT | |||
use DNS64 to enable single stateful translation [RFC6146] instead of | networks may use DNS64 [RFC6147] to enable single stateful | |||
464XLAT double translation where possible. It is also possible to | translation [RFC6146] instead of 464XLAT double translation where | |||
provide single IPv4/IPv6 translation service, which will be needed in | possible. The 464XLAT architecture encourages IPv6 transition by | |||
the future case of IPv6-only servers and peers to be reached from | making IPv4 services reachable across IPv6-only networks and | |||
legacy IPv4-only hosts. The 464XLAT architecture encourages IPv6 | providing IPv6 and IPv4 connectivity to single-stack IPv4 or IPv6 | |||
transition by making IPv4 services reachable across IPv6-only | servers and peers. | |||
networks and providing IPv6 and IPv4 connectivity to single-stack | ||||
IPv4 or IPv6 servers and peers. | ||||
Running a single-stack IPv6-only network has several operational | By combining 464XLAT with BIH [RFC6535], it is also possible to | |||
benefits in terms of increasing scalability and decreasing | provide single IPv4 to IPv6 translation service, which will be needed | |||
operational complexity. Unfortunately, there are important cases | in the future case of IPv6-only servers and peers to be reached from | |||
where IPv6-only networks fail to meet subscriber expectations, as | legacy IPv4-only hosts across IPv6-only networks. | |||
described in [RFC6586]. The 464XLAT overcomes the issues described | ||||
in [RFC6586] to provide subscribers the full IPv6 and limited IPv4 | ||||
functionality while providing the network operator the benefits of a | ||||
simple yet highly scalable single-stack IPv6 network. | ||||
2. Requirements Language | 2. 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 | 3. 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 17 | skipping to change at page 4, line 14 | |||
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 | |||
translation even if it is an end-node. In addition to | translation even if it is an end-node. In the case where the | |||
stateless translation, the CLAT as a common home router or 3G | access network does not allow for a dedicated IPv6 prefix for | |||
router is expected to perform gateway functions such as DHCP | translation, a NAT44 SHOULD be used between the router | |||
server and DNS proxy for local clients. | function and the stateless translator function. The CLAT as | |||
a common home router or 3G router is expected to perform | ||||
UE: The 3GPP term for user equipment. The most common type of UE | gateway functions such as DHCP server and DNS proxy for local | |||
is a mobile phone. | clients. The CLAT does not comply with the sentence "Both | |||
IPv4-translatable IPv6 addresses and IPv4-converted IPv6 | ||||
PDP: A Packet Data Protocol (PDP) Context is the equivalent of a | addresses SHOULD use the same prefix." that is described on | |||
virtual connection between the host and a gateway. | Section 3.3 in [RFC6052] due to using different IPv6 prefixes | |||
for CLAT-side and PLAT-side IPv4 addresses. | ||||
4. Motivation and Uniqueness of 464XLAT | 4. Motivation and Uniqueness of 464XLAT | |||
1. Minimal IPv4 resource requirements, maximum IPv4 efficiency | 1. Minimal IPv4 resource requirements, maximum IPv4 efficiency | |||
through statistical multiplexing | ||||
464XLAT has low barriers to entry since only a small amount of | ||||
IPv4 addresses are needed to support the stateful translation | ||||
[RFC6146] function in the PLAT. With port-overloading, one IPv4 | ||||
address can support millions of simultaneous translations. | ||||
Given that network operators are deploying IPv6-only access | ||||
networks because IPv4 resources are scarce, solutions that | ||||
require dual-stack (no IPv4 multiplexing) or stateless address | ||||
sharing (bounded static address multiplexing) are simply not | ||||
IPv4-efficient enough to solve the two-pronged challenge of | ||||
increasing IPv4 address scarcity and continued exponential | ||||
network edge growth for network operators. | ||||
2. No new protocols required, quick deployment | 2. No new protocols required, quick deployment | |||
464XLAT can be deployed today, it uses existing RFCs ([RFC6145] | 3. IPv6-only networks are simpler and therefore less expensive to | |||
and [RFC6146]), and there exists implementations for both | operate | |||
wireline networks (CLAT in the home router) and wireless 3GPP | ||||
networks (CLAT in the UE). The ability to quickly deploy 464XLAT | ||||
is a critical feature given the urgency of IPv4 exhaustion and | ||||
brisk pace of internet growth. | ||||
3. Cost-effective transition to IPv6 | ||||
When combined with DNS64 [RFC6147], the 464XLAT architecture only | ||||
requires double translation in the case of IPv4-referrals or | ||||
IPv4-only socket calls. Consequently, the network traffic in the | ||||
ISP backbone network is predominately IPv6 end-to-end or single | ||||
translation. This is especially cost-effective in wireless 3GPP | ||||
GSM and UMTS networks that would otherwise require two separate | ||||
PDP connections to support IPv4 and IPv6. | ||||
While translation on the CLAT is not always used, the CLAT | ||||
function is crucial for enabling the IPv4-only applications. All | ||||
IPv6-native flows pass end-to-end without any translation. This | ||||
is a beneficial solution for end-users, content providers, and | ||||
network operators that scale best with end-to-end IPv6 | ||||
communication. | ||||
In summary, the 464XLAT architecture works today for service | ||||
providers that require large-scale strategic IPv6 deployments to | ||||
overcome the challenges of IPv4 address scarcity. Since 464XLAT is | ||||
stateful, there is no tight coupling or IPv4 address coordination | ||||
between the PLAT and the CLAT. Unlike other transition architectures | ||||
associated with tunneling or | ||||
[I-D.mdt-softwire-mapping-address-and-port], 464XLAT assumes that | ||||
IPv4 is scarce and IPv6 must work with today's existing systems as | ||||
much as possible. In the case of tunneling, the tunneling solutions | ||||
like Dual-Stack Lite [RFC6333] are known to break existing network | ||||
based deep packet inspection solutions like 3GPP standardized Policy | ||||
and Charging Control (PCC). 464XLAT does not require much IPv4 | ||||
address space to enable the stateful translation [RFC6146] function | ||||
in the PLAT while providing global IPv4 and IPv6 reachability to | ||||
IPv6-only wireline and wireless subscribers. | ||||
5. Network Architecture | 5. Network Architecture | |||
464XLAT architecture is shown in the following figure. | 464XLAT architecture is shown in the following figure. | |||
5.1. Wireline Network Architecture | 5.1. Wireline Network Architecture | |||
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 | ||||
can reach other IPv6 hosts on the Internet directly without | ||||
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 | ||||
traffic. | ||||
---- | ---- | |||
| v6 | | | v6 | | |||
---- | ---- | |||
| | | | |||
---- | .---+---. .------. | ---- | .---+---. .------. | |||
| v6 |-----+ / \ / \ | | v6 |-----+ / \ / \ | |||
---- | ------ / IPv6 \ ------ / IPv4 \ | ---- | ------ / IPv6 \ ------ / IPv4 \ | |||
+---| CLAT |---+ Internet +---| PLAT |---+ Internet | | +---| CLAT |---+ Internet +---| PLAT |---+ Internet | | |||
------- | ------ \ / ------ \ / | ------- | ------ \ / ------ \ / | |||
|v4p/v6 |--+ `---------' `----+----' | |v4p/v6 |--+ `---------' `----+----' | |||
skipping to change at page 7, line 7 | skipping to change at page 5, line 30 | |||
<- 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 | 5.2. Wireless 3GPP Network Architecture | |||
The CLAT function on the UE provides an [RFC1918] address and IPv4 | ||||
default route. The applications on the UE can use the private IPv4 | ||||
address for reaching global IPv4 hosts via translation on both CLAT | ||||
and PLAT. On the other hand, reaching IPv6 hosts (including host | ||||
presented via DNS64 [RFC6147]) does not require the CLAT function on | ||||
the UE. | ||||
---- | ---- | |||
| v6 | | | v6 | | |||
---- | ---- | |||
| | | | |||
.---+---. | .---+---. | |||
/ \ | / \ | |||
/ IPv6 \ | / IPv6 \ | |||
| Internet | | | Internet | | |||
\ / | \ / | |||
UE / Mobile Phone `---------' | UE / Mobile Phone `---------' | |||
+----------------------+ | | +----------------------+ | | |||
| ---- | | .---+---. .------. | | ---- | | .---+---. .------. | |||
| | v6 |----+ | / \ / \ | | | v6 |----+ | / \ / \ | |||
| ---- | ------| / IPv6 PDP \ ------ / IPv4 \ | | ---- | ------| / IPv6 PDP \ ------ / IPv4 \ | |||
| +---| CLAT |---+ Mobile Core +---| PLAT |--+ Internet | | | +---| CLAT |---+ Mobile Core +---| PLAT |--+ Internet | | |||
| | ------| \ GGSN / ------ \ / | | | ------| \ GGSN / ------ \ / | |||
| | | \ ' `----+---' | | | | \ ' `----+---' | |||
| ------ | | `-------' | | | ------ | | `-------' | | |||
| | v4p |---+ | ----- | | | v4p |---+ | ----- | |||
| ------ | | | v4g | | | ------ | | | v4g | | |||
skipping to change at page 7, line 41 | skipping to change at page 6, line 39 | |||
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 | 6. Applicability | |||
6.1. Wireline Network Applicability | 6.1. Wireline Network Applicability | |||
When an ISP has IPv6 access network infrastructure and 464XLAT, the | When an ISP has IPv6 464XLAT, the ISP can provide outgoing IPv4 | |||
ISP can provide IPv4 service to end users across an IPv6 access | service to end users across an IPv6 access network. The result is | |||
network. The result is that edge network growth is no longer tightly | that edge network growth is no longer tightly coupled to the | |||
coupled to the availability of scarce IPv4 addresses. | availability of scarce IPv4 addresses. | |||
If the IXP or another provider operates the PLAT, the ISP is only | If the IXP or another provider operates the PLAT, the edge ISP is | |||
required to deploy an IPv6 access network. All ISPs do not need IPv4 | only required to deploy an IPv6 access network. All ISPs do not need | |||
access networks. They can migrate their access network to a simple | IPv4 access networks. They can migrate their access network to a | |||
and highly scalable IPv6-only environment. Incidentally, Japan | simple and highly scalable IPv6-only environment. | |||
Internet Exchange(JPIX) is providing 464XLAT trial service since July | ||||
2010. In addition to this, the effectiveness of 464XLAT was | ||||
confirmed in the WIDE camp Spring 2012. The result is described in | ||||
[I-D.hazeyama-widecamp-ipv6-only-experience]. | ||||
6.2. Wireless 3GPP Network Applicability | Incidentally, the effectiveness of 464XLAT was confirmed in the WIDE | |||
camp Spring 2012. The result is described in | ||||
The vast majority of mobile wireless networks are compliant to Pre- | [I-D.hazeyama-widecamp-ipv6-only-experience]. | |||
Release 9 3GPP standards. In Pre-Release 9 3GPP networks, GSM and | ||||
UMTS networks must signal and support both IPv4 and IPv6 PDP | ||||
attachments to access IPv4 and IPv6 network destinations. Since | ||||
there are 2 PDPs required to support 2 address families, this is | ||||
double the number of PDPs required to support the status quo of 1 | ||||
address family, which is IPv4. Doubling the PDP count to support | ||||
IPv4 and IPv6 is generally not operationally viable since a large | ||||
portion of the network cost is derived from the number of PDP | ||||
attachments, both in terms of licenses from the network hardware | ||||
vendors and in terms of actual hardware resources required to support | ||||
and maintain the PDP signaling and mobility events. Doubling the | ||||
number of PDP attachments has been one of the major barriers to | ||||
introducing IPv6 in mobile networks. Dual-stack IPv4 and IPv6 simply | ||||
costs more from the network provider perspective and does not result | ||||
in any new revenues. In 3GPP Release 9 and forward, 2 PDPs are no | ||||
longer required but the scarcity of IPv4 addresses remain. | ||||
Now that both global and private IPv4 addresses are scarce to the | 6.2. Wireless 3GPP Network Applicability | |||
extent that it is a substantial business risk and limiting growth in | ||||
many areas, the mobile network providers must support IPv6 to solve | ||||
the IP address scarcity issue. It is not feasible to simply turn on | ||||
additional IPv6 PDP network attachments since that does not solve the | ||||
near-term IPv4 scarcity issues and it increases cost in most cases. | ||||
The most logical path forward is to replace IPv4 with IPv6 and | ||||
replace the common NAT44 with stateful translation [RFC6146] and | ||||
DNS64 [RFC6147]. Extensive live network testing with hundreds of | ||||
friendly-users has shown that IPv6-only network attachments for | ||||
mobile devices supports over 85% of the common applications on the | ||||
Android mobile operating systems. The remaining 15% of applications | ||||
do not work because the application requires an IPv4 socket or the | ||||
application does an IPv4-referral. These findings are consistent | ||||
with the mobile IPv6-only user experience in [RFC6586]. | ||||
464XLAT in combination with stateful translation [RFC6146] and DNS64 | 464XLAT in combination with stateful translation [RFC6146] and DNS64 | |||
[RFC6147] allows 85% of the Android applications to continue to work | [RFC6147] allows 85% of the Android applications to continue to work | |||
with single translation or native IPv6 access. For the remaining 15% | with single translation or native IPv6 access. For the remaining 15% | |||
of applications that require IPv4 connectivity, the CLAT function on | of applications that require IPv4 connectivity, the CLAT function on | |||
the UE provides a private IPv4 address and IPv4 default-route on the | the UE provides a private IPv4 address and IPv4 default-route on the | |||
host for the applications to reference and bind to. Connections | host for the applications to reference and bind to. Connections | |||
sourced from the IPv4 interface are immediately routed to the CLAT | sourced from the IPv4 interface are immediately routed to the CLAT | |||
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 | |||
skipping to change at page 9, line 18 | skipping to change at page 7, line 30 | |||
7. Implementation Considerations | 7. Implementation Considerations | |||
7.1. IPv6 Address Format | 7.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 | 7.2. IPv4/IPv6 Address Translation Chart | |||
IPv4/IPv6 address translation chart is shown in the following figure. | 7.2.1. Case of enabling only stateless XLATE on CLAT | |||
This case should be used when a prefix delegation mechanism such as | ||||
DHCPv6-PD [RFC3633] is available to assign a dedicated translation | ||||
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 | | |||
+--------+ +----------------------------+ | +--------+ +----------------------------+ | |||
| IPv4 | Destination IPv4 address | | IPv4 | Destination IPv4 address | |||
| server | +----------------------------+ | | server | +----------------------------+ | |||
+--------+ | Global IPv4 address | | +--------+ | Global IPv4 address | | |||
^ | assigned to IPv4 server | | ^ | assigned to IPv4 server | | |||
skipping to change at page 9, line 48 | skipping to change at page 8, line 33 | |||
| defined in Section 2.2 of RFC6052 | | | defined in Section 2.2 of RFC6052 | | |||
+--------------------------------------------------------------+ | +--------------------------------------------------------------+ | |||
Destination IPv6 address | Destination IPv6 address | |||
+--------------------------------------------------------------+ | +--------------------------------------------------------------+ | |||
| IPv4-Embedded IPv6 address | | | IPv4-Embedded IPv6 address | | |||
| defined in Section 2.2 of RFC6052 | | | defined in Section 2.2 of RFC6052 | | |||
+--------------------------------------------------------------+ | +--------------------------------------------------------------+ | |||
(IPv6 cloud) | (IPv6 cloud) | |||
^ | ^ | |||
| | | | |||
+--------+ | ||||
| | In the case CLAT has a | ||||
| | dedicated IPv6 prefix for | ||||
| CLAT | translation, the CLAT behaves | ||||
| | with only Stateless XLATE | ||||
| | (IPv4:IPv6=1:1). | ||||
+--------+ | ||||
^ Source IPv4 address | ||||
| +----------------------------+ | ||||
+--------+ | Private IPv4 address | | ||||
| IPv4 | | assigned to IPv4 client | | ||||
| client | +----------------------------+ | ||||
+--------+ Destination IPv4 address | ||||
+----------------------------+ | ||||
| Global IPv4 address | | ||||
| assigned to IPv4 server | | ||||
+----------------------------+ | ||||
Case of enabling only stateless XLATE on CLAT | ||||
7.2.2. Case of enabling NAT44 and stateless XLATE on CLAT | ||||
This case should be used when a prefix delegation mechanism is not | ||||
available to assign a dedicated translation prefix to the CLAT. In | ||||
this case, NAT44 SHOULD be used so that all IPv4 source addresses are | ||||
mapped to a single IPv6 address. | ||||
Source IPv4 address | ||||
+----------------------------+ | ||||
| Global IPv4 address | | ||||
| assigned to IPv4 pool@PLAT | | ||||
+--------+ +----------------------------+ | ||||
| IPv4 | Destination IPv4 address | ||||
| server | +----------------------------+ | ||||
+--------+ | Global IPv4 address | | ||||
^ | assigned to IPv4 server | | ||||
| +----------------------------+ | ||||
+--------+ | ||||
| PLAT | Stateful XLATE(IPv4:IPv6=1:n) | ||||
+--------+ | ||||
^ | ||||
| | | | |||
Source IPv6 address (IPv6 cloud) | ||||
+--------------------------------------------------------------+ | ||||
| IPv4-Embedded IPv6 address | | ||||
| defined in Section 2.2 of RFC6052 | | ||||
+--------------------------------------------------------------+ | ||||
Destination IPv6 address | ||||
+--------------------------------------------------------------+ | ||||
| IPv4-Embedded IPv6 address | | ||||
| defined in Section 2.2 of RFC6052 | | ||||
+--------------------------------------------------------------+ | ||||
(IPv6 cloud) | ||||
^ | ||||
| | | | |||
+--------+ | +--------+ | |||
| | Case 1: CLAT will have a | | | In the case CLAT does not have | |||
| | dedicated IPv6 prefix | | | a dedicated IPv6 prefix for | |||
| | -> Stateless XLATE | | CLAT | translation, the CLAT behaves | |||
| | (IPv4:IPv6=1:1) | | | with NAT44 and Stateless XLATE | |||
| CLAT | | | | (IPv4:IPv6=1:1). | |||
| | Case 2: CLAT will not have a | ||||
| | dedicated IPv6 prefix | ||||
| | -> NAT44 -> Stateless XLATE | ||||
| | (IPv4:IPv6=1:1) | ||||
+--------+ | +--------+ | |||
^ Source IPv4 address | ^ Source IPv4 address | |||
| +----------------------------+ | | +----------------------------+ | |||
+--------+ | Private IPv4 address | | +--------+ | Private IPv4 address | | |||
| 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 | | |||
+----------------------------+ | +----------------------------+ | |||
IPv4/IPv6 Address Translation Chart | Case of enabling NAT44 and stateless XLATE on CLAT | |||
7.3. Traffic Treatment Scenarios | 7.3. IPv6 Prefix Handling | |||
7.3.1. Case of enabling only stateless XLATE on CLAT | ||||
From the delegated DHCPv6 [RFC3633] prefix, a /64 is dedicated to | ||||
source and receive IPv6 packets associated with the stateless | ||||
translation [RFC6145]. | ||||
The CLAT MAY discover the Pref64::/n of the PLAT via some method such | ||||
as DHCPv6 option, TR-069, DNS APL RR [RFC3123] or | ||||
[I-D.ietf-behave-nat64-discovery-heuristic]. | ||||
7.3.2. Case of enabling NAT44 and stateless XLATE on CLAT | ||||
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 | ||||
have a dedicated IPv6 prefix for translation, the CLAT performs with | ||||
NAT44 and stateless translation [RFC6145]. | ||||
Incoming source IPv4 packets from the LAN of [RFC1918] addresses are | ||||
NAT44 to the CLAT IPv4 host address. Then, the CLAT will do a | ||||
stateless translation [RFC6145] so that the IPv4 packets from the | ||||
CLAT IPv4 host address are translated to the CLAT WAN IPv6 address as | ||||
described in [RFC6052]. | ||||
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 | ||||
interface ID (Section 10). | ||||
The CLAT MAY discover the Pref64::/n of the PLAT via some method such | ||||
as TR-069, DNS APL RR [RFC3123] or | ||||
[I-D.ietf-behave-nat64-discovery-heuristic]. | ||||
7.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.4. DNS Proxy Implementation | 7.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.5. IPv6 Prefix Handling | 7.6. CLAT in a Gateway | |||
From the delegated DHCPv6 [RFC3633] prefix, a /64 is dedicated to | ||||
source and receive IPv6 packets associated with the stateless | ||||
translation [RFC6145]. | ||||
In another cases where the access network does not allow for a | ||||
dedicated translation prefix, the CLAT will do NAT44 such that all | ||||
private IPv4 sourced LAN packets appears from one private IPv4 | ||||
address which is statelessly translated to one IPv6 address. | ||||
The CLAT MAY discover the Pref64::/n of the PLAT via some method such | ||||
as DHCPv6 option, TR-069, DNS APL RR [RFC3123] or | ||||
[I-D.ietf-behave-nat64-discovery-heuristic]. | ||||
7.6. Relationship between CLAT and NAT44 | ||||
If the CLAT does not have dedicated IPv6 prefix for translation, the | ||||
CLAT does NAT44 as an internal function which never appears on the | ||||
wire. | ||||
Incoming source IPv4 packets from the LAN of [RFC1918] addresses are | ||||
NAT44 to the CLAT host address on the LAN of one [RFC1918] address. | ||||
Then, the CLAT will do a stateless translation [RFC6145] so that the | ||||
IPv4 packets from one [RFC1918] address are translated to the CLAT | ||||
LAN IPv6 address as described in [RFC6052]. | ||||
7.7. 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.8. CLAT to CLAT communications | 7.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 | 8. 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 (another Internet access provider or Internet | the PLAT provider (e.g. another internet access provider), it can | |||
exchange provider, etc.), it can implement traffic engineering | implement traffic engineering independently from the PLAT provider. | |||
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 | |||
source address and IPv4 destination address from translated IPv6 | destination address from translated IPv6 packet header, so it can | |||
packet header, so it can implement traffic engineering based on | implement traffic engineering based on IPv4 destination address | |||
IPv4 source address and IPv4 destination address (e.g. traffic | (e.g. traffic monitoring for each IPv4 destination address, | |||
monitoring for each IPv4 destination address, packet filtering | packet filtering for each IPv4 destination address, etc.). The | |||
for each IPv4 destination address, etc.). The tunneling methods | tunneling methods do not have such a advantage, without any deep | |||
do not have such a advantage, without any deep packet inspection | packet inspection for processing the inner IPv4 packet of the | |||
for processing the inner IPv4 packet of the tunnel packet. | tunnel packet. | |||
2. If the Internet access provider for consumers can assign IPv6 | 2. If the Internet access provider for consumers can assign IPv6 | |||
prefix greater than /64 for each subscriber, this 464XLAT | prefix greater than /64 for each subscriber, this 464XLAT | |||
architecture can separate IPv6 prefix for native IPv6 packets and | architecture can separate IPv6 prefix for native IPv6 packets and | |||
XLAT prefix for IPv4/IPv6 translation packets. Accordingly, it | XLAT prefix for IPv4/IPv6 translation packets. Accordingly, it | |||
can identify the type of packets ("native IPv6 packets" and | can identify the type of packets ("native IPv6 packets" and | |||
"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, | |||
is a IPv4 -> IPv6 translation for reaching IPv6-only servers from | if combined with BIH [RFC6535], is a IPv4 -> IPv6 translation for | |||
IPv4-only clients that can not support IPv6. IPv4-only clients must | reaching IPv6-only servers from IPv4-only clients that can not | |||
be support through the long period of global transition to IPv6. | support IPv6. IPv4-only clients must be support through the long | |||
period of global transition to IPv6. | ||||
9. Security Considerations | 9. 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 | 10. IANA Considerations | |||
This document has no actions for IANA. | 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- | ||||
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 | ||||
taken in reserved or available values. | ||||
11. Acknowledgements | 11. 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, Remi Despres, Tatsuya | Asati, Washam Fan, Behcet Sarikaya, Jan Zorz, Tatsuya Oishi, Lorenzo | |||
Oishi, Lorenzo Colitti, Erik Kline, Ole Troan, Maoke Chen, and Gang | Colitti, Erik Kline, Ole Troan, Maoke Chen, and Gang Chen for their | |||
Chen for their helpful comments. We also would like to thank Fred | helpful comments. Special acknowledgments go to Remi Despres for his | |||
Baker and Joel Jaeggli for their support. | plentiful supports and suggestions, especially about using NAT44 with | |||
IANA's EUI-64 ID. We also would like to thank Fred Baker and Joel | ||||
Jaeggli for their support. | ||||
12. References | 12. References | |||
12.1. Normative References | 12.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, | |||
skipping to change at page 14, line 4 | skipping to change at page 15, line 8 | |||
[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-07 (work in | draft-ietf-behave-nat64-discovery-heuristic-09 (work in | |||
progress), March 2012. | progress), May 2012. | |||
[I-D.mdt-softwire-mapping-address-and-port] | ||||
Bao, C., Troan, O., Matsushima, S., Murakami, T., and X. | ||||
Li, "Mapping of Address and Port (MAP)", | ||||
draft-mdt-softwire-mapping-address-and-port-03 (work in | ||||
progress), January 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, | |||
December 2003. | December 2003. | |||
[RFC5342] Eastlake, D., "IANA Considerations and IETF Protocol Usage | ||||
for IEEE 802 Parameters", BCP 141, RFC 5342, | ||||
September 2008. | ||||
[RFC5625] Bellis, R., "DNS Proxy Implementation Guidelines", | [RFC5625] Bellis, R., "DNS Proxy Implementation Guidelines", | |||
BCP 152, RFC 5625, August 2009. | BCP 152, RFC 5625, August 2009. | |||
[RFC6092] Woodyatt, J., "Recommended Simple Security Capabilities in | [RFC6092] Woodyatt, J., "Recommended Simple Security Capabilities in | |||
Customer Premises Equipment (CPE) for Providing | Customer Premises Equipment (CPE) for Providing | |||
Residential IPv6 Internet Service", RFC 6092, | Residential IPv6 Internet Service", RFC 6092, | |||
January 2011. | January 2011. | |||
[RFC6147] Bagnulo, M., Sullivan, A., Matthews, P., and I. van | [RFC6147] Bagnulo, M., Sullivan, A., Matthews, P., and I. van | |||
Beijnum, "DNS64: DNS Extensions for Network Address | Beijnum, "DNS64: DNS Extensions for Network Address | |||
Translation from IPv6 Clients to IPv4 Servers", RFC 6147, | Translation from IPv6 Clients to IPv4 Servers", RFC 6147, | |||
April 2011. | April 2011. | |||
[RFC6333] Durand, A., Droms, R., Woodyatt, J., and Y. Lee, "Dual- | ||||
Stack Lite Broadband Deployments Following IPv4 | ||||
Exhaustion", RFC 6333, August 2011. | ||||
[RFC6459] Korhonen, J., Soininen, J., Patil, B., Savolainen, T., | [RFC6459] Korhonen, J., Soininen, J., Patil, B., Savolainen, T., | |||
Bajko, G., and K. Iisakkila, "IPv6 in 3rd Generation | Bajko, G., and K. Iisakkila, "IPv6 in 3rd Generation | |||
Partnership Project (3GPP) Evolved Packet System (EPS)", | Partnership Project (3GPP) Evolved Packet System (EPS)", | |||
RFC 6459, January 2012. | RFC 6459, January 2012. | |||
[RFC6586] Arkko, J. and A. Keranen, "Experiences from an IPv6-Only | [RFC6535] Huang, B., Deng, H., and T. Savolainen, "Dual-Stack Hosts | |||
Network", RFC 6586, April 2012. | Using "Bump-in-the-Host" (BIH)", RFC 6535, February 2012. | |||
Appendix A. Examples of IPv4/IPv6 Address Translation | ||||
The following are examples of IPv4/IPv6 Address Translation on the | ||||
464XLAT architecture. | ||||
Example 1. (Case of enabling only stateless XLATE on CLAT) | ||||
In the case that IPv6 prefix greater than /64 is assigned to end | ||||
users by such as DHCPv6-PD [RFC3633], only the function of Stateless | ||||
XLATE should be enabled on CLAT. Because the CLAT can use dedicated | ||||
a /64 from the assigned IPv6 prefix for Stateless XLATE. | ||||
Host & configuration value | ||||
+------------------------------+ | ||||
| IPv4 server | | ||||
| [198.51.100.1] | IP packet header | ||||
+------------------------------+ +--------------------------------+ | ||||
^ | Source IP address | | ||||
| | [192.0.2.1] | | ||||
| | Destination IP address | | ||||
| | [198.51.100.1] | | ||||
+------------------------------+ +--------------------------------+ | ||||
| PLAT | ^ | ||||
| IPv4 pool address | | | ||||
| [192.0.2.1 - 192.0.2.100] | | | ||||
| PLAT-side XLATE IPv6 prefix | | | ||||
| [2001:db8:1234::/96] | | | ||||
+------------------------------+ +--------------------------------+ | ||||
^ | Source IP address | | ||||
| | [2001:db8:aaaa::192.168.1.2] | | ||||
| | Destination IP address | | ||||
| | [2001:db8:1234::198.51.100.1] | | ||||
+------------------------------+ +--------------------------------+ | ||||
| CLAT | ^ | ||||
| PLAT-side XLATE IPv6 prefix | | | ||||
| [2001:db8:1234::/96] | | | ||||
| CLAT-side XLATE IPv6 prefix | | | ||||
| [2001:db8:aaaa::/96] | | | ||||
+------------------------------+ +--------------------------------+ | ||||
^ | Source IP address | | ||||
| | [192.168.1.2] | | ||||
| | Destination IP address | | ||||
| | [198.51.100.1] | | ||||
+------------------------------+ +--------------------------------+ | ||||
| IPv4 client | | ||||
| [192.168.1.2/24] | | ||||
+------------------------------+ | ||||
Delegated IPv6 prefix for client: 2001:db8:aaaa::/56 | ||||
Example 1. (Case of enabling only stateless XLATE on CLAT) | ||||
Example 2. (Case of enabling NAT44 and stateless XLATE on CLAT) | ||||
In the case that IPv6 prefix /64 is assigned to end users, the | ||||
function of NAT44 and Stateless XLATE should be enabled on CLAT. | ||||
Because the CLAT does not have dedicated IPv6 prefix for translation. | ||||
Host & configuration value | ||||
+-------------------------------+ | ||||
| IPv4 server | | ||||
| [198.51.100.1] | IP packet header | ||||
+-------------------------------+ +-------------------------------+ | ||||
^ | Source IP address | | ||||
| | [192.0.2.1] | | ||||
| | Destination IP address | | ||||
| | [198.51.100.1] | | ||||
+-------------------------------+ +-------------------------------+ | ||||
| PLAT | ^ | ||||
| IPv4 pool address | | | ||||
| [192.0.2.1 - 192.0.2.100] | | | ||||
| PLAT-side XLATE IPv6 prefix | | | ||||
| [2001:db8:1234::/96] | | | ||||
+-------------------------------+ +-------------------------------+ | ||||
^ | Source IP address | | ||||
| | [2001:db8:aaaa:200:5e10:0:0] | | ||||
| | Destination IP address | | ||||
| | [2001:db8:1234::198.51.100.1] | | ||||
| +-------------------------------+ | ||||
+-------------------------------+ ^ | ||||
| CLAT Stateless XLATE function | | | ||||
| - - - - - - - - - - - - - - - | | | ||||
| PLAT-side XLATE IPv6 prefix | | | ||||
| [2001:db8:1234::/96] | | | ||||
| CLAT-side XLATE IPv6 prefix | | | ||||
| [2001:db8:aaaa::/64] | | | ||||
| CLAT-side XLATE IPv6 EUI-64 ID| | | ||||
| [02-00-5E-10-00-00-00-00] | | | ||||
+ - - - - - - - - - - - - - - - + +-------------------------------+ | ||||
| ^ | | Source IP address | | ||||
| | | | [10.255.255.1] | | ||||
| | | | Destination IP address | | ||||
| | | | [198.51.100.1] | | ||||
+ - - - - - - - - - - - - - - - + +-------------------------------+ | ||||
| CLAT NAT44 function | ^ | ||||
| - - - - - - - - - - - - - - - | | | ||||
| NAT44 NATed address | | | ||||
| [10.255.255.1/32] | | | ||||
+-------------------------------+ | | ||||
^ +-------------------------------+ | ||||
| | Source IP address | | ||||
| | [192.168.1.2] | | ||||
| | Destination IP address | | ||||
| | [198.51.100.1] | | ||||
+-------------------------------+ +-------------------------------+ | ||||
| IPv4 client | | ||||
| [192.168.1.2/24] | | ||||
+-------------------------------+ | ||||
Delegated IPv6 prefix for client: 2001:db8:aaaa::/64 | ||||
Example 2. (Case of enabling NAT44 and stateless XLATE on CLAT) | ||||
Authors' Addresses | Authors' Addresses | |||
Masataka Mawatari | Masataka Mawatari | |||
Japan Internet Exchange Co.,Ltd. | Japan Internet Exchange Co.,Ltd. | |||
KDDI Otemachi Building 19F, 1-8-1 Otemachi, | KDDI Otemachi Building 19F, 1-8-1 Otemachi, | |||
Chiyoda-ku, Tokyo 100-0004 | Chiyoda-ku, Tokyo 100-0004 | |||
JAPAN | JAPAN | |||
Phone: +81 3 3243 9579 | Phone: +81 3 3243 9579 | |||
End of changes. 43 change blocks. | ||||
237 lines changed or deleted | 338 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/ |