idnits 2.17.1 draft-ietf-6man-why64-02.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 (August 16, 2014) is 3542 days in the past. Is this intentional? Checking references for intended status: Informational ---------------------------------------------------------------------------- == Outdated reference: A later version (-08) exists of draft-ietf-opsec-ipv6-host-scanning-04 ** Obsolete normative reference: RFC 4941 (Obsoleted by RFC 8981) ** Obsolete normative reference: RFC 5996 (Obsoleted by RFC 7296) -- No information found for draft-odell-8 - is the name correct? == Outdated reference: A later version (-08) exists of draft-ietf-6man-ipv6-address-generation-privacy-01 == Outdated reference: A later version (-82) exists of draft-templin-aerolink-30 -- Obsolete informational reference (is this intentional?): RFC 2629 (Obsoleted by RFC 7749) Summary: 2 errors (**), 0 flaws (~~), 4 warnings (==), 3 comments (--). Run idnits with the --verbose option for more detailed information about the items above. -------------------------------------------------------------------------------- 2 6MAN B. Carpenter, Ed. 3 Internet-Draft Univ. of Auckland 4 Intended status: Informational T. Chown 5 Expires: February 17, 2015 Univ. of Southampton 6 F. Gont 7 SI6 Networks / UTN-FRH 8 S. Jiang 9 Huawei Technologies Co., Ltd 10 A. Petrescu 11 CEA, LIST 12 A. Yourtchenko 13 cisco 14 August 16, 2014 16 Analysis of the 64-bit Boundary in IPv6 Addressing 17 draft-ietf-6man-why64-02 19 Abstract 21 The IPv6 unicast addressing format includes a separation between the 22 prefix used to route packets to a subnet and the interface identifier 23 used to specify a given interface connected to that subnet. 24 Currently the interface identifier is defined as 64 bits long for 25 almost every case, leaving 64 bits for the subnet prefix. This 26 document describes the advantages of this fixed boundary and analyses 27 the issues that would be involved in treating it as a variable 28 boundary. 30 Status of This Memo 32 This Internet-Draft is submitted in full conformance with the 33 provisions of BCP 78 and BCP 79. 35 Internet-Drafts are working documents of the Internet Engineering 36 Task Force (IETF). Note that other groups may also distribute 37 working documents as Internet-Drafts. The list of current Internet- 38 Drafts is at http://datatracker.ietf.org/drafts/current/. 40 Internet-Drafts are draft documents valid for a maximum of six months 41 and may be updated, replaced, or obsoleted by other documents at any 42 time. It is inappropriate to use Internet-Drafts as reference 43 material or to cite them other than as "work in progress." 45 This Internet-Draft will expire on February 17, 2015. 47 Copyright Notice 49 Copyright (c) 2014 IETF Trust and the persons identified as the 50 document authors. All rights reserved. 52 This document is subject to BCP 78 and the IETF Trust's Legal 53 Provisions Relating to IETF Documents 54 (http://trustee.ietf.org/license-info) in effect on the date of 55 publication of this document. Please review these documents 56 carefully, as they describe your rights and restrictions with respect 57 to this document. Code Components extracted from this document must 58 include Simplified BSD License text as described in Section 4.e of 59 the Trust Legal Provisions and are provided without warranty as 60 described in the Simplified BSD License. 62 Table of Contents 64 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 2 65 2. Advantages of a fixed identifier length . . . . . . . . . . . 4 66 3. Arguments for shorter identifier lengths . . . . . . . . . . 5 67 3.1. Insufficient address space delegated . . . . . . . . . . 5 68 3.2. Hierarchical addressing . . . . . . . . . . . . . . . . . 6 69 3.3. Audit requirement . . . . . . . . . . . . . . . . . . . . 6 70 3.4. Concerns over ND cache exhaustion . . . . . . . . . . . . 7 71 4. Effects of varying the interface identifier length . . . . . 7 72 4.1. Interaction with IPv6 specifications . . . . . . . . . . 7 73 4.2. Possible failure modes . . . . . . . . . . . . . . . . . 9 74 4.3. Experimental observations . . . . . . . . . . . . . . . . 11 75 4.3.1. Survey of the processing of Neighbor Discovery 76 options with prefixes other than /64 . . . . . . . . 11 77 4.3.2. Other Observations . . . . . . . . . . . . . . . . . 13 78 4.4. Implementation and deployment issues . . . . . . . . . . 14 79 4.5. Privacy issues . . . . . . . . . . . . . . . . . . . . . 15 80 5. Security Considerations . . . . . . . . . . . . . . . . . . . 16 81 6. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 17 82 7. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . 17 83 8. Change log [RFC Editor: Please remove] . . . . . . . . . . . 17 84 9. References . . . . . . . . . . . . . . . . . . . . . . . . . 17 85 9.1. Normative References . . . . . . . . . . . . . . . . . . 17 86 9.2. Informative References . . . . . . . . . . . . . . . . . 21 87 Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 23 89 1. Introduction 91 Rather than simply overcoming the IPv4 address shortage by doubling 92 the address size to 64 bits, IPv6 addresses were originally chosen to 93 be 128 bits long to provide flexibility and new possibilities. In 94 particular, the notion of a well-defined interface identifier was 95 added to the IP addressing model. The IPv6 addressing architecture 96 [RFC4291] specifies that a unicast address is divided into n bits of 97 subnet prefix followed by (128-n) bits of interface identifier (IID). 98 The bits in the IID have no meaning and the entire identifier should 99 be treated as an opaque value [RFC7136]. Also, since IPv6 routing is 100 entirely based on variable length prefixes (also known as variable 101 length subnet masks), there is no basic architectural assumption that 102 n has any particular fixed value. All IPv6 routing protocols support 103 prefixes of any length up to /128. 105 The IID is of basic importance in the IPv6 stateless address 106 autoconfiguration (SLAAC) process [RFC4862]. However, it is 107 important to understand that its length is a parameter in the SLAAC 108 process, and it is determined in a separate link-type specific 109 document (see Section 2 of RFC 4862). The SLAAC protocol does not 110 define its length or assume any particular length. 112 The notion of a /64 boundary in the address was introduced after the 113 initial design of IPv6, following a period when it was expected to be 114 at /80. There were two motivations for setting it at /64. One was 115 the original "8+8" proposal [DRAFT-odell] that eventually led to ILNP 116 [RFC6741], which required a fixed point for the split between local 117 and wide-area parts of the address. The other was the expectation 118 that EUI-64 MAC addresses would become widespread in place of 48-bit 119 addresses, coupled with the plan at that time that auto-configured 120 addresses would normally be based on interface identifiers derived 121 from MAC addresses. 123 As a result, RFC 4291 describes a method of forming interface 124 identifiers from IEEE EUI-64 hardware addresses [IEEE802] and this 125 specifies that such interface identifiers are 64 bits long. Various 126 other methods of forming interface identifiers also specify a length 127 of 64 bits. The addressing architecture, as modified by [RFC7136], 128 states that "For all unicast addresses, except those that start with 129 the binary value 000, Interface IDs are required to be 64 bits long. 130 If derived from an IEEE MAC-layer address, they must be constructed 131 in Modified EUI-64 format." The de facto length of almost all IPv6 132 interface identifiers is therefore 64 bits. The only documented 133 exception is in [RFC6164], which standardises 127-bit prefixes for 134 point-to-point links between routers, among other things to avoid a 135 loop condition known as the ping-pong problem. 137 With that exception, and despite the comments above about the routing 138 architecture and the design of SLAAC, using an IID shorter than 64 139 bits and a subnet prefix longer than 64 bits is outside the current 140 IPv6 specifications, so results may vary. 142 The question is often asked why the subnet prefix boundary is set 143 rigidly at /64. The first purpose of this document is to explain the 144 advantages of the fixed IID length. Its second purpose is to analyse 145 in some detail the effects of hypothetically varying the IID length. 146 The fixed length limits the practical length of a routing prefix to 147 64 bits, whereas architecturally, and from the point of view of 148 routing protocols, it could be any value up to /128, as for host 149 routes. Whatever the length of the IID, the longest match is done on 150 the concatenation of prefix and IID. Here, we mainly discuss the 151 question of a shorter IID, which would allow a longer subnet prefix. 152 The document makes no proposal for a change to the IID length. 154 The following three sections describe in turn the advantages of the 155 fixed length IID, some arguments for shorter lengths, and the 156 expected effects of varying the length. 158 2. Advantages of a fixed identifier length 160 As mentioned in Section 1, the existence of an IID of a given length 161 is a necessary part of IPv6 stateless address autoconfiguration 162 (SLAAC) [RFC4862]. This length is normally the same for all nodes on 163 a given link that is running SLAAC. Even though this length is a 164 parameter for SLAAC, determined separately for the link layer media 165 type of each interface, a globally fixed IID length for all link 166 layer media is the simplest solution, and is consistent with the 167 principles of Internet host configuration described in [RFC5505]. 169 An interface identifier of significant length, clearly separated from 170 the subnet prefix, makes it possible to limit the traceability of a 171 host computer by varying the identifier. This is discussed further 172 in Section 4.5. 174 An interface identifier of significant length guarantees that there 175 are always enough addresses in any subnet to add one or more real or 176 virtual interfaces. There might be other limits, but IP addressing 177 will never get in the way. 179 The addressing architecture [RFC4291] [RFC7136] sets the IID length 180 at 64 bits for all unicast addresses, and therefore for all media 181 supporting SLAAC. An immediate effect of fixing the IID length at 64 182 bits is, of course, that it fixes the subnet prefix length also at 64 183 bits, regardless of the aggregate prefix assigned to the site 184 concerned, which in accordance with [RFC6177] should be /56 or 185 shorter. This situation has various specific advantages: 187 o Everything is the same. Compared to IPv4, there is no more 188 calculating leaf subnet sizes, no more juggling between subnets, 189 and fewer consequent errors. Network design is therefore simpler 190 and much more straightforward. This is of importance for all 191 types of networks - enterprise, campus, small office, or home 192 networks - and for all types of operator, from professional to 193 consumer. 195 o Adding a subnet is easy - just take another /64 from the pool. No 196 estimates, calculations, consideration or judgment is needed. 198 o Router configurations are homogeneous and easier to understand. 200 o Documentation is easier to write and easier to read; training is 201 easier. 203 The remainder of this document describes arguments that have been 204 made against the current fixed IID length and analyses the effects of 205 a possible change. However, the consensus of the IETF is that the 206 benefits of keeping the length fixed at 64 bits, and the practical 207 difficulties of changing it, outweigh the arguments for change. 209 3. Arguments for shorter identifier lengths 211 In this section we describe arguments for scenarios where shorter 212 IIDs, implying prefixes longer than /64, have been used or proposed. 214 3.1. Insufficient address space delegated 216 A site may not be delegated a sufficiently generous prefix from which 217 to allocate a /64 prefix to all of its internal subnets. In this 218 case the site may either determine that it does not have enough 219 address space to number all its network elements and thus, at the 220 very best, be only partially operational, or it may choose to use 221 internal prefixes longer than /64 to allow multiple subnets and the 222 hosts within them to be configured with addresses. 224 In this case, the site might choose, for example, to use a /80 per 225 subnet, in combination with hosts using either manually configured 226 addressing or DHCPv6. 228 Scenarios that have been suggested where an insufficient prefix might 229 be delegated include home or small office networks, vehicles, 230 building services and transportation services (road signs, etc.). It 231 should be noted that the homenet architecture text 232 [I-D.ietf-homenet-arch] states that a CPE should consider the lack of 233 sufficient address space to be an error condition, rather than using 234 prefixes longer than /64 internally. 236 Another scenario occasionally suggested is one where the Internet 237 address registries actually begin to run out of IPv6 prefix space, 238 such that operators can no longer assign reasonable prefixes to users 239 in accordance with [RFC6177]. It is sometimes suggested that 240 assigning a prefix such as /48 or /56 to every user site (including 241 the smallest) as recommended by [RFC6177] is wasteful. In fact, the 242 currently released unicast address space, 2000::/3, contains 35 243 trillion /48 prefixes ((2**45 = 35,184,372,088,832), of which only a 244 small fraction have been allocated. Allowing for a conservative 245 estimate of allocation efficiency, i.e., an HD-ratio of 0.94 246 [RFC4692], approximately 5 trillion /48 prefixes can be allocated. 247 Even with a relaxed HD-ratio of 0.89, approximately one trillion /48 248 prefixes can be allocated. Furthermore, with only 2000::/3 currently 249 committed for unicast addressing, we still have almost 7/8ths of the 250 address space in reserve. Thus there is no objective risk of prefix 251 depletion by assigning /48 or /56 prefixes even to the smallest 252 sites. 254 3.2. Hierarchical addressing 256 Some operators have argued that more prefix bits are needed to allow 257 an aggregated hierarchical addressing scheme within a campus or 258 corporate network. However, if a campus or enterprise gets a /48 259 prefix (or shorter), then that already provides 16 bits for 260 hierarchical allocation. In any case, flat IGP routing is widely and 261 successfully used within rather large networks, with hundreds of 262 routers and thousands of end systems. Therefore there is no 263 objective need for additional prefix bits to support hierarchy and 264 aggregation within enterprises. 266 3.3. Audit requirement 268 Some network operators wish to know and audit which nodes are active 269 on a network, especially those that are allowed to communicate off 270 link or off site. They may also wish to limit the total number of 271 active addresses and sessions that can be sourced from a particular 272 host, LAN or site, in order to prevent potential resource depletion 273 attacks or other problems spreading beyond a certain scope of 274 control. It has been argued that this type of control would be 275 easier if only long network prefixes with relatively small numbers of 276 possible hosts per network were used, reducing the discovery problem. 277 However, such sites most typically operate using DHCPv6, which means 278 that all legitimate hosts are automatically known to the DHCPv6 279 servers, which is sufficient for audit purposes. Such hosts could, 280 if desired, be limited to a small range of IID values without 281 changing the /64 subnet length. Any hosts inadvertently obtaining 282 addresses via SLAAC can be audited through Neighbor Discovery logs. 284 3.4. Concerns over ND cache exhaustion 286 A site may be concerned that it is open to neighbour discovery (ND) 287 cache exhaustion attacks [RFC3756], whereby an attacker sends a large 288 number of messages in rapid succession to a series of (most likely 289 inactive) host addresses within a specific subnet. Such an attack 290 attempts to fill a router's ND cache with ND requests pending 291 completion, in so doing denying correct operation to active devices 292 on the network. 294 One potential way to mitigate this attack would be to consider using 295 a /120 prefix, thus limiting the number of addresses in the subnet to 296 be similar to an IPv4 /24 prefix, which should not cause any concerns 297 for ND cache exhaustion. Note that the prefix does need to be quite 298 long for this scenario to be valid. The number of theoretically 299 possible ND cache slots on the segment needs to be of the same order 300 of magnitude as the actual number of hosts. Thus small increases 301 from the /64 prefix length do not have a noticeable impact: even 2^32 302 potential entries, a factor of two billion decrease compared to 2^64, 303 is still more than enough to exhaust the memory on current routers. 304 Given that SLAAC assumes a 64 bit network boundary, in such an 305 approach hosts would likely need to use DHCPv6, or be manually 306 configured with addresses. 308 It should be noted that several other mitigations of the ND cache 309 attack are described in [RFC6583], and that limiting the size of the 310 cache and the number of incomplete entries allowed would also defeat 311 the attack. For the specific case of a point-to-point link between 312 routers, this attack is indeed mitigated by a /127 prefix [RFC6164]. 314 4. Effects of varying the interface identifier length 316 This section of the document analyses the impact and effects of 317 varying the length of an IPv6 unicast IID by reducing it to less than 318 64 bits. 320 4.1. Interaction with IPv6 specifications 322 The precise 64-bit length of the Interface ID is widely mentioned in 323 numerous RFCs describing various aspects of IPv6. It is not 324 straightforward to distinguish cases where this has normative impact 325 or affects interoperability. This section aims to identify 326 specifications that contain an explicit reference to the 64-bit 327 length. Regardless of implementation issues, the RFCs themselves 328 would all need to be updated if the 64-bit rule was changed, even if 329 the updates were small, which would involve considerable time and 330 effort. 332 First and foremost, the RFCs describing the architectural aspects of 333 IPv6 addressing explicitly state, refer and repeat this apparently 334 immutable value: Addressing Architecture [RFC4291], IPv6 Address 335 Assignment to End Sites [RFC6177], Reserved Interface Identifiers 336 [RFC5453], ILNP Node Identifiers [RFC6741]. Customer Edge routers 337 impose /64 for their interfaces [RFC7084]. The IPv6 Subnet Model 338 [RFC5942] points out that the assumption of a /64 prefix length is a 339 potential implementation error. 341 Numerous IPv6-over-foo documents make mandatory statements with 342 respect to the 64-bit length of the Interface ID to be used during 343 the Stateless Autoconfiguration. These documents include [RFC2464] 344 (Ethernet), [RFC2467] (FDDI), [RFC2470] (Token Ring), [RFC2492] 345 (ATM), [RFC2497] (ARCnet), [RFC2590] (Frame Relay), [RFC3146] (IEEE 346 1394), [RFC4338] (Fibre Channel), [RFC4944] (IEEE 802.15.4), 347 [RFC5072] (PPP), [RFC5121] [RFC5692] (IEEE 802.16), [RFC2529] 348 (6over4), [RFC5214] (ISATAP), [I-D.templin-aerolink] (AERO), 349 [I-D.ietf-6lowpan-btle], [I-D.ietf-6man-6lobac], 350 [I-D.brandt-6man-lowpanz]. 352 To a lesser extent, the address configuration RFCs themselves may in 353 some ways assume the 64-bit length of an Interface ID (e.g, SLAAC for 354 the link-local addresses, DHCPv6 for the potentially assigned EUI- 355 64-based IP addresses, Optimistic Duplicate Address Detection 356 [RFC4429] which computes 64-bit-based collision probabilities). 358 The MLDv1 [RFC2710] and MLDv2 [RFC3810] protocols mandate that all 359 queries be sent with a link-local source address, with the exception 360 of MLD messages sent using the unspecified address when the link- 361 local address is tentative [RFC3590]. At the the time of publication 362 of RFC 2710, the IPv6 addressing architecture specified link-local 363 addresses with 64-bit interface identifiers. MLDv2 explicitly 364 specifies the use of the fe80::/64 link-local prefix, and bases the 365 querier election algorithm on the link-local subnet prefix of length 366 /64. 368 The IPv6 Flow Label Specification [RFC6437] gives an example of a 369 20-bit hash function generation which relies on splitting an IPv6 370 address in two equally-sized 64bit-length parts. 372 The basic transition mechanisms [RFC4213] refer to IIDs of length 64 373 for link-local addresses, and other transition mechanisms such as 374 Teredo [RFC4380] assume the use of IIDs of length 64. Similar 375 assumptions are found in 6to4 [RFC3056] and 6rd [RFC5969]. 376 Translation-based transition mechanisms such as NAT64 and NPTv6 have 377 some dependency on prefix length, discussed below. 379 The proposed method [RFC7278] of extending an assigned /64 prefix 380 from a smartphone's cellular interface to its WiFi link relies on 381 prefix length, and implicitly on the length of the Interface ID, to 382 be valued at 64. 384 The CGA and HBA specifications rely on the 64-bit identifier length 385 (see below), as do the Privacy extensions [RFC4941] and some examples 386 in IKEv2bis [RFC5996]. 388 464XLAT [RFC6877] explicitly mentions acquiring /64 prefixes. 389 However, it also discusses the possibility of using the interface 390 address on the device as the endpoint for the traffic, thus 391 potentially removing this dependency. 393 [RFC2526] reserves a number of subnet anycast addresses by reserving 394 some anycast IIDs. An anycast IID so reserved cannot be less than 7 395 bits long. This means that a subnet prefix length longer than /121 396 is not possible, and a subnet of exactly /121 would be useless since 397 all its identifiers are reserved. It also means that half of a /120 398 is reserved for anycast. This could of course be fixed in the way 399 described for /127 in [RFC6164], i.e., avoiding the use of anycast 400 within a /120 subnet. Note that support for "on-link anycast" is a 401 standard IPv6 neighbor discovery capability [RFC4861][RFC7094], and 402 therefore applications and their developers would expect it to be 403 available. 405 The Mobile IP home network models [RFC4887] rely heavily on the /64 406 subnet length and assume a 64-bit IID. 408 While preparing this document, it was noted that many other IPv6 409 specifications refer to mandatory alignment on 64-bit boundaries, 410 64-bit data structures, 64-bit counters in MIBs, 64-bit sequence 411 numbers and cookies in security, etc. Finally, the number "64" may 412 be considered "magic" in some RFCs, e.g., 64k limits in DNS and 413 Base64 encodings in MIME. None of this has any influence on the 414 length of the IID, but might confuse a careless reader. 416 4.2. Possible failure modes 418 This section discusses several specific aspects of IPv6 where we can 419 expect operational failures with subnet prefixes other than /64. 421 o Router implementations: Router implementors might interpret IETF 422 standards such as [RFC6164] and [RFC7136] to indicate that 423 prefixes between /65 and /126 inclusive for unicast packets on- 424 the-wire are invalid, and operational practices that utilize 425 prefix lengths in this range may fail on some devices, as 426 discussed in Section 4.3.2. 428 o Multicast: [RFC3306] defines a method for generating IPv6 429 multicast group addresses based on unicast prefixes. This method 430 assumes a longest prefix of 64 bits. If a longer prefix is used, 431 there is no way to generate a specific multicast group address 432 using this method. In such cases the administrator would need to 433 use an "artificial" prefix from within their allocation (a /64 or 434 shorter) from which to generate the group address. This prefix 435 would not correspond to a real subnet. 437 Similarly [RFC3956], which specifies Embedded-RP, allowing IPv6 438 multicast rendezvous point addresses to be embedded in the 439 multicast group address, would also fail, as the scheme assumes a 440 maximum prefix length of 64 bits. 442 o CGA: The Cryptographically Generated Address format (CGA, 443 [RFC3972]) is heavily based on a /64 interface identifier. 444 [RFC3972] has defined a detailed algorithm showing how to generate 445 a 64-bit interface identifier from a public key and a 64-bit 446 subnet prefix. Changing the /64 boundary would certainly 447 invalidate the current CGA definition. However, CGA might benefit 448 in a redefined version if more bits are used for interface 449 identifier (which means shorter prefix length). For now, 59 bits 450 are used for cryptographic purposes. The more bits are available, 451 the stronger CGA could be. Conversely, longer prefixes would 452 weaken CGA. 454 o NAT64: Both stateless [RFC6052] NAT64 and stateful NAT64 [RFC6146] 455 are flexible for the prefix length. [RFC6052] has defined 456 multiple address formats for NAT64. In Section 2 "IPv4-Embedded 457 IPv6 Prefix and Format" of [RFC6052], the network-specific prefix 458 could be one of /32, /40, /48, /56, /64 and /96. The remaining 459 part of the IPv6 address is constructed by a 32-bit IPv4 address, 460 a 8-bit u byte and a variable length suffix (there is no u byte 461 and suffix in the case of 96-bit Well-Known Prefix). NAT64 is 462 therefore OK with a subnet boundary out to /96, but not longer. 464 o NPTv6: IPv6-to-IPv6 Network Prefix Translation [RFC6296] is also 465 bound to /64 boundary. NPTv6 maps a /64 prefix to another /64 466 prefix. When the NPTv6 Translator is configured with a /48 or 467 shorter prefix, the 64-bit interface identifier is kept unmodified 468 during translation. However, the /64 boundary might be changed as 469 long as the "inside" and "outside" prefixes have the same length. 471 o ILNP: Identifier-Locator Network Protocol (ILNP) [RFC6741] is 472 designed around the /64 boundary, since it relies on locally 473 unique 64-bit node identifiers (in the interface identifier 474 field). While a re-design to use longer prefixes is not 475 inconceivable, this would need major changes to the existing 476 specification for the IPv6 version of ILNP. 478 o shim6: The Multihoming Shim Protocol for IPv6 (shim6) [RFC5533] in 479 its insecure form treats IPv6 address as opaque 128-bit objects. 480 However, to secure the protocol against spoofing, it is essential 481 to either use CGAs (see above) or Hash-Based Addresses (HBA) 482 [RFC5535]. Like CGAs, HBAs are generated using a procedure that 483 assumes a 64-bit identifier. Therefore, in effect, secure shim6 484 is affected by the /64 boundary exactly like CGAs. 486 o Duplicate address risk: If SLAAC was modified to work with shorter 487 IIDs, the statistical risk of hosts choosing the same pseudo- 488 random identifier [RFC7217] would increase correspondingly. The 489 practical impact of this would range from slight to dramatic, 490 depending on how much the IID length was reduced. In particular, 491 a /120 prefix would imply an 8 bit IID and address collisions 492 would be highly probable. 494 o The link-local prefix: While RFC 4862 is careful not to define any 495 specific length of link-local prefix within fe80::/10, the 496 addressing architecture [RFC4291] does define the link-local IID 497 length to be 64 bits. If different hosts on a link used IIDs of 498 different lengths to form a link-local address, there is potential 499 for confusion and unpredictable results. Typically today the 500 choice of 64 bits for the link-local IID length is hard-coded per 501 interface, in accordance with the relevant IPv6-over-foo 502 specification, and systems behave as if the link local prefix was 503 actually fe80::/64. There might be no way to change this except 504 conceivably by manual configuration, which will be impossible if 505 the host concerned has no local user interface. 507 It goes without saying that if prefixes longer than /64 are to be 508 used, all hosts must be capable of generating IIDs shorter than 64 509 bits, in order to follow the auto-configuration procedure correctly 510 [RFC4862]. 512 4.3. Experimental observations 514 4.3.1. Survey of the processing of Neighbor Discovery options with 515 prefixes other than /64 517 This section provides a survey of the processing of Neighbor 518 Discovery options which include prefixes that are different than /64. 520 The behavior of nodes was assessed with respect to the following 521 options: 523 o PIO-A: Prefix Information Option (PIO) [RFC4861] with the A bit 524 set. 526 o PIO-L: Prefix Information Option (PIO) [RFC4861] with the L bit 527 set. 529 o PIO-AL: Prefix Information Option (PIO) [RFC4861] with both the A 530 and L bits set. 532 o RIO: Route Information Option (RIO) [RFC4191]. 534 In the tables below, the following notation is used: 536 NOT-SUP: 537 This option is not supported (i.e., it is ignored no matter the 538 prefix length used). 540 LOCAL: 541 The corresponding prefix is considered "on-link". 543 ROUTE 544 The corresponding route is added to the IPv6 routing table. 546 IGNORE: 547 The Option is ignored as an error. 549 +--------------------+--------+-------+--------+---------+ 550 | Operating System | PIO-A | PIO-L | PIO-AL | RIO | 551 +--------------------+--------+-------+--------+---------+ 552 | FreeBSD 9.0 | IGNORE | LOCAL | LOCAL | NOT-SUP | 553 +--------------------+--------+-------+--------+---------+ 554 | Linux 3.0.0-15 | IGNORE | LOCAL | LOCAL | NOT-SUP | 555 +--------------------+--------+-------+--------+---------+ 556 | Linux-current | IGNORE | LOCAL | LOCAL | NOT-SUP | 557 +--------------------+--------+-------+--------+---------+ 558 | NetBSD 5.1 | IGNORE | LOCAL | LOCAL | NOT-SUP | 559 +--------------------+--------+-------+--------+---------+ 560 | OpenBSD-current | IGNORE | LOCAL | LOCAL | NOT-SUP | 561 +--------------------+--------+-------+--------+---------+ 562 | Win XP SP2 | IGNORE | LOCAL | LOCAL | ROUTE | 563 +--------------------+--------+-------+--------+---------+ 564 | Win 7 Home Premium | IGNORE | LOCAL | LOCAL | ROUTE | 565 +--------------------+--------+-------+--------+---------+ 567 Table 1: Processing of ND options with prefixes longer than /64 568 +--------------------+--------+-------+--------+---------+ 569 | Operating System | PIO-A | PIO-L | PIO-AL | RIO | 570 +--------------------+--------+-------+--------+---------+ 571 | FreeBSD 9.0 | IGNORE | LOCAL | LOCAL | NOT-SUP | 572 +--------------------+--------+-------+--------+---------+ 573 | Linux 3.0.0-15 | IGNORE | LOCAL | LOCAL | NOT-SUP | 574 +--------------------+--------+-------+--------+---------+ 575 | Linux-current | IGNORE | LOCAL | LOCAL | NOT-SUP | 576 +--------------------+--------+-------+--------+---------+ 577 | NetBSD 5.1 | IGNORE | LOCAL | LOCAL | NOT-SUP | 578 +--------------------+--------+-------+--------+---------+ 579 | OpenBSD-current | IGNORE | LOCAL | LOCAL | NOT-SUP | 580 +--------------------+--------+-------+--------+---------+ 581 | Win XP SP2 | IGNORE | LOCAL | LOCAL | ROUTE | 582 +--------------------+--------+-------+--------+---------+ 583 | Win 7 Home Premium | IGNORE | LOCAL | LOCAL | ROUTE | 584 +--------------------+--------+-------+--------+---------+ 586 Table 2: Processing of ND options with prefixes shorter than /64 588 The results obtained can be summarized as follows: 590 o the "A" bit in the Prefix Information Options is honored only if 591 the prefix length is 64. At least for the case where the IID 592 length is defined to be 64 bits in the corresponding link-type- 593 specific document, which is the case for all currently published 594 such documents, this is consistent with [RFC4862], which defines 595 the case where the sum of the advertised prefix length and the IID 596 length does not equal 128 as an error condition. 598 o the "L bit in the Prefix Information Options is honored for any 599 arbitrary prefix length (whether shorter or longer than /64). 601 o nodes that support the Route Information Option, allow such routes 602 to be specified with prefixes of any arbitrary length (whether 603 shorter or longer than /64) 605 4.3.2. Other Observations 607 Participants in the V6OPS working group have indicated that some 608 forwarding devices have been shown to work correctly with long 609 prefixes such as /80 or /96. Indeed, it is to be expected that 610 longest prefix match based forwarding will work for any prefix 611 length, and no reports of this completely failing have been noted. 612 Also, DHCPv6 is in widespread use without any dependency on the /64 613 boundary. Reportedly, there are deployments of /120 subnets 614 configured using DHCPv6. 616 There have been definite reports that some routers have a performance 617 drop-off or even resource exhaustion for prefixes longer than /64, 618 due to design issues. In particular, some routing chip designs 619 allocate much less space for longer prefixes than for prefixes up to 620 /64, for the sake of savings in memory, power and lookup latency. 621 Some devices need special-case code to handle point-to-point links 622 according to [RFC6164]. 624 It has been reported that at least one type of switch has a content- 625 addressable memory limited to 144 bits, which is indeed a typical 626 value for commodity components [TCAM]. This means that packet 627 filters or access control lists cannot be defined based on 128-bit 628 addresses and two 16-bit port numbers; the longest prefix that could 629 be used in such a filter is a /112. 631 4.4. Implementation and deployment issues 633 From an early stage, implementations and deployments of IPv6 assumed 634 the /64 subnet length, even though routing was based on prefixes of 635 any length. As shown above, this became anchored in many 636 specifications (Section 4.1) and in important aspects of 637 implementations commonly used in local area networks (Section 4.3). 638 In fact, a programmer might be lulled into assuming a comfortable 639 rule of thumb that subnet prefixes are always /64 and an IID is 640 always of length 64. Apart from the limited evidence in 641 Section 4.3.1, we cannot tell without code inspections or tests 642 whether existing stacks are able to handle a flexible IID length, or 643 whether they would require modification to do so. A conforming 644 implementation of an IPv6-over-foo that specifies a 64 bit IID for 645 foo links will of course only support 64. But in a well designed 646 stack, the IP layer itself will treat that 64 as a parameter, so 647 changing the IID length in the IPv6-over-foo code should be all that 648 is necessary. 650 The main practical consequence of the existing specifications is that 651 deployments in which longer subnet prefixes are used cannot make use 652 of SLAAC-configured addresses, and require either manually configured 653 addresses or DHCPv6. To reverse this argument, if it was considered 654 desirable to allow auto-configured addresses with subnet prefixes 655 longer than /64, all of the specifications identified above as 656 depending on /64 would have to be modified, with due regard to 657 interoperability with unmodified stacks. In fact [RFC7217] allows 658 for this possibility. Then modified stacks would have to be 659 developed and deployed. It might be the case that some stacks 660 contain dependencies on the /64 boundary which are not directly 661 implied by the specifications, and any such hidden dependencies would 662 also need to be found and removed. 664 At least one DHCPv6 client unconditionally installs a /64 prefix as 665 on-link when it configures an interface with an address, although 666 some specific operating system vendors seem to change this default 667 behavior by tweaking a client-side script. This is in clear 668 violation of the IPv6 subnet model [RFC5942]. The motivation for 669 this choice is that if there is no router on the link, the hosts 670 would fail to communicate with each other using the configured 671 addresses because the "on-link assumption" was removed in [RFC4861]. 672 This is not really about the magic number of 64, but an 673 implementation may sometimes pick an arbitrary value of prefix length 674 due to the removal of the on-link assumption, and the value chosen 675 will most likely be 64. 677 Typical IP Address Management (IPAM) tools treat /64 as the default 678 subnet length, but allow users to specify longer subnet prefixes if 679 desired. Clearly, all IPAM tools and network management systems 680 would need to be checked in detail. 682 Finally, IPv6 is already deployed at many sites, with a large number 683 of staff trained on the basis of the existing standards, supported by 684 documentation and tools based on those standards. Numerous existing 685 middlebox devices are also based on those standards. These people, 686 documents, tools and devices represent a very large investment that 687 would be seriously impacted by a change in the /64 boundary. 689 4.5. Privacy issues 691 The length of the interface identifier has implications for privacy 692 [I-D.ietf-6man-ipv6-address-generation-privacy]. In any case in 693 which the value of the identifier is intended to be hard to guess, 694 whether or not it is cryptographically generated, it is apparent that 695 more bits are better. For example, if there are only 20 bits to be 696 guessed, at most just over a million guesses are needed, today well 697 within the capacity of a low cost attack mechanism. It is hard to 698 state in general how many bits are enough to protect privacy, since 699 this depends on the resources available to the attacker, but it seems 700 clear that a privacy solution needs to resist an attack requiring 701 billions rather than millions of guesses. Trillions would be better, 702 suggesting that at least 40 bits should be available. Thus we can 703 argue that subnet prefixes longer than say /80 might raise privacy 704 concerns by making the IID guessable. 706 A prefix long enough to limit the number of addresses comparably to 707 an IPv4 subnet, such as /120, would create exactly the same situation 708 for privacy as IPv4 except for the absence of NAT. In particular, a 709 host would be forced to pick a new IID when roaming to a new network, 710 to avoid collisions. As mentioned earlier, it is likely that SLAAC 711 will not be used on such a subnet. 713 5. Security Considerations 715 In addition to the privacy issues mentioned in Section 4.5, and the 716 issues mentioned with CGAs and HBAs in Section 4.2, the length of the 717 subnet prefix affects the matter of defence against scanning attacks 718 [I-D.ietf-opsec-ipv6-host-scanning]. Assuming the attacker has 719 discovered or guessed the prefix length, a longer prefix reduces the 720 space that the attacker needs to scan, e.g., to only 256 addresses if 721 the prefix is /120. On the other hand, if the attacker has not 722 discovered the prefix length and assumes it to be /64, routers can 723 trivially discard attack packets that do not fall within an actual 724 subnet. 726 However, assume that an attacker finds one valid address A and 727 assumes that it is within a long prefix such as a /120. The attacker 728 then starts a scanning attack by scanning "outwards" from A, by 729 trying A+1, A-1, A+2, A-2, etc. This attacker will easily find all 730 hosts in any subnet with a long prefix, because they will have 731 addresses close to A. We therefore conclude that any prefix 732 containing densely packed valid addresses is vulnerable to a scanning 733 attack, without the attacker needing to guess the prefix length. 734 Therefore, to preserve IPv6's advantage over IPv4 in resisting 735 scanning attacks, it is important that subnet prefixes are short 736 enough to allow sparse allocation of identifiers within each subnet. 737 The considerations are similar to those for privacy, and we can again 738 argue that prefixes longer than say /80 might significantly increase 739 vulnerability. Ironically, this argument is exactly converse to the 740 argument for longer prefixes to resist an ND cache attack, as 741 described in Section 3.4. 743 Denial of service attacks related to Neighbor Discovery are discussed 744 in Section 3.4 and in [RFC6583]. One of the mitigations suggested by 745 that document is "sizing subnets to reflect the number of addresses 746 actually in use", but the fact that this greatly simplifies scanning 747 attacks is not noted. For further discussion of scanning attacks, 748 see [I-D.ietf-opsec-ipv6-host-scanning]. 750 Note that, although not known at the time of writing, there might be 751 other resource exhaustion attacks available, similar in nature to the 752 ND cache attack. We cannot exclude that such attacks might be 753 exacerbated by sparsely populated subnets such as a /64. It should 754 also be noted that this analysis assumes a conventional deployment 755 model with a significant number of end-systems located in a single 756 LAN broadcast domain. Other deployment models might lead to 757 different conclusions. 759 6. IANA Considerations 761 This document requests no action by IANA. 763 7. Acknowledgements 765 This document was inspired by a vigorous discussion on the V6OPS 766 working group mailing list with at least 20 participants. Later, 767 valuable comments were received from Ran Atkinson, Fred Baker, Steven 768 Blake, Lorenzo Colitti, David Farmer, Bill Fenner, Ray Hunter, Jen 769 Linkova, Philip Matthews, Matthew Petach, Scott Schmit, Tatuya 770 Jinmei, Fred Templin, Ole Troan, Stig Venaas, and numerous other 771 participants in the 6MAN working group. An extremely detailed review 772 by Mark Smith was especially helpful. 774 This document was produced using the xml2rfc tool [RFC2629]. 776 8. Change log [RFC Editor: Please remove] 778 draft-ietf-6man-why64-02: responded to WGLC reviews and comments, 779 2014-08-16. 781 draft-ietf-6man-why64-01: language improvements, added TCAM 782 reference, 2014-05-07. 784 draft-ietf-6man-why64-00: WG adoption, WG comments, including major 785 text reorganisation: 3 main sections describe advantages of fixed 786 length IID, arguments for shorter lengths, and expected effects of 787 varying the length, 2014-04-11. 789 draft-carpenter-6man-why64-01: WG comments, added experimental 790 results, implementation/deployment text, 2014-02-06. 792 draft-carpenter-6man-why64-00: original version, 2014-01-06. 794 9. References 796 9.1. Normative References 798 [I-D.ietf-opsec-ipv6-host-scanning] 799 Gont, F. and T. Chown, "Network Reconnaissance in IPv6 800 Networks", draft-ietf-opsec-ipv6-host-scanning-04 (work in 801 progress), June 2014. 803 [RFC2464] Crawford, M., "Transmission of IPv6 Packets over Ethernet 804 Networks", RFC 2464, December 1998. 806 [RFC2467] Crawford, M., "Transmission of IPv6 Packets over FDDI 807 Networks", RFC 2467, December 1998. 809 [RFC2470] Crawford, M., Narten, T., and S. Thomas, "Transmission of 810 IPv6 Packets over Token Ring Networks", RFC 2470, December 811 1998. 813 [RFC2492] Armitage, G., Schulter, P., and M. Jork, "IPv6 over ATM 814 Networks", RFC 2492, January 1999. 816 [RFC2497] Souvatzis, I., "Transmission of IPv6 Packets over ARCnet 817 Networks", RFC 2497, January 1999. 819 [RFC2526] Johnson, D. and S. Deering, "Reserved IPv6 Subnet Anycast 820 Addresses", RFC 2526, March 1999. 822 [RFC2529] Carpenter, B. and C. Jung, "Transmission of IPv6 over IPv4 823 Domains without Explicit Tunnels", RFC 2529, March 1999. 825 [RFC2590] Conta, A., Malis, A., and M. Mueller, "Transmission of 826 IPv6 Packets over Frame Relay Networks Specification", RFC 827 2590, May 1999. 829 [RFC2710] Deering, S., Fenner, W., and B. Haberman, "Multicast 830 Listener Discovery (MLD) for IPv6", RFC 2710, October 831 1999. 833 [RFC3056] Carpenter, B. and K. Moore, "Connection of IPv6 Domains 834 via IPv4 Clouds", RFC 3056, February 2001. 836 [RFC3146] Fujisawa, K. and A. Onoe, "Transmission of IPv6 Packets 837 over IEEE 1394 Networks", RFC 3146, October 2001. 839 [RFC3306] Haberman, B. and D. Thaler, "Unicast-Prefix-based IPv6 840 Multicast Addresses", RFC 3306, August 2002. 842 [RFC3590] Haberman, B., "Source Address Selection for the Multicast 843 Listener Discovery (MLD) Protocol", RFC 3590, September 844 2003. 846 [RFC3810] Vida, R. and L. Costa, "Multicast Listener Discovery 847 Version 2 (MLDv2) for IPv6", RFC 3810, June 2004. 849 [RFC3956] Savola, P. and B. Haberman, "Embedding the Rendezvous 850 Point (RP) Address in an IPv6 Multicast Address", RFC 851 3956, November 2004. 853 [RFC3972] Aura, T., "Cryptographically Generated Addresses (CGA)", 854 RFC 3972, March 2005. 856 [RFC4191] Draves, R. and D. Thaler, "Default Router Preferences and 857 More-Specific Routes", RFC 4191, November 2005. 859 [RFC4213] Nordmark, E. and R. Gilligan, "Basic Transition Mechanisms 860 for IPv6 Hosts and Routers", RFC 4213, October 2005. 862 [RFC4291] Hinden, R. and S. Deering, "IP Version 6 Addressing 863 Architecture", RFC 4291, February 2006. 865 [RFC4338] DeSanti, C., Carlson, C., and R. Nixon, "Transmission of 866 IPv6, IPv4, and Address Resolution Protocol (ARP) Packets 867 over Fibre Channel", RFC 4338, January 2006. 869 [RFC4380] Huitema, C., "Teredo: Tunneling IPv6 over UDP through 870 Network Address Translations (NATs)", RFC 4380, February 871 2006. 873 [RFC4429] Moore, N., "Optimistic Duplicate Address Detection (DAD) 874 for IPv6", RFC 4429, April 2006. 876 [RFC4861] Narten, T., Nordmark, E., Simpson, W., and H. Soliman, 877 "Neighbor Discovery for IP version 6 (IPv6)", RFC 4861, 878 September 2007. 880 [RFC4862] Thomson, S., Narten, T., and T. Jinmei, "IPv6 Stateless 881 Address Autoconfiguration", RFC 4862, September 2007. 883 [RFC4941] Narten, T., Draves, R., and S. Krishnan, "Privacy 884 Extensions for Stateless Address Autoconfiguration in 885 IPv6", RFC 4941, September 2007. 887 [RFC4944] Montenegro, G., Kushalnagar, N., Hui, J., and D. Culler, 888 "Transmission of IPv6 Packets over IEEE 802.15.4 889 Networks", RFC 4944, September 2007. 891 [RFC5072] Varada, S., Haskins, D., and E. Allen, "IP Version 6 over 892 PPP", RFC 5072, September 2007. 894 [RFC5121] Patil, B., Xia, F., Sarikaya, B., Choi, JH., and S. 895 Madanapalli, "Transmission of IPv6 via the IPv6 896 Convergence Sublayer over IEEE 802.16 Networks", RFC 5121, 897 February 2008. 899 [RFC5214] Templin, F., Gleeson, T., and D. Thaler, "Intra-Site 900 Automatic Tunnel Addressing Protocol (ISATAP)", RFC 5214, 901 March 2008. 903 [RFC5453] Krishnan, S., "Reserved IPv6 Interface Identifiers", RFC 904 5453, February 2009. 906 [RFC5533] Nordmark, E. and M. Bagnulo, "Shim6: Level 3 Multihoming 907 Shim Protocol for IPv6", RFC 5533, June 2009. 909 [RFC5535] Bagnulo, M., "Hash-Based Addresses (HBA)", RFC 5535, June 910 2009. 912 [RFC5692] Jeon, H., Jeong, S., and M. Riegel, "Transmission of IP 913 over Ethernet over IEEE 802.16 Networks", RFC 5692, 914 October 2009. 916 [RFC5942] Singh, H., Beebee, W., and E. Nordmark, "IPv6 Subnet 917 Model: The Relationship between Links and Subnet 918 Prefixes", RFC 5942, July 2010. 920 [RFC5969] Townsley, W. and O. Troan, "IPv6 Rapid Deployment on IPv4 921 Infrastructures (6rd) -- Protocol Specification", RFC 922 5969, August 2010. 924 [RFC5996] Kaufman, C., Hoffman, P., Nir, Y., and P. Eronen, 925 "Internet Key Exchange Protocol Version 2 (IKEv2)", RFC 926 5996, September 2010. 928 [RFC6052] Bao, C., Huitema, C., Bagnulo, M., Boucadair, M., and X. 929 Li, "IPv6 Addressing of IPv4/IPv6 Translators", RFC 6052, 930 October 2010. 932 [RFC6146] Bagnulo, M., Matthews, P., and I. van Beijnum, "Stateful 933 NAT64: Network Address and Protocol Translation from IPv6 934 Clients to IPv4 Servers", RFC 6146, April 2011. 936 [RFC6164] Kohno, M., Nitzan, B., Bush, R., Matsuzaki, Y., Colitti, 937 L., and T. Narten, "Using 127-Bit IPv6 Prefixes on Inter- 938 Router Links", RFC 6164, April 2011. 940 [RFC6177] Narten, T., Huston, G., and L. Roberts, "IPv6 Address 941 Assignment to End Sites", BCP 157, RFC 6177, March 2011. 943 [RFC6296] Wasserman, M. and F. Baker, "IPv6-to-IPv6 Network Prefix 944 Translation", RFC 6296, June 2011. 946 [RFC6437] Amante, S., Carpenter, B., Jiang, S., and J. Rajahalme, 947 "IPv6 Flow Label Specification", RFC 6437, November 2011. 949 [RFC7084] Singh, H., Beebee, W., Donley, C., and B. Stark, "Basic 950 Requirements for IPv6 Customer Edge Routers", RFC 7084, 951 November 2013. 953 [RFC7136] Carpenter, B. and S. Jiang, "Significance of IPv6 954 Interface Identifiers", RFC 7136, February 2014. 956 9.2. Informative References 958 [DRAFT-odell] 959 O'Dell, M., "8+8 - An Alternate Addressing Architecture 960 for IPv6", draft-odell-8+8.00 (work in progress), October 961 1996. 963 [I-D.brandt-6man-lowpanz] 964 Brandt, A. and J. Buron, "Transmission of IPv6 packets 965 over ITU-T G.9959 Networks", draft-brandt-6man-lowpanz-02 966 (work in progress), June 2013. 968 [I-D.ietf-6lowpan-btle] 969 Nieminen, J., Savolainen, T., Isomaki, M., Patil, B., 970 Shelby, Z., and C. Gomez, "Transmission of IPv6 Packets 971 over BLUETOOTH Low Energy", draft-ietf-6lowpan-btle-12 972 (work in progress), February 2013. 974 [I-D.ietf-6man-6lobac] 975 Lynn, K., Martocci, J., Neilson, C., and S. Donaldson, 976 "Transmission of IPv6 over MS/TP Networks", draft-ietf- 977 6man-6lobac-01 (work in progress), March 2012. 979 [I-D.ietf-6man-ipv6-address-generation-privacy] 980 Cooper, A., Gont, F., and D. Thaler, "Privacy 981 Considerations for IPv6 Address Generation Mechanisms", 982 draft-ietf-6man-ipv6-address-generation-privacy-01 (work 983 in progress), February 2014. 985 [I-D.ietf-homenet-arch] 986 Chown, T., Arkko, J., Brandt, A., Troan, O., and J. Weil, 987 "IPv6 Home Networking Architecture Principles", draft- 988 ietf-homenet-arch-17 (work in progress), July 2014. 990 [I-D.templin-aerolink] 991 Templin, F., "Transmission of IP Packets over AERO Links", 992 draft-templin-aerolink-30 (work in progress), July 2014. 994 [IEEE802] IEEE, "IEEE Standard for Local and Metropolitan Area 995 Networks: Overview and Architecture", IEEE Std 802-2001 996 (R2007), 2007. 998 [RFC2629] Rose, M., "Writing I-Ds and RFCs using XML", RFC 2629, 999 June 1999. 1001 [RFC3756] Nikander, P., Kempf, J., and E. Nordmark, "IPv6 Neighbor 1002 Discovery (ND) Trust Models and Threats", RFC 3756, May 1003 2004. 1005 [RFC4692] Huston, G., "Considerations on the IPv6 Host Density 1006 Metric", RFC 4692, October 2006. 1008 [RFC4887] Thubert, P., Wakikawa, R., and V. Devarapalli, "Network 1009 Mobility Home Network Models", RFC 4887, July 2007. 1011 [RFC5505] Aboba, B., Thaler, D., Andersson, L., and S. Cheshire, 1012 "Principles of Internet Host Configuration", RFC 5505, May 1013 2009. 1015 [RFC6583] Gashinsky, I., Jaeggli, J., and W. Kumari, "Operational 1016 Neighbor Discovery Problems", RFC 6583, March 2012. 1018 [RFC6741] Atkinson,, RJ., "Identifier-Locator Network Protocol 1019 (ILNP) Engineering Considerations", RFC 6741, November 1020 2012. 1022 [RFC6877] Mawatari, M., Kawashima, M., and C. Byrne, "464XLAT: 1023 Combination of Stateful and Stateless Translation", RFC 1024 6877, April 2013. 1026 [RFC7094] McPherson, D., Oran, D., Thaler, D., and E. Osterweil, 1027 "Architectural Considerations of IP Anycast", RFC 7094, 1028 January 2014. 1030 [RFC7217] Gont, F., "A Method for Generating Semantically Opaque 1031 Interface Identifiers with IPv6 Stateless Address 1032 Autoconfiguration (SLAAC)", RFC 7217, April 2014. 1034 [RFC7278] Byrne, C., Drown, D., and A. Vizdal, "Extending an IPv6 1035 /64 Prefix from a Third Generation Partnership Project 1036 (3GPP) Mobile Interface to a LAN Link", RFC 7278, June 1037 2014. 1039 [TCAM] Meiners, C., Liu, A., and E. Torng, "Algorithmic 1040 Approaches to Redesigning TCAM-Based Systems", ACM 1041 SIGMETRICS'08 467-468, 2008. 1043 Authors' Addresses 1045 Brian Carpenter (editor) 1046 Department of Computer Science 1047 University of Auckland 1048 PB 92019 1049 Auckland 1142 1050 New Zealand 1052 Email: brian.e.carpenter@gmail.com 1054 Tim Chown 1055 University of Southampton 1056 Southampton, Hampshire SO17 1BJ 1057 United Kingdom 1059 Email: tjc@ecs.soton.ac.uk 1061 Fernando Gont 1062 SI6 Networks / UTN-FRH 1063 Evaristo Carriego 2644 1064 Haedo, Provincia de Buenos Aires 1706 1065 Argentina 1067 Email: fgont@si6networks.com 1069 Sheng Jiang 1070 Huawei Technologies Co., Ltd 1071 Q14, Huawei Campus 1072 No.156 Beiqing Road 1073 Hai-Dian District, Beijing 100095 1074 P.R. China 1076 Email: jiangsheng@huawei.com 1078 Alexandru Petrescu 1079 CEA, LIST 1080 CEA Saclay 1081 Gif-sur-Yvette, Ile-de-France 91190 1082 France 1084 Email: Alexandru.Petrescu@cea.fr 1085 Andrew Yourtchenko 1086 cisco 1087 7a de Kleetlaan 1088 Diegem 1830 1089 Belgium 1091 Email: ayourtch@cisco.com