IPv6 Icky EUI-64 Drill 1
This post starts a new type of review post for #ICND2 or #CCNA: the icky EUI-64 drill. It’s icky for two reasons: it requires you to think in binary, and it rhymes. The goal: Starting with a MAC address and a /64 IPv6 prefix, predict the IPv6 address the host would use if using IPv6 Stateless Auto Address Configuration (SLAAC).
Today’s post lists sample problems; the follow-up post will show the answers.
Related links: Deeper info from the ICND2 OCG book
The EUI-64 Rules
The EUI-64 process to derive an IPv6 address begins with two facts, followed by a process that uses those facts. The facts:
- A 64-bit IPv6 prefix (typically learned from a router)
- The host’s MAC address
Using these two facts, the process to form the full 128-bit IPv6 unicast address is pretty simple. First, you use the learned prefix as the first 64 bits. Simple enough. However, then you have to convert the first byte, or at least the 2nd hex digit, to binary and back. EUI-64 rules used by SLAAC tell you how to make the last 64 bits, as follows:
- Split the MAC into two halves, each 6 hex digits / 3 bytes / 24 bits long.
- Insert hex FFFE in the middle between the two, completing the 16 hex digits in the 2nd half of the number
- Do some math on the first byte of the MAC address to invert (flip) the 7th of 8 bits (counting left-to-right)
Figure 1 summarizes the ideas.
Figure 1: EUI-64 Rules Used by SLAAC
For this exercise, take the listed prefixes and MAC addresses, and create the IPv6 address the device would use.
Extra credit: Also, if interested, you can think about the solicited node multicast address the host would use along with the unicast address. This multicast address is formed by taking the unicast address, and replacing the first 104 bits (26 hex digits) with FF02::1:FF00:0/104. In other words, use the solicited node multicast prefix with those last 6 hex digits of the unicast IPv6 address.
Problems to Do
The following table shows five prefixes and MAC unabbreviated IPv6 addresses; convert these to the shortest possible abbreviated IPv6 address.
Table 1:
Problem # | Prefix | MAC Address |
---|---|---|
1 | 2001:0DB8:9283:0102::/64 | 000C.1234.5678 |
2 | 3000:D0D0:0D0D:BEEF::/64 | 0003.0303.0303 |
3 | 2001:0DB8:0000:0000::/64 | 0C00.BEEF.CAFE |
4 | 3100:0202:0101:00AA::/64 | 0013.0B0B.B0B0 |
5 | 2001:0DB8:0000:0000::/64 | 2000.9876.5432 |
Great practice thanks !
A little update needed…
FF02::1:FF00::/104 —> FF02:0:0:1:FF00::/104
My last post did not appear yet, anyway;
I meant FF02:0:0:0:0:1:FF00::/104 or
FF02::1:FF00:0/104
Am I right?
Hi… Update?
Yes, the post had an incorrect value. I’ve fixed it. Thanks for the note!
FYI, the blog uses a WordPress setting that doesn’t display comments until approved at least until someone has had their comments approved a few times – an anti-spam feature. Your comments should appear more quickly soon if you post more.
Thanks,
Wendell