Развертывание и администрирование сети с выделенным сервером на базе Windows Server 2003 на Thursday 24 August 2006 от в Сетевые Операционные Системы ОС > ОС Windows
Аренда DHCP.
Процесс выделения IP-адреса клиенту на определенное время называется арендой DHCP. Клиент может запросить в аренду как произвольный IP-адрес (при первой инициализации DHCP-клиента), так и определенный IP-адрес (при продлении аренды или при инициализации DHCP-клиента после перезагрузки компьютера). Кроме того, клиент может явным образом освободить IP-адрес, например, при запуске утилиты командной строки ipconfig с параметром /release.
Новая аренда.
Выделение IP-адреса DHCP-клиенту осуществляется в четыре этапа: DHCPDISCOVER, DHCPOFFER, DHCPREQUEST, DHCPACK и DHCPNACK.
DHCPDISCOVER: поиск DHCP-сервера
Это первый этап процедуры выделения IP-адреса. Сначала клиент инициализирует ограниченную версию стека TCP/IP и производит широковещательную рассылку сообщения DHCPDISCOVER, запрашивая IP-адрес DHCP-сервера. Так как IP-адрес сервера не известен, то при широковещательном запросе в качестве адреса сети и маски подсети используется 0.0.0.0. Сообщение DHCPDISCOVER содержит аппаратный адрес клиентского компьютера и его имя. По этим параметрам DHCP-сервер может обнаружить клиентский компьютер в своей базе данных.
DHCPOFFER: предложение DHCP-сервера
На этом этапе все DHCP-серверы, получившие запрос на выделение IP-адреса и имеющие правильную клиентскую конфигурацию, производят широковещательную рассылку сообщения DHCPOFFER, включающего:
аппаратный адрес клиента;
предлагаемый IP-адрес;
маску подсети;
период аренды адреса;
IP-адрес DHCP-сервера.
Широковещательная рассылка используется, поскольку клиент еще не имеет собственного IP-адреса. DHCP-клиент выбирает IP-адрес из первого полученного предложения; все остальные предложения игнорируются. Каждый сервер, предложивший IP-адрес, резервирует его, чтобы не предложить другим клиентам.
DHCPREQUEST: выбор DHCP-сервера
После принятия IP-адреса от одного из DHCP-серверов клиент производит широковещательную рассылку сообщения DHCPREQUEST, сообщая всем DHCP-серверам о том, что он принял предложение определенного сервера. В сообщении указывается IP-адрес сервера, чье предложение было принято. При получении этого сообщения DHCP-серверы, чьи адреса в нем не указаны, освобождают адреса, зарезервированные для клиента.
DHCPACK: подтверждение выбора DHCP-сервера
DHCP-сервер, чье предложение было принято клиентом, осуществляет широковещательную рассылку сообщения DHCPACK, сообщая о подтверждении выделения адреса. Сообщение DHCPACK содержит выделенный IP-адрес и прочую конфигурационную информацию. После получения этого сообщения клиент выполняет полную инициализацию стека TCP/IP. С этого момента клиент может использовать TCP/IP для обмена данными.
DHCPNACK: отказ в подтверждении выбора DHCP-сервера
Если в результате обработки сообщения DHCPREQUEST сервер не может выделить клиенту запрашиваемый IP-адрес, он осуществляет широковещательную рассылку сообщения DHCPNACK. Это может произойти в следующих случаях:
клиент пытается получить свой предыдущий IP-адрес, который уже недоступен (допустим, выделен другому клиенту);
запрашиваемый IP-адрес неверен, поскольку компьютер был перемещен в другую подсеть.
Получив сообщение DHCPNACK, клиент снова пытается получить IP-адрес, рассылая сообщения DHCPDISCOVER.
Если установлено несколько сетевых адаптеров, сконфигурированных на получение IP-адреса через DHCP, процесс получения адреса выполняется отдельно для каждого сетевого адаптера. DHCP-сервер выделяет каждому уникальный IP-адрес.
Продление аренды.
По прошествии половины периода, на который был выделен IP-адрес, DHCP-клиенты пытаются продлить его аренду. Для этого клиент посылает сообщение DHCPREQUEST непосредственно DHCP-серверу, выделившему ему адрес. При возможности DHCP-сервер продлевает ее и отсылает клиенту сообщение DHCPACK с новым временем аренды и параметрами конфигурации TCP/IP. Получив подтверждение, клиент обновляет свою конфигурацию.
При каждом перезапуске DHCP-клиент пытается получить у исходного DHCP-сервера свой старый IP-адрес. Если попытка окажется неудачной, а время аренды IP-адреса еще не истекло, то DHCP-клиент будет использовать старый IP-адрес до следующей попытки продления аренды.
Если по прошествии половины времени аренды DHCP-клиент не сможет продлить ее на исходном DHCP-сервере, то по истечении 87,5% времени аренды клиент начнет широковещательную рассылку сообщения DHCPREQUEST для связи с любым доступным DHCP-сервером. В ответ клиент может получить сообщение DHCPACK с информацией о продлении аренды, либо сообщение DHCPNACK, требующее инициализации клиента и получения им другого IP-адреса.
По истечении срока аренды или получении сообщения DHCPNACK DHCP-клиент должен сразу прекратить использование занятого IP-адреса. После этого он может возобновить процесс аренды для получения нового IP-адреса.
Освобождение IP-адреса.
В ОС семейства Windows процесс освобождения IP-адреса может быть запущен только вручную при помощи утилиты ipconfig. При освобождении IP-адреса клиент отправляет DHCP-серверу сообщение DHCPRELEASE, сообщающее об освобождении занимаемого адреса. При получении этого сообщения DHCP-сервер считает IP-адрес клиента свободным и может выделить его другому компьютеру.
При выключении или перезагрузке DHCP-клиенты Microsoft не отсылают сообщение DHCPRELEASE. Если клиентский компьютер будет включен до истечения срока аренды адреса, то при инициализации DHCP-клиента ему будет выделен старый IP-адрес. Таким образом, повышается вероятность получения старого IP-адреса при включении компьютера.