some wordsmithing of fernando's text
This commit is contained in:
parent
3e399b1dbe
commit
e8b242134c
1 changed files with 133 additions and 77 deletions
|
|
@ -4,8 +4,8 @@
|
||||||
|
|
||||||
Network Working Group N. Bourbaki
|
Network Working Group N. Bourbaki
|
||||||
Internet-Draft The Intertubes
|
Internet-Draft The Intertubes
|
||||||
Intended status: Standards Track April 2017
|
Intended status: Standards Track May 8, 2017
|
||||||
Expires: October 3, 2017
|
Expires: November 9, 2017
|
||||||
|
|
||||||
|
|
||||||
IPv6 is Classless
|
IPv6 is Classless
|
||||||
|
|
@ -14,10 +14,19 @@ Expires: October 3, 2017
|
||||||
Abstract
|
Abstract
|
||||||
|
|
||||||
Over the history of IPv6, various classful address models have been
|
Over the history of IPv6, various classful address models have been
|
||||||
proposed, particularly Top-Level Aggregation (TLA) and Next-Level
|
proposed, maybe the most notable being Top-Level Aggregation (TLA)
|
||||||
Aggregation (NLA) Identifiers. They have all proved to be mistakes.
|
and Next-Level Aggregation (NLA) Identifiers. They have all proved
|
||||||
The last remnant is a rigid boundary at /64. This document removes
|
to be mistakes. The last remnant is a rigid boundary at /64. This
|
||||||
that rigidity as far as routing is concerned.
|
document removes that boundary as far as routing and addressing are
|
||||||
|
concerned.
|
||||||
|
|
||||||
|
Requirements Language
|
||||||
|
|
||||||
|
The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT",
|
||||||
|
"SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" are to
|
||||||
|
be interpreted as described in RFC 2119 [RFC2119] only when they
|
||||||
|
appear in all upper case. They may also appear in lower or mixed
|
||||||
|
case as English words, without normative meaning.
|
||||||
|
|
||||||
Status of This Memo
|
Status of This Memo
|
||||||
|
|
||||||
|
|
@ -34,13 +43,21 @@ Status of This Memo
|
||||||
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 October 3, 2017.
|
This Internet-Draft will expire on November 9, 2017.
|
||||||
|
|
||||||
Copyright Notice
|
Copyright Notice
|
||||||
|
|
||||||
Copyright (c) 2017 IETF Trust and the persons identified as the
|
Copyright (c) 2017 IETF Trust and the persons identified as the
|
||||||
document authors. All rights reserved.
|
document authors. All rights reserved.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Bourbaki Expires November 9, 2017 [Page 1]
|
||||||
|
|
||||||
|
Internet-Draft IPv6 is Classless May 2017
|
||||||
|
|
||||||
|
|
||||||
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
|
||||||
|
|
@ -51,13 +68,6 @@ Copyright Notice
|
||||||
the Trust Legal Provisions and are provided without warranty as
|
the Trust Legal Provisions and are provided without warranty as
|
||||||
described in the Simplified BSD License.
|
described in the Simplified BSD License.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
Bourbaki Expires October 3, 2017 [Page 1]
|
|
||||||
|
|
||||||
Internet-Draft IPv6 is Classless April 2017
|
|
||||||
|
|
||||||
|
|
||||||
Table of Contents
|
Table of Contents
|
||||||
|
|
||||||
1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 2
|
1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 2
|
||||||
|
|
@ -72,16 +82,17 @@ Table of Contents
|
||||||
10. References . . . . . . . . . . . . . . . . . . . . . . . . . 4
|
10. References . . . . . . . . . . . . . . . . . . . . . . . . . 4
|
||||||
10.1. Normative References . . . . . . . . . . . . . . . . . . 4
|
10.1. Normative References . . . . . . . . . . . . . . . . . . 4
|
||||||
10.2. Informative References . . . . . . . . . . . . . . . . . 5
|
10.2. Informative References . . . . . . . . . . . . . . . . . 5
|
||||||
Author's Address . . . . . . . . . . . . . . . . . . . . . . . . 5
|
Author's Address . . . . . . . . . . . . . . . . . . . . . . . . 6
|
||||||
|
|
||||||
1. Introduction
|
1. Introduction
|
||||||
|
|
||||||
Over the history of IPv6, various classful address models have been
|
Over the history of IPv6, various classful address models have been
|
||||||
proposed, particularly Top-Level Aggregation (TLA) and Next-Level
|
proposed, maybe the most notable being Top-Level Aggregation (TLA)
|
||||||
Aggregation(NLA) Identifiers. They have all proved to be mistakes.
|
and Next-Level Aggregation (NLA) Identifiers; see, for example,
|
||||||
For example, TLA and NLA were obsoleted by [RFC3587]. The last
|
[RFC2450]. They have all proved to be mistakes. For example, TLA
|
||||||
remnant is a rigid boundary at /64. This document removes that
|
and NLA were obsoleted by [RFC3587]. The last remnant is a rigid
|
||||||
rigidity as far as routing is concerned.
|
boundary at /64. This document removes that boundary as far as
|
||||||
|
routing and addressing are concerned.
|
||||||
|
|
||||||
2. Suggested Reading
|
2. Suggested Reading
|
||||||
|
|
||||||
|
|
@ -94,25 +105,23 @@ Table of Contents
|
||||||
|
|
||||||
It is also assumed that the reader understands IPv6 [RFC2460], the IP
|
It is also assumed that the reader understands IPv6 [RFC2460], the IP
|
||||||
Version 6 Addressing Architecture [RFC4291], the proposed changes to
|
Version 6 Addressing Architecture [RFC4291], the proposed changes to
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Bourbaki Expires November 9, 2017 [Page 2]
|
||||||
|
|
||||||
|
Internet-Draft IPv6 is Classless May 2017
|
||||||
|
|
||||||
|
|
||||||
RFC4291 [I-D.hinden-6man-rfc4291bis], and the recent recommendations
|
RFC4291 [I-D.hinden-6man-rfc4291bis], and the recent recommendations
|
||||||
for the generation of stable Interface Identifiers [RFC8064].
|
for the generation of stable Interface Identifiers [RFC8064].
|
||||||
|
|
||||||
An important recent development in IPv6 is that for host computers on
|
An important recent IPv6 development was that, for host computers on
|
||||||
local area networks, the way in which interface identifiers are
|
local area networks, the way in which interface identifiers were
|
||||||
formed is no longer bound to layer 2 addresses (MAC addresses)
|
formed was no longer bound to layer 2 addresses (MACs) [RFC7217]
|
||||||
[RFC7217] [RFC8064]. We can therefore appreciate that their length,
|
[RFC8064]. Therefore their length, previously fixed at 64 bits
|
||||||
previously fixed at 64 bits [RFC7136], is in fact a free parameter as
|
[RFC7136], is in fact a free parameter as stated in [RFC4862].
|
||||||
stated in [RFC4862].
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
Bourbaki Expires October 3, 2017 [Page 2]
|
|
||||||
|
|
||||||
Internet-Draft IPv6 is Classless April 2017
|
|
||||||
|
|
||||||
|
|
||||||
3. Background
|
3. Background
|
||||||
|
|
||||||
|
|
@ -127,11 +136,15 @@ Internet-Draft IPv6 is Classless April 2017
|
||||||
|
|
||||||
4. A simple Statement
|
4. A simple Statement
|
||||||
|
|
||||||
To state it simply, IPv6 unicast routing is based on prefixes of any
|
To state it simply, IPv6 unicast subnetting is based on prefixes of
|
||||||
valid length up to 128 except for links where an Internet Standard
|
any valid length up to 128 except for links where an Internet
|
||||||
such as, for example, Stateless Address AutoConfiguration [RFC4862],
|
Standard such as, for example, Stateless Address AutoConfiguration
|
||||||
or Using 127-Bit IPv6 Prefixes on Inter-Router Links [RFC6164] is in
|
[RFC4862], or Using 127-Bit IPv6 Prefixes on Inter-Router Links
|
||||||
use.
|
[RFC6164] is in use.
|
||||||
|
|
||||||
|
Nodes must always support rotuing on any valid length, even if SLAAC
|
||||||
|
or other standards are in use because routing could choose to
|
||||||
|
differentiate at a different granularity.
|
||||||
|
|
||||||
5. Recommendations
|
5. Recommendations
|
||||||
|
|
||||||
|
|
@ -139,53 +152,44 @@ Internet-Draft IPv6 is Classless April 2017
|
||||||
other considerations, a /64 is RECOMMENDED [RFC7136].
|
other considerations, a /64 is RECOMMENDED [RFC7136].
|
||||||
|
|
||||||
The length of the Interface Identifier in Stateless Address
|
The length of the Interface Identifier in Stateless Address
|
||||||
AutoConfiguration [RFC4862] is a parameter; its length needs to be
|
AutoConfiguration [RFC4862] is a parameter; its length SHOULD be
|
||||||
sufficient for effective randomization for privacy reasons. For
|
sufficient for effective randomization for privacy reasons. For
|
||||||
example, a /48 might be sufficient. But operationally we RECOMMEND,
|
example, a /48 might be sufficient. But operationally we RECOMMEND,
|
||||||
barring strong considerations to the contrary, using 64-bits for
|
barring strong considerations to the contrary, using 64-bits for
|
||||||
SLAAC in order not to discover bugs where 64-bits was hard-coded, and
|
SLAAC in order not to discover bugs where 64 was hard-coded, and to
|
||||||
to favor portability of devices and operating systems.
|
favor portability of devices and operating systems.
|
||||||
|
|
||||||
None the less, there is no reason in theory why an IPv6 node should
|
None the less, there is no reason in theory why an IPv6 node should
|
||||||
not operate with different interface identfier lengths on different
|
not operate with different interface identfier lengths on different
|
||||||
physical interfaces. Thus a correct implementation of SLAAC must in
|
physical interfaces. Thus a correct implementation of SLAAC must in
|
||||||
fact allow for any length of prefix, with the value being
|
|
||||||
parameterised per interface. For instance, the Interface Identifier
|
|
||||||
length in the recommended (see [RFC8064]) algorithm for selecting
|
|
||||||
stable interface identifiers [RFC7217] is a parameter, rather than a
|
|
||||||
hardcoded value.
|
|
||||||
|
|
||||||
NOTE: should we comment on the fact that at least Linux and Windows
|
|
||||||
seem to assume that the default prefix is /64 in the management CLI?
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Bourbaki Expires November 9, 2017 [Page 3]
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
Bourbaki Expires October 3, 2017 [Page 3]
|
|
||||||
|
|
||||||
Internet-Draft IPv6 is Classless April 2017
|
Internet-Draft IPv6 is Classless May 2017
|
||||||
|
|
||||||
|
|
||||||
|
fact allow for any prefix length, with the value being a parameter
|
||||||
|
per interface. For instance, the Interface Identifier length in the
|
||||||
|
recommended (see [RFC8064]) algorithm for selecting stable interface
|
||||||
|
identifiers [RFC7217] is a parameter, rather than a hardcoded value.
|
||||||
|
|
||||||
6. Security Considerations
|
6. Security Considerations
|
||||||
|
|
||||||
Assumming that nodes employ unpredictable interface identifiers
|
Assumming that nodes employ unpredictable interface identifiers
|
||||||
[RFC7721], the subnet size may have an impact on some security and
|
[RFC7721], the subnet size may have an impact on some security and
|
||||||
privacy properties of a network. Namely, the smaller the subnet
|
privacy properties of a network. Namely, the smaller the subnet
|
||||||
size, the more feasible it becomes to perform IPv6 address scans
|
size, the more feasible it becomes to perform IPv6 address scans
|
||||||
[RFC7707] [RFC7721]. However, that for some specific subnets (such
|
[RFC7707] [RFC7721]. For some specific subnets, such as point to
|
||||||
as point to point links), this may be less of an issue.
|
point links, this may be less of an issue.
|
||||||
|
|
||||||
On the other hand, we assume that a number of IPv6 implementations
|
On the other hand, we assume that a number of IPv6 implementations
|
||||||
fail to enforce limits on the size of some of the data structures
|
fail to enforce limits on the size of some of the data structures
|
||||||
they employ for communicating with neighboring nodes, such as the
|
they employ for communicating with neighboring nodes, such as the
|
||||||
Neighbor Cache. In such cases, the use of smaller subnets
|
Neighbor Cache. In such cases, the use of smaller subnets forces an
|
||||||
essentially enforces an operational limit on such data structures,
|
operational limit on such data structures, thus helping mitigate some
|
||||||
thus helping mitigate some pathological behaviors (such as Neighbor
|
pathological behaviors (such as Neighbor Cache Exhaustion attacks).
|
||||||
Cache Exhaustion attacks).
|
|
||||||
|
|
||||||
7. IANA Considerations
|
7. IANA Considerations
|
||||||
|
|
||||||
|
|
@ -194,8 +198,8 @@ Internet-Draft IPv6 is Classless April 2017
|
||||||
8. Authors
|
8. Authors
|
||||||
|
|
||||||
The original draft was by Randy Bush, who was immediately aided and
|
The original draft was by Randy Bush, who was immediately aided and
|
||||||
abetted by Brian Carpenter, Chris Morrow, Fernando Gont, Job
|
abetted by Brian Carpenter, Chris Morrow, Fernando Gont, Geoff
|
||||||
Snijders, [ your name here ].
|
Huston, Job Snijders, [ your name here ].
|
||||||
|
|
||||||
9. Acknowledgments
|
9. Acknowledgments
|
||||||
|
|
||||||
|
|
@ -205,9 +209,23 @@ Internet-Draft IPv6 is Classless April 2017
|
||||||
|
|
||||||
10.1. Normative References
|
10.1. Normative References
|
||||||
|
|
||||||
|
[RFC2119] Bradner, S., "Key words for use in RFCs to Indicate
|
||||||
|
Requirement Levels", BCP 14, RFC 2119, March 1997.
|
||||||
|
|
||||||
|
[RFC2450] Hinden, R., "Proposed TLA and NLA Assignment Rules",
|
||||||
|
RFC 2450, December 1998.
|
||||||
|
|
||||||
[RFC2460] Deering, S. and R. Hinden, "Internet Protocol, Version 6
|
[RFC2460] Deering, S. and R. Hinden, "Internet Protocol, Version 6
|
||||||
(IPv6) Specification", RFC 2460, December 1998.
|
(IPv6) Specification", RFC 2460, December 1998.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Bourbaki Expires November 9, 2017 [Page 4]
|
||||||
|
|
||||||
|
Internet-Draft IPv6 is Classless May 2017
|
||||||
|
|
||||||
|
|
||||||
[RFC4291] Hinden, R. and S. Deering, "IP Version 6 Addressing
|
[RFC4291] Hinden, R. and S. Deering, "IP Version 6 Addressing
|
||||||
Architecture", RFC 4291, February 2006.
|
Architecture", RFC 4291, February 2006.
|
||||||
|
|
||||||
|
|
@ -217,15 +235,6 @@ Internet-Draft IPv6 is Classless April 2017
|
||||||
DOI 10.17487/RFC7217, April 2014,
|
DOI 10.17487/RFC7217, April 2014,
|
||||||
<http://www.rfc-editor.org/info/rfc7217>.
|
<http://www.rfc-editor.org/info/rfc7217>.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
Bourbaki Expires October 3, 2017 [Page 4]
|
|
||||||
|
|
||||||
Internet-Draft IPv6 is Classless April 2017
|
|
||||||
|
|
||||||
|
|
||||||
[RFC8064] Gont, F., Cooper, A., Thaler, D., and W. Liu,
|
[RFC8064] Gont, F., Cooper, A., Thaler, D., and W. Liu,
|
||||||
"Recommendation on Stable IPv6 Interface Identifiers",
|
"Recommendation on Stable IPv6 Interface Identifiers",
|
||||||
RFC 8064, DOI 10.17487/RFC8064, February 2017,
|
RFC 8064, DOI 10.17487/RFC8064, February 2017,
|
||||||
|
|
@ -265,6 +274,14 @@ Internet-Draft IPv6 is Classless April 2017
|
||||||
RFC 7721, DOI 10.17487/RFC7721, March 2016,
|
RFC 7721, DOI 10.17487/RFC7721, March 2016,
|
||||||
<http://www.rfc-editor.org/info/rfc7721>.
|
<http://www.rfc-editor.org/info/rfc7721>.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Bourbaki Expires November 9, 2017 [Page 5]
|
||||||
|
|
||||||
|
Internet-Draft IPv6 is Classless May 2017
|
||||||
|
|
||||||
|
|
||||||
Author's Address
|
Author's Address
|
||||||
|
|
||||||
Nicolas Bourbaki
|
Nicolas Bourbaki
|
||||||
|
|
@ -277,4 +294,43 @@ Author's Address
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
Bourbaki Expires October 3, 2017 [Page 5]
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Bourbaki Expires November 9, 2017 [Page 6]
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue