idnits 2.17.1 draft-cui-intarea-464xlat-prefix-dhcp-00.txt: Checking boilerplate required by RFC 5378 and the IETF Trust (see https://trustee.ietf.org/license-info): ---------------------------------------------------------------------------- No issues found here. Checking nits according to https://www.ietf.org/id-info/1id-guidelines.txt: ---------------------------------------------------------------------------- No issues found here. Checking nits according to https://www.ietf.org/id-info/checklist : ---------------------------------------------------------------------------- No issues found here. Miscellaneous warnings: ---------------------------------------------------------------------------- == The copyright year in the IETF Trust and authors Copyright Line does not match the current year -- The document date (December 25, 2014) is 3409 days in the past. Is this intentional? Checking references for intended status: Proposed Standard ---------------------------------------------------------------------------- (See RFCs 3967 and 4897 for information about using normative references to lower-maturity documents in RFCs) ** Obsolete normative reference: RFC 3315 (Obsoleted by RFC 8415) ** Downref: Normative reference to an Informational RFC: RFC 6877 -- Obsolete informational reference (is this intentional?): RFC 6145 (Obsoleted by RFC 7915) Summary: 2 errors (**), 0 flaws (~~), 1 warning (==), 2 comments (--). Run idnits with the --verbose option for more detailed information about the items above. -------------------------------------------------------------------------------- 2 intarea Working Group Y. Cui 3 Internet-Draft L. Li 4 Intended status: Standards Track C. Liu 5 Expires: June 28, 2015 J. Wu 6 Tsinghua University 7 F. Baker 8 Cisco Systems 9 December 25, 2014 11 DHCPv6 Options for Discovery of 464XLAT IPv6 Prefixes 12 draft-cui-intarea-464xlat-prefix-dhcp-00 14 Abstract 16 464XLAT provides limited IPv4 connectivity across an IPv6-only 17 network using translation technology. The customer-side translator 18 (CLAT) performs stateless 1:1 mapping of an IPv4 destination address 19 into a provider-side translator (PLAT) IPv6 prefix, which 20 subsequently translates it back into IPv4. Different PLATs will 21 likely have different IPv6 prefixes, to attract traffic to the 22 correct PLAT. Thus, an automatic PLAT-side prefix discovery method 23 is necessary for CLATs. 25 This document defines a DHCPv6-based method to inform a CLAT of a 26 PLAT's IPv6 prefix and the IPv4 prefixes it serves. 28 Status of This Memo 30 This Internet-Draft is submitted in full conformance with the 31 provisions of BCP 78 and BCP 79. 33 Internet-Drafts are working documents of the Internet Engineering 34 Task Force (IETF). Note that other groups may also distribute 35 working documents as Internet-Drafts. The list of current Internet- 36 Drafts is at http://datatracker.ietf.org/drafts/current/. 38 Internet-Drafts are draft documents valid for a maximum of six months 39 and may be updated, replaced, or obsoleted by other documents at any 40 time. It is inappropriate to use Internet-Drafts as reference 41 material or to cite them other than as "work in progress." 43 This Internet-Draft will expire on June 28, 2015. 45 Copyright Notice 47 Copyright (c) 2014 IETF Trust and the persons identified as the 48 document authors. All rights reserved. 50 This document is subject to BCP 78 and the IETF Trust's Legal 51 Provisions Relating to IETF Documents 52 (http://trustee.ietf.org/license-info) in effect on the date of 53 publication of this document. Please review these documents 54 carefully, as they describe your rights and restrictions with respect 55 to this document. Code Components extracted from this document must 56 include Simplified BSD License text as described in Section 4.e of 57 the Trust Legal Provisions and are provided without warranty as 58 described in the Simplified BSD License. 60 Table of Contents 62 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 2 63 2. Requirements Language . . . . . . . . . . . . . . . . . . . . 3 64 3. New DHCPv6 Option . . . . . . . . . . . . . . . . . . . . . . 3 65 3.1. PLAT Prefix List Option Format . . . . . . . . . . . . . 3 66 3.2. PLAT Prefix Option Format . . . . . . . . . . . . . . . . 4 67 4. Client Behavior . . . . . . . . . . . . . . . . . . . . . . . 5 68 5. Message Flow Illustration . . . . . . . . . . . . . . . . . . 5 69 6. Security Considerations . . . . . . . . . . . . . . . . . . . 6 70 7. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 7 71 8. References . . . . . . . . . . . . . . . . . . . . . . . . . 7 72 8.1. Normative References . . . . . . . . . . . . . . . . . . 7 73 8.2. Informative References . . . . . . . . . . . . . . . . . 7 74 Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 8 76 1. Introduction 78 464XLAT [RFC6877] describes an IPv4-over-IPv6 solution as one 79 technique for IPv4 service extension and encouragement of IPv6 80 deployment. The 464XLAT architecture uses IPv4/IPv6 translation, 81 described in [RFC6144], and standardized in [RFC6052], [RFC6145], and 82 [RFC6146]. It encourages the IPv6 transition by making IPv4 service 83 reachable across IPv6-only networks and providing IPv6 and IPv4 84 connectivity to single-stack IPv4 or IPv6 servers and peers. In the 85 464XLAT architecture, the CLAT must determine which of potentially 86 several PLAT-side translation IPv6 prefix to use in order to send a 87 packet to the PLAT with connectivity to its destination. 89 [RFC7050] describes a mechanism to learn the PLAT-side IPv6 prefix 90 for protocol translation by DNS64 [RFC6147]. Although it supports 91 multiple PLAT-side prefix by responding with multiple AAAA records to 92 a DNS64 query, it does not support mapping IPv4 prefixes to IPv6 93 prefix, which would be required, for example, if one PLAT has 94 connectivity to the general Internet following a default route, 95 another has connectivity to a BGP peer, and a third has connectivity 96 to a network using private addressing [RFC1918]. Therefore, in the 97 scenario with multiple PLATs, [RFC7050] does not directly support 98 destination-based IPv4 routing among PLATs; instead, the DNS64 99 database must contain equivalent information. It also requires the 100 additional deployment of DNS64 service in customer-side networks, 101 which is not required in 464XLAT deployment. 103 This document proposes a method for PLAT-side IPv6 prefix discovery 104 based on DHCPv6, which is widely deployed and supported in customer 105 networks. It defines two new dhcpv6 options for use by a CLAT to 106 discover the PLAT-side translation IPv6 prefix(es). Also, the 107 proposed mechanism can deal with the scenario with multiple 108 independent DNS64 databases supporting separate PLATs. 110 2. Requirements Language 112 The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", 113 "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this 114 document are to be interpreted as described in [RFC2119]. 116 3. New DHCPv6 Option 118 3.1. PLAT Prefix List Option Format 120 The PLAT Prefix List Option is a container for PLAT Prefix Option(s). 121 A PLAT Prefix List Option MAY contain multiple PLAT Prefix Options. 123 The format of the PLAT Prefix List Option is: 125 0 1 2 3 126 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 127 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 128 | OPTION_PLAT_PREFIX_LIST | option-length | 129 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 130 | | 131 + PLAT_PREFIX-options + 132 | | 133 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 135 o option-code: OPTION_PLAT_PREFIX_LIST (TBA1) 137 o option-length: length of PLAT_PREFIX-options, specified in octets. 139 o PLAT_PREFIX-options: one or more OPTION_PLAT_PREFIX options. 141 3.2. PLAT Prefix Option Format 143 The PLAT Prefix Option is encapsulated in the PLAT Prefix List 144 Option. This option allows the mapping of destination IPv4 address 145 ranges (contained in the IPv4 Prefix List) to a PLAT IPv6 prefix. If 146 there is more than one such prefix, each prefix comes in its own 147 option, with its associated IPv4 prefix list. In this way, the CLAT 148 can select the PLAT with the corresponding destination IPv4 address. 150 The format of the PLAT Prefix Option is: 152 0 1 2 3 153 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 154 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 155 | OPTION_PLAT_PREFIX | option-length | 156 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 157 | platv6-prelen | | 158 +-+-+-+-+-+-+-+-+ platv6-prefix | 159 | (variable length) | 160 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 161 . (optional) . 162 . IPv4 Prefix List (variable length) . 163 . (see Figure 3) . 164 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 166 0 1 2 3 167 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 168 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 169 | IPv4-prelen | IPv4 Prefix (32 bits) | 170 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 171 | (cont.) | IPv4-prelen | IPv4 Prefix (32 bits) | 172 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 173 | IPv4 Prefix (cont) | ... | 174 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 175 | ... | 176 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 178 o option-code: OPTION_PLAT_PREFIX (TBA2) 180 o option-length: 1 + length of platv6-prefix + length of IPv4 Prefix 181 List, specified in octets. 183 o platv6-prelen: length of platv6-prefix. 185 o platv6-prefix: The PLAT IPv6 prefix that the CLAT used for IPv6 186 address synthesis. 188 o IPv4 Prefix List: This is an optional field. The format of the 189 IPv4 Prefix List is shown in Figure 3. It is a list of zero or 190 more IPv4 Prefixes. Each entry is formed by IPv4-prelen and IPv4 191 Prefix. The total length of the field is 5*number of IPv4 192 prefixes. 194 o IPv4-prelen: the length of the IPv4 Prefix. 196 o IPv4 Prefix: the destination-based IPv4 Prefix. The length is 4 197 octets. 199 4. Client Behavior 201 The client requests the OPTION_PLAT_PREFIX_LIST option using the 202 Option Request option (ORO) in every Solicit, Request, Renew, Rebind, 203 and Information-request message. If the DHCPv6 server includes the 204 OPTION_PLAT_PREFIX_LIST option in its response, the CLAT may use the 205 contained platv6-prefix to translate the destination IPv4 address 206 into the destination IPv6 address. 208 When receiving the OPTION_PLAT_PREFIX option with IPv4 Prefix List, 209 the CLAT MUST record the received IPv6 prefix and the corresponding 210 IPv4 prefixes in IPv4 Prefix List. When receiving the 211 OPTION_PLAT_PREFIX option without IPv4 Prefix List, the CLAT MUST 212 treat the IPv6 prefix and the default IPv4 prefix 0.0.0.0/0 as one of 213 the records. 215 If the CLAT loses contact with the DHCPv6 server, the CLAT SHOULD 216 clear the prefix(es) it learned from the DHCPv6 server. 218 When translating the destination IPv4 address into the destination 219 IPv6 address, CLAT MUST search an IPv4 routing database using the 220 longest-match-first rule and select the IPv6 prefix offering that 221 IPv4 prefix. 223 5. Message Flow Illustration 225 The figure below shows an example of message flow for a Client 226 learning IPv6 prefixes using DHCPv6. 228 In this example, two IPv6 prefixes are provided by the DHCPv6 server. 229 The first IPv6 prefix is 2001:db8:122:300::/56, the corresponding 230 IPv4 prefixes are 192.0.2.0/24 and 198.51.100.0/24. The second IPv6 231 prefix is 2001:db8:122::/48, the corresponding IPv4 prefix is 232 192.0.2.128/25. 234 When the CLAT receives the packet with destination IPv4 address 235 192.0.2.1, according to the rule of longest prefix match, the PLAT 236 with IPv6 prefix 2001:db8:122::/48 is chosen. In the same way, the 237 PLAT with IPv6 prefix 2001:db8:122::/48 is chosen. 239 +----------+ +-----------------+ 240 | CLAT | | DHCPv6 server | 241 +----------+ +-----------------+ 242 | DHCPv6 query for IPv6 prefix | 243 |--------------------------------------------------->| 244 | ORO with OPTION_V6_PLATPREFIX_LIST | 245 | | 246 | DHCPv6 response with: | 247 | PLATPREFIX{ | 248 | platv6-pre = 2001:db8:122:300::/56 | 249 | platv4-pre = 192.0.2.0/24 | 250 | platv4-pre = 198.51.100.0/24} | 251 | PLATPREFIX{ | 252 | platv6-pre = 2001:db8:122::/48 | 253 | platv4-pre = 192.0.2.128/25} | 254 |<---------------------------------------------------| 255 | | 256 | 257 | +-----------------+ +-----------------+ 258 | | PLAT 1 | | PLAT 2 | 259 | +-----------------+ +-----------------+ 260 | platv6-pre = platv6-pre = 261 | 2001:db8:122:300::/56 2001:db8:122::/48 262 | platv4-pre = platv4-pre = 263 | 192.0.2.0/24 192.0.2.128/25 264 | 198.51.100.0/24 | 265 | | | 266 | Dest IPv4 addr: | | 267 | 192.0.2.1 | | 268 | Dest IPv6 addr: | | 269 | 2001:db8:122:300::c000:201 | | 270 |----------------------------->| | 271 | | | 272 | | 273 | Dest IPv4 addr: 192.0.2.193 | 274 | Dest IPv6 addr: 2001:db8:122::c000:2c1 | 275 |--------------------------------------------------->| 277 6. Security Considerations 279 Considerations for security in this type of environment are primarily 280 around the operation of the DHCPv6 protocol and the databases it 281 uses. 283 In the DHCPv6 server, should the database be compromised, it will 284 deliver incorrect data to its CLAT clients. In the CLAT, should its 285 database be compromised by attack or polluted by an incorrect DHCPv6 286 server database, it will route data incorrectly. In both cases, the 287 security of the systems and their databases in an operational matter, 288 not managed by protocol. 290 However, the operation of the DHCPv6 protocol itself is also required 291 to be correct - the server and its clients must recognize valid 292 requests and reject invalid ones. Therefore, DHCPv6 exchanges MUST 293 be secured as described in [RFC3315]. 295 7. IANA Considerations 297 We request that IANA allocate two DHCPv6 option codes for use by 298 OPTION_V6_PLATPREFIX_LIST and OPTION_V6_PLATPREFIX from the "Option 299 Codes" table 301 8. References 303 8.1. Normative References 305 [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate 306 Requirement Levels", BCP 14, RFC 2119, March 1997. 308 [RFC3315] Droms, R., Bound, J., Volz, B., Lemon, T., Perkins, C., 309 and M. Carney, "Dynamic Host Configuration Protocol for 310 IPv6 (DHCPv6)", RFC 3315, July 2003. 312 [RFC6877] Mawatari, M., Kawashima, M., and C. Byrne, "464XLAT: 313 Combination of Stateful and Stateless Translation", RFC 314 6877, April 2013. 316 8.2. Informative References 318 [RFC1918] Rekhter, Y., Moskowitz, R., Karrenberg, D., Groot, G., and 319 E. Lear, "Address Allocation for Private Internets", BCP 320 5, RFC 1918, February 1996. 322 [RFC6052] Bao, C., Huitema, C., Bagnulo, M., Boucadair, M., and X. 323 Li, "IPv6 Addressing of IPv4/IPv6 Translators", RFC 6052, 324 October 2010. 326 [RFC6144] Baker, F., Li, X., Bao, C., and K. Yin, "Framework for 327 IPv4/IPv6 Translation", RFC 6144, April 2011. 329 [RFC6145] Li, X., Bao, C., and F. Baker, "IP/ICMP Translation 330 Algorithm", RFC 6145, April 2011. 332 [RFC6146] Bagnulo, M., Matthews, P., and I. van Beijnum, "Stateful 333 NAT64: Network Address and Protocol Translation from IPv6 334 Clients to IPv4 Servers", RFC 6146, April 2011. 336 [RFC6147] Bagnulo, M., Sullivan, A., Matthews, P., and I. van 337 Beijnum, "DNS64: DNS Extensions for Network Address 338 Translation from IPv6 Clients to IPv4 Servers", RFC 6147, 339 April 2011. 341 [RFC7050] Savolainen, T., Korhonen, J., and D. Wing, "Discovery of 342 the IPv6 Prefix Used for IPv6 Address Synthesis", RFC 343 7050, November 2013. 345 Authors' Addresses 347 Yong Cui 348 Tsinghua University 349 Beijing 100084 350 P.R.China 352 Phone: +86-10-6260-3059 353 Email: yong@csnet1.cs.tsinghua.edu.cn 355 Lishan Li 356 Tsinghua University 357 Beijing 100084 358 P.R.China 360 Phone: +86-15201441862 361 Email: lilishan9248@126.com 363 Cong Liu 364 Tsinghua University 365 Beijing 100084 366 P.R.China 368 Phone: +86-10-6278-5822 369 Email: gnocuil@gmail.com 370 Jianping Wu 371 Tsinghua University 372 Beijing 100084 373 P.R.China 375 Phone: +86-10-6278-5983 376 Email: jianping@cernet.edu.cn 378 Fred Baker 379 Cisco Systems 380 Santa Barbara, CA 93117 381 United States 383 Email: fred@cisco.com