From 940d4bfeb978a3f4b748ae6860e785103a794a4e Mon Sep 17 00:00:00 2001 From: Nick Hilliard Date: Sat, 13 May 2017 16:48:06 +0100 Subject: [PATCH 1/5] remove camelcase for AutoConfiguration --- draft-nbourbaki-6man-classless-ipv6.xml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/draft-nbourbaki-6man-classless-ipv6.xml b/draft-nbourbaki-6man-classless-ipv6.xml index 3bb3d9b..105f4ea 100644 --- a/draft-nbourbaki-6man-classless-ipv6.xml +++ b/draft-nbourbaki-6man-classless-ipv6.xml @@ -132,7 +132,7 @@ rate is low enough. To state it simply, IPv6 unicast subnetting is based on prefixes of any valid length up to 128 except for links where an Internet Standard that has nothing to do with routing may impose a - particular length. Examples are Stateless Address AutoConfiguration + particular length. Examples are Stateless Address Autoconfiguration (SLAAC) , or Using 127-Bit IPv6 Prefixes on Inter-Router Links . @@ -166,7 +166,7 @@ rate is low enough. target="RFC7136"/>. The length of the Interface Identifier in Stateless Address - AutoConfiguration is a parameter; its + Autoconfiguration is a parameter; its length SHOULD be sufficient for effective randomization for privacy reasons. For example, a /48 might be sufficient. But operationally we recommend, barring strong considerations to the contrary, using From 1a97a337ea2ef568b6c293156edbb6fe1ccd522f Mon Sep 17 00:00:00 2001 From: Nick Hilliard Date: Sat, 13 May 2017 20:38:15 +0100 Subject: [PATCH 2/5] added updates tag to --- draft-nbourbaki-6man-classless-ipv6.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/draft-nbourbaki-6man-classless-ipv6.xml b/draft-nbourbaki-6man-classless-ipv6.xml index 105f4ea..a386da8 100644 --- a/draft-nbourbaki-6man-classless-ipv6.xml +++ b/draft-nbourbaki-6man-classless-ipv6.xml @@ -11,7 +11,7 @@ - + IPv6 is Classless From cb1a987e437e7cc3041b8e6ad53fc5e6fc326e4c Mon Sep 17 00:00:00 2001 From: Nick Hilliard Date: Sun, 14 May 2017 12:06:01 +0100 Subject: [PATCH 3/5] Refactor abstract, intro and recommended reading. - added quote from RFC4862 to remind readers that /64 is a parameter. - one semantic change made, namely that routing subnets are already classless, so this was removed from the intro. - fix typo --- draft-nbourbaki-6man-classless-ipv6.xml | 81 +++++++++++++------------ 1 file changed, 42 insertions(+), 39 deletions(-) diff --git a/draft-nbourbaki-6man-classless-ipv6.xml b/draft-nbourbaki-6man-classless-ipv6.xml index a386da8..5cd8c96 100644 --- a/draft-nbourbaki-6man-classless-ipv6.xml +++ b/draft-nbourbaki-6man-classless-ipv6.xml @@ -34,13 +34,11 @@ - Over the history of IPv6, various classful address models have - been proposed, with the most notable being Top-Level Aggregation - (TLA) and Next-Level Aggregation (NLA) Identifiers. They have all - proved to be mistakes. The last remnant of classful addressing is - a rigid network / interface identifier boundary at /64. - This document removes that boundary as far as routing and addressing - are concerned. + Over the history of IPv6, various classful address models have been + proposed, none of which has withstood the test of time. The last + remnant of IPv6 classful addressing is a rigid network interface + identifier boundary at /64. This document removes that boundary for + routing and interface addressing. @@ -63,26 +61,22 @@
- Over the history of IPv6, various classful address models have - been proposed, with the most notable being Top-Level Aggregation - (TLA) and Next-Level Aggregation (NLA) Identifiers; see, for - example, . They have all proved to be - mistakes. For example, TLA and NLA were obsoleted by . The last remnant of classful addressing is a - rigid network / interface identifier boundary at /64. - This document removes that boundary as far as routing and addressing - are concerned. + Over the history of the IPv6 protocol, several classful addressing + models have been proposed. The most notable example recommended Top-Level + Aggregation (TLA) and Next-Level Aggregation (NLA) Identifiers , but was obsoleted by , leaving + a single remnant of classful addressing in IPv6: a rigid network + interface identifier boundary at /64. This document removes that + boundary for interface addressing. - Some confusion has been caused by the IP Version 6 Addressing - Architecture, , and the proposed changes in - with respect to the - minimum subnet size. - - Meanwhile, link prefixes of varied lengths, /127, /126, /124, - /120, ... /64 have been successfully deployed for many years. - Having the formal specification be unclear risks potential - mis-implementation by the naïve, which could result in operational - disasters. + Recent proposed changes to the IP Version 6 Addressing Architecture + specification have caused controversy. + While link prefixes of varied lengths, e.g. /127, /126, /124, + /120, ... /64 have been successfully deployed for many years, glaring + mismatches between a formal specification and long-standing field + deployment practices are never wise, not least because of the strong + risk of mis-implementation, which can easily result in serious + operational problems.
@@ -92,15 +86,15 @@ addressing in IPv4 and why it was abolished . Of course, the acute need to conserve address space that forced the adoption of classless addressing for IPv4 does - not apply to IPv6; but the arguments for operational flexibility in - address allocation remain compelling.
+ not apply to IPv6, but the arguments for operational flexibility in + address assignment remain compelling. It is also assumed that the reader understands IPv6 , the IP Version 6 Addressing Architecture , the proposed changes to RFC4291 and RFC2464 - , and the recent - recommendations for the generation of stable Interface Identifiers + , and the IETF + recommendation for the generation of stable Interface Identifiers . - An important recent IPv6 development was that, for host computers - on local area networks, the way in which interface identifiers were - formed was no longer bound to layer 2 addresses (MACs) . Therefore their - length, previously fixed at 64 bits , is in - fact a variably-sized parameter as stated in . + For host computers on local area networks, generation of interface + identifiers is no longer necessarily bound to layer 2 addresses (MACs) + . Therefore their + length, previously fixed at 64 bits , is in fact + a variably-sized parameter as explicitly acknowledged in Section + 5.5.3(d) of which states: + + Note that a future revision of the address architecture [RFC4291] + and a future link-type-specific document, which will still be + consistent with each other, could potentially allow for an + interface identifier of length other than the value defined in the + current documents. Thus, an implementation should not assume a + particular constant. Rather, it should expect any lengths of + interface identifiers. + + + -
To state it simply, IPv6 unicast subnetting is based on prefixes @@ -187,7 +190,7 @@ rate is low enough.
- Assumming that nodes employ unpredictable interface identifiers + Assuming that nodes employ unpredictable interface identifiers , the subnet size may have an impact on some security and privacy properties of a network. Namely, the smaller the subnet size, the more feasible it becomes to perform IPv6 From 06cb09405ca8effc04a0ceaf6ba961671b3e44e4 Mon Sep 17 00:00:00 2001 From: Nick Hilliard Date: Sun, 14 May 2017 12:27:08 +0100 Subject: [PATCH 4/5] refactor formal statement - clarify that there are two cases - interface subnetting is now classless - routing prefixes were always classless, but this is now explicitly stated --- draft-nbourbaki-6man-classless-ipv6.xml | 24 +++++++++++++----------- 1 file changed, 13 insertions(+), 11 deletions(-) diff --git a/draft-nbourbaki-6man-classless-ipv6.xml b/draft-nbourbaki-6man-classless-ipv6.xml index 5cd8c96..92bfd00 100644 --- a/draft-nbourbaki-6man-classless-ipv6.xml +++ b/draft-nbourbaki-6man-classless-ipv6.xml @@ -78,6 +78,9 @@ risk of mis-implementation, which can easily result in serious operational problems. + This document also clarifies that IPv6 routing subnets may be of any + length up to 128. +
@@ -130,20 +133,19 @@ rate is low enough.
-
+
- To state it simply, IPv6 unicast subnetting is based on prefixes - of any valid length up to 128 except for links where an Internet - Standard that has nothing to do with routing may impose a - particular length. Examples are Stateless Address Autoconfiguration + IPv6 unicast interfaces may use any subnet length up to 128 except + for situations where an Internet Standard document may impose a + particular length, for example Stateless Address Autoconfiguration (SLAAC) , or Using 127-Bit IPv6 Prefixes on Inter-Router Links . - Nodes must always support routing on any valid network prefix - length, even if SLAAC or other standards are in use, because routing - could choose to differentiate at a different granularity than is - used by any such automated link local address configuration - tools. + Additionally, this document clarifies that a node or router MUST + support routing of any valid network prefix length, even if SLAAC or + other standards are in use, because routing could choose to + differentiate at a different granularity than is used by any such + automated link local address configuration tools. - + For host computers on local area networks, generation of interface identifiers is no longer necessarily bound to layer 2 addresses (MACs) . Therefore their @@ -178,7 +178,7 @@ rate is low enough. 64-bits for SLAAC in order not to discover bugs where 64 was hard-coded, and to favor portability of devices and operating systems. - + Nonetheless, there is no reason in theory why an IPv6 node should not operate with different interface identfier lengths on different physical interfaces. Thus, a correct implementation of @@ -187,7 +187,7 @@ rate is low enough. length in the recommended (see ) algorithm for selecting stable interface identifiers is a parameter, rather than a hardcoded value. - +