1

В DHCP есть 4 шага: обнаружение, предложение, запрос и подтверждение.

Почему третий шаг называется "Запрос"? Никто не просит ничего на этом этапе, не так ли?

Клиент просто говорит, что он примет IP, данный сервером DHCP.

Где находится часть запроса на этом шаге?

4 ответа4

4

Да, что-то запрашивается.

Вы можете прочитать разговор так:

Computer:  "I need an IP address!"          <-- This is the discover
Server:    "I have 10.11.12.13 available."  <-- This is the offer
Computer:  "May I have have 10.11.12.13?"   <-- This is the request
Server:    "Yes, you may."                  <-- This is the ack

Это намного больше, чем это, но по сути это процесс. Это имеет смысл, если учесть, что покрытие может выглядеть так:

Computer:  "I need an IP address!"
Server1:   "I have 10.11.12.13 available."
Server2:   "I have 10.11.12.19 available."
Server3:   "I have 10.12.1.2 available."
Computer:  "May I have 10.11.12.13?"
Server1:   "Yes, you may."

В этом случае есть три DHCP-сервера, которые все услышали пакет обнаружения, и все три ответили предложением. Клиент "выбрал" первое предложение, которое он получил, и ответил запросом к Server1, который он предоставил, потому что адрес находился в пределах его области и был доступен.

Server2 и Server3 никогда не получали запрос, поэтому они не распределяют предложенные IP-адреса, делая их по-прежнему доступными. Если бы у вас не было дополнительного шага запроса, один клиент удалил бы 3 IP-адреса вместо одного.

1

У клиента еще нет аренды, и он ее запрашивает, поэтому он называется "Запрос". Он требует, чтобы договор аренды был выдан, подтвержден или продлен.

0

Мне очень нравится ответ Уэса Сайида. Несколько 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-клиент игнорирует и пропускает неожиданное подтверждение.

0

Третий шаг: «Я (клиент) хотел бы использовать этот ip от вас (сервер)». Поскольку следующим шагом является сервер ACKnowledges или NotAcKnowleges, было бы глупо, если бы сервер подтвердил принятие.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .