Definition of IPv6 Address Interface Identifier
IPv6 unicast addresses consist of the prefix followed by an Interface Identifier (IID). The Interface Identifier is used for unique identification of a node´s interface.
The Interface Identifiers are formed by several methods.
Per manual configuration:
The administrator sets the Interface Identifier “manually”.
Per automatic configuration:
Different configurations are possible, see following description for more information.
Definition of the IPv6 Address Interface Identifier with embedded MAC address (in EUI-64 format)
The MAC address is embedded into the Interface Identifier field of the IPv6 address.
Critics are afraid that this method could allows the unique identification of each single station worldwide.
How is the EUI-64 address expanded from the 48-bit MAC address?
The MAC address is „00-12-7f-eb-6b-40“ (a universally managed address). An address in EUI format has a length of 64 bits. During conversion of the MAC address into the EUI-64 format the address is divided into 2 blocks of 24 bits each. Block #1 is „00-12-7f“ and block #2 is „eb-6b-40“. Between both blocks 16 bits of hex value „ff-fe“ are inserted. This gives the length of 64 bits of the address in EUI-64 format: „00-12-7f-ff-fe-eb-6b-40“.
Take care of bits 7 and 8 of the first byte of the MAC address and their meaning:
Bit 7: U/L bit (Universal/Local): 0 = globally managed, 1 = locally managed (in my example set to „1“ because the address is locally managed and locally generated)
Bit 8: I/G bit (Individual/Group): 0 = inividual address, 1 = group address
For an IPv6 link-local address prefix may be „fe80“. Because this address is locally managed, bit 7 of the MAC address has to be set to „1“ (see explanation before). The entire IPv6 link-local address is fe80::212:7fff:feeb:6b40
Source of the example: http://wiki.nil.com/IPv6_EUI-64_interface_addressing
For additional information on the use of U/G bits in IPv6 unicast addresses with different structure see RFC 7136.
Definition of the Interface Identifier with embedded associated IPv4 address
„IPv4-compatible“ IPv6 addresses
According RFC 4291 the use of „IPv4-compatible“ IPv6 addresses (as described in RFC 3513) is deprecated and therefore not mentioned here.
„IPv4-mapped“ IPv6 addresses
Used for presentation of IPv4 addresses as IPv6 addresses. According RFC 5156 these addresses are reserved for private use and should not be used as public IPv6 addresses in the public Internet.
These addresses are used for data transfers going through IPv4 infrastructure.
Attention: RFC 6052 (IP Addressing of IPv4/IPv6 Translators) describes the IPv6 address composed of a variable length prefix, the embedded IPv4 address and a variable length suffix. It specifies one of following lengths of prefixes: 32, 40, 48, 56, 64 or 96 bits. An IPv4 address may be inserted at different positions within an IPv6 address.
See RFC 6145 (IP/ICMP Translation Algorithm) and RFC 6791 for additional details.
Definition of a Random-Interface Identifier
An IPv6 address Random-Interface Identifier is calculated using a certain mechanism (Microsoft supports Message Digest 5 algorithmus, source Microsoft).
If they have enough memory nodes may use previously used Interface IDs stored in memory to calculate a new Random-Interface Identifier. If not applicable nodes generate a new IPv6 address with embedded EUI-64 address of the physical interface.
These addresses have a validity of 1 day, 1 week or defined by Router Advertisements.
From the point of critics, however the advantage of this method is the anonymity of the interface (of the device and the user).
About the Author:
Ronald Schlager is an independent trainer, consultant, and blogger focusing on communications technologies and their application.