Как показано на рис. 1, работа DHCPv6 с отслеживанием или без отслеживания состояния начинается с сообщения RA, отправленного от маршрутизатора по протоколу ICMPv6. Сообщение RA может отправляться периодически или в ответ на запрос устройства, отправившего сообщение RS.
Если вариант работы DHCPv6 указан в сообщении RA, устройство начинает передачу информации по схеме клиент-сервер с использованием DHCPv6.
Обмен сообщениями по протоколу DHCPv6
В случае если в сообщении RA указан вариант работы DHCPv6 (с отслеживанием состояния или без), инициируется работа DHCPv6. Сообщения протокола DHCPv6 посылаются через протокол UDP. Сообщения DHCPv6 от сервера к клиенту используют UDP порт назначения 546. Клиент отправляет сообщения на сервер DHCPv6 через UDP порт назначения 547.
Клиенту — теперь DHCPv6-клиенту — необходимо определить местоположение сервера DHCPv6. На рис. 2 клиент передаёт сообщение DHCPv6 SOLICIT на зарезервированный IPv6-адрес многоадресной рассылки FF02::1:2, используемый всеми DHCPv6 серверами. Этот адрес многоадресной рассылки действует в рамках канала link-local, это означает, что маршрутизаторы не направляют сообщения в другие сети.
Один или несколько серверов DHCPv6 отвечают DHCPv6-сообщением ADVERTISE, как показано на рис. 3. Сообщение ADVERTISE сообщает DHCPv6-клиенту, что сервер доступен для предоставления службы DHCPv6.
На рис. 4 клиент отвечает серверу DHCPv6 сообщением REQUEST или INFORMATION-REQUEST, в зависимости от того, является ли DHCPv6-сервер сервером с отслеживанием состояния или без него.
- DHCPv6-клиент без отслеживания состояния — клиент отправляет DHCPv6 сообщение INFORMATION-REQUEST серверу DHCPv6, запрашивая только параметры конфигурации, например, адрес DNS-сервера. Клиент создаёт собственный IPv6-адрес при помощи префикса из сообщения RA и самогенерируемого идентификатора интерфейса.
- DHCPv6-клиент с отслеживанием состояния — клиент отправляет DHCPv6 сообщение REQUEST серверу для получения IPv6-адреса и всех остальных параметров конфигурации от сервера.
На рис. 5 показано, как сервер отправляет клиенту DHCPv6 сообщение REPLY, содержащее запрашиваемую в сообщении REQUEST или INFORMATION-REQUEST информацию.