Question

Difficulty: HardIPv6 Addressing and Deployment

A network administrator is configuring a host on an enterprise network segment using Stateless Address Autoconfiguration (SLAAC). The local router advertises the IPv6 prefix 2001:db8:0000:00ab::/642001:\text{db8}:0000:00\text{ab}::/64. The host network interface controller has the MAC address `00:50:56:A1:B2:C3`. Assuming the host generates its 64-bit Interface Identifier using the standard EUI-64 mechanism, what is the resulting host IPv6 address expressed in strict compliance with RFC 5952 zero-compression and leading-zero suppression rules?

Answer: 2001:db8:0:ab:250:56ff:fea1:b2c3 / 2001:DB8:0:AB:250:56FF:FEA1:B2C3

Answer

2001:db8:0:ab:250:56ff:fea1:b2c3
Generating the SLAAC IPv6 address involves forming the EUI-64 interface ID from MAC address `00:50:56:A1:B2:C3` by inserting `FF:FE` between the third and fourth bytes (`00:50:56:FF:FE:A1:B2:C3`) and inverting the 7th bit of the first byte (`00` becomes `02`), yielding `0250:56ff:fea1:b2c3`. Combining this with prefix `2001:0db8:0000:00ab::/64` gives `2001:0db8:0000:00ab:0250:56ff:fea1:b2c3`. Under RFC 5952, leading zeros in each field are omitted (`0db8` -> `db8`, `0000` -> `0`, `00ab` -> `ab`, `0250` -> `250`). Because there is only one contiguous 16-bit zero field, `::` cannot be applied, resulting in `2001:db8:0:ab:250:56ff:fea1:b2c3`.

Step-by-Step Solution

1
Split the 48-bit MAC address into two 24-bit halves and insert FF:FE in the middle.
Inserting `FF:FE` into `00:50:56` and `A1:B2:C3` yields `00:50:56:FF:FE:A1:B2:C3` (or formatted as hextets: `0050:56ff:fea1:b2c3`).
EUI-64 expands a 48-bit MAC address to a 64-bit interface identifier by inserting the reserved 16-bit hex sequence `FF-FE`.
2
Invert the 7th bit (Universal/Local bit) of the first byte of the MAC address.
The first byte `00` in binary is `0000 0000`. Inverting the 7th bit (the U/L bit) gives `0000 0010`, which is `02` in hexadecimal. The modified interface ID becomes `0250:56ff:fea1:b2c3`.
The IEEE EUI-64 standard specifies that the 7th bit of the first octet must be inverted to indicate whether the address is universally unique (0 changed to 1).
3
Combine the /64 network prefix with the 64-bit EUI-64 interface identifier.
Combining `2001:0db8:0000:00ab` with `0250:56ff:fea1:b2c3` produces the uncompressed 128-bit address `2001:0db8:0000:00ab:0250:56ff:fea1:b2c3`.
The full IPv6 unicast address is formed by concatenating the subnet prefix and host interface ID.
4
Apply RFC 5952 compression rules strictly.
Suppress leading zeros in all hextets (`0db8` -> `db8`, `0000` -> `0`, `00ab` -> `ab`, `0250` -> `250`). Note that double-colon `::` cannot be used to replace a single zero hextet (`0`). The final compressed address is `2001:db8:0:ab:250:56ff:fea1:b2c3`.
RFC 5952 mandates lower-case hexadecimal digits, leading zero suppression in each 16-bit field, and explicitly forbids using double-colon `::` for a single isolated zero field.

Key Concept

EUI-64 Interface ID Generation & RFC 5952 Address Compression Rules
Rate this question