intarea Working Group Y. Cui
Internet-Draft L. Li
Intended status: Standards Track C. Liu
Expires: June 28, 2015 J. Wu
Tsinghua University
F. Baker
Cisco Systems
December 25, 2014
DHCPv6 Options for Discovery of 464XLAT IPv6 Prefixes
draft-cui-intarea-464xlat-prefix-dhcp-00
Abstract
464XLAT provides limited IPv4 connectivity across an IPv6-only
network using translation technology. The customer-side translator
(CLAT) performs stateless 1:1 mapping of an IPv4 destination address
into a provider-side translator (PLAT) IPv6 prefix, which
subsequently translates it back into IPv4. Different PLATs will
likely have different IPv6 prefixes, to attract traffic to the
correct PLAT. Thus, an automatic PLAT-side prefix discovery method
is necessary for CLATs.
This document defines a DHCPv6-based method to inform a CLAT of a
PLAT's IPv6 prefix and the IPv4 prefixes it serves.
Status of This Memo
This Internet-Draft is submitted in full conformance with the
provisions of BCP 78 and BCP 79.
Internet-Drafts are working documents of the Internet Engineering
Task Force (IETF). Note that other groups may also distribute
working documents as Internet-Drafts. The list of current Internet-
Drafts is at http://datatracker.ietf.org/drafts/current/.
Internet-Drafts are draft documents valid for a maximum of six months
and may be updated, replaced, or obsoleted by other documents at any
time. It is inappropriate to use Internet-Drafts as reference
material or to cite them other than as "work in progress."
This Internet-Draft will expire on June 28, 2015.
Cui, et al. Expires June 28, 2015 [Page 1]
Internet-Draft IPv6 Prefix Discovery by DHCPv6 December 2014
Copyright Notice
Copyright (c) 2014 IETF Trust and the persons identified as the
document authors. All rights reserved.
This document is subject to BCP 78 and the IETF Trust's Legal
Provisions Relating to IETF Documents
(http://trustee.ietf.org/license-info) in effect on the date of
publication of this document. Please review these documents
carefully, as they describe your rights and restrictions with respect
to this document. Code Components extracted from this document must
include Simplified BSD License text as described in Section 4.e of
the Trust Legal Provisions and are provided without warranty as
described in the Simplified BSD License.
Table of Contents
1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 2
2. Requirements Language . . . . . . . . . . . . . . . . . . . . 3
3. New DHCPv6 Option . . . . . . . . . . . . . . . . . . . . . . 3
3.1. PLAT Prefix List Option Format . . . . . . . . . . . . . 3
3.2. PLAT Prefix Option Format . . . . . . . . . . . . . . . . 4
4. Client Behavior . . . . . . . . . . . . . . . . . . . . . . . 5
5. Message Flow Illustration . . . . . . . . . . . . . . . . . . 5
6. Security Considerations . . . . . . . . . . . . . . . . . . . 6
7. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 7
8. References . . . . . . . . . . . . . . . . . . . . . . . . . 7
8.1. Normative References . . . . . . . . . . . . . . . . . . 7
8.2. Informative References . . . . . . . . . . . . . . . . . 7
Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 8
1. Introduction
464XLAT [RFC6877] describes an IPv4-over-IPv6 solution as one
technique for IPv4 service extension and encouragement of IPv6
deployment. The 464XLAT architecture uses IPv4/IPv6 translation,
described in [RFC6144], and standardized in [RFC6052], [RFC6145], and
[RFC6146]. It encourages the IPv6 transition by making IPv4 service
reachable across IPv6-only networks and providing IPv6 and IPv4
connectivity to single-stack IPv4 or IPv6 servers and peers. In the
464XLAT architecture, the CLAT must determine which of potentially
several PLAT-side translation IPv6 prefix to use in order to send a
packet to the PLAT with connectivity to its destination.
[RFC7050] describes a mechanism to learn the PLAT-side IPv6 prefix
for protocol translation by DNS64 [RFC6147]. Although it supports
multiple PLAT-side prefix by responding with multiple AAAA records to
a DNS64 query, it does not support mapping IPv4 prefixes to IPv6
Cui, et al. Expires June 28, 2015 [Page 2]
Internet-Draft IPv6 Prefix Discovery by DHCPv6 December 2014
prefix, which would be required, for example, if one PLAT has
connectivity to the general Internet following a default route,
another has connectivity to a BGP peer, and a third has connectivity
to a network using private addressing [RFC1918]. Therefore, in the
scenario with multiple PLATs, [RFC7050] does not directly support
destination-based IPv4 routing among PLATs; instead, the DNS64
database must contain equivalent information. It also requires the
additional deployment of DNS64 service in customer-side networks,
which is not required in 464XLAT deployment.
This document proposes a method for PLAT-side IPv6 prefix discovery
based on DHCPv6, which is widely deployed and supported in customer
networks. It defines two new dhcpv6 options for use by a CLAT to
discover the PLAT-side translation IPv6 prefix(es). Also, the
proposed mechanism can deal with the scenario with multiple
independent DNS64 databases supporting separate PLATs.
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. New DHCPv6 Option
3.1. PLAT Prefix List Option Format
The PLAT Prefix List Option is a container for PLAT Prefix Option(s).
A PLAT Prefix List Option MAY contain multiple PLAT Prefix Options.
The format of the PLAT Prefix List Option is:
0 1 2 3
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| OPTION_PLAT_PREFIX_LIST | option-length |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| |
+ PLAT_PREFIX-options +
| |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
o option-code: OPTION_PLAT_PREFIX_LIST (TBA1)
o option-length: length of PLAT_PREFIX-options, specified in octets.
o PLAT_PREFIX-options: one or more OPTION_PLAT_PREFIX options.
Cui, et al. Expires June 28, 2015 [Page 3]
Internet-Draft IPv6 Prefix Discovery by DHCPv6 December 2014
3.2. PLAT Prefix Option Format
The PLAT Prefix Option is encapsulated in the PLAT Prefix List
Option. This option allows the mapping of destination IPv4 address
ranges (contained in the IPv4 Prefix List) to a PLAT IPv6 prefix. If
there is more than one such prefix, each prefix comes in its own
option, with its associated IPv4 prefix list. In this way, the CLAT
can select the PLAT with the corresponding destination IPv4 address.
The format of the PLAT Prefix Option is:
0 1 2 3
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| OPTION_PLAT_PREFIX | option-length |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| platv6-prelen | |
+-+-+-+-+-+-+-+-+ platv6-prefix |
| (variable length) |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
. (optional) .
. IPv4 Prefix List (variable length) .
. (see Figure 3) .
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
0 1 2 3
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| IPv4-prelen | IPv4 Prefix (32 bits) |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| (cont.) | IPv4-prelen | IPv4 Prefix (32 bits) |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| IPv4 Prefix (cont) | ... |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| ... |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
o option-code: OPTION_PLAT_PREFIX (TBA2)
o option-length: 1 + length of platv6-prefix + length of IPv4 Prefix
List, specified in octets.
o platv6-prelen: length of platv6-prefix.
o platv6-prefix: The PLAT IPv6 prefix that the CLAT used for IPv6
address synthesis.
o IPv4 Prefix List: This is an optional field. The format of the
Cui, et al. Expires June 28, 2015 [Page 4]
Internet-Draft IPv6 Prefix Discovery by DHCPv6 December 2014
IPv4 Prefix List is shown in Figure 3. It is a list of zero or
more IPv4 Prefixes. Each entry is formed by IPv4-prelen and IPv4
Prefix. The total length of the field is 5*number of IPv4
prefixes.
o IPv4-prelen: the length of the IPv4 Prefix.
o IPv4 Prefix: the destination-based IPv4 Prefix. The length is 4
octets.
4. Client Behavior
The client requests the OPTION_PLAT_PREFIX_LIST option using the
Option Request option (ORO) in every Solicit, Request, Renew, Rebind,
and Information-request message. If the DHCPv6 server includes the
OPTION_PLAT_PREFIX_LIST option in its response, the CLAT may use the
contained platv6-prefix to translate the destination IPv4 address
into the destination IPv6 address.
When receiving the OPTION_PLAT_PREFIX option with IPv4 Prefix List,
the CLAT MUST record the received IPv6 prefix and the corresponding
IPv4 prefixes in IPv4 Prefix List. When receiving the
OPTION_PLAT_PREFIX option without IPv4 Prefix List, the CLAT MUST
treat the IPv6 prefix and the default IPv4 prefix 0.0.0.0/0 as one of
the records.
If the CLAT loses contact with the DHCPv6 server, the CLAT SHOULD
clear the prefix(es) it learned from the DHCPv6 server.
When translating the destination IPv4 address into the destination
IPv6 address, CLAT MUST search an IPv4 routing database using the
longest-match-first rule and select the IPv6 prefix offering that
IPv4 prefix.
5. Message Flow Illustration
The figure below shows an example of message flow for a Client
learning IPv6 prefixes using DHCPv6.
In this example, two IPv6 prefixes are provided by the DHCPv6 server.
The first IPv6 prefix is 2001:db8:122:300::/56, the corresponding
IPv4 prefixes are 192.0.2.0/24 and 198.51.100.0/24. The second IPv6
prefix is 2001:db8:122::/48, the corresponding IPv4 prefix is
192.0.2.128/25.
When the CLAT receives the packet with destination IPv4 address
192.0.2.1, according to the rule of longest prefix match, the PLAT
with IPv6 prefix 2001:db8:122::/48 is chosen. In the same way, the
Cui, et al. Expires June 28, 2015 [Page 5]
Internet-Draft IPv6 Prefix Discovery by DHCPv6 December 2014
PLAT with IPv6 prefix 2001:db8:122::/48 is chosen.
+----------+ +-----------------+
| CLAT | | DHCPv6 server |
+----------+ +-----------------+
| DHCPv6 query for IPv6 prefix |
|--------------------------------------------------->|
| ORO with OPTION_V6_PLATPREFIX_LIST |
| |
| DHCPv6 response with: |
| PLATPREFIX{ |
| platv6-pre = 2001:db8:122:300::/56 |
| platv4-pre = 192.0.2.0/24 |
| platv4-pre = 198.51.100.0/24} |
| PLATPREFIX{ |
| platv6-pre = 2001:db8:122::/48 |
| platv4-pre = 192.0.2.128/25} |
|<---------------------------------------------------|
| |
|
| +-----------------+ +-----------------+
| | PLAT 1 | | PLAT 2 |
| +-----------------+ +-----------------+
| platv6-pre = platv6-pre =
| 2001:db8:122:300::/56 2001:db8:122::/48
| platv4-pre = platv4-pre =
| 192.0.2.0/24 192.0.2.128/25
| 198.51.100.0/24 |
| | |
| Dest IPv4 addr: | |
| 192.0.2.1 | |
| Dest IPv6 addr: | |
| 2001:db8:122:300::c000:201 | |
|----------------------------->| |
| | |
| |
| Dest IPv4 addr: 192.0.2.193 |
| Dest IPv6 addr: 2001:db8:122::c000:2c1 |
|--------------------------------------------------->|
6. Security Considerations
Considerations for security in this type of environment are primarily
around the operation of the DHCPv6 protocol and the databases it
uses.
In the DHCPv6 server, should the database be compromised, it will
deliver incorrect data to its CLAT clients. In the CLAT, should its
Cui, et al. Expires June 28, 2015 [Page 6]
Internet-Draft IPv6 Prefix Discovery by DHCPv6 December 2014
database be compromised by attack or polluted by an incorrect DHCPv6
server database, it will route data incorrectly. In both cases, the
security of the systems and their databases in an operational matter,
not managed by protocol.
However, the operation of the DHCPv6 protocol itself is also required
to be correct - the server and its clients must recognize valid
requests and reject invalid ones. Therefore, DHCPv6 exchanges MUST
be secured as described in [RFC3315].
7. IANA Considerations
We request that IANA allocate two DHCPv6 option codes for use by
OPTION_V6_PLATPREFIX_LIST and OPTION_V6_PLATPREFIX from the "Option
Codes" table
8. References
8.1. Normative References
[RFC2119] Bradner, S., "Key words for use in RFCs to Indicate
Requirement Levels", BCP 14, RFC 2119, March 1997.
[RFC3315] Droms, R., Bound, J., Volz, B., Lemon, T., Perkins, C.,
and M. Carney, "Dynamic Host Configuration Protocol for
IPv6 (DHCPv6)", RFC 3315, July 2003.
[RFC6877] Mawatari, M., Kawashima, M., and C. Byrne, "464XLAT:
Combination of Stateful and Stateless Translation", RFC
6877, April 2013.
8.2. Informative References
[RFC1918] Rekhter, Y., Moskowitz, R., Karrenberg, D., Groot, G., and
E. Lear, "Address Allocation for Private Internets", BCP
5, RFC 1918, February 1996.
[RFC6052] Bao, C., Huitema, C., Bagnulo, M., Boucadair, M., and X.
Li, "IPv6 Addressing of IPv4/IPv6 Translators", RFC 6052,
October 2010.
[RFC6144] Baker, F., Li, X., Bao, C., and K. Yin, "Framework for
IPv4/IPv6 Translation", RFC 6144, April 2011.
[RFC6145] Li, X., Bao, C., and F. Baker, "IP/ICMP Translation
Algorithm", RFC 6145, April 2011.
Cui, et al. Expires June 28, 2015 [Page 7]
Internet-Draft IPv6 Prefix Discovery by DHCPv6 December 2014
[RFC6146] Bagnulo, M., Matthews, P., and I. van Beijnum, "Stateful
NAT64: Network Address and Protocol Translation from IPv6
Clients to IPv4 Servers", RFC 6146, April 2011.
[RFC6147] Bagnulo, M., Sullivan, A., Matthews, P., and I. van
Beijnum, "DNS64: DNS Extensions for Network Address
Translation from IPv6 Clients to IPv4 Servers", RFC 6147,
April 2011.
[RFC7050] Savolainen, T., Korhonen, J., and D. Wing, "Discovery of
the IPv6 Prefix Used for IPv6 Address Synthesis", RFC
7050, November 2013.
Authors' Addresses
Yong Cui
Tsinghua University
Beijing 100084
P.R.China
Phone: +86-10-6260-3059
Email: yong@csnet1.cs.tsinghua.edu.cn
Lishan Li
Tsinghua University
Beijing 100084
P.R.China
Phone: +86-15201441862
Email: lilishan9248@126.com
Cong Liu
Tsinghua University
Beijing 100084
P.R.China
Phone: +86-10-6278-5822
Email: gnocuil@gmail.com
Cui, et al. Expires June 28, 2015 [Page 8]
Internet-Draft IPv6 Prefix Discovery by DHCPv6 December 2014
Jianping Wu
Tsinghua University
Beijing 100084
P.R.China
Phone: +86-10-6278-5983
Email: jianping@cernet.edu.cn
Fred Baker
Cisco Systems
Santa Barbara, CA 93117
United States
Email: fred@cisco.com
Cui, et al. Expires June 28, 2015 [Page 9]