IPv6 Address Assignment: A Guide for Beginners to Experts

Explore the world of IPv6 address assignment from manual configuration to automatic methods like SLAAC and DHCPv6 and integrate devices with vast IPv6 network.

Assigning an IPv6 address is a crucial step in configuring networks to support the vast and expanding digital universe enabled by the latest internet protocol. This guide breaks down the process into easily understandable segments for beginners, learners, and students. By the end of this article, you will grasp the various methods of assigning IPv6 addresses, including manual assignment, SLAAC, EUI-64, and DHCPv6.

Network Device Connected using IPv6

Manual Assignment

Manual assignment is straightforward. You can assign an IPv6 address to an interface on a router or a device by entering the configuration mode and specifying the address directly. For instance, you can use the commands:

interface fa 0/0
  ipv6 address ABCD:1234:0001:0002:5678:9012:3000:0001/64

or its abbreviated form:

  ipv6 address ABCD:1234:1:2:5678:9012:3000:1/64

This method gives network administrators full control over the address configuration, ensuring precise network design and planning.

Stateless Address Auto Configuration (SLAAC)

SLAAC allows a device to automatically configure its own IPv6 address without needing a DHCP server. The address comprises two parts: the network prefix and the interface identifier. The interface identifier can be derived from the device’s MAC address using a standardized process. This method is particularly useful for automatically configuring a large number of devices on a network.

Command:
interface fa 0/0
  ipv6 address autoconfig
Explanation:
First 64 bit (Network Bit) is fixed with range FE80:0000:0000:0000 (FE80::)
Last 64 bit are decided from the Interface MAC Address

Two steps/Process to decide Host bit from Interface MAC Address
    Suppose that Interface MAC Address is AB:CD:00:12:34:56 (48 bit)
    Step 1: 4 character of Hexa-Decimal added in between the MAC Address (FFFE)

        Interface MAC = AB:CD:00:12:34:56 (48 bit)
            24 bit OUI + 24 bit VS (Decide by Manufacturer)
            6 Hex Character + 6 Hex Character
            OUI: Organization Unit Identifier
            VS: Vender Specific

        AB:CD:00:     :12:34:56
        AB:CD:00:FF:FE:12:34:56

        ABCD:00FF:FE12:3456

    Step 2: 7th bit will change (inverted)
        AB => 10 11 => 1010 1011 => 7th bit change => 1010 1001 => 10 9 => A9

    Final 64 bit of Host after two steps process is
        A9CD:00FF:FE12:3456

Entire IPv6 with autoconfig command for selected interface is
    FE80::A9CD:EFFF:FE12:3456

EUI-64 Process

The EUI-64 (Extended Unique Identifier-64) process is similar to SLAAC in that it automatically generates the interface identifier part of the IPv6 address from the MAC address. However, it specifically refers to the method of extending a 48-bit MAC address to create a 64-bit interface identifier, with particular steps including inserting ‘FFFE’ in the middle of the MAC address and inverting the 7th bit. This method is used in conjunction with specifying a network prefix manually, offering a balance between automatic configuration and manual network design.

Command:
interface fa 0/0
  ipv6 add 2001:192:168:4::/64 eui-64
Explanation:
First 64 bit (Network Bit) is only we need to decide
Last 64 bit are decided from the Interface MAC Address

Suppose we need to assign Address with Network Range 
ABCD:EF00:1234:5678::/64

Two Steps/Process to identify Host bit from Interface MAC Address
    Suppose that Interface MAC Address is AB:CD:00:12:34:56 (48 bit)
    Step 1: 4 character of Hexa-Decimal added in between the MAC Address (FFFE)

        Interface MAC = AB:CD:00:12:34:56 (48 bit)
            24 bit OUI + 24 bit VS (Decide by Manufacturer)
            6 Hex Character + 6 Hex Character
            OUI: Organization Unit Identifier
            VS: Vender Specific

        AB:CD:00:     :12:34:56
        AB:CD:00:FF:FE:12:34:56

        ABCD:00FF:FE12:3456

    Step 2: 7th bit will change (inverted)
        AB => 10 11 => 1010 1011 => 7th bit change => 1010 1001 => 10 9 => A9

    Final 64 bit of Host after two steps process is
        A9CD:00FF:FE12:3456

Entire IPv6 with SLAAC command for selected interface is
    ABCD:EF00:1234:5678:A9CD:EFFF:FE12:3456

DHCPv6

DHCPv6 is the IPv6 equivalent of the DHCP protocol used in IPv4, where a DHCP server dynamically assigns IPv6 addresses to devices on the network. This method is useful for administrators who want to maintain control over address assignments while automating the process for efficiency and scalability.

Key Notes for IPv6 Address Configuration

When configuring IPv6 addresses, keep in mind the recommended CIDR values for different network types, the unique approach to assigning router IDs in IPv6 networks, and the capability of using dual-stack configurations to support both IPv4 and IPv6 simultaneously. These considerations ensure your network is optimized for both functionality and future growth.

Key Notes for IPv6 Address:

1. CIDR Value for Directly Connected Network
Directly Connected router interface with IPv6 usage CIDR Value between /17 to /126
ABCD:1234:5678:ABCD:1234:5678:90AB:CDEF/80
ABCD:1234:5678:ABCD:1234:0000:0000:0000 (N ID)


2. CIDR Value for Loopback Address
If we want to configure Virtual Interfaces with IPv6 then we can use CIDR Value /128

3. Router-ID
IPv6 could not assign as a Router ID, We need to use 1 IPv4 address for this purpose or we can configure Router-ID manually.

4. Dual Stack
We can use IPv6 Address and IPv4 Address both at same time in single interface for our topology to work for both Internet Protocol like IPv4 and IPv6 that is known as Dual Stack.

5. Prefix Length
Number of Network Bit in IP Address
Length of Network Bit in IP Address

Suggestion or Tips from Nikunj Gohil

Logic for IPv6 Address Range to Practice Lab easily
Loopback Address
    Logic: FD00:10:R:R::R
    Example: FD00:10:1:1::1

Physically Connected Network like Router to Router or other L3 Devices
    Logic: FD00:172:16:RR::R
    Let say right now you want to assign IP for R5 on the interface where R5 and R6 connected with each other
    Example: FD00:172:16:56::5

Locally Connected Network like Employee Network or User Department Network
    Logic: FD00:192:168:R::R
    Let say Network Number 7 for Sales Department
    Example: FD00:192:168:7::7

Miss the Beginning or Fundamental of IPv6?

Explore following links to read previous Blog related to IPv6

Introduction to IPv6: The Next-Generation Internet Protocol

Understanding IPv6 Address Structure and Types in Easy way

Do you want to Connect with Nikunj Gohil?
Instagram @NikunjGohil001