Состояние ожидания продления срока использования адреса

Выше уже было сказано, что, получив адрес, DHCP-клиент переходит в состояние привязки. При этом он запускает три таймера: они управляют продлением срока использования адреса, изменением привязки и прекращением использования адреса. Назначая адрес клиенту, DHCP-сервер может определить явные значения для этих таймеров. Если сервер не определяет значения для таймеров, клиент использует значения, принятые по умолчанию. Значение по умолчанию для первого таймера составляет одну вторую от общего времени использования адреса.

Когда время на первом таймере истекает, клиент должен попытаться продлить срок использования адреса. При этом он отсылает сообщение DHCPREQUEST серверу, которым был выделен данный адрес. Затем клиент переходит в состояние продления и ожидает ответа на запрос. В сообщении DHCPREQUEST указывается IP-адрес, используемый в текущий момент клиентом. С помощью этого сообщения клиент просит сервер продлить время использования указанного адреса. Как и при первоначальном запросе адреса, клиент может потребовать продлить время его использования на определенный период времени, однако решение о продлении, в конечном счете, принимает сервер. Сервер может ответить на посланный клиентом запрос двояко: приказать клиенту прекратить использование адреса либо одобрить дальнейшее его использование. В случае одобрения сервер отсылает сообщение DHCPACK, что заставляет клиента вернуться в состояние привязки и продолжить использование адреса. В сообщении DHCPACK также могут находиться новые значения для таймеров клиента. Если сервер не одобряет дальнейшее использование адреса, он отсылает сообщение DHCPNACK (отрицательное подтверждение), что заставляет клиента тотчас же прекратить использование адреса и возвратиться в состояние инициализации.

После отправки сообщения DHCPREQUEST с запросом на продление срока использования адреса, клиент продолжает находиться в прежнем состоянии (ожидания продления) до поступления ответа сервера. Если ответ не поступает, это означает, что сервер, выделивший данный адрес клиенту, находится либо в нерабочем состоянии, либо с ним прервалась связь. Чтобы обработать эту ситуацию, в протоколе DHCP используется второй таймер, который запускается при переходе клиента в состояние привязки. Значение второго таймера составляет 87,5% от установленного времени использования адреса. После срабатывания второго таймера, клиент переходит из состояния ожидания продления в состояние изменения привязки (REBIND). При этом клиент предполагает, что старый DHCP-сервер более недоступен, поэтому он начинает отсылать сообщение DCHPREQUEST в широковещательном режиме всем подключенным к локальной машине.

Похожие статьи Меню Опрос Фото Популярное