(англ. Dynamic Host Configuration Protocol — протокол динамической конфигурации узла) — это сетевой протокол, позволяющий компьютерам автоматически получать IP-адрес и другие параметры, необходимые для работы в сети TCP/IP. Данный протокол работает по модели «клиент-сервер». Для автоматической конфигурации компьютер-клиент на этапе конфигурации сетевого устройства обращается к так называемому серверу DHCP , и получает от него нужные параметры. Сетевой администратор может задать диапазон адресов, распределяемых сервером среди компьютеров. Это позволяет избежать ручной настройки компьютеров сети и уменьшает количество ошибок. Протокол DHCP используется в большинстве крупных (и не очень) сетей TCP/IP.
DHCP является расширением протокола BOOTP, использовавшегося ранее для обеспечения бездисковых рабочих станций IP-адресами при их загрузке. DHCP сохраняет обратную совместимость с BOOTP.
1. История
Стандарт протокола DHCP был принят в октябре 1993 года. Действующая версия протокола (март 1997 года) описана в RFC 2131. Новая версия DHCP, предназначенная для использования в среде IPv6, носит название DHCPv6 и определена в RFC 3315 (июль 2003 года).
2. Распределение IP-адресов
Протокол DHCP предоставляет три способа распределения IP-адресов:
- Ручное распределение. При этом способе сетевой администратор сопоставляет аппаратному адресу (для Ethernet сетей это MAC-адрес) каждого клиентского компьютера определённый IP-адрес. Фактически, данный способ распределения адресов отличается от ручной настройки каждого компьютера лишь тем, что сведения об адресах хранятся централизованно (на сервере DHCP), и потому их проще изменять при необходимости.
- Автоматическое распределение. При данном способе каждому компьютеру на постоянное использование выделяется произвольный свободный IP-адрес из определённого администратором диапазона.
- Динамическое распределение. Этот способ аналогичен автоматическому распределению, за исключением того, что адрес выдаётся компьютеру не на постоянное пользование, а на определённый срок. Это называется арендой адреса . По истечении срока аренды IP-адрес вновь считается свободным, и клиент обязан запросить новый (он, впрочем, может оказаться тем же самым).
Кроме того, клиент сам может отказаться от полученного адреса.
Некоторые реализации службы DHCP способны автоматически обновлять записи DNS, соответствующие клиентским компьютерам, при выделении им новых адресов. Это производится при помощи протокола обновления DNS, описанного в RFC 2136.
Архитектура, протоколы и стандарты компьютерных сетей
... сетевых сегментов с различными протоколами и архитектурами. Это коммуникационное оборудование определяет не только адрес каждого сегмента, но и наилучший маршрут для передачи ... сети определяет характеристики сети в целом и характеристики и функции входящих в нее основных компонентов. Архитектура вычислительной сети - описание ее общей модели. Многообразие производителей вычислительных сетей и ...
3. Опции DHCP
опциями DHCP
Некоторыми из наиболее часто используемых опций являются:
- IP-адрес маршрутизатора по умолчанию;
- маска подсети;
- адреса серверов DNS;
- имя домена DNS.
Некоторые поставщики программного обеспечения могут определять собственные, дополнительные опции DHCP.
4. Устройство протокола
клиент-серверным
4.1. Структура сообщений DHCP
Все сообщения протокола DHCP разбиваются на поля, каждое из которых содержит определённую информацию. Все поля, кроме последнего (поля опций DHCP), имеют фиксированную длину.
Поле | Описание | Длина (в байтах) |
---|---|---|
op | Тип сообщения. Может принимать два значения: BOOTREQUEST (1, запрос от клиента к серверу) и BOOTREPLY (2, ответ от сервера к клиенту).
|
1 |
htype | Тип аппаратного адреса. Допустимые значения этого поля определены в RFC «Assigned Numbers». Например, для MAC-адреса Ethernet 10 Мбит/с это поле принимает значение 1. | 1 |
hlen | Длина аппаратного адреса в байтах. Для MAC-адреса Ethernet — 6. | 1 |
hops | Количество промежуточных маршрутизаторов (так называемых агентов ретрансляции DHCP ), через которые прошло сообщение. Клиент устанавливает это поле в 0. | 1 |
xid | Уникальный идентификатор транзакции, генерируемый клиентом в начале процесса получения адреса. | 4 |
secs | Время в секундах с момента начала процесса получения адреса. Может не использоваться (в этом случае оно устанавливается в 0).
|
2 |
flags | Поле для флагов — специальных параметров протокола DHCP. | 2 |
ciaddr | IP-адрес клиента. Заполняется только в том случае, если клиент уже имеет собственный IP-адрес и способен отвечать на запросы ARP (это возможно, если клиент выполняет процедуру обновления адреса по истечении срока аренды).
|
4 |
yiaddr | Новый IP-адрес клиента, предложенный сервером. | 4 |
siaddr | IP-адрес сервера. Возвращается в предложении DHCP (см. ниже).
|
4 |
giaddr | IP-адрес агента ретрансляции, если таковой участвовал в процессе доставки сообщения DHCP до сервера. | 4 |
chaddr | Аппаратный адрес (обычно MAC-адрес) клиента. | 16 |
sname | Необязательное имя сервера в виде нуль-терминированной строки. | 64 |
file | Необязательное имя файла на сервере, используемое бездисковыми рабочими станциями при удалённой загрузке. Как и sname , представлено в виде нуль-терминированной строки. | 128 |
options | Поле опций DHCP . Здесь указываются различные дополнительные параметры конфигурации. В начале этого поля указываются четыре особых байта со значениями 99, 130, 83, 99 («волшебные числа»), позволяющие серверу определить наличие этого поля. Поле имеет переменную длину, однако DHCP-клиент должен быть готов принять DHCP-сообщение длиной в 576 байт (в этом сообщении поле options имеет длину 312 байт).
|
переменная |
4.2. Пример процесса получения адреса
Рассмотрим пример процесса получения IP-адреса клиентом от сервера DHCP. Предположим, клиент ещё не имеет собственного IP-адреса, но ему известен его предыдущий адрес — 192.168.1.100. Процесс состоит из четырёх этапов.
4.2.1. Обнаружение DHCP
DHCPDISCOVER
Клиент заполняет несколько полей сообщения начальными значениями:
- В поле xid помещается уникальный идентификатор транзакции , который позволяет отличать данный процесс получения IP-адреса от других, протекающих в то же время.
- В поле chaddr помещается аппаратный адрес (MAC-адрес) клиента.
- В поле опций указывается последний известный клиенту IP-адрес. В данном примере это 192.168.1.100. Это необязательно и может быть проигнорировано сервером.
агентов ретрансляции DHCP
4.2.2. Предложение DHCP
DHCPOFFER
Это сообщение DHCP-сервер отправляет хосту, пославшему DHCPDISCOVER, на его MAC, при определенных обстоятельствах сообщение может распространяться как широковещательная рассылка. Клиент может получить несколько различных предложений DHCP от разных серверов; из них он должен выбрать то, которое его «устраивает».
4.2.3. Запрос DHCP
DHCPREQUEST
4.2.4. Подтверждение DHCP
Наконец, сервер подтверждает запрос и направляет это подтверждение ( DHCPACK ) клиенту. После этого клиент должен настроить свой сетевой интерфейс, используя предоставленные опции.
4.2.5. Вид сообщений
Ниже приведены значения каждого поля для каждого из отправляемых в процессе сообщений DHCP.
|
|
|
|
4.3. Прочие сообщения DHCP
Помимо сообщений, необходимых для первоначального получения IP-адреса клиентом, DHCP предусматривает несколько дополнительных сообщений для выполнения иных задач.
4.3.1. Отказ DHCP
DHCPDECLINE
4.3.2. Отмена DHCP
Если по каким-то причинам сервер не может предоставить клиенту запрошенный IP-адрес, или если аренда адреса удаляется администратором, сервер рассылает широковещательное сообщение отмены DHCP ( DHCPNAK ).
При получении такого сообщения соответствующий клиент должен повторить процедуру получения адреса.
4.3.3. Освобождение DHCP
DHCPRELEASE
4.3.4. Информация DHCP
DHCPINFORM
5. Реализации
Компания Microsoft впервые включила сервер DHCP в поставку серверной версии Windows NT 3.5, выпущенной в 1994 году. Начиная с Windows 2000 Server реализация DHCP-сервера от Microsoft позволяет динамически обновлять записи DNS, что используется в Active Directory.
Internet Systems Consortium выпустил первую версию ISC DHCP Server (для Unix-подобных систем) 6 декабря 1997 года. 22 июня 1999 года вышла версия 2.0, более точно соответствующая стандарту.
Компания Cisco включила сервер DHCP в Cisco IOS 12.0 в феврале 1999 года. Sun добавила DHCP-сервер в Solaris 8 в июле 2001 года.
В настоящее время существуют реализации сервера DHCP для ОС Windows в виде отдельных программ, в том числе открытых [1] , позволяющих выполнять роль сервера DHCP компьютерам под управлением несерверных версий данной ОС.
Примечания
Данный реферат составлен на основе .