3.1.b (ii) EUI-64
EUI-64 stands for Extended Unique Identifier, it is a way for an IPv6 host to automatically assign itself an IPv6 address via using it’s mac address.
EUI-64 allows us to configure the interface id part of an IPv6 address (last 64 bits)
EUI-64 requires that the network part of the address be 64 bits and no smaller.
EUI-64 is a 3 step process:
1.Take the interface’s MAC address
2.Puts FFFE in the middle
3.Then from the interface ID, flip the seventh bit from 0 to 1, or 1 to 0 (must be in binary first)
Here is the process…
here is the burned in mac:
If we convert 0027 from hex to binary we get 0000 0000 0010 0111, the seventh bit is 0 so we make it 1.
here it is after we flipped it.
0000 0010 0010 0111 converted to hex it says 227
And here is the EUI-64 derived addressed for link local and global
This seventh bit is called the universal/locally significant bit. It’s purpose is to let us know if the address came from DHCP, or it was generated via EUI-64.
This process happens automatically when we enable IPv6.
We also have IPv6 temporary addresses, which is a privacy extension. This prevents people from correlating a device based on their IP address. Meaning getting the MAC of a phone or PC will now allow us to find the address and hone in on that traffic. Basically helps them do recon.
This allows us to randomly generate the EUI-64 address, and then it’s changed over-time to prevent further recon.
Why was FFFE chosen to be put in the middle of the mac address? This is a reserved HEX address and thus will never be used by manufacturers.
Utilizing EUI-64 when configuring an interface:
What we can also do is give our interface a /64 prefix, and then tell it to use eui-64 for the rest of the configuration. Here’s how that’s done.
Router(config-if)#ipv6 address 2000:9999::/64 eui-64
Notice below the interface used the prefix we gave it and configured the rest of the 64 bits via it’s EUI64 process.