draft-ietf-v6ops-464xlat-01.txt   draft-ietf-v6ops-464xlat-02.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: BCP M. Kawashima
Expires: September 13, 2012 NEC AccessTechnica, Ltd. Expires: October 19, 2012 NEC AccessTechnica, Ltd.
C. Byrne C. Byrne
T-Mobile USA T-Mobile USA
March 12, 2012 April 17, 2012
464XLAT: Combination of Stateful and Stateless Translation 464XLAT: Combination of Stateful and Stateless Translation
draft-ietf-v6ops-464xlat-01 draft-ietf-v6ops-464xlat-02
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 mobile and wireline IPv6-only edge networks without
encapsulation. encapsulation.
skipping to change at page 1, line 39 skipping to change at page 1, line 39
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 September 13, 2012. This Internet-Draft will expire on October 19, 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. Terminology . . . . . . . . . . . . . . . . . . . . . . . . . 3 2. Requirements Language . . . . . . . . . . . . . . . . . . . . 3
3. Motivation and Uniqueness of 464XLAT . . . . . . . . . . . . . 4 3. Terminology . . . . . . . . . . . . . . . . . . . . . . . . . 4
4. Network Architecture . . . . . . . . . . . . . . . . . . . . . 5 4. Motivation and Uniqueness of 464XLAT . . . . . . . . . . . . . 4
4.1. Wireline Network Architecture . . . . . . . . . . . . . . 6 5. Network Architecture . . . . . . . . . . . . . . . . . . . . . 5
4.2. Wireless 3GPP Network Architecture . . . . . . . . . . . . 7 5.1. Wireline Network Architecture . . . . . . . . . . . . . . 6
5. Applicability . . . . . . . . . . . . . . . . . . . . . . . . 7 5.2. Wireless 3GPP Network Architecture . . . . . . . . . . . . 7
5.1. Wireline Network Applicability . . . . . . . . . . . . . . 7 6. Applicability . . . . . . . . . . . . . . . . . . . . . . . . 7
5.2. Wireless 3GPP Network Applicability . . . . . . . . . . . 8 6.1. Wireline Network Applicability . . . . . . . . . . . . . . 7
6. Implementation Considerations . . . . . . . . . . . . . . . . 9 6.2. Wireless 3GPP Network Applicability . . . . . . . . . . . 8
6.1. IPv6 Address Format . . . . . . . . . . . . . . . . . . . 9 7. Implementation Considerations . . . . . . . . . . . . . . . . 9
6.2. IPv4/IPv6 Address Translation Chart . . . . . . . . . . . 10 7.1. IPv6 Address Format . . . . . . . . . . . . . . . . . . . 9
6.3. Traffic Treatment Scenarios . . . . . . . . . . . . . . . 11 7.2. IPv4/IPv6 Address Translation Chart . . . . . . . . . . . 9
6.4. DNS Proxy Implementation . . . . . . . . . . . . . . . . . 11 7.3. Traffic Treatment Scenarios . . . . . . . . . . . . . . . 10
6.5. IPv6 Prefix Handling . . . . . . . . . . . . . . . . . . . 11 7.4. DNS Proxy Implementation . . . . . . . . . . . . . . . . . 11
6.6. CLAT in a Gateway . . . . . . . . . . . . . . . . . . . . 12 7.5. IPv6 Prefix Handling . . . . . . . . . . . . . . . . . . . 11
6.7. CLAT to CLAT communications . . . . . . . . . . . . . . . 12 7.6. CLAT in a Gateway . . . . . . . . . . . . . . . . . . . . 11
7. Deployment Considerations . . . . . . . . . . . . . . . . . . 12 7.7. CLAT to CLAT communications . . . . . . . . . . . . . . . 11
8. Security Considerations . . . . . . . . . . . . . . . . . . . 13 8. Deployment Considerations . . . . . . . . . . . . . . . . . . 12
9. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 13 9. Security Considerations . . . . . . . . . . . . . . . . . . . 12
10. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . . 13 10. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 12
11. References . . . . . . . . . . . . . . . . . . . . . . . . . . 13 11. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . . 12
11.1. Normative References . . . . . . . . . . . . . . . . . . . 13 12. References . . . . . . . . . . . . . . . . . . . . . . . . . . 13
11.2. Informative References . . . . . . . . . . . . . . . . . . 14 12.1. Normative References . . . . . . . . . . . . . . . . . . . 13
Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . . 15 12.2. Informative References . . . . . . . . . . . . . . . . . . 13
Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . . 14
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
skipping to change at page 3, line 44 skipping to change at page 3, line 44
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 IPv6 and limited IPv4 functionality while subscribers the full IPv6 and limited IPv4 functionality while
providing the network operator the benefits of a simple yet highly providing the network operator the benefits of a simple yet highly
scalable single-stack IPv6 network. scalable single-stack IPv6 network.
2. Terminology 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
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.
3. 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
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. With port-overloading, one IPv4 [RFC6146] function in the PLAT. With port-overloading, one IPv4
address can support millions of simultaneous translations. address can support millions of simultaneous translations.
Given that network operators are deploying IPv6-only access Given that network operators are deploying IPv6-only access
networks because IPv4 resources are scarce, solutions that networks because IPv4 resources are scarce, solutions that
skipping to change at page 5, line 35 skipping to change at page 5, line 39
[I-D.mdt-softwire-mapping-address-and-port], 464XLAT assumes that [I-D.mdt-softwire-mapping-address-and-port], 464XLAT assumes that
IPv4 is scarce and IPv6 must work with today's existing systems as IPv4 is scarce and IPv6 must work with today's existing systems as
much as possible. In the case of tunneling, the tunneling solutions much as possible. In the case of tunneling, the tunneling solutions
like Dual-Stack Lite [RFC6333] are known to break existing network like Dual-Stack Lite [RFC6333] are known to break existing network
based deep packet inspection solutions like 3GPP standardized Policy based deep packet inspection solutions like 3GPP standardized Policy
and Charging Control (PCC). 464XLAT does not require much IPv4 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.
4. Network Architecture 5. Network Architecture
464XLAT architecture is shown in the following figure. 464XLAT architecture is shown in the following figure.
4.1. Wireline Network Architecture 5.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
4.2. Wireless 3GPP Network Architecture 5.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
5. Applicability 6. Applicability
5.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 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. In addition to this, the effectiveness of 464XLAT was 2010. In addition to this, the effectiveness of 464XLAT was
confirmed in the WIDE camp Spring 2012. The result is described in confirmed in the WIDE camp Spring 2012. The result is described in
[I-D.hazeyama-widecamp-ipv6-only-experience]. [I-D.hazeyama-widecamp-ipv6-only-experience].
5.2. Wireless 3GPP Network Applicability 6.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 10 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].
6. Implementation Considerations 7. Implementation Considerations
6.1. IPv6 Address Format
IPv6 address format in 464XLAT is presented in the following format.
+-----------------------------------------------+---------------+ 7.1. IPv6 Address Format
| XLAT prefix(96) | IPv4(32) |
+-----------------------------------------------+---------------+
IPv6 Address Format for 464XLAT IPv6 address format in 464XLAT is defined in Section 2.2 of
[RFC6052].
Source address and destination address have IPv4 address embedded in 7.2. IPv4/IPv6 Address Translation Chart
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-
Known IPv6 Prefix "64:ff9b::/96".
6.2. IPv4/IPv6 Address Translation Chart IPv4/IPv6 address translation chart is shown in the following figure.
Source IPv4 address Source IPv4 address
+----------------------------+ +----------------------------+
| Global IPv4 (32bit) | | 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 (32bit) | +--------+ | Global IPv4 address |
^ | assigned to IPv4 server | ^ | assigned to IPv4 server |
| +----------------------------+ | +----------------------------+
+--------+ +--------+
| PLAT | Stateful XLATE(IPv4:IPv6=1:n) | PLAT | Stateful XLATE(IPv4:IPv6=1:n)
+--------+ +--------+
^ ^
| |
Source IPv6 address (IPv6 cloud) Source IPv6 address (IPv6 cloud)
+--------------------------------------+----------------------------+ +--------------------------------------------------------------+
| XLAT prefix for source (96bit) | Private IPv4 (32bit) | | IPv4-Embedded IPv6 address |
| assigned to each consumer of ISP | assigned to IPv4 client | | defined in Section 2.2 of RFC6052 |
+--------------------------------------+----------------------------+ +--------------------------------------------------------------+
Destination IPv6 address Destination IPv6 address
+--------------------------------------+----------------------------+ +--------------------------------------------------------------+
| XLAT prefix for destination (96bit) | Global IPv4 (32bit) | | IPv4-Embedded IPv6 address |
| assigned to PLAT | assigned to IPv4 server | | defined in Section 2.2 of RFC6052 |
+--------------------------------------+----------------------------+ +--------------------------------------------------------------+
(IPv6 cloud) (IPv6 cloud)
^ ^
| |
|
|
+--------+ +--------+
| CLAT | Stateless XLATE(IPv4:IPv6=1:1) | | Case 1: CLAT will have a
| | dedicated IPv6 prefix
| | -> Stateless XLATE
| | (IPv4:IPv6=1:1)
| CLAT |
| | 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 (32bit) | +--------+ | Private IPv4 address |
| IPv4 | | assigned to IPv4 client | | IPv4 | | assigned to IPv4 client |
| client | +----------------------------+ | client | +----------------------------+
+--------+ Destination IPv4 address +--------+ Destination IPv4 address
+----------------------------+ +----------------------------+
| Global IPv4 (32bit) | | Global IPv4 address |
| assigned to IPv4 server | | assigned to IPv4 server |
+----------------------------+ +----------------------------+
IPv4/IPv6 Address Translation Chart IPv4/IPv6 Address Translation Chart
6.3. Traffic Treatment Scenarios 7.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.
6.4. DNS Proxy Implementation 7.4. DNS Proxy Implementation
The case of an IPv4-only node behind CLAT querying an IPv4 DNS server The CLAT SHOULD implement a DNS proxy as defined in [RFC5625]. The
is undesirable since it requires both stateful and stateless case of an IPv4-only node behind CLAT querying an IPv4 DNS server is
translation for each DNS lookup. The CLAT should set itself as the undesirable since it requires both stateful and stateless translation
DNS server via DHCP or other means and proxy DNS queries for IPv4 and for each DNS lookup. The CLAT SHOULD set itself as the DNS server
IPv6 clients. Using the CLAT enabled home router or UE as a DNS via DHCP or other means and proxy DNS queries for IPv4 and IPv6
proxy is a normal consume gateway function and simplifies the traffic clients. Using the CLAT enabled home router or UE as a DNS proxy is
flow so that only IPv6 native queries are made across the access a normal consume gateway function and simplifies the traffic flow so
network. The CLAT should allow for a client to query any DNS server that only IPv6 native queries are made across the access network.
of its choice and bypass the proxy. The CLAT SHOULD allow for a client to query any DNS server of its
choice and bypass the proxy.
6.5. IPv6 Prefix Handling 7.5. IPv6 Prefix Handling
In the best case, the CLAT will have a dedicated /64 via DHCPv6 or There are two approaches. In one of the cases, the CLAT will have a
other means to source and receive IPv6 packets associated with the dedicated /64 via DHCPv6 prefix delegation [RFC3633] or other means
[RFC6145] stateless translation of IPv4 packets to the local clients. to source and receive IPv6 packets associated with the [RFC6145]
stateless translation of IPv4 packets to the local clients. If the
CLAT choose one /64 prefix for translation from delegated prefix,
then it SHOULD NOT be used for anything else.
In suboptimal cases where the access network does not allow for a In another cases where the access network does not allow for a
dedicated translation prefix, CLAT may take ownership of a /96 from dedicated translation prefix, the CLAT will do NAT44 such that all
an attached interface's /64 to source and receive translation private IPv4 sourced LAN packets appears from one private IPv4
traffic. If this case, the CLAT should actively avoid LAN address address which is statelessly translated to one IPv6 address.
conflicts for this claimed /96. Alternatively, the CLAT may do NAT44
such that all private IPv4 sourced LAN packets appears from one
private IPv4 address which is statelessly translated to one IPv6
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, DNS APL RR [RFC3123] or as DHCPv6 option, TR-069, DNS APL RR [RFC3123] or
[I-D.ietf-behave-nat64-discovery-heuristic]. [I-D.ietf-behave-nat64-discovery-heuristic].
6.6. CLAT in a Gateway 7.6. CLAT in a Gateway
The CLAT is a stateless translation feature which can be implemented The CLAT is a stateless translation feature which can be implemented
in a common home router or mobile phone that has a mobile router in a common home router or mobile phone that has a mobile router
feature. The router with CLAT function should provide common router feature. The router with CLAT function SHOULD provide common router
services such as DHCP of [RFC1918] addresses, DHCPv6, and DNS services such as DHCP of [RFC1918] addresses, DHCPv6, and DNS
service. The router should set itself as the DNS server advertised service. The router SHOULD set itself as the DNS server advertised
via DHCP or other means to the clients so that it may implement the via DHCP or other means to the clients so that it may implement the
DNS proxy function to avoid double translation of DNS request. DNS proxy function to avoid double translation of DNS request.
6.7. 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.
7. 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 (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 8 skipping to change at page 12, line 35
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.
8. 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].
9. IANA Considerations 10. IANA Considerations
This document has no actions for IANA. This document has no actions for IANA.
10. 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, Remi Despres, Tatsuya
Oishi, Lorenzo Colitti, and Erik Kline for their helpful comments. Oishi, Lorenzo Colitti, Erik Kline, and Ole Troan for their helpful
We also would like to thank Fred Baker and Joel Jaeggli for their comments. We also would like to thank Fred Baker and Joel Jaeggli
support. for their support.
11. References 12. References
11.1. Normative References 12.1. Normative References
[RFC2119] Bradner, S., "Key words for use in RFCs to Indicate
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.
11.2. Informative References 12.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] [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-06 (work in draft-ietf-behave-nat64-discovery-heuristic-07 (work in
progress), March 2012. progress), March 2012.
[I-D.mdt-softwire-mapping-address-and-port] [I-D.mdt-softwire-mapping-address-and-port]
Bao, C., Troan, O., Matsushima, S., Murakami, T., and X. Bao, C., Troan, O., Matsushima, S., Murakami, T., and X.
Li, "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 [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
Host Configuration Protocol (DHCP) version 6", RFC 3633,
December 2003.
[RFC5625] Bellis, R., "DNS Proxy Implementation Guidelines",
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.
 End of changes. 48 change blocks. 
108 lines changed or deleted 126 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/