In message <20170629150630.glfvte2ures27p2n@Vurt.local>, Job Snijders writes:
On Wed, Jun 28, 2017 at 11:09:25PM +0200, Thomas Bellman wrote:
On 2017-06-28 17:03, William Herrin wrote:
The common recommendations for IPv6 point to point interface numbering are:
/64 /124 /126 /127
I thought the only allowed subnet prefix lengths for IPv6 were /64 and /127. RFC 4291 states:
For all unicast addresses, except those that start with the binary value 000, Interface IDs are required to be 64 bits long and to be constructed in Modified EUI-64 format.
(and addresses starting with 000 are only used for special things, like the localhost address ::1). And then RFC 6164 adds /127 to the allowed prefix lengths.
I know that many devices allow you to configure any subnet size, but is there any RFC allowing you to use e.g. /124 or /126?
Breaking the law! Some IETFers will come hunt you do, be aware! ;-)
Here is some historical perspective looking at the IETF standarsd and current Internet-Drafts:
RFC 3513 "only /64 is valid" RFC 3627 "don't use /127, use /126 if you must" RFC 4291 "reaffirming: only /64 is valid" RFC 6164 "a /127 is OK to use too" RFC 6583 "there are problems with /64" RFC 7421 "/64 is the best!" RFC 7608 "every prefix length must be forward-able" RFC 4291bis-07 "fine, /64 and /127 are valid, but nothing else!" draft-bourbaki-6man-classless-ipv6-00 "IPv6 is classless FFS" RFC 4291bis-08 "fine, /64 and /127 are valid, and anything defined in future standards, and anything configured manually"
Quoting from 4291bis-08:
""" Interface Identifiers are 64 bit long except if the first three bits of the address are 000, or when the addresses are manually configured, or by exceptions defined in standards track documents. The rationale for using 64 bit Interface Identifiers can be found in [RFC7421]. An example of a standards track exception is [RFC6164] that standardises 127 bit prefixes on inter-router point-to-point links.
Note: In the case of manual configuration, the Prefix and Interface Identifier can be any length as long as they add up to 128. """ source: https://tools.ietf.org/rfcdiff?url2=draft-ietf-6man-rfc4291bis-08.txt full file: https://tools.ietf.org/html/draft-ietf-6man-rfc4291bis-08
So, what it boils down to: if you want to use SLAAC, you should use a /64, if you don't need SLAAC, do whatever makes sense for you. And never be greedy: give your end-users a /48, there is plenty of space to go around.
And that should apply to cell phones as well. A single /64 from a ISP to a customer is a stop gap assignment. 3GPP supports DHCP-PD it should be enabled in the back ends.
Kind regards,
Job -- Mark Andrews, ISC 1 Seymour St., Dundas Valley, NSW 2117, Australia PHONE: +61 2 9871 4742 INTERNET: marka@isc.org