idnits 2.17.1 draft-ietf-ipv6-unique-local-addr-00.txt: Checking boilerplate required by RFC 5378 and the IETF Trust (see https://trustee.ietf.org/license-info): ---------------------------------------------------------------------------- ** Looks like you're using RFC 2026 boilerplate. This must be updated to follow RFC 3978/3979, as updated by RFC 4748. Checking nits according to https://www.ietf.org/id-info/1id-guidelines.txt: ---------------------------------------------------------------------------- ** The document seems to lack a 1id_guidelines paragraph about Internet-Drafts being working documents. ** The document seems to lack a 1id_guidelines paragraph about 6 months document validity -- however, there's a paragraph with a matching beginning. Boilerplate error? ** The document seems to lack a 1id_guidelines paragraph about the list of current Internet-Drafts. ** The document seems to lack a 1id_guidelines paragraph about the list of Shadow Directories. == No 'Intended status' indicated for this document; assuming Proposed Standard Checking nits according to https://www.ietf.org/id-info/checklist : ---------------------------------------------------------------------------- ** There is 1 instance of too long lines in the document, the longest one being 4 characters in excess of 72. Miscellaneous warnings: ---------------------------------------------------------------------------- -- The document seems to lack a disclaimer for pre-RFC5378 work, but may have content which was first submitted before 10 November 2008. If you have contacted all the original authors and they are all willing to grant the BCP78 rights to the IETF Trust, then this is fine, and you can ignore this comment. If not, you may need to add the pre-RFC5378 disclaimer. (See the Legal Provisions document at https://trustee.ietf.org/license-info for more information.) -- Couldn't find a document date in the document -- date freshness check skipped. Checking references for intended status: Proposed Standard ---------------------------------------------------------------------------- (See RFCs 3967 and 4897 for information about using normative references to lower-maturity documents in RFCs) == Missing Reference: 'RFC 2119' is mentioned on line 67, but not defined == Missing Reference: 'ADDRARCH' is mentioned on line 259, but not defined == Unused Reference: 'RFC2026' is defined on line 499, but no explicit reference was found in the text == Unused Reference: 'RFC2119' is defined on line 502, but no explicit reference was found in the text ** Downref: Normative reference to an Informational RFC: RFC 3587 (ref. 'GLOBAL') ** Obsolete normative reference: RFC 2460 (ref. 'IPV6') (Obsoleted by RFC 8200) ** Downref: Normative reference to an Informational RFC: RFC 1321 (ref. 'MD5DIG') ** Obsolete normative reference: RFC 1305 (ref. 'NTP') (Obsoleted by RFC 5905) -- Possible downref: Non-RFC (?) normative reference: ref. 'POPUL' ** Obsolete normative reference: RFC 1750 (ref. 'RANDOM') (Obsoleted by RFC 4086) -- Obsolete informational reference (is this intentional?): RFC 2462 (ref. 'ADDAUTO') (Obsoleted by RFC 4862) -- Obsolete informational reference (is this intentional?): RFC 3484 (ref. 'ADDSEL') (Obsoleted by RFC 6724) Summary: 11 errors (**), 0 flaws (~~), 5 warnings (==), 5 comments (--). Run idnits with the --verbose option for more detailed information about the items above. -------------------------------------------------------------------------------- 1 INTERNET-DRAFT R. Hinden, Nokia 2 August 26, 2003 Brian Haberman, Caspian 4 Unique Local IPv6 Unicast Addresses 6 8 Status of this Memo 10 This document is an Internet-Draft and is in full conformance with 11 all provisions of Section 10 of RFC2026. Internet-Drafts are working 12 documents of the Internet Engineering Task Force (IETF), its areas, 13 and its working groups. Note that other groups may also distribute 14 working documents as Internet-Drafts. 16 Internet-Drafts are draft documents valid for a maximum of six months 17 and may be updated, replaced, or obsoleted by other documents at any 18 time. It is inappropriate to use Internet- Drafts as reference 19 material or to cite them other than as "work in progress." 21 To view the list Internet-Draft Shadow Directories, see 22 http://www.ietf.org/shadow.html. 24 This internet draft expires on March 1, 2004. 26 Abstract 28 This document defines an unicast address format that is globally 29 unique and is intended for local communications, usually inside of a 30 site. They are not expected to be routable on the global Internet 31 given current routing technology. 33 1.0 Introduction 35 This document defines an IPv6 unicast address format that is globally 36 unique and is intended for local communications [IPV6]. These 37 addresses are called Unique Local IPv6 Unicast Addresses and are 38 abbreviated in this document as Local IPv6 addresses. They are not 39 expected to be routable on the global Internet given current routing 40 technology. They are routable inside of a more limited area such as 41 a site. They may also be routed between a limited set of sites. 43 Local IPv6 unicast addresses have the following characteristics: 45 - Globally unique prefix. 46 - Well known prefix to allow for easy filtering at site 47 boundaries. 48 - Allows sites to be combined or privately interconnected without 49 creating any address conflicts or require renumbering of 50 interfaces using these prefixes. 51 - Internet Service Provider independent and can be used for 52 communications inside of a site without having any permanent or 53 intermittent Internet connectivity. 54 - If accidentally leaked outside of a site via routing or DNS, 55 there is no conflict with any other addresses. 56 - In practice, applications may treat these address like global 57 scoped addresses. 59 This document defines the format of Local IPv6 addresses, how to 60 allocate them, and usage considerations including routing, site 61 border routers, DNS, application support, VPN usage, and guidelines 62 for how to use for local communication inside a site. 64 The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", 65 "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this 66 document are to be interpreted as described in [RFC 2119]. 68 2.0 Acknowledgments 70 The underlying idea of creating Local IPv6 addresses describe in this 71 document been proposed a number of times by a variety of people. The 72 authors of this draft do not claim exclusive credit. Credit goes to 73 Brian Carpenter, Christian Huitema, Aidan Williams, Andrew White, 74 Charlie Perkins, and many others. The authors would also like to 75 thank Brian Carpenter, Charlie Perkins, Harald Alvestrand, Keith 76 Moore, Margaret Wasserman, Shannon Behrens, Alan Beard, and Hans 77 Kruse for their comments and suggestions on this document. 79 3.0 Local IPv6 Unicast Addresses 81 3.1 Format 83 The Local IPv6 addresses are created using a centrally allocated 84 global ID. They have the following format: 86 | n | 87 | bits | m bits | 16 bits | 64 bits | 88 +--------+------------+-----------+-----------------------------+ 89 | prefix | global ID | subnet ID | interface ID | 90 +--------+------------+-----------+-----------------------------+ 92 Where: 94 prefix prefix to identify Local IPv6 unicast addresses. 96 global ID global identifier used to create a globally 97 unique prefix. See section 3.2 for additional 98 information. 100 subnet ID 16-bit subnet ID is an identifier of a subnet 101 within the site. 103 interface ID 64-bit IID as defined in [ADDARCH]. 105 There are a range of choices available when choosing the size of the 106 prefix and Global ID field length. There is a direct tradeoff 107 between having a Global ID field large enough to support foreseeable 108 future growth and not using too much of the IPv6 address space 109 needlessly. A reasonable way of evaluating a specific field length 110 is to compare it to a projected 2050 world population of 9.3 billion 111 [POPUL] to compare the number of resulting /48 prefixes per person. 112 A range of prefix choices is shown in the following table: 114 Prefix Global ID Number /48 Prefixes % of IPv6 115 Length Prefixes per Person Address Space 117 /11 37 137,438,953,472 15 0.049% 118 /10 38 274,877,906,944 30 0.098% 119 /9 39 549,755,813,888 59 0.195% 120 /8 40 1,099,511,627,776 118 0.391% 121 /7 41 2,199,023,255,552 236 0.781% 122 /6 42 4,398,046,511,104 473 1.563% 124 A very high utilization ratio of these allocations can be assumed 125 because no internal structure is required in the field nor is there 126 any reason to be able to aggregate the prefixes. 128 The authors believes that a /7 prefix resulting in a 41 bit Global ID 129 is a good choice. It provides for a large number of assignments 130 (i.e., 2.2 trillion) and at the same time uses less than .8% of the 131 total IPv6 address space. It is unlikely that this space will be 132 exhausted. If more than this was needed, then additional IPv6 133 address space could be allocated for this purpose. 135 For the rest of this document the FC00::/7 prefix and a 41-bit Global 136 ID is used. 138 3.2 Global ID 140 The allocation of global IDs should be pseudo-random [RANDOM]. They 141 should not be assigned sequentially or with well known numbers. This 142 to ensure that there is not any relationship between allocations and 143 to help clarify that these prefixes are not intended to be routed 144 globally. Specifically, these prefixes are designed to not 145 aggregate. 147 There are two ways to allocate Global IDs. These are centrally by a 148 allocation authority and locally by the site. The Global ID is split 149 into two parts for each type of allocation. The prefixes for each 150 type are: 152 FC00::/8 Centrally assigned 153 FD00::/8 Locally assigned 155 Each results in a 40-bit space to allocate. 157 Two assignment methods are included because they have different 158 properties. The centrally assigned global IDs have a much higher 159 probability that they are unique and the assignments can be escrowed 160 to resolve any disputes regarding duplicate assignments. The local 161 assignments are free and do not need any central coordination or 162 assignment, but have a lower (but still adequate) probability of 163 being unique. It is expected that large managed sites will prefer 164 central assignments and small or disconnected sites will prefer local 165 assignments. Sites are free to choice either approach. 167 3.2.1 Centrally Assigned Global IDs 169 Centrally assigned global IDs MUST be generated with a pseudo-random 170 algorithm consistent with [RANDOM]. They should not be assigned 171 sequentially or by locality. This to ensure that there is not any 172 relationship between allocations and to help clarify that these 173 prefixes are not intended to be routed globally. Specifically, these 174 prefixes are designed to not aggregate. 176 Global IDs should be assigned centrally by a single allocation 177 authority because they are pseudo-random and without any structure. 178 This is easiest to accomplish if there is a single source of the 179 assignments. 181 The requirements for centrally assigned global ID allocations are: 183 - Available to anyone in an unbiased manner. 184 - Permanent with no periodic fees. 185 - One time non-refundable allocation fee in the order of 10 Euros 186 per allocation. 187 - The ownership of each individual allocation should be private, 188 but should be escrowed. 190 The allocation authority should permit allocations to be obtained 191 without having any sort of internet connectivity. For example in 192 addition to web based registration they should support some methods 193 like telephone, postal mail, fax, telex, etc. They should also 194 accept a variety of payment methods and currencies. 196 The reason for the one time 10 Euro charge for each prefix is to 197 provide a barrier to any hoarding of the these allocations but at the 198 same time keep the cost low enough to not create a barrier to anyone 199 needing one. The charge is non-refundable in order to keep overhead 200 low. 202 The ownership of the allocations is not needed to be public since the 203 resulting addresses are intended to be used for local communication. 204 It is escrowed to insure there are no duplicate allocations and in 205 case it is needed in the future (e.g., to resolve duplicate 206 allocation disputes). 208 An example of a allocation authority is a non-profit organization 209 such as the Public Internet Registry (PIR) that the Internet Society 210 has created to manage the .org domain. They already know how to 211 collect small sums efficiently and there are safeguards in place for 212 the appropriate use of any excess revenue generated. 214 Note, there are many possible ways of of creating an allocation 215 authority. It is important to keep in mind when reviewing 216 alternatives that the goal is to pick one that can do the job. It 217 doesn't have to be perfect, only good enough to do the job at hand. 218 The authors believe that PIR shows that this requirement can be 219 satisfied, but this draft does not specifically recommend the PIR. 221 3.2.2 Locally Assigned Global IDs 223 Global IDs can also be generated locally by an individual site. This 224 makes it easy to get a prefix with out the need to contact an 225 assignment authority or internet service provider. There is not as 226 high a degree of assurance that the prefix will not conflict with 227 another locally generated prefix, but the likelihood of conflict is 228 small. Sites that are not comfortable with this degree of 229 uncertainty should use a centrally assigned global ID. 231 Locally assigned global IDs MUST be generated with a pseudo-random 232 algorithm consistent with [RANDOM]. Section 3.2.3 describes a 233 suggested algorithm. It is important to insure a reasonable 234 likelihood uniqueness that all sites generating a Global IDs use a 235 functionally similar algorithm. 237 3.2.3 Sample Code for Pseudo-Random Global ID Algorithm 239 The algorithm described below is intended to be used for centrally 240 and locally assigned Global IDs. In each case the resulting global 241 ID will be used in the appropriate prefix as defined in section 3.2. 243 1) Obtain the current time of day in 64-bit NTP format [NTP]. 244 2) Obtain the birth date of the person running the algorithm (or 245 one of his/her descendants or ancestors) in 64-bit NTP format. 246 3) Concatenate the time of day with the birth date resulting in a 247 128-bit value (i.e., TOD, Birthday). 248 4) Compute an MD5 digest on the 128-bit value as specified in 249 [MD5DIG]. 250 5) Use the least significant 40 bits as the Global ID. 252 This algorithm will result in a global ID that is reasonably unique 253 and can be used as a Global ID. 255 3.3 Scope Definition 257 By default, the scope of these addresses is global. That is, they 258 are not limited by ambiguity like the site-local addresses defined in 259 [ADDRARCH]. Rather, these prefixes are globally unique, and as such, 260 their applicability exceeds the current site-local addresses. Their 261 limitation is in the routability of the prefixes, which is limited to 262 a site and any explicit routing agreements with other sites to 263 propagate them. Also, unlike site-locals, these prefixes can overlap 265 4.0 Routing 267 Local IPv6 addresses are designed to be routed inside of a site in 268 the same manner as other types of unicast addresses. They can be 269 carried in any IPv6 routing protocol without any change. 271 It is expected that they would share the same subnet IDs with 272 provider based global unicast addresses if they were being used 273 concurrently [GLOBAL]. 275 Any routing protocol that is used between sites MUST filter out any 276 incoming or outgoing Local IPv6 unicast routes. The exception to 277 this is if specific /48 IPv6 local unicast routes have been 278 configured to allow for inter-site communication. 280 If BGP is being used at the site border with an ISP, by default 281 filters MUST be installed in the BGP configuration to keep any Local 282 IPv6 address prefixes from being advertised outside of the site or 283 for these prefixes to be learned from another site. The exception to 284 this is if there are specific /48 routes created for one or more 285 Local IPv6 prefixes. 287 5.0 Renumbering and Site Merging 289 The use of Local IPv6 addresses in a site results in making 290 communication using these addresses independent of renumbering a 291 site's provider based global addresses. 293 When merging multiple sites none of the addresses created with these 294 prefixes need to be renumbered because all of the addresses are 295 unique. Routes for each specific prefix would have to be configured 296 to allow routing to work correctly between the formerly separate 297 sites. 299 6.0 Site Border Router and Firewall Packet Filtering 301 While no serious harm will be done if packets with these addresses 302 are sent outside of a site via a default route, it is recommended 303 that they be filtered to keep any packets with Local IPv6 destination 304 addresses from leaking outside of the site and to keep any site 305 prefixes from being advertised outside of their site. 307 Site border routers SHOULD install a black hole route for the Local 308 IPv6 prefix FC00::/7. This will insure that packets with Local IPv6 309 destination addresses will not be forwarded outside of the site via a 310 default route. 312 Site border routers and firewalls SHOULD NOT forward any packets with 313 Local IPv6 source or destination addresses outside of the site unless 314 they have been explicitly configured with routing information about 315 other Local IPv6 prefixes. The default behavior of these devices 316 SHOULD be to filter them. 318 7.0 DNS Issues 320 Local IPv6 addresses SHOULD NOT be installed in the global DNS. They 321 may be installed in a naming system local to the site or kept 322 separate from the global DNS using techniques such as "two-faced" 323 DNS. 325 If Local IPv6 address are configured in the global DNS, no harm is 326 done because they are unique and will not create any confusion. The 327 may not be reachable, but this is a property that is common to all 328 types of global IPv6 unicast addresses. 330 For future study names with Local IPv6 addresses may be resolved 331 inside of the site using dynamic naming systems such as Multicast 332 DNS. 334 8.0 Application and Higher Level Protocol Issues 336 Application and other higher level protocols can treat Local IPv6 337 addresses in the same manner as other types of global unicast 338 addresses. No special handling is required. This type of addresses 339 may not be reachable, but that is no different from other types of 340 IPv6 global unicast addresses. Applications need to be able to 341 handle multiple addresses that may or may not be reachable any point 342 in time. In most cases this complexity should be hidden in APIs. 344 From a host's perspective this difference shows up as different 345 reachability than global unicast and could be handled by default that 346 way. In some cases it is better for nodes and applications to treat 347 them differently from global unicast addresses. A starting point 348 might be to give them preference over global unicast, but fall back 349 to global unicast if a particular destination is found to be 350 unreachable. Much of this behavior can be controlled by how they are 351 allocated to nodes and put into the DNS. However it is useful if a 352 host can have both types of addresses and use them appropriately. 354 Note that the address selection mechanisms of [ADDSEL], and in 355 particular the policy override mechanism replacing default address 356 selection, are expected to be used on a site where Local IPv6 357 addresses are configured. 359 9.0 Use of Local IPv6 Addresses for Local Communications 361 Local IPv6 addresses, like global scope unicast addresses, are only 362 assigned to nodes if their use has been enabled (via IPv6 address 363 autoconfiguration [ADDAUTO], DHCPv6 [DHCP6], or manually) and 364 configured in the DNS. They are not created automatically the way 365 that IPv6 link-local addresses are and will not appear or be used 366 unless they are purposely configured. 368 In order for hosts to autoconfigure Local IPv6 addresses, routers 369 have to be configured to advertise Local IPv6 /64 prefixes in router 370 advertisements. Likewise, a DHCPv6 server must have been configured 371 to assign them. In order for a node to learn the Local IPv6 address 372 of another node, the Local IPv6 address must have been installed in 373 the DNS. For these reasons, it is straight forward to control their 374 usage in a site. 376 To limit the use of Local IPv6 addresses the following guidelines 377 apply: 379 - Nodes that are to only be reachable inside of a site: The local 380 DNS should be configured to only include the Local IPv6 381 addresses of these nodes. Nodes with only Local IPv6 addresses 382 must not be installed in the global DNS. 384 - Nodes that are to be limited to only communicate with other 385 nodes in the site: These nodes should be set to only 386 autoconfigure Local IPv6 addresses via [ADDAUTO] or to only 387 receive Local IPv6 addresses via [DHCP6]. Note: For the case 388 where both global and Local IPv6 prefixes are being advertised 389 on a subnet, this will require a switch in the devices to only 390 autoconfigure Local IPv6 addresses. 392 - Nodes that are to be reachable from inside of the site and from 393 outside of the site: The DNS should be configured to include 394 the global addresses of these nodes. The local DNS may be 395 configured to also include the Local IPv6 addresses of these 396 nodes. 398 - Nodes that can communicate with other nodes inside of the site 399 and outside of the site: These nodes should autoconfigure global 400 addresses via [ADDAUTO] or receive global address via [DHCP6]. 401 They may also obtain Local IPv6 addresses via the same 402 mechanisms. 404 10.0 Use of Local IPv6 Addresses with VPNs 406 Local IPv6 addresses can be used for inter-site Virtual Private 407 Networks (VPN) if appropriate routes are set up. Because the 408 addresses are unique these VPNs will work reliably and without the 409 need for translation. They have the additional property that they 410 will continue to work if the individual sites are renumbered or 411 merged. 413 11.0 Advantages and Disadvantages 415 11.1 Advantages 417 This approach has the following advantages: 419 - Provides Local IPv6 prefixes that can be used independently of 420 any provider based IPv6 unicast address allocations. This is 421 useful for sites not always connected to the Internet or sites 422 that wish to have a distinct prefix that can be used to localize 423 traffic inside of the site. 424 - Applications can treat these addresses in an identical manner as 425 any other type of global IPv6 unicast addresses. 426 - Sites can be merged without any renumbering of the Local IPv6 427 addresses. 428 - Sites can change their provider based IPv6 unicast address 429 without disrupting any communication using Local IPv6 addresses. 430 - Well known prefix that allows for easy filtering at site 431 boundary. 432 - Can be used for inter-site VPNs. 433 - If accidently leaked outside of a site via routing or DNS, there 434 is no conflict with any other addresses. 436 11.2 Disadvantages 438 This approach has the following disadvantages: 440 - Not possible to route Local IPv6 prefixes on the global Internet 441 with current routing technology. Consequentially, it is 442 necessary to have the default behavior of site border routers to 443 filter these addresses. 444 - There is a very low probability of non-unique locally assigned 445 global IDs being generated by the algorithm in section 3.2.3. 446 This risk can be ignored for all practical purposes, but it 447 leads to a theoretical risk of clashing address prefixes. 449 12.0 Security Considerations 451 Local IPv6 addresses do not provide any inherent security to the 452 nodes that use them. They may be used with filters at site 453 boundaries to keep Local IPv6 traffic inside of the site, but this is 454 no more or less secure than filtering any other type of global IPv6 455 unicast addresses. 457 Local IPv6 addresses do allow for address-based security mechanisms, 458 including IPSEC, across end to end VPN connections. 460 13.0 IANA Considerations 462 The IANA is instructed to allocate the FC00::/7 prefix for Unique 463 Local IPv6 unicast addresses. 465 The IANA is instructed to delegate, within a reasonable time, the 466 prefix FC00::/8 to an allocation authority for Unique Local IPv6 467 Unicast prefixes of length /48. This allocation authority shall 468 comply with the requirements described in section 3.2 of this 469 document, including in particular the charging of a modest one-time 470 fee, with any profit being used for the public good in connection 471 with the Internet. 473 14.0 References 475 14.1 Normative References 477 [ADDARCH] Hinden, R., S. Deering, S., "IP Version 6 Addressing 478 Architecture", RFC 3515, April 2003. 480 [GLOBAL] Hinden, R., S. Deering, E. Nordmark, "IPv6 Global Unicast 481 Address Format", RFC 3587, August 2003. 483 [IPV6] Deering, S., R. Hinden, "Internet Protocol, Version 6 484 (IPv6) Specification", RFC 2460, December 1998. 486 [MD5DIG] Rivest, R., "The MD5 Message-Digest Algorithm", RFC 1321, 487 April 1992. 489 [NTP] Mills, David L., "Network Time Protocol (Version 3) 490 Specification, Implementation and Analysis", RFC 1305, 491 March 1992. 493 [POPUL] Population Reference Bureau, "World Population Data Sheet 494 of the Population Reference Bureau 2002", August 2002. 496 [RANDOM] Eastlake, D. 3rd, S. Crocker, J. Schiller, "Randomness 497 Recommendations for Security", RFC 1750, December 1994. 499 [RFC2026] Bradner, S., "The Internet Standards Process -- Revision 500 3", RFC 2026, BCP00009, October 1996. 502 [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate 503 Requirement Levels", RFC 2119, BCP14, March 1997. 505 14.2 Informative References 507 [ADDAUTO] Thomson, S., T. Narten, "IPv6 Stateless Address 508 Autoconfiguration", RFC 2462, December 1998. 510 [DHCP6] Droms, R., et. al., "Dynamic Host Configuration Protocol 511 for IPv6 (DHCPv6)", Internet Draft, , November 2002. 514 [ADDSEL] Draves, R., "Default Address Selection for Internet 515 Protocol version 6 (IPv6)", RFC 3484, February 2003. 517 15.0 Authors' Addresses 519 Robert M. Hinden 520 Nokia 521 313 Fairchild Drive 522 Mountain View, CA 94043 523 USA 525 phone: +1 650 625-2004 526 email: bob.hinden@nokia.com 528 Brian Haberman 529 Caspian Networks 530 1 Park Drive, Suite 300 531 Research Triangle Park, NC 27709 532 USA 534 phone: +1-929-949-4828 535 email: brian@innovationslab.net 537 16.0 Change Log 539 Draft 541 o Changed file name to become an IPv6 w.g. group document. 542 o Clarified language in Routing and Firewall sections. 543 o Several editorial changes. 545 Draft 547 o Changed title and name of addresses defined in this document to 548 "Unique Local IPv6 Unicast Addresses" with abbreviation of 549 "Local IPv6 addresses". 550 o Several editorial changes. 552 Draft 554 o Added section on scope definition and updated application 555 requirement section. 556 o Clarified that, by default, the scope of these addresses is 557 global. 558 o Renumbered sections and general text improvements 559 o Removed reserved global ID values 560 o Added pseudo code for local allocation submitted by Brian 561 Haberman and added him as an author. 562 o Split Global ID values into centrally assigned and local 563 assignments and added text to describe local assignments 565 Draft 567 o Initial Draft