leblancd / kube-v6

Instructions on how to instantiate a multi-node, IPv6-only Kubernetes cluster.
Apache License 2.0
168 stars 22 forks source link

ULA examples aren't compliant with ULA RFC 4193 #22

Open markzzzsmith opened 5 years ago

markzzzsmith commented 5 years ago

Hi,

The IPv6 Unique Local Unicast Address (ULA) prefixes in this document aren't good ones to use as examples, as they don't seem to comply the ULA RFC 4193 Global ID requirements:

"The allocation of Global IDs is pseudo-random [RANDOM]. They MUST NOT be assigned sequentially or with well-known numbers. This is to ensure that there is not any relationship between allocations and to help clarify that these prefixes are not intended to be routed globally. Specifically, these prefixes are not designed to aggregate."

While they may be examples, there should be at least a comment that they are examples and that ULA prefixes should have globally unique Global ID values.

The examples imply that ULAs are effectively just IPv6 versions of IPv4's RFC 1918 addresses. Thats not the case, IPv6 equivalent of RFC 1918s were "Site-Local" addresses. They had problems which is why the IPv6 IETF working group replaced them with ULAs.

As ULAs being treated as exact equivalents of IPv4's RFC 1918s looks to be a common issue, I recently did a presentation which described the problems with Site-Locals and how ULAs solves those problems:

"Getting IPv6 Private Addressing Right" https://www.slideshare.net/markzzzsmith/ausnog-2019-getting-ipv6-private-addressing-right

If possible, you may consider redacting the Global ID part of your ULA example prefixes, via black block characters, or perhaps replacing digits with "X", "Y" or "Z", to ensure people don't copy and paste your example ULAs, violating the global uniqueness requirement.

Regards, Mark.