Мне очень нравится ответ Уэса Сайида. Несколько DHCP-серверов могут быть одной из причин, почему запрос полезен.
Вот еще одна причина: пытаться повторно использовать тот же адрес, что и раньше.
Запрос представляет собой запрос на разрешение использовать адрес. Обнаружение, предложение, запрос, подтверждение иногда называют DORA.
#
1: DISCOVER: клиент запрашивает у сети (через широковещательное сообщение) DHCP-сервер
#
2: ПРЕДЛОЖЕНИЕ: DHCP-сервер отвечает и предоставляет потенциальный адрес
#
3: ЗАПРОС: машина / устройство конечного пользователя отправляет запрос на сервер, запрашивая, чтобы DHCP-сервер выделял / резервировал / использовал запрошенный адрес для этого устройства
#
4: ACKnowledge: Если ответом является ACKnowledge, а не NACK (отрицательное подтверждение), то запрос считается удовлетворенным.
Вот сложная часть: запрос не должен соответствовать предложению.
Например: если ноутбук некоторое время отключался от сети, а затем пытается подключиться (к той же сети или к другой), ноутбук, возможно, захочет использовать тот же адрес, если это возможно. Вот образец выдуманного разговора:
#
1: DISCOVER: 0.0.0.0 спрашивает 255.255.255.255: «Могу ли я предложить адрес и узнать, кто вы?«Адрес уровня 2 отправляется с адреса MAC-48 устройства на FF-FF-FF-FF-FF-FF (широковещательная передача).
#
2: ПРЕДЛОЖЕНИЕ: 192.168.0.10 говорит: «Я DHCP-сервер. Как насчет использования 192.168.0.235?Msgstr "Это отправляется обратно на IP-адрес 0.0.0.0 и отправляется на MAC-48 адрес DHCP-клиента.
#
3: ЗАПРОС: 0.0.0.0 говорит 192.168.0.10: «Могу ли я иметь 192.168.0.117?«(Например, ноутбук раньше использовал 192.168.0.117.)
#
4: NACK: 192.168.0.10 отвечает: «Нет» (Может быть, другая система использует это сейчас.)
#
5: ноутбук разочаровывается в возможности продолжать использовать адрес, который он хотел.
#
6: (возможно, после еще одного ОТКРЫТИЯ и ПРЕДЛОЖЕНИЯ?) DHCP-клиент делает еще один запрос. Итак, используя числа, уже показанные в этом примере, 0.0.0.0 говорит 192.168.0.10: «Как насчет того, чтобы дать мне 192.168.0.235?"
#
6: ACK: DHCP-сервер говорит: «Хорошо. 192.168.0.235 зарезервировано для вас на следующие 8 часов. Обязательно запросите продление до этого времени, если хотите сохранить этот адрес зарезервированным. В противном случае я мог бы выдать этот адрес кому-то другому. "
Так что это демонстрирует еще одно преимущество, которое мы получили, благодаря шагу ЗАПРОС.
Теперь, поскольку REQUEST является частью дизайна, шаг действительно является обязательной частью электронного разговора.
ОТКРЫТЬ и ПРЕДЛОЖИТЬ и в основном разговоры о планировании. ЗАПРОС - это фактическая попытка получить обязательство. На самом деле ничего не совершено, пока ACK не сделан. DHCP-сервер может на законных основаниях предлагать один и тот же адрес нескольким машинам, если только ACK подтверждает назначение адреса только одной машине. (Я не говорю, что у DHCP-сервера есть веская причина для этого. Я просто говорю, что протокол / стандарт позволят это, не вызывая конфликтов IP-адресов.) Клиенту не разрешено использовать адрес, пока он не получит подтверждение, которое приходит только после ЗАПРОСА. DHCP-сервер не будет беспокоить отправку подтверждения перед REQUEST, потому что типичный DHCP-клиент не будет готов к подтверждению до тех пор, пока не отправит REQUEST, поэтому типичный DHCP-клиент игнорирует и пропускает неожиданное подтверждение.