что такое протокол dhcp
Основы DHCP (протокол динамического конфигурирования узлов)
Протокол DHCP — это стандартный протокол, определяемый RFC 1541 (который заменяется RFC 2131), позволяющий серверу динамически распределять IP-адреса и сведения о конфигурации клиентам. Как правило, DHCP-сервер предоставляет клиенту по крайней мере следующие основные сведения:
также могут быть предоставлены сведения о гатевайосер по умолчанию, такие как адреса серверов службы доменных имен (DNS) и адреса серверов службы имен Windows интернета (WINS). Системный администратор настраивает DHCP-сервер с параметрами, которые анализируются на клиенте.
Дополнительные сведения
Функции DHCP-клиента предоставляются в следующих продуктах Майкрософт:
Windows NT Server версии 3,5, 3,51 и 4,0
Windows NT Workstation версии 3,5, 3,51 и 4,0
Microsoft Network Client версии 3,0 для MS-DOS
Клиент Microsoft LAN Manager версии 2.2 c для MS-DOS
Microsoft TCP/IP-32 для Windows для рабочих групп версии 3,11, 3.11 a и 3.11 b
Разные DHCP-клиенты поддерживают различные параметры, которые они могут получить от DHCP-сервера.
Следующие операционные системы Microsoft Server предоставляют функции DHCP-сервера:
Windows NT Server версии 3,5
Windows NT Server версии 3,51
Windows NT Server версии 4,0
Когда клиент инициализируется в первый раз после настройки на получение данных DHCP, он инициирует диалог с сервером.
Ниже приведена сводная таблица диалога между клиентом и сервером, за которой следует описание процесса на уровне пакета:
Ниже приведен подробный диалог между клиентом DHCP и DHCP-сервером.
DHCPDISCOVER
Клиент отправляет пакет DHCPDISCOVER. Ниже приведен фрагмент записи сетевого монитора, в которой показаны IP-и DHCP-части пакета DHCPDISCOVER. В разделе IP-адреса можно увидеть адрес назначения 255.255.255.255, а исходный адрес — 0.0.0.0. Раздел DHCP идентифицирует пакет как пакет обнаружения и идентифицирует клиент в двух местах, используя физический адрес сетевой карты. Обратите внимание, что значения в полях ЧАДДР и DHCP: Client identifier идентичны.
дхкпоффер
DHCP-сервер отвечает, отправляя пакет ДХКПОФФЕР. В разделе IP фрагмента записи ниже исходный адрес теперь является IP-адресом сервера DHCP, а адресом назначения является широковещательный адрес 255.255.255.255. Раздел DHCP определяет пакет как предложение. Поле ИАДДР заполняется IP-адресом, который сервер предлагает клиенту. Обратите внимание, что поле ЧАДДР по-прежнему содержит физический адрес запрашивающего клиента. Кроме того, в разделе поля параметров DHCP можно найти различные параметры, отправляемые сервером вместе с IP-адресом. В этом случае сервер отправляет маску подсети, шлюз по умолчанию (маршрутизатор), время аренды, адрес WINS-сервера (служба имен NetBIOS) и тип узла NetBIOS.
DHCPREQUEST
Клиент отвечает на ДХКПОФФЕР, отправляя DHCPREQUEST. В разделе IP-адресов записи ниже исходный адрес клиента по-прежнему равен 0.0.0.0, а место назначения пакета по-прежнему 255.255.255.255. Клиент оставляет 0.0.0.0, так как клиент не получал проверку с сервера, что его можно использовать в предложенном адресе. Назначением по-прежнему выполняется вещание, так как может быть получен ответ от нескольких DHCP-серверов и может храниться резервирование для предложения, сделанного клиентом. Это позволяет другим DHCP-серверам понять, что они могут освободить свои предложенные адреса и вернуть их в доступные пулы. Раздел DHCP идентифицирует пакет как запрос и проверяет предложенный адрес с помощью поля DHCP: запрошенный адрес. В поле Идентификатор сервера DHCP: отображается IP-адрес DHCP-сервера, предоставляющего аренду.
ТРАНСЛИРУЕТ
DHCP-сервер отвечает на DHCPREQUEST с помощью DHCPACK, тем самым завершая цикл инициализации. Исходный адрес — это IP-адрес сервера DHCP, а адрес назначения по-прежнему — 255.255.255.255. Поле ИАДДР содержит адрес клиента, а поля ЧАДДР и DHCP: Client identifier являются физическим адресом сетевой карты в запрашивающем клиенте. Раздел параметров DHCP определяет пакет как подтверждение.
Если у клиента ранее был назначен IP-адрес DHCP и он перезапущен, клиент будет запрашивать ранее арендованный IP-адрес в специальном пакете DHCPREQUEST. Адрес источника — 0.0.0.0, а местом назначения — широковещательный адрес 255.255.255.255. Клиенты Майкрософт заполнят поле параметра DHCP DHCP: запрошенный адрес с ранее назначенным адресом. Строго совместимые с RFC клиенты заполняют поле ЦИАДДР с запрошенным адресом. Сервер Microsoft DHCP будет принимать либо.
На этом этапе сервер может не отвечать на запросы. поведение DHCP-сервера Windows NT зависит от используемой версии операционной системы, а также от других факторов, таких как ограничение области. Если сервер определяет, что клиент по-прежнему может использовать этот адрес, он будет либо в автоматическом режиме, либо на подтверждение DHCPREQUEST. Если сервер определяет, что у клиента не может быть адреса, он будет передавать НАКК.
После этого клиент начнет процесс обнаружения, но пакет DHCPDISCOVER по-прежнему будет пытаться арендовать тот же адрес. Во многих случаях клиент получает один и тот же адрес, но не может.
Сведения о DHCP, получаемые клиентом с DHCP-сервера, будут связаны со временем аренды. Время аренды определяет, как долго клиент может использовать сведения, назначенные службой DHCP. Когда аренда достигает определенных вех, клиент попытается обновить свои данные DHCP.
чтобы просмотреть сведения об IP-адресе Windows или Windows для клиента рабочих групп, используйте служебную программу IPCONFIG. если клиент находится Windows 95, используйте WINIPCFG.
Протокол DHCP
Область применения: Windows Server 2022, Windows Server 2019, Windows Server 2016
Этот раздел можно использовать для краткого обзора DHCP в Windows Server 2016.
Помимо этого раздела, доступна следующая документация по DHCP.
Протокол DHCP — это протокол клиента или сервера, который автоматически предоставляет узел протокола IP с его IP-адресом и другие связанные сведения о конфигурации, такие как маска подсети и шлюз по умолчанию. RFC 2131 и 2132 определяют протокол DHCP в качестве стандарта Internet Engineering Task Force (IETF), основанного на протоколе начальной загрузки (BOOTP), протокола, с помощью которого DHCP предоставляет много сведений о реализации. DHCP позволяет узлам получать необходимые сведения о конфигурации TCP/IP от DHCP-сервера.
Windows Server 2016 включает DHCP-сервер, который является необязательной ролью сервера сети, которую можно развернуть в сети для аренды IP-адресов и других сведений клиентам DHCP. все клиентские операционные системы на основе Windows включают dhcp-клиент как часть TCP/IP, а dhcp-клиент включен по умолчанию.
Зачем использовать DHCP?
Каждое устройство в сети на основе TCP/IP должно иметь уникальный IP-адрес одноадресной рассылки для доступа к сети и ее ресурсам. Без DHCP IP-адреса новых компьютеров или компьютеров, перемещаемых из одной подсети в другую, необходимо настроить вручную. IP-адреса для компьютеров, удаленных из сети, необходимо вручную освободить.
При использовании DHCP весь процесс автоматизирован и управляется централизованно. DHCP-сервер поддерживает пул IP-адресов и арендованный адрес любому клиенту с поддержкой DHCP при запуске в сети. Так как IP-адреса являются динамическими (арендованными), а не статическими (без постоянного назначения), адреса, которые больше не используются, автоматически возвращаются в пул для перераспределения.
Сетевой администратор устанавливает DHCP-серверы, которые сохраняют информацию о конфигурации TCP/IP и предоставляют клиентам с поддержкой DHCP в виде предложения аренды. DHCP-сервер хранит сведения о конфигурации в базе данных, которая включает в себя:
Допустимые параметры конфигурации TCP/IP для всех клиентов в сети.
Допустимые IP-адреса, поддерживаемые в пуле для назначения клиентам, а также исключенные адреса.
Зарезервированный IP-адрес адреса, связанные с конкретными клиентами DHCP. Это обеспечивает единообразное назначение одного IP-адреса одному клиенту DHCP.
Срок действия аренды или период времени, в течение которого IP-адрес может быть использован до продления срока аренды.
Клиент с поддержкой DHCP при принятии предложения аренды получает:
Допустимый IP-адрес для подсети, к которой подключается.
Запрошенные параметры DHCP, которые являются дополнительными параметрами, настроенными DHCP-сервером для назначения клиентам. Некоторые примеры параметров DHCP: маршрутизатор (шлюз по умолчанию), DNS-серверы и доменное имя DNS.
Преимущества DHCP
DHCP предоставляет следующие преимущества.
Конфигурация надежных IP-адресов. DHCP свертывает ошибки конфигурации, вызванные ручной конфигурацией IP-адресов, например типографскими ошибками, или конфликты адресов, вызванные назначением IP-адреса более чем одному компьютеру одновременно.
Сокращенное администрирование сети. Служба DHCP включает следующие функции для сокращения сетевого администрирования:
Централизованная и автоматизированная конфигурация TCP/IP.
Возможность определять конфигурации TCP/IP из центрального расположения.
Возможность назначать полный диапазон дополнительных значений конфигурации TCP/IP с помощью параметров DHCP.
Эффективная обработка изменений IP-адресов для клиентов, которые должны обновляться часто, например для портативных устройств, которые перемещаются в разные места в беспроводной сети.
Пересылка начальных сообщений DHCP с помощью агента ретранслятора DHCP, что устраняет необходимость в DHCP-сервере для каждой подсети.
Что такое DHCP-протокол
Рассказываю о том, как компьютеры получают IP-адреса для работы в сети.
Способы выдачи IP-адресов
Чтобы компьютер мог работать в сети, ему нужен IP-адрес. Он выглядит как 4 числа через точку. Например, IP-адрес timeweb.com – 185.114.246.105. Это как страна, город, улица и дом в почтовом адресе, только в интернете – это узлы связи и магистральные роутеры. Если устройству не выдали IP-адрес, оно не может общаться с другими устройствами в сети.
«IP» расшифровывается как Internet Protocol. Данный протокол имеет две версии: IPv4 и IPv6.
Устройство может получить IP-адрес двумя способами: статическим (ручным) и динамическим.
Динамический способ подойдет как для предприятий, где количество устройств фиксировано, так и для кафе, через Wi-Fi которых каждый день проходит много разных гаджетов.
Протокол DHCP и динамический IP
Для динамической выдачи IP-адресов используется сетевой протокол DHCP («Dynamic Host Configuration Protocol»), что переводится как протокол динамической настройки узла.
DHCP работает по модели «клиент-сервер». Он автоматически раздает IP-адреса и другие параметры конфигурации устройствам, чтобы те могли работать в сети.
Взаимодействие DHCP-сервера и клиента
Сервер и клиент обмениваются сообщениями по принципу «запрос-ответ». Взаимодействие состоит из 4 этапов и сокращенно называется «DORA». По одной букве на каждый этап:
Подтверждение – Acknowledgement (ACK).
Поиск (Discover): Клиент → Сервер
На этом этапе клиенту главное найти и узнать, где находится сервер.
Мы включили компьютер, который находится в сети. Еще в этой же сети работает DHCP. В данном случае наш компьютер – это клиент, а DHCP – сервер. Теперь нашему устройству необходимо получить IP-адрес и другую необходимую информацию о сети, например шлюз, адреса DNS и маску подсети. Поэтому клиент начинает поиски сервера и посылает сообщение «DHCPDISCOVER» на компьютеры внутри этого сегмента сети.
Такое сообщение называется широковещательным (broadcast) – это значит, что поток данных от клиента получат все устройства внутри его сети. Ответить на такое сообщение смогут только DHCP-серверы.
Запрос клиента получат все участники сети, но ответит только сервер
Предложение (Offer): Сервер → Клиент
DHCP-сервер получает сообщение от клиента, после чего выбирает свободный IP-адрес из числа доступных и отправляет его в ответном сообщении «DHCPOFFER».
Как правило, IP-адрес закрепляется за клиентом на определенное время, поэтому может меняться между сеансами работы в сети.
Если клиенту ответили несколько серверов, он выберет какой-то один и получит от него IP-адрес с настройками.
Запрос (Request): Клиент → Сервер
Клиент получил IP-адрес и отправляет серверу ответное сообщение: «DHCPREQUEST». В нем он еще раз прописывает полученный адрес и тем самым подтверждает, что будет использовать его.
Ответное сообщение с IP-адресом получают все DHCP-серверы в сети, если их несколько. Это необходимо для того, чтобы каждый сервер знал, что этот адрес занят, и не предлагал его другим клиентам.
Только один сервер продолжает взаимодействие с клиентом. Это тот, который предложил выбранный клиентом IP-адрес.
Подтверждение (ACK): Сервер → Клиент
Сервер отправляет сообщение «DHCPACK» и тем самым закрепляет IP-адрес за клиентом. В сообщении содержится сам адрес, срок его использования и дополнительные настройки сети. Клиент проверяет эти настройки, применяет полученную конфигурацию и получает доступ к сети.
В общем виде весь процесс взаимодействия выглядит так:
– (Клиент) Кто тут сервер? Мне надо получить IP-адрес: «DHCPDISCOVER».
– (Сервер) Я сервер, предлагаю тебе использовать вот этот IP: «DHCPOFFER».
– (Клиент) Хорошо, я буду использовать этот IP, что ты мне отправил: «DHCPREQUEST».
– (Сервер) Вот и договорились. Приятной работы в сети: «DHCPACK».
Другие варианты сообщений
«DHCPINFORM» – так клиент запрашивает локальные настройки сети. В ответ на это сообщение сервер посылает запрашиваемую конфигурацию.
«DHCPNAK» – так сервер отказывает клиенту пользоваться IP-адресом.
Длительность использования IP-адреса
Время, на которое клиент получает IP-адрес от сервера, называется «срок аренды» (lease time). Он может составлять несколько минут, часов и даже суток. Когда срок аренды заканчивается, адрес освобождается, и сервер может отдать его другому клиенту.
Клиент может продлить аренду и использовать IP-адрес дальше. Для этого он ждет, пока пройдет половина срока, который изначально назначил сервер. После этого клиент посылает серверу сообщение «DHCPREQUEST», в котором указывает свой текущий IP-адрес. В ответном сообщении «DHCPACK» сервер запускает срок аренды заново. Получилась укороченная схема взаимодействия «клиент-сервер» из двух последних этапов (запрос → подтверждение).
Если сервер молчит и не отправляет подтверждение «DHCPACK», то клиент пробует отправить повторный запрос «DHCPREQUEST», когда пройдет половина от того времени, что осталось сейчас. И так до тех пор, пока не пройдет ⅞ времени всей аренды. После этого клиент начнет отправлять широковещательные запросы на свою сеть и ждать ответа от другого сервера.
Перед тем как завершить работу и отключиться от сети, клиент автоматически отправит серверу сообщение «DHCPRELEASE». Это значит, что IP-адрес свободен и сервер может передать его другому компьютеру.
Способы раздачи IP-адресов в DHCP
DHCP-сервер может назначать IP-адреса тремя способами:
Фиксированный – в этом случае происходит настройка DHCP сервера, в ходе которой администратор вручную прописывает соответствие между каждым MAC-адресом и IP-адресом. Таким образом, за каждым устройством закрепляется свой адрес, который будет выдавать сервер.
Это удобно в рамках небольшой сети, когда известны MAC-адреса всех компьютеров.
Автоматический – при таком способе каждое устройство автоматически получает IP-адрес, который не будет меняться. DHCP-сервер выдает адрес в бессрочную аренду, пока клиент от него не откажется.
Динамический – DHCP-сервер выдает клиенту любой адрес из диапазона свободных. Эти адреса не закрепляются за конкретными устройствами.
Динамическим способом раздают IP-адреса, когда состав пользователей и их количество в сети постоянно меняется, например при использовании Wi-Fi в кафе. В этом случае кафе покупает определенное количество IP-адресов и выдает посетителям, которые подключаются к сети.
Связь DHCP и клиента в разных подсетях
Обычно сеть дополнительно разделяют на подсети. Это помогает повысить производительность и обеспечить безопасность. Производительность повышается за счет того, что таким образом равномерно распределяется широковещательный трафик.
DHCP-сервер и клиент могут оказаться в разных подсетях, разделенных одним или несколькими маршрутизаторами. Как правило, маршрутизаторы не пропускают широковещательный трафик.
Вспомним, что первое сообщение, которое отправляет клиент, чтобы найти сервер («DHCPDISCOVER»), – широковещательное. Следовательно, клиент и сервер из разных подсетей не смогут просто так взаимодействовать.
Эту проблему решают с помощью ретрансляции или DHCP relay. С помощью этой настройки маршрутизаторы смогут передавать только широковещательный трафик, который относится к протоколу DHCP.
Таким образом, если маршрутизатор может работать в режиме DHCP relay, то у него получится передать первый запрос клиента «DHCPDISCOVER» серверу в другой подсети. В этом случае взаимодействию «клиент-сервер» ничего не помешает.
Краткие выводы
Для связи с другими устройствами и работы в сети компьютеру требуется IP-адрес.
Устройство может получить статический или динамический IP-адрес.
Динамические IP-адреса назначаются с помощью протокола DHCP.
Чтобы получить IP-адрес, устройство-клиент взаимодействует с DHCP-сервером по модели «DORA».
Сервер может назначить IP-адрес клиенту тремя способами: фиксированно, автоматически или динамически.
Если сервер и клиент находятся в разных подсетях, они смогут взаимодействовать с помощью ретрансляции DHCP relay.
Что такое протокол dhcp
DHCP (англ. Dynamic Host Configuration Protocol — протокол динамической настройки узла) — сетевой протокол, позволяющий компьютерам автоматически получать IP-адрес и другие параметры, необходимые для работы в сети.
Был предложен в 1993 г., и наиболее полное современное описание DHCP содержится в документе RFC 2131 (март 1997 г.).
DHCP является расширением протокола BOOTP, использовавшегося ранее для обеспечения бездисковых рабочих станций IP-адресами при их загрузке, и сохраняет с ним обратную совместимость.
Цель DHCP — устранить два основных ограничения, накладывающихся на другие анагологичные протоколы, а именно: отсутствие поддержки динамического назначения IP-адресов и возможность передавать от сервера на станцию-клиент лишь небольшое число параметров конфигурации.
Содержание
Архитектура [ править ]
Работа протокола DHCP базируется на классической схеме клиент-сервер.
Сервер поддерживает пул свободных адресов и, кроме того, ведет собственную регистрационную базу данных.
Сообщения [ править ]
Взаимодействие DHCP-серверов с клиентами осуществляется путем обмена сообщениями.
Структура сообщения показана на рисунке, где в скобках указан размер поля в байтах.
Опишем подробнее поля:
Поле | Описание |
---|---|
op | Тип сообщения (1 = BOOTREQUEST, 2 = BOOTREPLY) |
htype | Тип адреса оборудования |
hlen | Длина адреса оборудования |
hops | Используется ретранслирующим агентом |
xid | Идентификатор транзакции между сервером и клиентом |
secs | Время с момента выдачи DHCPREQUEST или начала обновления конфигурации |
flags | Флаги (первый бит маркирует широковещательные сообщения) |
ciaddr | IP-адрес клиента |
yiaddr | (клиентский) IP-адрес |
siaddr | IP-адрес следующего сервера, участвующего в загрузке |
giaddr | IP-адрес ретранслирующего агента |
chaddr | адрес клиента |
sname | Хост-имя сервера (опция) |
file | Имя загрузочного файла |
options | Поле дополнительных параметров |
В роли транспортного протокола для обмена DHCP-сообщениями выступает UDP.
Эти номера портов, как и схожая структура сообщений, обеспечивают обратную совместимость DHCP с BOOTP. Конкретные процедуры взаимодействия клиентов и серверов BOOTP и DHCP регламентирует документ RFC 1542.
Алгоритм работы [ править ]
Получение IP адреса [ править ]
Выбор адреса DHCP-сервером [ править ]
Алгоритм работы DHCP-сервера при получении DHCPDISCOVER:
Следует отметить, что сервер не обязан отвечать на каждый поступивший запрос DHCPDISCOVER. Такой подход дает возможность управления использованием сети: например, можно разрешить серверу отвечать только тем клиентам, которые предварительно зарегистрировались с помощью специальной процедуры.
Истечение срока аренды адреса [ править ]
Когда срок аренды адреса подходит к концу клиент может:
Параметры конфигурации [ править ]
Для каждого клиента DHCP-сервер заводит в своей базе запись с параметрами конфигурации. Каждой записи соответствует уникальный ключ (например, ). Поддерживаемые параметры конфигурации определены в RFC 1122, RFC 1123, RFC 1196, RFC 1256.
Наиболее важные параметры:
Передача параметров конфигурации происходит в процессе получения IP-адреса. Если на клиенте адрес был задан вручную, то он отправляет сообщение DHCPINFORM, содержащее уже имеющийся адрес и запрос об отдельных параметрах конфигурации. DHCP-сервер проверяет правильность адреса клиента (но не наличие аренды) и отправляет DHCPACK с требуемыми параметрами конфигурации.
Основная информация по протоколу динамической конфигурации хостов DHCP
DHCP расшифровывается, как Dynamic Host Configuration Protocol — протокол динамической конфигурации хостов. Компьютеру, для того, чтобы он мог работать в сети нужно получить IP-адрес.
Есть два варианта назначения IP-адресов. Во-первых, IP-адреса можно назначать вручную, это удобно делать, когда в сети мало компьютеров, например, дома или в небольшой организации. Но если в вашей сети сотни или тысячи компьютеров назначить на каждый IP-адрес вручную практически невозможно. Для этого необходимы методы автоматического назначения IP-адресов. Как раз протокол DHCP предоставляет такую возможность. Это позволяет существенно снизить трудозатраты по настройке сетевых параметров в компьютерах в больших сетях.
С другой стороны, чтобы использовать протокол DHCP необходимо создать соответствующую инфраструктуру, создать в сети DHCP сервер и поддерживать его. Другой недостаток DHCP в том, что одному и тому же компьютеру в разное время DHCP сервер может назначать разные IP-адреса.
Работа протокола DHCP
DHCP работает по модели клиент-сервер. Клиент это компьютер, который получает IP-адрес автоматически. А сервер DHCP это компьютер, который раздает ip-адреса и следит за тем, чтобы один и тот же ip-адрес не был выдан двум клиентам, в противном случае они не смогут работать с сетью. Для того, чтобы получить ip-адрес, клиент и сервер обмениваются между собой сообщениями DHCP в режиме запрос-ответ.
Получение IP-адреса
Рассмотрим, как происходит получение IP-адреса по протоколу DHCP. Когда клиент включается, у него нет никакой информации о той сети в которой он находится. Его первая задача узнать, где находится DHCP сервер. Для этого он посылает сообщение DHCP DISCOVER.
Сервер, после того, как получил сообщение DHCP DISCOVER в ответ посылает сообщение DHCP OFFER. В сообщение DHCP сервер включает ip-адрес, который предлагает использовать клиенту.
Клиент в ответ посылает сообщение DHCP REQUEST с тем же самым ip-адресом.
На следующем шаге сервер посылает подтверждающее сообщение DHCP ACK, куда еще раз включается ip-адрес. После этого клиент может использовать ip-адрес для работы в сети. Проще всего запомнить процесс получения ip-адреса по протоколу DHCP по первым буквам DHCP сообщений DORA (Discover, Offer, Request, Ack).
Кроме тех сообщений, которые мы рассмотрели, есть и другие сообщения.
Зачем нужно четыре шага?
Зачем нужно 4 шага? Ведь на первый взгляд достаточно трёх шагов. Ответ на этот вопрос Вы узнаете из видео на 3:40 минуте.
Назначение адресов в DHCP
DHCP сервер может использовать 2 способа назначения адресов компьютерам.
Время аренды в DHCP
DHCP сервер выделяет IP-адрес компьютера на некоторое ограниченное время, которое называется временем аренды (lease time). Время аренды может быть разное от нескольких минут, до нескольких часов и даже суток в зависимость от потребности конкретной сети и конкретной организации.
Обновление аренды IP-адреса
После того, как время арены закончилось, ip-адрес освобождается и DHCP сервер может отдать его другому клиенту. Но что делать, если текущий клиент хочет использовать этот IP-адрес дальше? Для этого клиенту необходимо продлить аренду, обычно клиенты начинают это делать после того, как пройдет половина времени аренды, для продления аренды используется специальная сокращенная процедура получения IP-адреса. Так как клиент уже знает свой IP-адрес он сразу пересылает серверу сообщение DHCP request в котором указывает этот ip-адрес и если все нормально, то сервер в ответ высылает сообщение DHCP ACK, которое подтверждает, что клиент может использовать этот ip-адрес дальше.
Прекращение использования адреса
После того, как компьютер перестал работать с сетью, например при выключении, ему необходимо сказать об этом DHCP серверу, для этого используется сообщение DHCP Release. После получения такого сообщения DHCP сервер может отдать этот ip-адрес какому-нибудь другому компьютеру в сети.
Все современные операционные системы автоматически отправляют сообщения DHCP Release при выключении, никаких дополнительных действий от пользователя не требуется.
Если сообщение DHCP Release не будет отправлено, например в случае, когда компьютер выключен некорректно или произошел сбой в операционной системе, то DHCP сервер будет считать, что этот адрес занят пока не закончится время аренды и только после окончания времени аренды он может отдать этот ip-адрес другому компьютеру.
Конфигурационная информация
Компьютеру, для корректной работы в сети, обычно, нужен не только ip-адрес. Нужно знать маску подсетей и маршрутизатор по умолчанию. Также, хорошо узнать адреса серверов имен. DHCP позволяет передать эти и другие сведения о конфигурации сети с помощью опций. Опции включаются в пакет DHCP и передаются вместе с ip-адресом. Кроме маски подсети и маршрутизатора по умолчанию, обычно передается адрес DNS серверов, которые используются для разрешения имен, адреса серверов времени, какие-либо полезные локальные маршруты, а также другая конфигурационная информация.
Поиск DHCP сервера в сети
Если Вы используете DHCP для назначения ip-адресов своей сети, то при планировании сети необходимо обращать внимание на то, где расположен DHCP сервер. Он должен располагаться в той же самой подсети, что и клиенты, которые будут получать ip-адреса по протоколу DHCP.
Почему так происходит? Клиент DHCP при включении не знает, где находится DHCP сервер и отправляет запрос DHCP Discover на широковещательный адрес.
Его получают все компьютеры, которые находятся в данной подсети в том числе и DHCP сервер.
Чтобы решить эту проблему, используется DHCP Relay. Это специальная конфигурация маршрутизаторов или маршрутизирующих коммутаторов, которые позволяют им передавать широковещательный трафик, но не весь, а только тот, который относится к протоколу DHCP. Если наш маршрутизатор способен работать в режиме DHCP Relay, то он передаст сообщение DHCP Discover от клиента к DHCP серверу, который находится в другой сети.
И только в этом случае DHCP сервер может выдать ip-адрес клиенту, который находится за маршрутизатором.
Заключение
Протокол DHCP используется для автоматического назначения IP-адресов и другой конфигурационной информации. Протокол DHCP использует архитектуру клиент-сервер и работает в режиме запрос ответ. Чтобы получить IP-адрес используются 4 DHCP сообщения, сокращенно DORA. DHCP сервер выдает адреса на ограниченный срок (срок аренды). Чтобы DHCP сервер мог выдавать ip-адреса клиентам, он должен находиться с ними в одной подсети или необходимо использовать DHCP Relay на маршрутизаторах и коммутаторах.