draft-ietf-v6ops-464xlat-00.txt | draft-ietf-v6ops-464xlat-01.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: Informational M. Kawashima | Intended status: Informational M. Kawashima | |||
Expires: August 18, 2012 NEC AccessTechnica, Ltd. | Expires: September 13, 2012 NEC AccessTechnica, Ltd. | |||
C. Byrne | C. Byrne | |||
T-Mobile USA | T-Mobile USA | |||
February 15, 2012 | March 12, 2012 | |||
464XLAT: Combination of Stateful and Stateless Translation | 464XLAT: Combination of Stateful and Stateless Translation | |||
draft-ietf-v6ops-464xlat-00 | draft-ietf-v6ops-464xlat-01 | |||
Abstract | Abstract | |||
This document describes an architecture (464XLAT) for providing IPv4 | This document describes an architecture (464XLAT) for providing | |||
connectivity across an IPv6-only network by combining existing and | limited IPv4 connectivity across an IPv6-only network by combining | |||
well-known stateful protocol translation RFC 6146 in the core and | existing and well-known stateful protocol translation RFC 6146 in the | |||
stateless protocol translation RFC 6145 at the edge. 464XLAT is a | core and stateless protocol translation RFC 6145 at the edge. 464XLAT | |||
simple and scalable technique to quickly deploy IPv4 access service | is a simple and scalable technique to quickly deploy limited IPv4 | |||
to mobile and wireline IPv6-only edge networks without encapsulation. | access service to mobile and wireline IPv6-only edge networks without | |||
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 August 18, 2012. | This Internet-Draft will expire on September 13, 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. Terminology . . . . . . . . . . . . . . . . . . . . . . . . . 3 | |||
3. Terminology . . . . . . . . . . . . . . . . . . . . . . . . . 3 | 3. Motivation and Uniqueness of 464XLAT . . . . . . . . . . . . . 4 | |||
4. Motivation and Uniqueness of 464XLAT . . . . . . . . . . . . . 4 | 4. Network Architecture . . . . . . . . . . . . . . . . . . . . . 5 | |||
5. Network Architecture . . . . . . . . . . . . . . . . . . . . . 5 | 4.1. Wireline Network Architecture . . . . . . . . . . . . . . 6 | |||
5.1. Wireline Network Architecture . . . . . . . . . . . . . . 6 | 4.2. Wireless 3GPP Network Architecture . . . . . . . . . . . . 7 | |||
5.2. Wireless 3GPP Network Architecture . . . . . . . . . . . . 7 | 5. Applicability . . . . . . . . . . . . . . . . . . . . . . . . 7 | |||
6. Applicability . . . . . . . . . . . . . . . . . . . . . . . . 7 | 5.1. Wireline Network Applicability . . . . . . . . . . . . . . 7 | |||
6.1. Wireline Network Applicability . . . . . . . . . . . . . . 7 | 5.2. Wireless 3GPP Network Applicability . . . . . . . . . . . 8 | |||
6.2. Wireless 3GPP Network Applicability . . . . . . . . . . . 8 | 6. Implementation Considerations . . . . . . . . . . . . . . . . 9 | |||
7. Implementation Considerations . . . . . . . . . . . . . . . . 9 | 6.1. IPv6 Address Format . . . . . . . . . . . . . . . . . . . 9 | |||
7.1. IPv6 Address Format . . . . . . . . . . . . . . . . . . . 9 | 6.2. IPv4/IPv6 Address Translation Chart . . . . . . . . . . . 10 | |||
7.2. IPv4/IPv6 Address Translation Chart . . . . . . . . . . . 10 | 6.3. Traffic Treatment Scenarios . . . . . . . . . . . . . . . 11 | |||
7.3. Traffic Treatment Scenarios . . . . . . . . . . . . . . . 11 | 6.4. DNS Proxy Implementation . . . . . . . . . . . . . . . . . 11 | |||
7.4. DNS Proxy Implementation . . . . . . . . . . . . . . . . . 11 | 6.5. IPv6 Prefix Handling . . . . . . . . . . . . . . . . . . . 11 | |||
7.5. IPv6 Prefix Handling . . . . . . . . . . . . . . . . . . . 11 | 6.6. CLAT in a Gateway . . . . . . . . . . . . . . . . . . . . 12 | |||
7.6. IPv6 Fragment Header Consideration . . . . . . . . . . . . 12 | 6.7. CLAT to CLAT communications . . . . . . . . . . . . . . . 12 | |||
7.7. CLAT in a Gateway . . . . . . . . . . . . . . . . . . . . 12 | 7. Deployment Considerations . . . . . . . . . . . . . . . . . . 12 | |||
7.8. CLAT to CLAT communications . . . . . . . . . . . . . . . 12 | 8. Security Considerations . . . . . . . . . . . . . . . . . . . 13 | |||
8. Deployment Considerations . . . . . . . . . . . . . . . . . . 12 | 9. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 13 | |||
9. Security Considerations . . . . . . . . . . . . . . . . . . . 13 | 10. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . . 13 | |||
10. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 13 | 11. References . . . . . . . . . . . . . . . . . . . . . . . . . . 13 | |||
11. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . . 13 | 11.1. Normative References . . . . . . . . . . . . . . . . . . . 13 | |||
12. References . . . . . . . . . . . . . . . . . . . . . . . . . . 13 | 11.2. Informative References . . . . . . . . . . . . . . . . . . 14 | |||
12.1. Normative References . . . . . . . . . . . . . . . . . . . 13 | ||||
12.2. Informative References . . . . . . . . . . . . . . . . . . 14 | ||||
Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . . 15 | Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . . 15 | |||
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 mobile devices, smart-grid, and cloud nodes. | |||
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. | deployment. 464XLAT is not a one for one replacement of full IPv4 | |||
functionality. The 464XLAT IPv4 service is limited to application | ||||
that function in a client server model and is not fit for IPv4 peer- | ||||
to-peer communication or inbound IPv4 connections. | ||||
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], but it may use DNS64 to enable single | require DNS64 [RFC6147] since a host may simply send IPv4 packets, | |||
stateful translation [RFC6146] instead of 464XLAT double translation | including packets to an IPv4 DNS server, which will be translated on | |||
where possible. It is also possible to provide single IPv4/IPv6 | the CLAT to IPv6 and back to IPv4 on the PLAT. 464XLAT networks may | |||
translation service, which will be needed in the future case of IPv6- | use DNS64 to enable single stateful translation [RFC6146] instead of | |||
only servers and peers to be reached from legacy IPv4-only hosts. | 464XLAT double translation where possible. It is also possible to | |||
The 464XLAT architecture encourages IPv6 transition by making IPv4 | provide single IPv4/IPv6 translation service, which will be needed in | |||
services reachable across IPv6-only networks and providing IPv6 and | the future case of IPv6-only servers and peers to be reached from | |||
IPv4 connectivity to single-stack IPv4 or IPv6 servers and peers. | legacy IPv4-only hosts. The 464XLAT architecture encourages IPv6 | |||
transition by making IPv4 services reachable across IPv6-only | ||||
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 | Running a single-stack IPv6-only network has several operational | |||
benefits in terms of increasing scalability and decreasing | benefits in terms of increasing scalability and decreasing | |||
operational complexity. Unfortunately, there are important cases | operational complexity. Unfortunately, there are important cases | |||
where IPv6-only networks fail to meet subscriber expectations, as | where IPv6-only networks fail to meet subscriber expectations, as | |||
described in [I-D.arkko-ipv6-only-experience]. The 464XLAT overcomes | described in [I-D.arkko-ipv6-only-experience]. The 464XLAT overcomes | |||
the issues described in [I-D.arkko-ipv6-only-experience] to provide | the issues described in [I-D.arkko-ipv6-only-experience] to provide | |||
subscribers the full dual-stack functionality while providing the | subscribers the full IPv6 and limited IPv4 functionality while | |||
network operator the benefits of a simple yet highly scalable single- | providing the network operator the benefits of a simple yet highly | |||
stack IPv6 network. | scalable single-stack IPv6 network. | |||
2. Requirements Language | ||||
The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", | ||||
"SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this | ||||
document are to be interpreted as described in [RFC2119]. | ||||
3. Terminology | 2. 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 | |||
translation even if it is an end-node. In addition to | translation even if it is an end-node. In addition to | |||
stateless translation, the CLAT as a common home router or 3G | stateless translation, the CLAT as a common home router or 3G | |||
router is expected to perform gateway functions such as DHCP | router is expected to perform gateway functions such as DHCP | |||
server and DNS proxy for local clients. | server and DNS proxy for local clients. | |||
UE: The 3GPP term for user equipment. The most common type of UE | UE: The 3GPP term for user equipment. The most common type of UE | |||
is a mobile phone. | is a mobile phone. | |||
PDP: A Packet Data Protocol (PDP) Context is the equivalent of a | PDP: A Packet Data Protocol (PDP) Context is the equivalent of a | |||
virtual connection between the host and a gateway. | virtual connection between the host and a gateway. | |||
4. Motivation and Uniqueness of 464XLAT | 3. Motivation and Uniqueness of 464XLAT | |||
1. Minimal IPv4 resource requirements | ||||
464XLAT is the most efficient use of scarce IPv4 addresses for | 1. Minimal IPv4 resource requirements, maximum IPv4 efficiency | |||
networks that have fast growing edges. The primary motivation | ||||
for deploying IPv6 is the exhaustion of IPv4 addresses and the | ||||
risk that exhaustion poses to future internet growth. 464XLAT | ||||
directly takes on the challenge of IPv4 address exhaustion by | ||||
providing efficient stateful IPv4 address sharing at the PLAT and | ||||
decoupling the edge network growth from the availability of | ||||
scarce IPv4 addresses. | ||||
464XLAT has low barriers to entry since only a small amount of | 464XLAT has low barriers to entry since only a small amount of | |||
IPv4 addresses are needed to support the stateful translation | IPv4 addresses are needed to support the stateful translation | |||
[RFC6146] function in the PLAT. | [RFC6146] function in the PLAT. With port-overloading, one IPv4 | |||
address can support millions of simultaneous translations. | ||||
Given that network operators are deploying IPv6 because IPv4 | Given that network operators are deploying IPv6-only access | |||
resources are scarce, solutions that require dual-stack (no IPv4 | networks because IPv4 resources are scarce, solutions that | |||
multiplexing) or stateless address sharing (bounded static | require dual-stack (no IPv4 multiplexing) or stateless address | |||
address multiplexing) are simply not IPv4-efficient enough to | sharing (bounded static address multiplexing) are simply not | |||
solve the two-pronged challenge of increasing IPv4 address | IPv4-efficient enough to solve the two-pronged challenge of | |||
scarcity and continued exponential network edge growth. | increasing IPv4 address scarcity and continued exponential | |||
network edge growth for network operators. | ||||
2. No new protocols required | 2. No new protocols required, quick deployment | |||
464XLAT can be deployed today, it uses existing RFCs ([RFC6145] | 464XLAT can be deployed today, it uses existing RFCs ([RFC6145] | |||
and [RFC6146]), and there exists implementations for both | and [RFC6146]), and there exists implementations for both | |||
wireline network (CLAT in the home router) and wireless 3GPP | wireline networks (CLAT in the home router) and wireless 3GPP | |||
network (CLAT in the UE). The ability to quickly deploy 464XLAT | networks (CLAT in the UE). The ability to quickly deploy 464XLAT | |||
is a critical feature given the urgency of IPv4 exhaustion and | is a critical feature given the urgency of IPv4 exhaustion and | |||
brisk pace of internet growth. | brisk pace of internet growth. | |||
3. Cost-effective transition to IPv6 | 3. Cost-effective transition to IPv6 | |||
When combined with DNS64 [RFC6147], the 464XLAT architecture only | When combined with DNS64 [RFC6147], the 464XLAT architecture only | |||
requires double translation in the case of IPv4-referrals or | requires double translation in the case of IPv4-referrals or | |||
IPv4-only socket calls. Consequently, the network traffic in the | IPv4-only socket calls. Consequently, the network traffic in the | |||
ISP backbone network is predominately IPv6 end-to-end or single | ISP backbone network is predominately IPv6 end-to-end or single | |||
translation. This is especially cost-effective in wireless 3GPP | translation. This is especially cost-effective in wireless 3GPP | |||
GSM and UMTS networks that would otherwise require two separate | GSM and UMTS networks that would otherwise require two separate | |||
PDP connections to support IPv4 and IPv6. | PDP connections to support IPv4 and IPv6. | |||
While translation on the CLAT is not always used, the CLAT | While translation on the CLAT is not always used, the CLAT | |||
function is crucial for enabling the IPv4-only applications and | function is crucial for enabling the IPv4-only applications. All | |||
providing IP address family service parity to the end-users. All | ||||
IPv6-native flows pass end-to-end without any translation. This | IPv6-native flows pass end-to-end without any translation. This | |||
is a beneficial solution for end-users, content providers, and | is a beneficial solution for end-users, content providers, and | |||
network operators that scale best with end-to-end IPv6 | network operators that scale best with end-to-end IPv6 | |||
communication. | communication. | |||
In summary, the 464XLAT architecture works today for service | In summary, the 464XLAT architecture works today for service | |||
providers that require large-scale strategic IPv6 deployments to | providers that require large-scale strategic IPv6 deployments to | |||
overcome the challenges of IPv4 address scarcity. Unlike other | overcome the challenges of IPv4 address scarcity. Since 464XLAT is | |||
transition architectures associated with tunneling or | stateful, there is no tight coupling or IPv4 address coordination | |||
[I-D.mdt-softwire-mapping-address-and-port], 464XLAT properly assumes | between the PLAT and the CLAT. Unlike other transition architectures | |||
that IPv4 is scarce and IPv6 must work with today's existing systems | associated with tunneling or | |||
as much as possible. In the case of tunneling, the tunneling | [I-D.mdt-softwire-mapping-address-and-port], 464XLAT assumes that | |||
solutions like Dual-Stack Lite [RFC6333] are known to break existing | IPv4 is scarce and IPv6 must work with today's existing systems as | |||
network based deep packet inspection solutions like 3GPP standardized | much as possible. In the case of tunneling, the tunneling solutions | |||
Policy and Charging Control (PCC). 464XLAT does not require much IPv4 | 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 | address space to enable the stateful translation [RFC6146] function | |||
in the PLAT while providing global IPv4 and IPv6 reachability to | in the PLAT while providing global IPv4 and IPv6 reachability to | |||
IPv6-only wireline and wireless subscribers. | IPv6-only wireline and wireless subscribers. | |||
5. Network Architecture | 4. Network Architecture | |||
464XLAT architecture is shown in the following figure. | 464XLAT architecture is shown in the following figure. | |||
5.1. Wireline Network Architecture | 4.1. Wireline Network Architecture | |||
---- | ---- | |||
| v6 | | | v6 | | |||
---- | ---- | |||
| | | | |||
---- | .---+---. .------. | ---- | .---+---. .------. | |||
| v6 |-----+ / \ / \ | | v6 |-----+ / \ / \ | |||
---- | ------ / IPv6 \ ------ / IPv4 \ | ---- | ------ / IPv6 \ ------ / IPv4 \ | |||
+---| CLAT |---+ Internet +---| PLAT |---+ Internet | | +---| CLAT |---+ Internet +---| PLAT |---+ Internet | | |||
------- | ------ \ / ------ \ / | ------- | ------ \ / ------ \ / | |||
skipping to change at page 7, line 5 | skipping to change at page 7, line 5 | |||
----- | ----- | ----- | ----- | |||
<- 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 | 4.2. Wireless 3GPP Network Architecture | |||
---- | ---- | |||
| v6 | | | v6 | | |||
---- | ---- | |||
| | | | |||
.---+---. | .---+---. | |||
/ \ | / \ | |||
/ IPv6 \ | / IPv6 \ | |||
| Internet | | | Internet | | |||
\ / | \ / | |||
skipping to change at page 7, line 37 | skipping to change at page 7, 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 2: Wireless 3GPP Network Topology | Figure 2: Wireless 3GPP Network Topology | |||
6. Applicability | 5. Applicability | |||
6.1. Wireline Network Applicability | 5.1. Wireline Network Applicability | |||
When an ISP has IPv6 access network infrastructure and 464XLAT, the | When an ISP has IPv6 access network infrastructure and 464XLAT, the | |||
ISP can provide IPv4 service to end users across an IPv6 access | ISP can provide IPv4 service to end users across an IPv6 access | |||
network. The result is that edge network growth is no longer tightly | network. The result is that edge network growth is no longer tightly | |||
coupled to the availability of scarce IPv4 addresses. | coupled to the 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 ISP is only | |||
required to deploy an IPv6 access network. All ISPs do not need IPv4 | required to deploy an IPv6 access network. All ISPs do not need IPv4 | |||
access networks. They can migrate their access network to a simple | access networks. They can migrate their access network to a simple | |||
and highly scalable IPv6-only environment. Incidentally, Japan | and highly scalable IPv6-only environment. Incidentally, Japan | |||
Internet Exchange(JPIX) is providing 464XLAT trial service since July | Internet Exchange(JPIX) is providing 464XLAT trial service since July | |||
2010. | 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 | 5.2. Wireless 3GPP Network Applicability | |||
The vast majority of mobile wireless networks are compliant to Pre- | The vast majority of mobile wireless networks are compliant to Pre- | |||
Release 9 3GPP standards. In Pre-Release 9 3GPP networks, GSM and | Release 9 3GPP standards. In Pre-Release 9 3GPP networks, GSM and | |||
UMTS networks must signal and support both IPv4 and IPv6 PDP | UMTS networks must signal and support both IPv4 and IPv6 PDP | |||
attachments to access IPv4 and IPv6 network destinations. Since | attachments to access IPv4 and IPv6 network destinations. Since | |||
there are 2 PDPs required to support 2 address families, this is | 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 | double the number of PDPs required to support the status quo of 1 | |||
address family, which is IPv4. Doubling the PDP count to support | address family, which is IPv4. Doubling the PDP count to support | |||
IPv4 and IPv6 is generally not operationally viable since a large | IPv4 and IPv6 is generally not operationally viable since a large | |||
portion of the network cost is derived from the number of PDP | portion of the network cost is derived from the number of PDP | |||
skipping to change at page 9, line 8 | skipping to change at page 9, line 10 | |||
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 | |||
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]. | |||
7. Implementation Considerations | 6. Implementation Considerations | |||
7.1. IPv6 Address Format | 6.1. IPv6 Address Format | |||
IPv6 address format in 464XLAT is presented in the following format. | IPv6 address format in 464XLAT is presented in the following format. | |||
+-----------------------------------------------+---------------+ | +-----------------------------------------------+---------------+ | |||
| XLAT prefix(96) | IPv4(32) | | | XLAT prefix(96) | IPv4(32) | | |||
+-----------------------------------------------+---------------+ | +-----------------------------------------------+---------------+ | |||
IPv6 Address Format for 464XLAT | IPv6 Address Format for 464XLAT | |||
Source address and destination address have IPv4 address embedded in | Source address and destination address have IPv4 address embedded in | |||
the low-order 32 bits of the IPv6 address. The format is defined in | the low-order 32 bits of the IPv6 address. The format is defined in | |||
Section 2.2 of [RFC6052]. However, 464XLAT does not use the Well- | Section 2.2 of [RFC6052]. However, 464XLAT does not use the Well- | |||
Known IPv6 Prefix "64:ff9b::/96". | Known IPv6 Prefix "64:ff9b::/96". | |||
7.2. IPv4/IPv6 Address Translation Chart | 6.2. IPv4/IPv6 Address Translation Chart | |||
Source IPv4 address | Source IPv4 address | |||
+----------------------------+ | +----------------------------+ | |||
| Global IPv4 (32bit) | | | Global IPv4 (32bit) | | |||
| assigned to IPv4 pool@PLAT | | | assigned to IPv4 pool@PLAT | | |||
+--------+ +----------------------------+ | +--------+ +----------------------------+ | |||
| IPv4 | Destination IPv4 address | | IPv4 | Destination IPv4 address | |||
| server | +----------------------------+ | | server | +----------------------------+ | |||
+--------+ | Global IPv4 (32bit) | | +--------+ | Global IPv4 (32bit) | | |||
^ | assigned to IPv4 server | | ^ | assigned to IPv4 server | | |||
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 (32bit) | | | Global IPv4 (32bit) | | |||
| assigned to IPv4 server | | | assigned to IPv4 server | | |||
+----------------------------+ | +----------------------------+ | |||
IPv4/IPv6 Address Translation Chart | IPv4/IPv6 Address Translation Chart | |||
7.3. Traffic Treatment Scenarios | 6.3. 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 | 6.4. DNS Proxy Implementation | |||
The case of an IPv4-only node behind CLAT querying an IPv4 DNS server | The case of an IPv4-only node behind CLAT querying an IPv4 DNS server | |||
is undesirable since it requires both stateful and stateless | is undesirable since it requires both stateful and stateless | |||
translation for each DNS lookup. The CLAT SHOULD set itself as the | translation 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 | DNS server 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 | IPv6 clients. Using the CLAT enabled home router or UE as a DNS | |||
proxy is a normal consume gateway function and simplifies the traffic | proxy is a normal consume gateway function and simplifies the traffic | |||
flow so that only IPv6 native queries are made across the access | flow so that only IPv6 native queries are made across the access | |||
network. The CLAT SHOULD allow for a client to query any DNS server | network. The CLAT should allow for a client to query any DNS server | |||
of its choice and bypass the proxy. | of its choice and bypass the proxy. | |||
7.5. IPv6 Prefix Handling | 6.5. IPv6 Prefix Handling | |||
In the best case, the CLAT will have a dedicated /64 via DHCPv6 or | In the best case, the CLAT will have a dedicated /64 via DHCPv6 or | |||
other means to source and receive IPv6 packets associated with the | other means to source and receive IPv6 packets associated with the | |||
[RFC6145] stateless translation of IPv4 packets to the local clients. | [RFC6145] stateless translation of IPv4 packets to the local clients. | |||
In cases where the access network does not allow for a dedicated | In suboptimal cases where the access network does not allow for a | |||
translation prefix, the CLAT SHOULD take ownership of the lowest /96 | dedicated translation prefix, CLAT may take ownership of a /96 from | |||
from an attached interface's /64 to source and receive translation | an attached interface's /64 to source and receive translation | |||
traffic. Establishing ownership of the /96 requires that the CLAT | traffic. If this case, the CLAT should actively avoid LAN address | |||
SHOULD perform NDP so that no other nodes on the /64 may use the | conflicts for this claimed /96. Alternatively, the CLAT may do NAT44 | |||
lowest /96. This will be the case for 3G phones on IPv6-only | such that all private IPv4 sourced LAN packets appears from one | |||
networks that do not yet support DHCPv6 prefix delegation or the case | private IPv4 address which is statelessly translated to one IPv6 | |||
for some wireline environments that can only receive RA. | address that the CLAT will own as a host IPv6 address from an IPv6 | |||
/64 interface. | ||||
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, 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.6. IPv6 Fragment Header Consideration | 6.6. CLAT in a Gateway | |||
In the 464XLAT environment, the PLAT and CLAT SHOULD include an IPv6 | ||||
Fragment Header, since IPv4 host does not set the DF bit. However, | ||||
the IPv6 Fragment Header has been shown to cause operational | ||||
difficulties in practice due to limited firewall fragmentation | ||||
support, etc. Therefore, the PLAT and CLAT may provide a | ||||
configuration function that allows the PLAT and CLAT not to include | ||||
the Fragment Header for the non-fragmented IPv6 packets. The | ||||
function provide a configuration function to adjust minimum IPv6 MTU, | ||||
or can configure whether it include the Fragment Header. At any | ||||
rate, both behaviors SHOULD match. | ||||
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 | 6.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 | 7. 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 (another Internet access provider or Internet | |||
exchange provider, etc.), it can implement traffic engineering | exchange provider, etc.), it can implement traffic engineering | |||
independently from the PLAT provider. Detailed reasons are below: | independently from the PLAT provider. 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 | source address and IPv4 destination address from translated IPv6 | |||
packet header, so it can implement traffic engineering based on | packet header, so it can implement traffic engineering based on | |||
IPv4 source address and IPv4 destination address (e.g. traffic | IPv4 source address and IPv4 destination address (e.g. traffic | |||
skipping to change at page 13, line 21 | skipping to change at page 13, line 8 | |||
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 | is a IPv4 -> IPv6 translation for reaching IPv6-only servers from | |||
IPv4-only clients that can not support IPv6. IPv4-only clients must | IPv4-only clients that can not support IPv6. IPv4-only clients must | |||
be support through the long period of global transition to IPv6. | be support through the long period of global transition to IPv6. | |||
9. Security Considerations | 8. 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 | 9. IANA Considerations | |||
This document has no actions for IANA. | This document has no actions for IANA. | |||
11. Acknowledgements | 10. 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 and Behcet Sarikaya for their helpful comments. We | Asati, Washam Fan, Behcet Sarikaya, Jan Zorz, Remi Despres, Tatsuya | |||
also would like to thank Fred Baker and Joel Jaeggli for their | Oishi, Lorenzo Colitti, and Erik Kline for their helpful comments. | |||
We also would like to thank Fred Baker and Joel Jaeggli for their | ||||
support. | support. | |||
12. References | 11. References | |||
12.1. Normative References | ||||
[RFC2119] Bradner, S., "Key words for use in RFCs to Indicate | 11.1. Normative References | |||
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 | 11.2. Informative References | |||
[I-D.arkko-ipv6-only-experience] | [I-D.arkko-ipv6-only-experience] | |||
Arkko, J. and A. Keranen, "Experiences from an IPv6-Only | Arkko, J. and A. Keranen, "Experiences from an IPv6-Only | |||
Network", draft-arkko-ipv6-only-experience-05 (work in | Network", draft-arkko-ipv6-only-experience-05 (work in | |||
progress), February 2012. | progress), February 2012. | |||
[I-D.hazeyama-widecamp-ipv6-only-experience] | ||||
Hazeyama, H., Hiromi, R., Ishihara, T., and O. Nakamura, | ||||
"Experiences from IPv6-Only Networks with Transition | ||||
Technologies in the WIDE Camp Spring 2012", | ||||
draft-hazeyama-widecamp-ipv6-only-experience-01 (work in | ||||
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 a | Savolainen, T., Korhonen, J., and D. Wing, "Discovery of | |||
Network-Specific NAT64 Prefix using a Well-Known Name", | IPv6 Prefix Used for IPv6 Address Synthesis", | |||
draft-ietf-behave-nat64-discovery-heuristic-05 (work in | draft-ietf-behave-nat64-discovery-heuristic-06 (work in | |||
progress), January 2012. | progress), March 2012. | |||
[I-D.mdt-softwire-mapping-address-and-port] | [I-D.mdt-softwire-mapping-address-and-port] | |||
Troan, O., Matsushima, S., Murakami, T., Li, X., and C. | Bao, C., Troan, O., Matsushima, S., Murakami, T., and X. | |||
Bao, "Mapping of Address and Port (MAP)", | Li, "Mapping of Address and Port (MAP)", | |||
draft-mdt-softwire-mapping-address-and-port-03 (work in | draft-mdt-softwire-mapping-address-and-port-03 (work in | |||
progress), January 2012. | 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 | ||||
(APL RR)", RFC 3123, June 2001. | ||||
[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. | |||
End of changes. 54 change blocks. | ||||
147 lines changed or deleted | 137 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/ |