Which is a method of obtaining an ipv6 address and other configuration values from a dhcpv6 server?

Address and Network Configuration Parameter Allocation (Without a Relay Agent)

A DHCPv6 server allocates IPv6 addresses and network configuration parameters to DHCPv6 clients that connect to the network for the first time through either of the following two methods: DHCPv6 four-message exchange and DHCPv6 two-message exchange.

  • DHCPv6 four-message exchange

    The DHCPv6 four-message exchange method is used when multiple DHCPv6 servers exist on the network.

    Figure 8-5 DHCPv6 four-message exchange

    1. Discovery stage: A DHCPv6 client discovers a DHCPv6 server and requests an IPv6 address and network configuration parameters from the DHCPv6 server.

      A DHCPv6 client sends a Solicit message to discover a DHCPv6 server and requests an IPv6 address and network configuration parameters from the DHCPv6 server. The DHCPv6 client does not know the IPv6 address of the DHCPv6 server, so it sends a multicast Solicit message to all DHCPv6 servers on the same link. The Solicit message carries information such as the DHCPv6 client's DUID, IAID, requested non-temporary address, and requested network configuration parameters.

    2. Offer stage: The DHCPv6 server offers an IPv6 address and network configuration parameters to the DHCPv6 client.

      A DHCPv6 server selects an address pool on the same network segment as the IPv6 address of the interface receiving the Solicit message, and selects an idle IPv6 address from the address pool. The DHCPv6 server then sends a unicast Advertise message to the DHCPv6 client. The Advertise message carries information such as the DHCPv6 server's DUID, DHCPv6 client's DUID, DHCPv6 server's priority, IPv6 address allocated to the DHCPv6 client, IPv6 address lease, and network configuration parameters.

      IPv6 addresses in an address pool are added to different IPv6 address lists based on the IPv6 address status. Unallocated IPv6 addresses belong to the allocatable IPv6 address list. Allocated IPv6 addresses belong to the in-use IPv6 address list. Conflicting IPv6 addresses belong to the conflicting IPv6 address list. IPv6 addresses that cannot be allocated belong to the nonassignable IPv6 address list.

      The DHCPv6 server selects an IPv6 address for the DHCPv6 client from the address pool in the following sequence:

      1. IPv6 address statically bound to the DUID of the DHCPv6 client on the DHCPv6 server
      2. IPv6 address specified in the IA_NA field of the Solicit message sent by the DHCPv6 client
      3. IPv6 address that has been allocated to the DHCPv6 client
      4. Minimum allocatable IPv6 address that is found using the cyclic search mode
      5. If no available IPv6 address is found, the DHCPv6 server replies with a Reply message to notify the DHCPv6 client that no IPv6 address is available. After receiving the Reply message, the DHCPv6 client resends a Solicit message to apply for a IPv6 address.

    3. Selection stage: The DHCPv6 client selects an IPv6 address.

      The Solicit message is sent in multicast mode. If there are multiple DHCPv6 servers on the same link, all DHCPv6 servers receiving the Solicit message will respond with an Advertise message. If the DHCPv6 client receives Advertise messages from multiple DHCPv6 servers, the DHCPv6 client selects the DHCPv6 server with the highest priority (if the DHCPv6 servers have the same priority, the DHCPv6 client selects the DHCPv6 server that sends the Advertise message carrying the requested configuration parameters). The DHCPv6 client then sends a multicast Request message to all DHCPv6 servers on the same link. The Request message carries the DUID of the DHCPv6 server selected by the DHCPv6 client, DHCPv6 client's DUID, and requested IPv6 address.

    4. Acknowledgment stage: The DHCPv6 server acknowledges the IPv6 address allocated to the DHCPv6 client.

      When a DHCPv6 server receives the Request message, the DHCPv6 server checks the DHCPv6 server DUID carried in the message.

      • If the DHCPv6 server DUID is not the DHCPv6 server's DUID, the DHCPv6 server does not respond to the Request message and reclaims the requested IPv6 address in the Request message.
      • If the DHCPv6 server DUID is the DHCPv6 server's DUID, the DHCPv6 server replies with a unicast Reply message to acknowledge that the requested IPv6 address carried in the Request message is allocated to the DHCPv6 client.

      After receiving the Reply message, the DHCPv6 client sends a duplicate address detection (DAD) packet to check whether any other client on the same link is using the allocated IPv6 address. If no response is received within the specified time, the DHCPv6 client can use the IPv6 address. If the DHCPv6 client receives a response within the specified time, this IPv6 address is used by another DHCPv6 client. The DHCPv6 client then sends a unicast Decline message to the DHCPv6 server and resends a Solicit message to apply for a new IPv6 address. After receiving the Decline message, the DHCPv6 server lists this IPv6 address as a conflicting IPv6 address.

  • DHCPv6 two-message exchange

    The DHCPv6 two-message exchange method is used when only one DHCPv6 server exists on the network. Only one DHCPv6 server sends the message carrying the allocated IPv6 address to the DHCPv6 client. Therefore, the offer and selection stages in DHCPv6 four-message exchange are not needed.

    The DHCPv6 two-message exchange method is used only when the Solicit message sent by a DHCPv6 client carries the Rapid Commit option (indicating that the DHCPv6 client wants to quickly obtain an IPv6 address and network configuration parameters from a DHCPv6 server) and the DHCPv6 server supports fast address allocation. Otherwise, the DHCPv6 four-message exchange method is used.

    Figure 8-6 DHCPv6 two-message exchange

    1. Discovery stage: A DHCPv6 client discovers a DHCPv6 server and requests an IPv6 address and network configuration parameters from the DHCPv6 server.

      A DHCPv6 client sends a Solicit message to discover a DHCPv6 server and requests an IPv6 address and network configuration parameters from the DHCPv6 server. The DHCPv6 client does not know the IPv6 address of the DHCPv6 server, so it sends a multicast Solicit message to all DHCPv6 servers on the same link. The Solicit message carries information such as the Rapid Commit option, DHCPv6 client's DUID, requested non-temporary address, and requested network configuration parameters.

    2. Acknowledgment stage: The DHCPv6 server acknowledges the IPv6 address allocated to the DHCPv6 client.

      If the DHCPv6 server supports fast address allocation, it selects an address pool on the same network segment as the IPv6 address of the interface receiving the Solicit message, and selects an idle IPv6 address from the address pool. The DHCPv6 server then sends a unicast Reply message to the DHCPv6 client. The Reply message carries information such as the Rapid Commit option, DHCPv6 server's DUID, DHCPv6 client's DUID, DHCPv6 server's priority, IPv6 address allocated to the DHCPv6 client, IPv6 address lease, and network configuration parameters.

      After receiving the Reply message, the DHCPv6 client sends a DAD packet to check whether any other client on the same link is using the allocated IPv6 address. If no response is received within the specified time, the DHCPv6 client can use the IPv6 address. If the DHCPv6 client receives a response within the specified time, this IPv6 address is used by another DHCPv6 client. The DHCPv6 client then sends a unicast Decline message to the DHCPv6 server and resends a Solicit message to apply for a new IPv6 address. After receiving the Decline message, the DHCPv6 server lists this IPv6 address as a conflicting IPv6 address.

Address and Network Configuration Parameter Allocation (with a Relay Agent)

When a DHCPv6 relay agent exists on the network, a DHCPv6 server can also allocate IPv6 addresses and network configuration parameters to DHCPv6 clients that connect to the network for the first time through the DHCPv6 four-message exchange or DHCPv6 two-message exchange method. Implementation of the two methods is similar to that in the scenario where there is no DHCPv6 relay agent and is not detailed here. For details, refer to Address and Network Configuration Parameter Allocation (Without a Relay Agent). In the following section, the DHCPv6 two-message exchange method is used as an example to describe how a DHCPv6 server allocates IPv6 addresses and network configuration parameters to DHCPv6 clients that connect to the network for the first time when a DHCPv6 rely agent exists.

Figure 8-7 Address and network configuration parameter allocation (with a relay agent)

  1. A DHCPv6 client sends a multicast Solicit message to all DHCPv6 relay agents on the same link to discover a DHCPv6 server and request an IPv6 address and network configuration parameters from the DHCPv6 server.
  2. A DHCPv6 relay agent forwards messages in the following two situations:
    • If the DHCPv6 rely agent and the DHCPv6 client are on the same link, that is, the DHCPv6 relay agent is the first-hop rely agent of the DHCPv6 client, the DHCPv6 relay agent encapsulates the message sent by the DHCPv6 client into the Relay Message option of a Relay-forward message and sends the Relay-forward message to the DHCPv6 server or the next-hop DHCPv6 relay agent in unicast mode.
    • If the DHCPv6 rely agent and the DHCPv6 client are on different links, that is, the DHCPv6 rely agent receives a Relay-forward message from another DHCPv6 rely agent, the DHCPv6 rely agent encapsulates the received Relay-forward message into the Relay Message option of a new Relay-forward message and sends the new Relay-forward message to the DHCPv6 server or the next-hop DHCPv6 relay agent in unicast mode.
  3. The DHCPv6 server parses the request of the DHCPv6 client in the Relay-forward message and selects an IPv6 address and network configuration parameters to construct a reply message. The DHCPv6 server then encapsulates the reply message in the Relay Message option in a Relay-reply message and sends the Relay-reply message to the DHCPv6 relay agent in unicast mode.
  4. The DHCPv6 relay agent parses the reply of the DHCPv6 server in the Relay-reply message and sends the reply information to the DHCPv6 client through a unicast Advertise message.
  5. After receiving the Advertise message, the DHCPv6 client sends a DAD packet to check whether any other client on the same link is using the allocated IPv6 address. If no response is received within the specified time, the DHCPv6 client can use the IPv6 address. If the DHCPv6 client receives a response within the specified time, this IPv6 address is used by another DHCPv6 client. The DHCPv6 client then sends a unicast Decline message to the DHCPv6 server and resends a Solicit message to apply for a new IPv6 address. After receiving the Decline message, the DHCPv6 server lists this IPv6 address as a conflicting IPv6 address.

What type of IPv6 address configuration uses DHCPv6?

DHCPv6. This is a combination of IPv6 Stateless Address Autoconfiguration (RFC 4862) and Dynamic Host Control Protocol for IPv6 (RFC 3315). It is a counterpart to IPv6 Stateless Address Autoconfiguration, and can be used with or without IPv6 Stateless Address Autoconfiguration to obtain configuration parameters.

What is the process of stateful DHCPv6 for IPv6?

Stateful DHCPv6 is the exact porting of DHCP into the IPv6 world. With this approach, a DHCPv6 server handles leases and extra information, just like traditional IPv4 DHCP. The client starts again with a Router Solicitation, but this time the Advertisement in reply contains the managed-config set to 1.

What address is used to contact a DHCPv6 server?

Which destination IP address is used when an IPv6 host sends a DHCPv6 SOLICIT message to locate a DHCPv6 server? Explanation: DHCPv6 hosts will send a DHCP SOLICIT message to the all DHCP routers multicast address of FF02::1:2.

How does an IPv6 host acquire its IPv6 configuration?

IPv6 hosts use Neighbor Discovery to obtain a subnet prefix from a local router. Hosts automatically create IPv6 addresses by combining the subnet prefix with an interface ID that is generated from an interface's MAC address.