IPv6 Addressing Overview

๐Ÿ“Œ IPv6 Address Types

IPv6 addresses are 128-bit identifiers for interfaces and sets of interfaces. The main types include:

๐ŸŒ Global Unicast Addresses

These are globally routable addresses assigned to individual interfaces. They are structured as follows:

Example: 2001:0db8:85a3:0000:0000:8a2e:0370:7334

๐ŸŒ IPv6 Global Unicast Address Examples

IPv6 Global Unicast Addresses (GUAs) are publicly routable addresses assigned by the Internet Assigned Numbers Authority (IANA) and are used for communication over the Internet. These addresses are equivalent to public IPv4 addresses and are globally unique.

๐Ÿ”ข Structure of a Global Unicast Address

A typical IPv6 GUA consists of the following components:

The address format enables hierarchical routing and efficient aggregation of routing entries.

๐Ÿงพ Examples of Global Unicast Addresses

๐Ÿ“š References

๐Ÿ  Unique Local Addresses (ULAs)

ULAs are intended for local communications within a site and are not routable on the global Internet. They have the prefix fc00::/7 , with the following structure:

Example: fd12:3456:789a:1::1

๐Ÿ”— Link-Local Addresses

These addresses are used for communication between nodes on the same link and are automatically configured on all interfaces. They have the prefix fe80::/10 .

They are essential for network operations like neighbor discovery and are not routable beyond the link.

Example: fe80::1ff:fe23:4567:890a

๐Ÿ”ง EUI-64 (Extended Unique Identifier) in IPv6 Addressing

EUI-64 is a method used in IPv6 to automatically generate a 64-bit Interface Identifier (IID) from a device's 48-bit MAC address. This IID is then combined with a 64-bit network prefix to form a complete 128-bit IPv6 address. This mechanism facilitates Stateless Address Autoconfiguration (SLAAC), allowing devices to self-configure their IPv6 addresses without the need for a DHCP server.

๐Ÿ› ๏ธ How EUI-64 Works

The process of generating an EUI-64-based IPv6 address involves the following steps:

  1. Split the MAC Address: Divide the 48-bit MAC address into two 24-bit halves.
  2. Insert 'FFFE': Insert the 16-bit value 0xFFFE between the two halves, expanding the address to 64 bits.
  3. Invert the U/L Bit: Flip the seventh bit (Universal/Local bit) from the left. If it was 0 (indicating a universally administered address), change it to 1 (locally administered), and vice versa.

This method ensures that the generated Interface Identifier is unique and can be used to form a complete IPv6 address when combined with a network prefix.

๐Ÿ“Œ Example

Given a MAC address: 00:1A:2B:3C:4D:5E

  1. Split into two halves: 00:1A:2B and 3C:4D:5E
  2. Insert FFFE : 00:1A:2B:FF:FE:3C:4D:5E
  3. Convert to binary and flip the U/L bit (the 7th bit from the left):
  4. Final EUI-64 Interface Identifier: 02:1A:2B:FF:FE:3C:4D:5E

If the network prefix is 2001:0db8:abcd:0012::/64 , the full IPv6 address becomes: 2001:0db8:abcd:0012:021A:2BFF:FE3C:4D5E

โš ๏ธ Privacy Considerations

While EUI-64 facilitates automatic address configuration, it embeds the device's MAC address into the IPv6 address, potentially exposing hardware identifiers. This can lead to privacy concerns, as it allows for device tracking across networks. To mitigate this, many operating systems implement Privacy Extensions (RFC 4941), which generate random Interface Identifiers instead of using EUI-64.

๐Ÿ“š References

โš™๏ธ Stateless Address Autoconfiguration (SLAAC)

SLAAC allows devices to automatically configure their own IPv6 addresses without the need for a DHCP server. The process involves:

For more details, refer to this resource .

๐Ÿ”— EUI-64 and Stateless Address Autoconfiguration (SLAAC)

Stateless Address Autoconfiguration (SLAAC) is a mechanism in IPv6 that allows devices to automatically configure their own IP addresses without the need for a DHCP server. The EUI-64 format plays a crucial role in this process by enabling devices to generate a unique Interface Identifier (IID) based on their MAC address.

๐Ÿงฉ SLAAC Process with EUI-64

  1. Link-Local Address Generation: Upon connecting to a network, an IPv6-enabled device generates a link-local address using the EUI-64 format derived from its MAC address. This address allows the device to communicate within the local network segment.
  2. Router Solicitation: The device sends a Router Solicitation (RS) message to discover available routers on the network.
  3. Router Advertisement: Routers respond with Router Advertisement (RA) messages containing network prefix information and other configuration parameters.
  4. Global Address Configuration: The device combines the received network prefix with its EUI-64-derived IID to form a globally unique IPv6 address.
  5. Duplicate Address Detection (DAD): Before using the newly formed address, the device performs DAD to ensure the address is not already in use on the network.

๐Ÿ” Privacy Considerations

While the EUI-64 method simplifies address configuration, it embeds the device's MAC address into the IPv6 address, potentially exposing hardware identifiers and enabling device tracking across networks. To mitigate these privacy concerns, modern operating systems often implement Privacy Extensions (RFC 4941) or Stable Privacy Addresses (RFC 7217), which generate randomized or hashed IIDs instead of using the MAC address directly.

๐Ÿ“š References

๐Ÿ” Duplicate Address Detection (DAD)

Before assigning an IPv6 address to an interface, the device performs DAD to ensure the address is unique on the link. This involves:

For more information, see this article .

๐Ÿ“ฆ DHCPv6 (Dynamic Host Configuration Protocol for IPv6)

DHCPv6 is a network protocol designed to configure IPv6 hosts with IP addresses, prefixes, and other necessary configuration data. It complements Stateless Address Autoconfiguration (SLAAC) by providing additional network information and centralized address management.

๐Ÿ”‘ Key Features of DHCPv6

๐Ÿ”„ DHCPv6 Message Exchange Process

The typical DHCPv6 message flow involves the following steps:

  1. SOLICIT: The client broadcasts a Solicit message to locate available DHCPv6 servers.
  2. ADVERTISE: Servers respond with an Advertise message, indicating their availability.
  3. REQUEST: The client sends a Request message to a selected server, asking for specific configuration parameters.
  4. REPLY: The server replies with the requested configuration information.

Additional messages like RENEW, REBIND, and RELEASE are used for lease maintenance and release.

๐Ÿ”ง DHCPv6 in Network Environments

DHCPv6 is particularly useful in:

๐Ÿ“ฆ DHCPv6 Prefix Delegation (DHCPv6-PD)

DHCPv6 Prefix Delegation (PD) is a mechanism defined in RFC 3633 and updated in RFC 8415 that allows a DHCPv6 client, typically a Customer Premises Equipment (CPE) router, to request and receive an entire IPv6 prefix from a DHCPv6 server. This enables the CPE to assign IPv6 addresses to devices within its local network, facilitating automated and scalable IPv6 address management.

๐Ÿ”‘ Key Concepts

โš™๏ธ How It Works

  1. The requesting router sends a DHCPv6 Solicit message with an Identity Association for Prefix Delegation (IA_PD) option to the delegating router.
  2. The delegating router responds with an Advertise message containing the delegated prefix.
  3. The requesting router sends a Request message to confirm the assignment.
  4. The delegating router replies with a Reply message, finalizing the delegation.
  5. The requesting router assigns the delegated prefix to its internal interfaces, allowing devices on its network to configure IPv6 addresses via SLAAC or DHCPv6.

๐Ÿ“ Example Scenario

An Internet Service Provider (ISP) assigns a /56 IPv6 prefix to a customer's router using DHCPv6-PD. The customer's router then divides this prefix into multiple /64 subnets, assigning them to different internal networks (e.g., LAN, guest network). Devices on these networks receive IPv6 addresses within the assigned subnets, enabling end-to-end IPv6 connectivity.

๐Ÿ“š References

๐Ÿ“š References

๐Ÿ“š References