I have trouble understanding how many alternative link local IPv6 address prefixes may exist.
I know that the prefix is fe80::/10 which implies that the first 10 bits must be static as:
| 10 |
| bits | 6 bits | rest |
+----------+-------------------------+----------------------------+
|1111111010| ?????? | xxx...xxx |
+----------+-------------------------+----------------------------+
Thus, theoretically the next 6 bits regardless of the values will all lead to link local addresses.
The first one should be fe80::, the second fe81::,the last one should be febf::
To be clear, I considered 6 additional bits to complete the total number of bits for the first field (16-bits).
On the other hand, I have seen several resources stating that there can be only four alternative prefixes: (a) fe80::, fe90::, feA0::, and feB0:: which is strange to me because that scheme only considers 2 extra bits and forces the last 4 bits of the first field statically all 0.
To make things really complecated the spec says:
Link-Local addresses are for use on a single link. Link-Local
addresses have the following format:
| 10 |
| bits | 54 bits | 64 bits |
+----------+-------------------------+----------------------------+
|1111111010| 0 | interface ID |
+----------+-------------------------+----------------------------+
Which pretty much makes the fe80:: the only possible prefix.
What is correct?
fe80::/10
], 54 zeros, and 64bit interface id (eui-64, or other unique random address) It's defined as fe80::/10, not fe80::/64. (the later is all you should actually currently see)