draft-ietf-6man-why64-01.txt   draft-ietf-6man-why64-02.txt 
6MAN B. Carpenter, Ed. 6MAN B. Carpenter, Ed.
Internet-Draft Univ. of Auckland Internet-Draft Univ. of Auckland
Intended status: Informational T. Chown Intended status: Informational T. Chown
Expires: November 8, 2014 Univ. of Southampton Expires: February 17, 2015 Univ. of Southampton
F. Gont F. Gont
SI6 Networks / UTN-FRH SI6 Networks / UTN-FRH
S. Jiang S. Jiang
Huawei Technologies Co., Ltd Huawei Technologies Co., Ltd
A. Petrescu A. Petrescu
CEA, LIST CEA, LIST
A. Yourtchenko A. Yourtchenko
cisco cisco
May 7, 2014 August 16, 2014
Analysis of the 64-bit Boundary in IPv6 Addressing Analysis of the 64-bit Boundary in IPv6 Addressing
draft-ietf-6man-why64-01 draft-ietf-6man-why64-02
Abstract Abstract
The IPv6 unicast addressing format includes a separation between the The IPv6 unicast addressing format includes a separation between the
prefix used to route packets to a subnet and the interface identifier prefix used to route packets to a subnet and the interface identifier
used to specify a given interface connected to that subnet. used to specify a given interface connected to that subnet.
Currently the interface identifier is defined as 64 bits long for Currently the interface identifier is defined as 64 bits long for
almost every case, leaving 64 bits for the subnet prefix. This almost every case, leaving 64 bits for the subnet prefix. This
document describes the advantages of this fixed boundary and analyses document describes the advantages of this fixed boundary and analyses
the issues that would be involved in treating it as a variable the issues that would be involved in treating it as a variable
skipping to change at page 1, line 46 skipping to change at page 1, line 46
Internet-Drafts are working documents of the Internet Engineering Internet-Drafts are working documents of the Internet Engineering
Task Force (IETF). Note that other groups may also distribute Task Force (IETF). Note that other groups may also distribute
working documents as Internet-Drafts. The list of current Internet- working documents as Internet-Drafts. The list of current Internet-
Drafts is at http://datatracker.ietf.org/drafts/current/. Drafts is at http://datatracker.ietf.org/drafts/current/.
Internet-Drafts are draft documents valid for a maximum of six months Internet-Drafts are draft documents valid for a maximum of six months
and may be updated, replaced, or obsoleted by other documents at any and may be updated, replaced, or obsoleted by other documents at any
time. It is inappropriate to use Internet-Drafts as reference time. It is inappropriate to use Internet-Drafts as reference
material or to cite them other than as "work in progress." material or to cite them other than as "work in progress."
This Internet-Draft will expire on November 8, 2014. This Internet-Draft will expire on February 17, 2015.
Copyright Notice Copyright Notice
Copyright (c) 2014 IETF Trust and the persons identified as the Copyright (c) 2014 IETF Trust and the persons identified as the
document authors. All rights reserved. document authors. All rights reserved.
This document is subject to BCP 78 and the IETF Trust's Legal This document is subject to BCP 78 and the IETF Trust's Legal
Provisions Relating to IETF Documents Provisions Relating to IETF Documents
(http://trustee.ietf.org/license-info) in effect on the date of (http://trustee.ietf.org/license-info) in effect on the date of
publication of this document. Please review these documents publication of this document. Please review these documents
skipping to change at page 2, line 28 skipping to change at page 2, line 28
described in the Simplified BSD License. described in the Simplified BSD License.
Table of Contents Table of Contents
1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 2 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 2
2. Advantages of a fixed identifier length . . . . . . . . . . . 4 2. Advantages of a fixed identifier length . . . . . . . . . . . 4
3. Arguments for shorter identifier lengths . . . . . . . . . . 5 3. Arguments for shorter identifier lengths . . . . . . . . . . 5
3.1. Insufficient address space delegated . . . . . . . . . . 5 3.1. Insufficient address space delegated . . . . . . . . . . 5
3.2. Hierarchical addressing . . . . . . . . . . . . . . . . . 6 3.2. Hierarchical addressing . . . . . . . . . . . . . . . . . 6
3.3. Audit requirement . . . . . . . . . . . . . . . . . . . . 6 3.3. Audit requirement . . . . . . . . . . . . . . . . . . . . 6
3.4. Concerns over ND cache exhaustion . . . . . . . . . . . . 6 3.4. Concerns over ND cache exhaustion . . . . . . . . . . . . 7
4. Effects of varying the interface identifier length . . . . . 7 4. Effects of varying the interface identifier length . . . . . 7
4.1. Interaction with IPv6 specifications . . . . . . . . . . 7 4.1. Interaction with IPv6 specifications . . . . . . . . . . 7
4.2. Possible areas of breakage . . . . . . . . . . . . . . . 9 4.2. Possible failure modes . . . . . . . . . . . . . . . . . 9
4.3. Experimental observations . . . . . . . . . . . . . . . . 11 4.3. Experimental observations . . . . . . . . . . . . . . . . 11
4.3.1. Survey of the processing of Neighbor Discovery 4.3.1. Survey of the processing of Neighbor Discovery
options with prefixes other than /64 . . . . . . . . 11 options with prefixes other than /64 . . . . . . . . 11
4.3.2. Other Observations . . . . . . . . . . . . . . . . . 13 4.3.2. Other Observations . . . . . . . . . . . . . . . . . 13
4.4. Implementation and deployment issues . . . . . . . . . . 13 4.4. Implementation and deployment issues . . . . . . . . . . 14
4.5. Privacy issues . . . . . . . . . . . . . . . . . . . . . 15 4.5. Privacy issues . . . . . . . . . . . . . . . . . . . . . 15
5. Security Considerations . . . . . . . . . . . . . . . . . . . 15 5. Security Considerations . . . . . . . . . . . . . . . . . . . 16
6. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 16 6. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 17
7. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . 16 7. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . 17
8. Change log [RFC Editor: Please remove] . . . . . . . . . . . 16 8. Change log [RFC Editor: Please remove] . . . . . . . . . . . 17
9. References . . . . . . . . . . . . . . . . . . . . . . . . . 17 9. References . . . . . . . . . . . . . . . . . . . . . . . . . 17
9.1. Normative References . . . . . . . . . . . . . . . . . . 17 9.1. Normative References . . . . . . . . . . . . . . . . . . 17
9.2. Informative References . . . . . . . . . . . . . . . . . 20 9.2. Informative References . . . . . . . . . . . . . . . . . 21
Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 22 Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 23
1. Introduction 1. Introduction
IPv6 addresses were originally chosen to be 128 bits long to provide Rather than simply overcoming the IPv4 address shortage by doubling
flexibility and new possibilities, rather than simply relieving the the address size to 64 bits, IPv6 addresses were originally chosen to
IPv4 address shortage by doubling the address size to 64 bits. In be 128 bits long to provide flexibility and new possibilities. In
particular, the notion of a well-defined interface identifier was particular, the notion of a well-defined interface identifier was
added to the IP addressing model. The IPv6 addressing architecture added to the IP addressing model. The IPv6 addressing architecture
[RFC4291] specifies that a unicast address is divided into n bits of [RFC4291] specifies that a unicast address is divided into n bits of
subnet prefix followed by (128-n) bits of interface identifier (IID). subnet prefix followed by (128-n) bits of interface identifier (IID).
The bits in the IID have no meaning and the entire identifier should The bits in the IID have no meaning and the entire identifier should
be treated as an opaque value [RFC7136]. Also, since IPv6 routing is be treated as an opaque value [RFC7136]. Also, since IPv6 routing is
entirely based on variable length subnet masks, there is no basic entirely based on variable length prefixes (also known as variable
architectural assumption that n has any particular fixed value. All length subnet masks), there is no basic architectural assumption that
IPv6 routing protocols support prefixes of any length up to /128. n has any particular fixed value. All IPv6 routing protocols support
prefixes of any length up to /128.
The IID is of basic importance in the IPv6 stateless address The IID is of basic importance in the IPv6 stateless address
autoconfiguration (SLAAC) process [RFC4862]. However, it is autoconfiguration (SLAAC) process [RFC4862]. However, it is
important to understand that its length is a parameter in the SLAAC important to understand that its length is a parameter in the SLAAC
process, and it is determined in a separate link-type specific process, and it is determined in a separate link-type specific
document (see Section 2 of RFC 4862). The SLAAC protocol does not document (see Section 2 of RFC 4862). The SLAAC protocol does not
define its length or assume any particular length. define its length or assume any particular length.
The notion of a /64 boundary in the address was introduced after the The notion of a /64 boundary in the address was introduced after the
initial design of IPv6 was done, following a period when it was initial design of IPv6, following a period when it was expected to be
expected to be at /80. There were two motivations for setting it at at /80. There were two motivations for setting it at /64. One was
/64. One was the original "8+8" proposal [DRAFT-odell] that the original "8+8" proposal [DRAFT-odell] that eventually led to ILNP
eventually led to ILNP [RFC6741], which required a fixed point for [RFC6741], which required a fixed point for the split between local
the split between local and wide-area parts of the address. The and wide-area parts of the address. The other was the expectation
other was the expectation that EUI-64 MAC addresses would become that EUI-64 MAC addresses would become widespread in place of 48-bit
widespread in place of 48-bit addresses, coupled with the plan at addresses, coupled with the plan at that time that auto-configured
that time that auto-configured addresses would normally be based on addresses would normally be based on interface identifiers derived
interface identifiers derived from MAC addresses. from MAC addresses.
As a result, RFC 4291 describes a method of forming interface As a result, RFC 4291 describes a method of forming interface
identifiers from IEEE EUI-64 hardware addresses [IEEE802] and this identifiers from IEEE EUI-64 hardware addresses [IEEE802] and this
specifies that such interface identifiers are 64 bits long. Various specifies that such interface identifiers are 64 bits long. Various
other methods of forming interface identifiers also specify a length other methods of forming interface identifiers also specify a length
of 64 bits. The addressing architecture as modified by [RFC7136] of 64 bits. The addressing architecture, as modified by [RFC7136],
states that "For all unicast addresses, except those that start with states that "For all unicast addresses, except those that start with
the binary value 000, Interface IDs are required to be 64 bits long. the binary value 000, Interface IDs are required to be 64 bits long.
If derived from an IEEE MAC-layer address, they must be constructed If derived from an IEEE MAC-layer address, they must be constructed
in Modified EUI-64 format." The de facto length of almost all IPv6 in Modified EUI-64 format." The de facto length of almost all IPv6
interface identifiers is therefore 64 bits. The only documented interface identifiers is therefore 64 bits. The only documented
exception is in [RFC6164], which standardises 127-bit prefixes for exception is in [RFC6164], which standardises 127-bit prefixes for
point-to-point links between routers, among other things to avoid a point-to-point links between routers, among other things to avoid a
loop condition known as the ping-pong problem. loop condition known as the ping-pong problem.
With that exception, and despite the comments above about the routing With that exception, and despite the comments above about the routing
architecture and the design of SLAAC, using an IID shorter than 64 architecture and the design of SLAAC, using an IID shorter than 64
bits and a subnet prefix longer than 64 bits is outside the current bits and a subnet prefix longer than 64 bits is outside the current
IPv6 specifications, so results may vary. IPv6 specifications, so results may vary.
The question is often asked why the subnet prefix boundary is set The question is often asked why the subnet prefix boundary is set
rigidly at /64. The first purpose of this document is to explain the rigidly at /64. The first purpose of this document is to explain the
advantages of the fixed IID length. Its second purpose is to analyse advantages of the fixed IID length. Its second purpose is to analyse
in some detail the effects of hypothetically varying the IID length. in some detail the effects of hypothetically varying the IID length.
The fixed length limits the practical length of a routing prefix to The fixed length limits the practical length of a routing prefix to
64 bits, whereas architecturally, and from the point of view of 64 bits, whereas architecturally, and from the point of view of
routing protocols, it could be anything (in theory) between /1 and / routing protocols, it could be any value up to /128, as for host
128 inclusive. Here, we mainly discuss the question of a shorter routes. Whatever the length of the IID, the longest match is done on
IID, which would allow a longer subnet prefix. The document makes no the concatenation of prefix and IID. Here, we mainly discuss the
proposal for a change to the IID length. question of a shorter IID, which would allow a longer subnet prefix.
The document makes no proposal for a change to the IID length.
The following three sections describe in turn the advantages of the The following three sections describe in turn the advantages of the
fixed length IID, some arguments for shorter lengths, and the fixed length IID, some arguments for shorter lengths, and the
expected effects of varying the length. expected effects of varying the length.
2. Advantages of a fixed identifier length 2. Advantages of a fixed identifier length
As mentioned in Section 1, the existence of an IID of a given length As mentioned in Section 1, the existence of an IID of a given length
is a necessary part of IPv6 stateless address autoconfiguration is a necessary part of IPv6 stateless address autoconfiguration
(SLAAC) [RFC4862]. This length is normally the same for all nodes on (SLAAC) [RFC4862]. This length is normally the same for all nodes on
a given link that is running SLAAC. Even though this length is a a given link that is running SLAAC. Even though this length is a
parameter for SLAAC, determined separately for each interface, a parameter for SLAAC, determined separately for the link layer media
globally fixed IID length for all link layer media is the simplest type of each interface, a globally fixed IID length for all link
solution, and is consistent with the principles of Internet host layer media is the simplest solution, and is consistent with the
configuration described in [RFC5505]. principles of Internet host configuration described in [RFC5505].
An interface identifier of significant length, clearly separated from An interface identifier of significant length, clearly separated from
the subnet prefix, makes it possible to limit the traceability of a the subnet prefix, makes it possible to limit the traceability of a
host computer by varying the identifier. This is discussed further host computer by varying the identifier. This is discussed further
in Section 4.5. in Section 4.5.
An interface identifier of significant length guarantees that there An interface identifier of significant length guarantees that there
are always enough addresses in any subnet to add one or more real or are always enough addresses in any subnet to add one or more real or
virtual interfaces. There might be other limits, but IP addressing virtual interfaces. There might be other limits, but IP addressing
will never get in the way. will never get in the way.
The addressing architecture [RFC4291] [RFC7136] sets the IID length The addressing architecture [RFC4291] [RFC7136] sets the IID length
at 64 bits for all unicast addresses, and therefore for all media at 64 bits for all unicast addresses, and therefore for all media
supporting SLAAC. An immediate effect of fixing the IID length at 64 supporting SLAAC. An immediate effect of fixing the IID length at 64
bits is, of course, that it fixes the subnet prefix length also at 64 bits is, of course, that it fixes the subnet prefix length also at 64
bits, regardless of the wide-area prefix assigned to the site bits, regardless of the aggregate prefix assigned to the site
concerned, which in accordance with [RFC6177] should be /56 or concerned, which in accordance with [RFC6177] should be /56 or
shorter. This situation has various specific advantages: shorter. This situation has various specific advantages:
o Everything is the same. Compared to IPv4, there is no more o Everything is the same. Compared to IPv4, there is no more
calculating leaf subnet sizes, no more juggling between subnets, calculating leaf subnet sizes, no more juggling between subnets,
and fewer consequent errors. Network design is therefore much and fewer consequent errors. Network design is therefore simpler
more straightforward. and much more straightforward. This is of importance for all
types of networks - enterprise, campus, small office, or home
networks - and for all types of operator, from professional to
consumer.
o Adding a subnet is easy - just take the next /64. No estimates, o Adding a subnet is easy - just take another /64 from the pool. No
calculations, consideration or judgment is needed. estimates, calculations, consideration or judgment is needed.
o Router configurations are homogeneous and easier to understand. o Router configurations are homogeneous and easier to understand.
o Documentation is easier to write and easier to read; training is o Documentation is easier to write and easier to read; training is
easier. easier.
The remainder of this document describes arguments that have been The remainder of this document describes arguments that have been
made against the current fixed IID length and analyses the effects of made against the current fixed IID length and analyses the effects of
a possible change. However, the consensus of the IETF is that the a possible change. However, the consensus of the IETF is that the
benefits of keeping the length fixed at 64 bits, and the practical benefits of keeping the length fixed at 64 bits, and the practical
skipping to change at page 6, line 4 skipping to change at page 6, line 9
sufficient address space to be an error condition, rather than using sufficient address space to be an error condition, rather than using
prefixes longer than /64 internally. prefixes longer than /64 internally.
Another scenario occasionally suggested is one where the Internet Another scenario occasionally suggested is one where the Internet
address registries actually begin to run out of IPv6 prefix space, address registries actually begin to run out of IPv6 prefix space,
such that operators can no longer assign reasonable prefixes to users such that operators can no longer assign reasonable prefixes to users
in accordance with [RFC6177]. It is sometimes suggested that in accordance with [RFC6177]. It is sometimes suggested that
assigning a prefix such as /48 or /56 to every user site (including assigning a prefix such as /48 or /56 to every user site (including
the smallest) as recommended by [RFC6177] is wasteful. In fact, the the smallest) as recommended by [RFC6177] is wasteful. In fact, the
currently released unicast address space, 2000::/3, contains 35 currently released unicast address space, 2000::/3, contains 35
trillion /48 prefixes ((2**45 = 35,184,372,088,832). With only trillion /48 prefixes ((2**45 = 35,184,372,088,832), of which only a
2000::/3 currently committed for unicast addressing, we still have small fraction have been allocated. Allowing for a conservative
most of the address space in reserve. Thus there is no objective estimate of allocation efficiency, i.e., an HD-ratio of 0.94
risk of prefix depletion by assigning /48 or /56 prefixes even to the [RFC4692], approximately 5 trillion /48 prefixes can be allocated.
smallest sites. Even with a relaxed HD-ratio of 0.89, approximately one trillion /48
prefixes can be allocated. Furthermore, with only 2000::/3 currently
committed for unicast addressing, we still have almost 7/8ths of the
address space in reserve. Thus there is no objective risk of prefix
depletion by assigning /48 or /56 prefixes even to the smallest
sites.
3.2. Hierarchical addressing 3.2. Hierarchical addressing
Some operators have argued that more prefix bits are needed to allow Some operators have argued that more prefix bits are needed to allow
an aggregated hierarchical addressing scheme within a campus or an aggregated hierarchical addressing scheme within a campus or
corporate network. However, flat IGP routing is widely and corporate network. However, if a campus or enterprise gets a /48
prefix (or shorter), then that already provides 16 bits for
hierarchical allocation. In any case, flat IGP routing is widely and
successfully used within rather large networks, with hundreds of successfully used within rather large networks, with hundreds of
routers and thousands of end systems. Therefore there is no routers and thousands of end systems. Therefore there is no
objective need for additional prefix bits to support hierarchy and objective need for additional prefix bits to support hierarchy and
aggregation within enterprises. aggregation within enterprises.
3.3. Audit requirement 3.3. Audit requirement
Some network operators wish to know and audit which nodes are active Some network operators wish to know and audit which nodes are active
on a network, especially those that are allowed to communicate off on a network, especially those that are allowed to communicate off
link or off site. They may also wish to limit the total number of link or off site. They may also wish to limit the total number of
skipping to change at page 6, line 41 skipping to change at page 7, line 8
However, such sites most typically operate using DHCPv6, which means However, such sites most typically operate using DHCPv6, which means
that all legitimate hosts are automatically known to the DHCPv6 that all legitimate hosts are automatically known to the DHCPv6
servers, which is sufficient for audit purposes. Such hosts could, servers, which is sufficient for audit purposes. Such hosts could,
if desired, be limited to a small range of IID values without if desired, be limited to a small range of IID values without
changing the /64 subnet length. Any hosts inadvertently obtaining changing the /64 subnet length. Any hosts inadvertently obtaining
addresses via SLAAC can be audited through Neighbor Discovery logs. addresses via SLAAC can be audited through Neighbor Discovery logs.
3.4. Concerns over ND cache exhaustion 3.4. Concerns over ND cache exhaustion
A site may be concerned that it is open to neighbour discovery (ND) A site may be concerned that it is open to neighbour discovery (ND)
cache exhaustion attacks, whereby an attacker sends a large number of cache exhaustion attacks [RFC3756], whereby an attacker sends a large
messages in rapid succession to a series of (most likely inactive) number of messages in rapid succession to a series of (most likely
host addresses within a specific subnet, in an attempt to fill a inactive) host addresses within a specific subnet. Such an attack
router's ND cache with ND requests pending completion, in so doing attempts to fill a router's ND cache with ND requests pending
denying correct operation to active devices on the network. completion, in so doing denying correct operation to active devices
on the network.
An example would be to use a /120 prefix, limiting the number of
addresses in the subnet to be similar to an IPv4 /24 prefix, which
should not cause any concerns for ND cache exhaustion. Note that the
prefix does need to be quite long for this scenario to be valid. The
number of theoretically possible ND cache slots on the segment needs
to be of the same order of magnitude as the actual number of hosts.
Thus small increases from the /64 prefix length do not have a
noticeable impact: even 2^32 potential entries, a factor of two
billion decrease compared to 2^64, is still more than enough to
exhaust the memory on current routers.
Hosts would likely use DHCPv6, or be manually configured with One potential way to mitigate this attack would be to consider using
addresses. a /120 prefix, thus limiting the number of addresses in the subnet to
be similar to an IPv4 /24 prefix, which should not cause any concerns
for ND cache exhaustion. Note that the prefix does need to be quite
long for this scenario to be valid. The number of theoretically
possible ND cache slots on the segment needs to be of the same order
of magnitude as the actual number of hosts. Thus small increases
from the /64 prefix length do not have a noticeable impact: even 2^32
potential entries, a factor of two billion decrease compared to 2^64,
is still more than enough to exhaust the memory on current routers.
Given that SLAAC assumes a 64 bit network boundary, in such an
approach hosts would likely need to use DHCPv6, or be manually
configured with addresses.
It should be noted that several other mitigations of the ND cache It should be noted that several other mitigations of the ND cache
attack are described in [RFC6583], and that limiting the size of the attack are described in [RFC6583], and that limiting the size of the
cache and the number of incomplete entries allowed would also defeat cache and the number of incomplete entries allowed would also defeat
the attack. For the specific case of a point-to-point link between the attack. For the specific case of a point-to-point link between
routers, this attack is indeed mitigated by a /127 prefix [RFC6164]. routers, this attack is indeed mitigated by a /127 prefix [RFC6164].
4. Effects of varying the interface identifier length 4. Effects of varying the interface identifier length
This section of the document analyses the impact and effects of This section of the document analyses the impact and effects of
skipping to change at page 7, line 34 skipping to change at page 7, line 50
4.1. Interaction with IPv6 specifications 4.1. Interaction with IPv6 specifications
The precise 64-bit length of the Interface ID is widely mentioned in The precise 64-bit length of the Interface ID is widely mentioned in
numerous RFCs describing various aspects of IPv6. It is not numerous RFCs describing various aspects of IPv6. It is not
straightforward to distinguish cases where this has normative impact straightforward to distinguish cases where this has normative impact
or affects interoperability. This section aims to identify or affects interoperability. This section aims to identify
specifications that contain an explicit reference to the 64-bit specifications that contain an explicit reference to the 64-bit
length. Regardless of implementation issues, the RFCs themselves length. Regardless of implementation issues, the RFCs themselves
would all need to be updated if the 64-bit rule was changed, even if would all need to be updated if the 64-bit rule was changed, even if
the updates were small. the updates were small, which would involve considerable time and
effort.
First and foremost, the RFCs describing the architectural aspects of First and foremost, the RFCs describing the architectural aspects of
IPv6 addressing explicitly state, refer and repeat this apparently IPv6 addressing explicitly state, refer and repeat this apparently
immutable value: Addressing Architecture [RFC4291], Reserved immutable value: Addressing Architecture [RFC4291], IPv6 Address
Interface Identifiers [RFC5453], ILNP [RFC6741]. Customer Edge Assignment to End Sites [RFC6177], Reserved Interface Identifiers
routers impose /64 for their interfaces [RFC7084]. Only the IPv6 [RFC5453], ILNP Node Identifiers [RFC6741]. Customer Edge routers
Subnet Model [RFC5942] refers to the assumption of /64 prefix length impose /64 for their interfaces [RFC7084]. The IPv6 Subnet Model
as a potential implementation error. [RFC5942] points out that the assumption of a /64 prefix length is a
potential implementation error.
Numerous IPv6-over-foo documents make mandatory statements with Numerous IPv6-over-foo documents make mandatory statements with
respect to the 64-bit length of the Interface ID to be used during respect to the 64-bit length of the Interface ID to be used during
the Stateless Autoconfiguration. These documents include [RFC2464] the Stateless Autoconfiguration. These documents include [RFC2464]
(Ethernet), [RFC2467] (FDDI), [RFC2470] (Token Ring), [RFC2492] (Ethernet), [RFC2467] (FDDI), [RFC2470] (Token Ring), [RFC2492]
(ATM), [RFC2497] (ARCnet), [RFC2590] (Frame Relay), [RFC3146] (IEEE (ATM), [RFC2497] (ARCnet), [RFC2590] (Frame Relay), [RFC3146] (IEEE
1394), [RFC4338] (Fibre Channel), [RFC4944] (IEEE 802.15.4), 1394), [RFC4338] (Fibre Channel), [RFC4944] (IEEE 802.15.4),
[RFC5072] (PPP), [RFC5121] [RFC5692] (IEEE 802.16), [RFC2529] [RFC5072] (PPP), [RFC5121] [RFC5692] (IEEE 802.16), [RFC2529]
(6over4), [RFC5214] (ISATAP), [I-D.templin-aerolink] (AERO), (6over4), [RFC5214] (ISATAP), [I-D.templin-aerolink] (AERO),
[I-D.ietf-6lowpan-btle], [I-D.ietf-6man-6lobac], [I-D.ietf-6lowpan-btle], [I-D.ietf-6man-6lobac],
[I-D.brandt-6man-lowpanz]. [I-D.brandt-6man-lowpanz].
To a lesser extent, the address configuration RFCs themselves may in To a lesser extent, the address configuration RFCs themselves may in
some way assume the 64-bit length of an Interface ID (SLAAC for the some ways assume the 64-bit length of an Interface ID (e.g, SLAAC for
link-local addresses, DHCPv6 for the potentially assigned the link-local addresses, DHCPv6 for the potentially assigned EUI-
EUI-64-based IP addresses, Default Router Preferences [RFC4191] for 64-based IP addresses, Optimistic Duplicate Address Detection
its impossibility of Prefix Length 4, Optimistic Duplicate Address [RFC4429] which computes 64-bit-based collision probabilities).
Detection [RFC4429] which computes 64-bit-based collision
probabilities).
The MLDv2 protocol [RFC3810] mandates all queries be sent with the The MLDv1 [RFC2710] and MLDv2 [RFC3810] protocols mandate that all
fe80::/64 link-local source address prefix and subsequently bases the queries be sent with a link-local source address, with the exception
querier election algorithm on the link-local subnet prefix length of of MLD messages sent using the unspecified address when the link-
length /64. local address is tentative [RFC3590]. At the the time of publication
of RFC 2710, the IPv6 addressing architecture specified link-local
addresses with 64-bit interface identifiers. MLDv2 explicitly
specifies the use of the fe80::/64 link-local prefix, and bases the
querier election algorithm on the link-local subnet prefix of length
/64.
The IPv6 Flow Label Specification [RFC6437] gives an example of a The IPv6 Flow Label Specification [RFC6437] gives an example of a
20-bit hash function generation which relies on splitting an IPv6 20-bit hash function generation which relies on splitting an IPv6
address in two equally-sized 64bit-length parts. address in two equally-sized 64bit-length parts.
The basic transition mechanisms [RFC4213] refer to IIDs of length 64 The basic transition mechanisms [RFC4213] refer to IIDs of length 64
for link-local addresses, and other transition mechanisms such as for link-local addresses, and other transition mechanisms such as
Teredo [RFC4380] assume the use of IIDs of length 64. Similar Teredo [RFC4380] assume the use of IIDs of length 64. Similar
assumptions are found in 6to4 [RFC3056] and 6rd [RFC5969]. assumptions are found in 6to4 [RFC3056] and 6rd [RFC5969].
Translation-based transition mechanisms such as NAT64 and NPTv6 have Translation-based transition mechanisms such as NAT64 and NPTv6 have
some dependency on prefix length, discussed below. some dependency on prefix length, discussed below.
The proposed method [I-D.ietf-v6ops-64share] of extending an assigned The proposed method [RFC7278] of extending an assigned /64 prefix
/64 prefix from a smartphone's cellular interface to its WiFi link from a smartphone's cellular interface to its WiFi link relies on
relies on prefix length, and implicitely on the length of the prefix length, and implicitly on the length of the Interface ID, to
Interface ID, to be valued at 64. be valued at 64.
The CGA and HBA specifications rely on the 64-bit identifier length The CGA and HBA specifications rely on the 64-bit identifier length
(see below), as do the Privacy extensions [RFC4941] and some examples (see below), as do the Privacy extensions [RFC4941] and some examples
in IKEv2bis [RFC5996]. in IKEv2bis [RFC5996].
464XLAT [RFC6877] explicitly mentions acquiring /64 prefixes. 464XLAT [RFC6877] explicitly mentions acquiring /64 prefixes.
However, it also discusses the possibility of using the interface However, it also discusses the possibility of using the interface
address on the device as the endpoint for the traffic, thus address on the device as the endpoint for the traffic, thus
potentially removing this dependency. potentially removing this dependency.
[RFC2526] reserves a number of subnet anycast addresses by reserving [RFC2526] reserves a number of subnet anycast addresses by reserving
some anycast IIDs. An anycast IID so reserved cannot be less than 7 some anycast IIDs. An anycast IID so reserved cannot be less than 7
bits long. This means that a subnet prefix length longer than /121 bits long. This means that a subnet prefix length longer than /121
is not possible, and a subnet of exactly /121 would be useless since is not possible, and a subnet of exactly /121 would be useless since
all its identifiers are reserved. It also means that half of a /120 all its identifiers are reserved. It also means that half of a /120
is reserved for anycast. This could of course be fixed in the way is reserved for anycast. This could of course be fixed in the way
described for /127 in [RFC6164], i.e., avoiding the use of anycast described for /127 in [RFC6164], i.e., avoiding the use of anycast
within a /120 subnet. within a /120 subnet. Note that support for "on-link anycast" is a
standard IPv6 neighbor discovery capability [RFC4861][RFC7094], and
therefore applications and their developers would expect it to be
available.
The Mobile IP home network models [RFC4887] rely heavily on the /64 The Mobile IP home network models [RFC4887] rely heavily on the /64
subnet length and assume a 64-bit IID. subnet length and assume a 64-bit IID.
While preparing this document, it was noted that many other IPv6 While preparing this document, it was noted that many other IPv6
specifications refer to mandatory alignment on 64-bit boundaries, specifications refer to mandatory alignment on 64-bit boundaries,
64-bit data structures, 64-bit counters in MIBs, 64-bit sequence 64-bit data structures, 64-bit counters in MIBs, 64-bit sequence
numbers and cookies in security, etc. Finally, the number "64" may numbers and cookies in security, etc. Finally, the number "64" may
be considered "magic" in some RFCs, e.g., 64k limits in DNS and be considered "magic" in some RFCs, e.g., 64k limits in DNS and
Base64 encodings in MIME. None of this has any influence on the Base64 encodings in MIME. None of this has any influence on the
length of the IID, but might confuse a careless reader. length of the IID, but might confuse a careless reader.
4.2. Possible areas of breakage 4.2. Possible failure modes
This section discusses several specific aspects of IPv6 where we can This section discusses several specific aspects of IPv6 where we can
expect operational breakage with subnet prefixes other than /64. expect operational failures with subnet prefixes other than /64.
o Router implementations: Router implementors might interpret IETF o Router implementations: Router implementors might interpret IETF
standards such as [RFC6164] and [RFC7136] to indicate that standards such as [RFC6164] and [RFC7136] to indicate that
prefixes between /65 and /126 inclusive for unicast packets on- prefixes between /65 and /126 inclusive for unicast packets on-
the-wire are invalid, and operational practices that utilize the-wire are invalid, and operational practices that utilize
prefix lengths in this range may break on some devices, as prefix lengths in this range may fail on some devices, as
discussed in Section 4.3.2. discussed in Section 4.3.2.
o Multicast: [RFC3306] defines a method for generating IPv6 o Multicast: [RFC3306] defines a method for generating IPv6
multicast group addresses based on unicast prefixes. This method multicast group addresses based on unicast prefixes. This method
assumes a longest prefix of 64 bits. If a longer prefix is used, assumes a longest prefix of 64 bits. If a longer prefix is used,
there is no way to generate a specific multicast group address there is no way to generate a specific multicast group address
using this method. In such cases the administrator would need to using this method. In such cases the administrator would need to
use an "artificial" prefix from within their allocation (a /64 or use an "artificial" prefix from within their allocation (a /64 or
shorter) from which to generate the group address. This prefix shorter) from which to generate the group address. This prefix
would not correspond to a real subnet. would not correspond to a real subnet.
Similarly [RFC3956], which specifies Embedded-RP, allowing IPv6 Similarly [RFC3956], which specifies Embedded-RP, allowing IPv6
multicast rendezvous point addresses to be embedded in the multicast rendezvous point addresses to be embedded in the
multicast group address, would also fail, as the scheme assumes a multicast group address, would also fail, as the scheme assumes a
maximum prefix length of 64 bits. maximum prefix length of 64 bits.
o CGA: The Cryptographically Generated Address format (CGA, o CGA: The Cryptographically Generated Address format (CGA,
[RFC3972]) is heavily based on a /64 interface identifier. [RFC3972]) is heavily based on a /64 interface identifier.
[RFC3972] has defined a detailed algorithm how to generate 64-bit [RFC3972] has defined a detailed algorithm showing how to generate
interface identifier from a public key and a 64-bit subnet prefix. a 64-bit interface identifier from a public key and a 64-bit
Breaking the /64 boundary would certainly break the current CGA subnet prefix. Changing the /64 boundary would certainly
definition. However, CGA might benefit in a redefined version if invalidate the current CGA definition. However, CGA might benefit
more bits are used for interface identifier (which means shorter in a redefined version if more bits are used for interface
prefix length). For now, 59 bits are used for cryptographic identifier (which means shorter prefix length). For now, 59 bits
purposes. The more bits are available, the stronger CGA could be. are used for cryptographic purposes. The more bits are available,
Conversely, longer prefixes would weaken CGA. the stronger CGA could be. Conversely, longer prefixes would
weaken CGA.
o NAT64: Both stateless [RFC6052] NAT64 and stateful NAT64 [RFC6146] o NAT64: Both stateless [RFC6052] NAT64 and stateful NAT64 [RFC6146]
are flexible for the prefix length. [RFC6052] has defined are flexible for the prefix length. [RFC6052] has defined
multiple address formats for NAT64. In Section 2 "IPv4-Embedded multiple address formats for NAT64. In Section 2 "IPv4-Embedded
IPv6 Prefix and Format" of [RFC6052], the network-specific prefix IPv6 Prefix and Format" of [RFC6052], the network-specific prefix
could be one of /32, /40, /48, /56, /64 and /96. The remaining could be one of /32, /40, /48, /56, /64 and /96. The remaining
part of the IPv6 address is constructed by a 32-bit IPv4 address, part of the IPv6 address is constructed by a 32-bit IPv4 address,
a 8-bit u byte and a variable length suffix (there is no u byte a 8-bit u byte and a variable length suffix (there is no u byte
and suffix in the case of 96-bit Well-Known Prefix). NAT64 is and suffix in the case of 96-bit Well-Known Prefix). NAT64 is
therefore OK with a subnet boundary out to /96, but not longer. therefore OK with a subnet boundary out to /96, but not longer.
o NPTv6: IPv6-to-IPv6 Network Prefix Translation [RFC6296] is also o NPTv6: IPv6-to-IPv6 Network Prefix Translation [RFC6296] is also
bound to /64 boundary. NPTv6 maps a /64 prefix to another /64 bound to /64 boundary. NPTv6 maps a /64 prefix to another /64
prefix. When the NPTv6 Translator is configured with a /48 or prefix. When the NPTv6 Translator is configured with a /48 or
shorter prefix, the 64-bit interface identifier is kept unmodified shorter prefix, the 64-bit interface identifier is kept unmodified
during translation. However, the /64 boundary might be changed as during translation. However, the /64 boundary might be changed as
long as the "inside" and "outside" prefixes have the same length. long as the "inside" and "outside" prefixes have the same length.
o ILNP: Identifier-Locator Network Protocol (ILNP) [RFC6741] is o ILNP: Identifier-Locator Network Protocol (ILNP) [RFC6741] is
designed around the /64 boundary, since it relies on locally designed around the /64 boundary, since it relies on locally
unique 64-bit interface identifiers. While a re-design to use unique 64-bit node identifiers (in the interface identifier
longer prefixes is not inconceivable, this would need major field). While a re-design to use longer prefixes is not
changes to the existing specification for the IPv6 version of inconceivable, this would need major changes to the existing
ILNP. specification for the IPv6 version of ILNP.
o shim6: The Multihoming Shim Protocol for IPv6 (shim6) [RFC5533] in o shim6: The Multihoming Shim Protocol for IPv6 (shim6) [RFC5533] in
its insecure form treats IPv6 address as opaque 128-bit objects. its insecure form treats IPv6 address as opaque 128-bit objects.
However, to secure the protocol against spoofing, it is essential However, to secure the protocol against spoofing, it is essential
to either use CGAs (see above) or Hash-Based Addresses (HBA) to either use CGAs (see above) or Hash-Based Addresses (HBA)
[RFC5535]. Like CGAs, HBAs are generated using a procedure that [RFC5535]. Like CGAs, HBAs are generated using a procedure that
assumes a 64-bit identifier. Therefore, in effect, secure shim6 assumes a 64-bit identifier. Therefore, in effect, secure shim6
is affected by the /64 boundary exactly like CGAs. is affected by the /64 boundary exactly like CGAs.
o Duplicate address risk: If SLAAC was modified to work with shorter
IIDs, the statistical risk of hosts choosing the same pseudo-
random identifier [RFC7217] would increase correspondingly. The
practical impact of this would range from slight to dramatic,
depending on how much the IID length was reduced. In particular,
a /120 prefix would imply an 8 bit IID and address collisions
would be highly probable.
o The link-local prefix: While RFC 4862 is careful not to define any
specific length of link-local prefix within fe80::/10, the
addressing architecture [RFC4291] does define the link-local IID
length to be 64 bits. If different hosts on a link used IIDs of
different lengths to form a link-local address, there is potential
for confusion and unpredictable results. Typically today the
choice of 64 bits for the link-local IID length is hard-coded per
interface, in accordance with the relevant IPv6-over-foo
specification, and systems behave as if the link local prefix was
actually fe80::/64. There might be no way to change this except
conceivably by manual configuration, which will be impossible if
the host concerned has no local user interface.
It goes without saying that if prefixes longer than /64 are to be It goes without saying that if prefixes longer than /64 are to be
used, all hosts must be capable of generating IIDs shorter than 64 used, all hosts must be capable of generating IIDs shorter than 64
bits, in order to follow the auto-configuration procedure correctly bits, in order to follow the auto-configuration procedure correctly
[RFC4862]. There is however the rather special case of the link- [RFC4862].
local prefix. While RFC 4862 is careful not to define any specific
length of link-local prefix within fe80::/10, [RFC4291] does define
the link-local IID length to be 64 bits. Operationally there could
be a problem unless all hosts on a link use IIDs of the same length
to configure a link-local address during reboot. Typically today the
choice of 64 bits for the link-local IID length is hard-coded per
interface, and systems behave as if the link local prefix was
actually fe80::/64. There might be no way to change this except
conceivably by manual configuration, which will be impossible if the
host concerned has no local user interface.
4.3. Experimental observations 4.3. Experimental observations
4.3.1. Survey of the processing of Neighbor Discovery options with 4.3.1. Survey of the processing of Neighbor Discovery options with
prefixes other than /64 prefixes other than /64
This section provides a survey of the processing of Neighbor This section provides a survey of the processing of Neighbor
Discovery options which include prefixes that are different than /64. Discovery options which include prefixes that are different than /64.
The behavior of nodes was assessed with respect to the following The behavior of nodes was assessed with respect to the following
skipping to change at page 13, line 25 skipping to change at page 14, line 5
Participants in the V6OPS working group have indicated that some Participants in the V6OPS working group have indicated that some
forwarding devices have been shown to work correctly with long forwarding devices have been shown to work correctly with long
prefixes such as /80 or /96. Indeed, it is to be expected that prefixes such as /80 or /96. Indeed, it is to be expected that
longest prefix match based forwarding will work for any prefix longest prefix match based forwarding will work for any prefix
length, and no reports of this completely failing have been noted. length, and no reports of this completely failing have been noted.
Also, DHCPv6 is in widespread use without any dependency on the /64 Also, DHCPv6 is in widespread use without any dependency on the /64
boundary. Reportedly, there are deployments of /120 subnets boundary. Reportedly, there are deployments of /120 subnets
configured using DHCPv6. configured using DHCPv6.
It has been reported that at least one type of switch has a content-
addressable memory limited to 144 bits, which is indeed a typical
value for commodity components [TCAM]. This means that filters
cannot be defined based on 128-bit addresses and two 16-bit port
numbers; the longest prefix that could be used in such a filter is a
/112.
There have been definite reports that some routers have a performance There have been definite reports that some routers have a performance
drop-off or even resource exhaustion for prefixes longer than /64, drop-off or even resource exhaustion for prefixes longer than /64,
due to design issues. In particular, some routing chip designs due to design issues. In particular, some routing chip designs
allocate much less space for longer prefixes than for prefixes up to allocate much less space for longer prefixes than for prefixes up to
/64, for the sake of savings in memory, power and lookup latency. /64, for the sake of savings in memory, power and lookup latency.
Some devices need special-case code to handle point-to-point links Some devices need special-case code to handle point-to-point links
according to [RFC6164]. according to [RFC6164].
It has been reported that at least one type of switch has a content-
addressable memory limited to 144 bits, which is indeed a typical
value for commodity components [TCAM]. This means that packet
filters or access control lists cannot be defined based on 128-bit
addresses and two 16-bit port numbers; the longest prefix that could
be used in such a filter is a /112.
4.4. Implementation and deployment issues 4.4. Implementation and deployment issues
From an early stage, implementations and deployments of IPv6 assumed From an early stage, implementations and deployments of IPv6 assumed
the /64 subnet length, even though routing was based on prefixes of the /64 subnet length, even though routing was based on prefixes of
any length. As shown above, this became anchored in many any length. As shown above, this became anchored in many
specifications (Section 4.1) and in important aspects of specifications (Section 4.1) and in important aspects of
implementations commonly used in local area networks (Section 4.3). implementations commonly used in local area networks (Section 4.3).
In fact, a programmer might be lulled into assuming a comfortable In fact, a programmer might be lulled into assuming a comfortable
rule of thumb that subnet prefixes are always /64 and an IID is rule of thumb that subnet prefixes are always /64 and an IID is
always of length 64. Apart from the limited evidence in always of length 64. Apart from the limited evidence in
skipping to change at page 14, line 18 skipping to change at page 14, line 46
changing the IID length in the IPv6-over-foo code should be all that changing the IID length in the IPv6-over-foo code should be all that
is necessary. is necessary.
The main practical consequence of the existing specifications is that The main practical consequence of the existing specifications is that
deployments in which longer subnet prefixes are used cannot make use deployments in which longer subnet prefixes are used cannot make use
of SLAAC-configured addresses, and require either manually configured of SLAAC-configured addresses, and require either manually configured
addresses or DHCPv6. To reverse this argument, if it was considered addresses or DHCPv6. To reverse this argument, if it was considered
desirable to allow auto-configured addresses with subnet prefixes desirable to allow auto-configured addresses with subnet prefixes
longer than /64, all of the specifications identified above as longer than /64, all of the specifications identified above as
depending on /64 would have to be modified, with due regard to depending on /64 would have to be modified, with due regard to
interoperability with unmodified stacks. In fact interoperability with unmodified stacks. In fact [RFC7217] allows
[I-D.ietf-6man-stable-privacy-addresses] allows for this possibility. for this possibility. Then modified stacks would have to be
Then modified stacks would have to be developed and deployed. It developed and deployed. It might be the case that some stacks
might be the case that some stacks contain dependencies on the /64 contain dependencies on the /64 boundary which are not directly
boundary which are not directly implied by the specifications, and implied by the specifications, and any such hidden dependencies would
any such hidden dependencies would also need to be found and removed. also need to be found and removed.
At least one DHCPv6 client unconditionally installs a /64 prefix as At least one DHCPv6 client unconditionally installs a /64 prefix as
on-link when it configures an interface with an address, although on-link when it configures an interface with an address, although
some specific operating system vendors seem to change this default some specific operating system vendors seem to change this default
behavior by tweaking a client-side script. It does this (even if behavior by tweaking a client-side script. This is in clear
technically it violates the protocol) because if there is no router violation of the IPv6 subnet model [RFC5942]. The motivation for
on the link, the hosts effectively would fail to communicate each this choice is that if there is no router on the link, the hosts
other with the configured addresses because the "on-link assumption" would fail to communicate with each other using the configured
was removed in [RFC4861]. This is not really about the magic number addresses because the "on-link assumption" was removed in [RFC4861].
of 64, but an implementation may sometimes pick a specific value of This is not really about the magic number of 64, but an
prefix length due to the removal of the on-link assumption, and the implementation may sometimes pick an arbitrary value of prefix length
value chosen will most likely be 64. due to the removal of the on-link assumption, and the value chosen
will most likely be 64.
Typical IP Address Management (IPAM) tools treat /64 as the default Typical IP Address Management (IPAM) tools treat /64 as the default
subnet length, but allow users to specify longer subnet prefixes if subnet length, but allow users to specify longer subnet prefixes if
desired. Clearly, all IPAM tools and network management systems desired. Clearly, all IPAM tools and network management systems
would need to be checked in detail. would need to be checked in detail.
Finally, IPv6 is already installed on many sites, with a large number Finally, IPv6 is already deployed at many sites, with a large number
of staff trained on the basis of the existing standards, supported by of staff trained on the basis of the existing standards, supported by
documentation and tools based on those standards. Numerous existing documentation and tools based on those standards. Numerous existing
middlebox devices are also based on those standards. These people, middlebox devices are also based on those standards. These people,
documents, tools and devices represent a very large investment that documents, tools and devices represent a very large investment that
would be seriously impacted by a change in the /64 boundary. would be seriously impacted by a change in the /64 boundary.
4.5. Privacy issues 4.5. Privacy issues
The length of the interface identifier has implications for privacy The length of the interface identifier has implications for privacy
[I-D.ietf-6man-ipv6-address-generation-privacy]. In any case in [I-D.ietf-6man-ipv6-address-generation-privacy]. In any case in
skipping to change at page 15, line 26 skipping to change at page 15, line 51
clear that a privacy solution needs to resist an attack requiring clear that a privacy solution needs to resist an attack requiring
billions rather than millions of guesses. Trillions would be better, billions rather than millions of guesses. Trillions would be better,
suggesting that at least 40 bits should be available. Thus we can suggesting that at least 40 bits should be available. Thus we can
argue that subnet prefixes longer than say /80 might raise privacy argue that subnet prefixes longer than say /80 might raise privacy
concerns by making the IID guessable. concerns by making the IID guessable.
A prefix long enough to limit the number of addresses comparably to A prefix long enough to limit the number of addresses comparably to
an IPv4 subnet, such as /120, would create exactly the same situation an IPv4 subnet, such as /120, would create exactly the same situation
for privacy as IPv4 except for the absence of NAT. In particular, a for privacy as IPv4 except for the absence of NAT. In particular, a
host would be forced to pick a new IID when roaming to a new network, host would be forced to pick a new IID when roaming to a new network,
to avoid collisions. An argument could be made that since this to avoid collisions. As mentioned earlier, it is likely that SLAAC
reduces traceability, it is a good thing from a privacy point of will not be used on such a subnet.
view.
5. Security Considerations 5. Security Considerations
In addition to the privacy issues mentioned in Section 4.5, and the In addition to the privacy issues mentioned in Section 4.5, and the
issues mentioned with CGAs and HBAs in Section 4.2, the length of the issues mentioned with CGAs and HBAs in Section 4.2, the length of the
subnet prefix affects the matter of defence against scanning attacks subnet prefix affects the matter of defence against scanning attacks
[I-D.ietf-opsec-ipv6-host-scanning]. Assuming the attacker has [I-D.ietf-opsec-ipv6-host-scanning]. Assuming the attacker has
discovered or guessed the prefix length, a longer prefix reduces the discovered or guessed the prefix length, a longer prefix reduces the
space that the attacker needs to scan, e.g., to only 256 addresses if space that the attacker needs to scan, e.g., to only 256 addresses if
the prefix is /120. On the other hand, if the attacker has not the prefix is /120. On the other hand, if the attacker has not
discovered the prefix length and assumes it to be /64, routers can discovered the prefix length and assumes it to be /64, routers can
trivially discard attack packets that do not fall within an actual trivially discard attack packets that do not fall within an actual
subnet. subnet.
However, assume that an attacker finds one valid address A and then However, assume that an attacker finds one valid address A and
starts a scanning attack by scanning "outwards" from A, by trying assumes that it is within a long prefix such as a /120. The attacker
A+1, A-1, A+2, A-2, etc. This attacker will easily find all hosts in then starts a scanning attack by scanning "outwards" from A, by
any subnet with a long prefix, because they will have addresses close trying A+1, A-1, A+2, A-2, etc. This attacker will easily find all
to A. We therefore conclude that any prefix containing densely packed hosts in any subnet with a long prefix, because they will have
valid addresses is vulnerable to a scanning attack, without the addresses close to A. We therefore conclude that any prefix
attacker needing to guess the prefix length. Therefore, to preserve containing densely packed valid addresses is vulnerable to a scanning
IPv6's advantage over IPv4 in resisting scanning attacks, it is attack, without the attacker needing to guess the prefix length.
important that subnet prefixes are short enough to allow sparse Therefore, to preserve IPv6's advantage over IPv4 in resisting
allocation of identifiers within each subnet. The considerations are scanning attacks, it is important that subnet prefixes are short
similar to those for privacy, and we can again argue that prefixes enough to allow sparse allocation of identifiers within each subnet.
longer than say /80 might significantly increase vulnerability. The considerations are similar to those for privacy, and we can again
Ironically, this argument is exactly converse to the argument for argue that prefixes longer than say /80 might significantly increase
longer prefixes to resist an ND cache attack, as described in vulnerability. Ironically, this argument is exactly converse to the
Section 3.4. argument for longer prefixes to resist an ND cache attack, as
described in Section 3.4.
Denial of service attacks related to Neighbor Discovery are discussed Denial of service attacks related to Neighbor Discovery are discussed
in Section 3.4 and in [RFC6583]. One of the mitigations suggested by in Section 3.4 and in [RFC6583]. One of the mitigations suggested by
that document is "sizing subnets to reflect the number of addresses that document is "sizing subnets to reflect the number of addresses
actually in use", but the fact that this greatly simplifies scanning actually in use", but the fact that this greatly simplifies scanning
attacks is not noted. For further discussion of scanning attacks, attacks is not noted. For further discussion of scanning attacks,
see [I-D.ietf-opsec-ipv6-host-scanning]. see [I-D.ietf-opsec-ipv6-host-scanning].
Note that, although not known at the time of writing, there might be Note that, although not known at the time of writing, there might be
other resource exhaustion attacks available, similar in nature to the other resource exhaustion attacks available, similar in nature to the
skipping to change at page 16, line 36 skipping to change at page 17, line 15
6. IANA Considerations 6. IANA Considerations
This document requests no action by IANA. This document requests no action by IANA.
7. Acknowledgements 7. Acknowledgements
This document was inspired by a vigorous discussion on the V6OPS This document was inspired by a vigorous discussion on the V6OPS
working group mailing list with at least 20 participants. Later, working group mailing list with at least 20 participants. Later,
valuable comments were received from Ran Atkinson, Fred Baker, Steven valuable comments were received from Ran Atkinson, Fred Baker, Steven
Blake, Lorenzo Colitti, David Farmer, Bill Fenner, Ray Hunter, Jen Blake, Lorenzo Colitti, David Farmer, Bill Fenner, Ray Hunter, Jen
Linkova, Philip Matthews, Mark Smith, Tatuya Jinmei, Fred Templin, Linkova, Philip Matthews, Matthew Petach, Scott Schmit, Tatuya
Stig Venaas, and numerous other participants in the 6MAN working Jinmei, Fred Templin, Ole Troan, Stig Venaas, and numerous other
group. participants in the 6MAN working group. An extremely detailed review
by Mark Smith was especially helpful.
This document was produced using the xml2rfc tool [RFC2629]. This document was produced using the xml2rfc tool [RFC2629].
8. Change log [RFC Editor: Please remove] 8. Change log [RFC Editor: Please remove]
draft-ietf-6man-why64-02: responded to WGLC reviews and comments,
2014-08-16.
draft-ietf-6man-why64-01: language improvements, added TCAM draft-ietf-6man-why64-01: language improvements, added TCAM
reference, 2014-05-07. reference, 2014-05-07.
draft-ietf-6man-why64-00: WG adoption, WG comments, including major draft-ietf-6man-why64-00: WG adoption, WG comments, including major
text reorganisation: 3 main sections describe advantages of fixed text reorganisation: 3 main sections describe advantages of fixed
length IID, arguments for shorter lengths, and expected effects of length IID, arguments for shorter lengths, and expected effects of
varying the length, 2014-04-11. varying the length, 2014-04-11.
draft-carpenter-6man-why64-01: WG comments, added experimental draft-carpenter-6man-why64-01: WG comments, added experimental
results, implementation/deployment text, 2014-02-06. results, implementation/deployment text, 2014-02-06.
draft-carpenter-6man-why64-00: original version, 2014-01-06. draft-carpenter-6man-why64-00: original version, 2014-01-06.
9. References 9. References
9.1. Normative References 9.1. Normative References
[I-D.ietf-opsec-ipv6-host-scanning] [I-D.ietf-opsec-ipv6-host-scanning]
Gont, F. and T. Chown, "Network Reconnaissance in IPv6 Gont, F. and T. Chown, "Network Reconnaissance in IPv6
Networks", draft-ietf-opsec-ipv6-host-scanning-03 (work in Networks", draft-ietf-opsec-ipv6-host-scanning-04 (work in
progress), January 2014. progress), June 2014.
[RFC2464] Crawford, M., "Transmission of IPv6 Packets over Ethernet [RFC2464] Crawford, M., "Transmission of IPv6 Packets over Ethernet
Networks", RFC 2464, December 1998. Networks", RFC 2464, December 1998.
[RFC2467] Crawford, M., "Transmission of IPv6 Packets over FDDI [RFC2467] Crawford, M., "Transmission of IPv6 Packets over FDDI
Networks", RFC 2467, December 1998. Networks", RFC 2467, December 1998.
[RFC2470] Crawford, M., Narten, T., and S. Thomas, "Transmission of [RFC2470] Crawford, M., Narten, T., and S. Thomas, "Transmission of
IPv6 Packets over Token Ring Networks", RFC 2470, December IPv6 Packets over Token Ring Networks", RFC 2470, December
1998. 1998.
skipping to change at page 17, line 45 skipping to change at page 18, line 28
[RFC2526] Johnson, D. and S. Deering, "Reserved IPv6 Subnet Anycast [RFC2526] Johnson, D. and S. Deering, "Reserved IPv6 Subnet Anycast
Addresses", RFC 2526, March 1999. Addresses", RFC 2526, March 1999.
[RFC2529] Carpenter, B. and C. Jung, "Transmission of IPv6 over IPv4 [RFC2529] Carpenter, B. and C. Jung, "Transmission of IPv6 over IPv4
Domains without Explicit Tunnels", RFC 2529, March 1999. Domains without Explicit Tunnels", RFC 2529, March 1999.
[RFC2590] Conta, A., Malis, A., and M. Mueller, "Transmission of [RFC2590] Conta, A., Malis, A., and M. Mueller, "Transmission of
IPv6 Packets over Frame Relay Networks Specification", RFC IPv6 Packets over Frame Relay Networks Specification", RFC
2590, May 1999. 2590, May 1999.
[RFC2710] Deering, S., Fenner, W., and B. Haberman, "Multicast
Listener Discovery (MLD) for IPv6", RFC 2710, October
1999.
[RFC3056] Carpenter, B. and K. Moore, "Connection of IPv6 Domains [RFC3056] Carpenter, B. and K. Moore, "Connection of IPv6 Domains
via IPv4 Clouds", RFC 3056, February 2001. via IPv4 Clouds", RFC 3056, February 2001.
[RFC3146] Fujisawa, K. and A. Onoe, "Transmission of IPv6 Packets [RFC3146] Fujisawa, K. and A. Onoe, "Transmission of IPv6 Packets
over IEEE 1394 Networks", RFC 3146, October 2001. over IEEE 1394 Networks", RFC 3146, October 2001.
[RFC3306] Haberman, B. and D. Thaler, "Unicast-Prefix-based IPv6 [RFC3306] Haberman, B. and D. Thaler, "Unicast-Prefix-based IPv6
Multicast Addresses", RFC 3306, August 2002. Multicast Addresses", RFC 3306, August 2002.
[RFC3590] Haberman, B., "Source Address Selection for the Multicast
Listener Discovery (MLD) Protocol", RFC 3590, September
2003.
[RFC3810] Vida, R. and L. Costa, "Multicast Listener Discovery [RFC3810] Vida, R. and L. Costa, "Multicast Listener Discovery
Version 2 (MLDv2) for IPv6", RFC 3810, June 2004. Version 2 (MLDv2) for IPv6", RFC 3810, June 2004.
[RFC3956] Savola, P. and B. Haberman, "Embedding the Rendezvous [RFC3956] Savola, P. and B. Haberman, "Embedding the Rendezvous
Point (RP) Address in an IPv6 Multicast Address", RFC Point (RP) Address in an IPv6 Multicast Address", RFC
3956, November 2004. 3956, November 2004.
[RFC3972] Aura, T., "Cryptographically Generated Addresses (CGA)", [RFC3972] Aura, T., "Cryptographically Generated Addresses (CGA)",
RFC 3972, March 2005. RFC 3972, March 2005.
skipping to change at page 20, line 11 skipping to change at page 21, line 8
[RFC6177] Narten, T., Huston, G., and L. Roberts, "IPv6 Address [RFC6177] Narten, T., Huston, G., and L. Roberts, "IPv6 Address
Assignment to End Sites", BCP 157, RFC 6177, March 2011. Assignment to End Sites", BCP 157, RFC 6177, March 2011.
[RFC6296] Wasserman, M. and F. Baker, "IPv6-to-IPv6 Network Prefix [RFC6296] Wasserman, M. and F. Baker, "IPv6-to-IPv6 Network Prefix
Translation", RFC 6296, June 2011. Translation", RFC 6296, June 2011.
[RFC6437] Amante, S., Carpenter, B., Jiang, S., and J. Rajahalme, [RFC6437] Amante, S., Carpenter, B., Jiang, S., and J. Rajahalme,
"IPv6 Flow Label Specification", RFC 6437, November 2011. "IPv6 Flow Label Specification", RFC 6437, November 2011.
[RFC6741] Atkinson,, RJ., "Identifier-Locator Network Protocol
(ILNP) Engineering Considerations", RFC 6741, November
2012.
[RFC7084] Singh, H., Beebee, W., Donley, C., and B. Stark, "Basic [RFC7084] Singh, H., Beebee, W., Donley, C., and B. Stark, "Basic
Requirements for IPv6 Customer Edge Routers", RFC 7084, Requirements for IPv6 Customer Edge Routers", RFC 7084,
November 2013. November 2013.
[RFC7136] Carpenter, B. and S. Jiang, "Significance of IPv6 [RFC7136] Carpenter, B. and S. Jiang, "Significance of IPv6
Interface Identifiers", RFC 7136, February 2014. Interface Identifiers", RFC 7136, February 2014.
9.2. Informative References 9.2. Informative References
[DRAFT-odell] [DRAFT-odell]
skipping to change at page 21, line 5 skipping to change at page 21, line 44
Lynn, K., Martocci, J., Neilson, C., and S. Donaldson, Lynn, K., Martocci, J., Neilson, C., and S. Donaldson,
"Transmission of IPv6 over MS/TP Networks", draft-ietf- "Transmission of IPv6 over MS/TP Networks", draft-ietf-
6man-6lobac-01 (work in progress), March 2012. 6man-6lobac-01 (work in progress), March 2012.
[I-D.ietf-6man-ipv6-address-generation-privacy] [I-D.ietf-6man-ipv6-address-generation-privacy]
Cooper, A., Gont, F., and D. Thaler, "Privacy Cooper, A., Gont, F., and D. Thaler, "Privacy
Considerations for IPv6 Address Generation Mechanisms", Considerations for IPv6 Address Generation Mechanisms",
draft-ietf-6man-ipv6-address-generation-privacy-01 (work draft-ietf-6man-ipv6-address-generation-privacy-01 (work
in progress), February 2014. in progress), February 2014.
[I-D.ietf-6man-stable-privacy-addresses]
Gont, F., "A Method for Generating Semantically Opaque
Interface Identifiers with IPv6 Stateless Address
Autoconfiguration (SLAAC)", draft-ietf-6man-stable-
privacy-addresses-17 (work in progress), January 2014.
[I-D.ietf-homenet-arch] [I-D.ietf-homenet-arch]
Chown, T., Arkko, J., Brandt, A., Troan, O., and J. Weil, Chown, T., Arkko, J., Brandt, A., Troan, O., and J. Weil,
"IPv6 Home Networking Architecture Principles", draft- "IPv6 Home Networking Architecture Principles", draft-
ietf-homenet-arch-13 (work in progress), March 2014. ietf-homenet-arch-17 (work in progress), July 2014.
[I-D.ietf-v6ops-64share]
Byrne, C., Drown, D., and V. Ales, "Extending an IPv6 /64
Prefix from a 3GPP Mobile Interface to a LAN link", draft-
ietf-v6ops-64share-10 (work in progress), April 2014.
[I-D.templin-aerolink] [I-D.templin-aerolink]
Templin, F., "Transmission of IPv6 Packets over AERO Templin, F., "Transmission of IP Packets over AERO Links",
Links", draft-templin-aerolink-18 (work in progress), May draft-templin-aerolink-30 (work in progress), July 2014.
2014.
[IEEE802] IEEE, "IEEE Standard for Local and Metropolitan Area [IEEE802] IEEE, "IEEE Standard for Local and Metropolitan Area
Networks: Overview and Architecture", IEEE Std 802-2001 Networks: Overview and Architecture", IEEE Std 802-2001
(R2007), 2007. (R2007), 2007.
[RFC2629] Rose, M., "Writing I-Ds and RFCs using XML", RFC 2629, [RFC2629] Rose, M., "Writing I-Ds and RFCs using XML", RFC 2629,
June 1999. June 1999.
[RFC3756] Nikander, P., Kempf, J., and E. Nordmark, "IPv6 Neighbor
Discovery (ND) Trust Models and Threats", RFC 3756, May
2004.
[RFC4692] Huston, G., "Considerations on the IPv6 Host Density
Metric", RFC 4692, October 2006.
[RFC4887] Thubert, P., Wakikawa, R., and V. Devarapalli, "Network [RFC4887] Thubert, P., Wakikawa, R., and V. Devarapalli, "Network
Mobility Home Network Models", RFC 4887, July 2007. Mobility Home Network Models", RFC 4887, July 2007.
[RFC5505] Aboba, B., Thaler, D., Andersson, L., and S. Cheshire, [RFC5505] Aboba, B., Thaler, D., Andersson, L., and S. Cheshire,
"Principles of Internet Host Configuration", RFC 5505, May "Principles of Internet Host Configuration", RFC 5505, May
2009. 2009.
[RFC6583] Gashinsky, I., Jaeggli, J., and W. Kumari, "Operational [RFC6583] Gashinsky, I., Jaeggli, J., and W. Kumari, "Operational
Neighbor Discovery Problems", RFC 6583, March 2012. Neighbor Discovery Problems", RFC 6583, March 2012.
[RFC6741] Atkinson,, RJ., "Identifier-Locator Network Protocol [RFC6741] Atkinson,, RJ., "Identifier-Locator Network Protocol
(ILNP) Engineering Considerations", RFC 6741, November (ILNP) Engineering Considerations", RFC 6741, November
2012. 2012.
[RFC6877] Mawatari, M., Kawashima, M., and C. Byrne, "464XLAT: [RFC6877] Mawatari, M., Kawashima, M., and C. Byrne, "464XLAT:
Combination of Stateful and Stateless Translation", RFC Combination of Stateful and Stateless Translation", RFC
6877, April 2013. 6877, April 2013.
[RFC7094] McPherson, D., Oran, D., Thaler, D., and E. Osterweil,
"Architectural Considerations of IP Anycast", RFC 7094,
January 2014.
[RFC7217] Gont, F., "A Method for Generating Semantically Opaque
Interface Identifiers with IPv6 Stateless Address
Autoconfiguration (SLAAC)", RFC 7217, April 2014.
[RFC7278] Byrne, C., Drown, D., and A. Vizdal, "Extending an IPv6
/64 Prefix from a Third Generation Partnership Project
(3GPP) Mobile Interface to a LAN Link", RFC 7278, June
2014.
[TCAM] Meiners, C., Liu, A., and E. Torng, "Algorithmic [TCAM] Meiners, C., Liu, A., and E. Torng, "Algorithmic
Approaches to Redesigning TCAM-Based Systems", ACM Approaches to Redesigning TCAM-Based Systems", ACM
SIGMETRICS'08 467-468, 2008. SIGMETRICS'08 467-468, 2008.
Authors' Addresses Authors' Addresses
Brian Carpenter (editor) Brian Carpenter (editor)
Department of Computer Science Department of Computer Science
University of Auckland University of Auckland
PB 92019 PB 92019
 End of changes. 54 change blocks. 
178 lines changed or deleted 227 lines changed or added

This html diff was produced by rfcdiff 1.41. The latest version is available from http://tools.ietf.org/tools/rfcdiff/