Лекция
Привет, сегодня поговорим про dhcp, обещаю рассказать все что знаю. Для того чтобы лучше понимать что такое dhcp, протокол динамической настройки узла, apipa , настоятельно рекомендую прочитать все из категории Компьютерные сети.
DHCP (англ. Dynamic Host Configuration Protocol — протокол динамической настройки узла ) — сетевой протокол, позволяющий компьютерам автоматически получать IP-адрес и другие параметры, необходимые для работы в сети TCP/IP. Данный протокол работает по модели «клиент-сервер». Для автоматической конфигурации компьютер-клиент на этапе конфигурации сетевого устройства обращается к так называемомусерверу DHCP и получает от него нужные параметры. Сетевой администратор может задать диапазон адресов, распределяемых сервером среди компьютеров. Это позволяет избежать ручной настройки компьютеров сети и уменьшает количество ошибок. Протокол DHCP используется в большинстве сетей TCP/IP.
DHCP является расширением протокола BOOTP, использовавшегося ранее для обеспечения бездисковых рабочих станций IP-адресами при их загрузке. DHCP сохраняет обратную совместимость с BOOTP.
APIPA (Automatic Private IP Addressing) - это механизм автоматической настройки IP-адресов в локальных сетях, который используется в операционных системах Windows, если не удалось получить IP-адрес от DHCP сервера.
Когда компьютер или другое устройство подключается к сети и не может обнаружить DHCP сервер или получить от него IP-адрес, оно автоматически присваивает себе IP-адрес из специально зарезервированного диапазона адресов, который находится в диапазоне от 169.254.0.1 до 169.254.255.254. Это позволяет устройствам в локальной сети связываться друг с другом без необходимости наличия активного DHCP сервера. Однако устройства, использующие APIPA, не могут подключаться к устройствам в других сетях или в Интерне
Стандарт протокола DHCP был принят в октябре 1993 года. Действующая версия протокола (март 1997 года) описана в RFC 2131. Новая версия DHCP, предназначенная для использования в среде IPv6, носит название DHCPv6 и определена в RFC 3315 (июль 2003 года).
Протокол DHCP предоставляет три способа распределения IP-адресов:
Некоторые реализации службы DHCP способны автоматически обновлять записи DNS, соответствующие клиентским компьютерам, при выделении им новых адресов. Это производится при помощи протокола обновления DNS, описанного в RFC 2136.
Протокол DHCP предназначен для предоставления клиентам DHCP конфигурационных параметров, описанных в RFC Host Requirements. После получения через DHCP необходимых параметров, клиент DHCP должен быть готов к обмену пакетами с любой другой ЭВМ в Интернет. Параметры стека TCP/IP, предоставляемые протоколом DHCP перечислены в приложении A. Не все эти параметры необходимы для первичной инициализации клиента. Клиент и сервер могут согласовывать список необходимых параметров.
Протокол DHCP позволяет, но не требует конфигурации параметров клиента, не имеющих прямого отношения к IP-протоколу. DHCP не обращается к системе DNS для регистрации адреса [12, 13]. DHCP не может использоваться для конфигурации маршрутизаторов.
В данном документе применены следующие определения:
DHCP клиент | Клиент DHCP является ЭВМ, подключенной к Интернет, которая использует DHCP, чтобы получить конфигурационные параметры, например сетевой адрес. |
DHCP сервер | Сервер DHCP является ЭВМ, подключенной к Интернет, которая присылает клиенту DHCP параметры конфигурации. |
Агент пересылки BOOTP | Агент пересылки BOOTP представляет собой ЭВМ, подключенную к Интернет, или маршрутизатор, который осуществляет связь между клиентом и сервером DHCP. DHCP спроектирован так, чтобы обеспечить совместимость со спецификациями протокола BOOTP. |
Binding | Сопряжение (binding) представляет собой совокупность конфигурационных параметров, включая, как минимум, IP-адрес, присваиваемый DHCP-клиенту. Сопряжением управляют DHCP-серверы. |
Ниже предлагается список основных задач DHCP.
o | DHCP представляет собой механизм, а не политику. DHCP должен управляться местными системными администраторами, путем задания желательных конфигурационных параметров. |
o | Клиенты не должны требовать ручной конфигурации. Каждый клиент должен быть способен прочесть локальные конфигурационные параметры. |
o | Сети не должны требовать ручной конфигурации для отдельных клиентов. В нормальных условиях, сетевой администратор не должен вводить какие-либо индивидуальные конфигурационные параметры клиента. |
o | DHCP не требует отдельного сервера для каждой субсети. |
o | Клиент DHCP должен быть готов получить несколько откликов на запрос конфигурационных параметров. Для повышения надежности и быстродействия можно использовать несколько DHCP-серверов, обслуживающих перекрывающиеся области сети. |
o | DHCP должен сосуществовать с ЭВМ, которые сконфигурированы вручную. |
o | DHCP должен быть совместим с логикой работы BOOTP-агента, описанной в RFC-951 и RFC-1542 [21]. |
o | DHCP должен обслуживать существующих клиентов BOOTP. |
DHCP должен:
o | Гарантировать, что любой специфический сетевой адрес не будет использоваться более чем одним клиентом DHCP одновременно. |
o | Поддерживать DHCP конфигурацию клиента при стартовой перезагрузке DHCP-клиента. Клиенту DHCP должен, при каждом запросе по мере возможности, присваиваться один и тот же набор конфигурационных параметров (например, сетевой адрес). |
o | Поддерживать конфигурацию DHCP-клиента при перезагрузке сервера, и, по мере возможности, DHCP-клиенту должен присваиваться один и тот же набор конфигурационных параметров. |
o | Позволяет автоматически присваивать конфигурационные параметры новым клиентам, чтобы избежать ручной конфигурации. |
o | Поддерживать фиксированное или постоянное присвоение конфигурационных параметров для заданного клиента. |
Помимо IP-адреса, DHCP также может сообщать клиенту дополнительные параметры, необходимые для нормальной работы в сети. Эти параметры называются опциями DHCP. Список стандартных опций можно найти в RFC 2132.
Опции – строки переменной длины, состоящие из октетов. Первый октет - код опции, второй октет – количество следующих октетов, остальные октеты зависят от кода опции.
Например, опция “DHCP Message Type” при отправке сообщения “Offer” будет выглядеть так : 0x35,0x01,0x02, где 0x35 – код опции “DHCP Message Type” , 0x01 – означает, что далее идет только один октет, 0x02 – значение “Offer”.
Некоторыми из наиболее часто используемых опций являются:
Некоторые поставщики программного обеспечения могут определять собственные дополнительные опции DHCP.
В следующих таблицах перечислены доступные DHCP опции, как указано в RFC2132:
RFC1497 расширения поставщиков программного обеспечения.
Код | Название | Длина | Примечание |
---|---|---|---|
0 |
Pad |
0 октетов |
Используется для дополнения других опций, чтобы они выравнивались по границе слова. |
1 |
Subnet Mask |
4 октета |
Должн быть отправлен после опции “router” (опция 3), если оба включены. |
2 |
Time Offset |
4 октета |
|
3 |
Router |
кратное 4 октетам |
Доступные маршрутизаторы должны быть перечислены в порядке предпочтения. |
4 |
Time Server |
кратное 4 октетам |
Доступные серверы для синхронизации должны быть перечислены в порядке предпочтения. |
5 |
Name Server |
кратное 4 октетам |
Доступные IEN 116 – имена серверов, должны быть перечислены в порядке предпочтения. |
6 |
Domain Name Server |
кратное 4 октетам |
Доступные DNS-сервера должны быть перечислены в порядке предпочтения. |
7 |
Log Server |
кратное 4 октетам |
Доступные Log–сервера должны быть перечислены в порядке предпочтения. |
8 |
Cookie Server |
кратное 4 октетам |
|
9 |
LPR Server |
кратное 4 октетам |
|
10 |
Impress Server |
кратное 4 октетам |
|
11 |
Resource Location Server |
кратное 4 октетам |
|
12 |
Host Name |
минимум 1 октет |
|
13 |
Boot File Size |
2 октета |
Длина загрузочного образа в 4-килобайтных блоках. |
14 |
Merit Dump File |
минимум 1 октет |
Путь до места хранения аварийных дампов. |
15 |
Domain Name |
минимум 1 октет |
|
16 |
Swap Server |
4 октета |
|
17 |
Root Path |
минимум 1 октет |
|
18 |
Extensions Path |
минимум 1 октет |
|
255 |
End |
0 октетов |
Используется для обозначения конца поля. |
Параметры IP-уровня клиента.
Код | Название | Длина | Примечание |
---|---|---|---|
19 |
IP Forwarding Enable/Disable |
1 октет |
|
20 |
Non-Local Source Routing Enable/Disable |
1 октет |
|
21 |
Policy Filter |
Кратное 8 октетам |
|
22 |
Maximum Datagram Reassembly Size |
2 октета |
|
23 |
Default IP Time-to-live |
1 октет |
|
24 |
Path MTU Aging Timeout |
4 октета |
|
25 |
Path MTU Plateau Table |
Кратное 2 октетам |
Параметры интерфейса Ip-уровня.
Код | Название | Длина | Примечание |
---|---|---|---|
26 |
Interface MTU |
2 |
|
27 |
All Subnets are Local |
1 |
|
28 |
Broadcast Address |
4 |
|
29 |
Perform Mask Discovery |
1 |
|
30 |
Mask Supplier |
1 |
|
31 |
Perform Router Discovery |
1 |
|
32 |
Router Solicitation Address |
4 |
|
33 |
Static Route |
Кратно 8 октетам |
Параметры интерфейса уровня связи.
Код | Название | Длина | Примечание |
---|---|---|---|
34 |
Trailer Encapsulation Option |
1 |
|
35 |
ARP Cache Timeout |
4 |
|
36 |
Ethernet Encapsulation |
1 |
TCP –параметры.
Код | Название | Длина | Примечание |
---|---|---|---|
37 |
TCP Default TTL |
1 |
|
38 |
TCP Keepalive Interval |
4 |
|
39 |
TCP Keepalive Garbage |
1 |
Параметры сервисов и приложений.
Код | Название | Длина | Примечание |
---|---|---|---|
40 |
Network Information Service Domain |
минимум 1 октет |
|
41 |
Network Information Servers |
кратное 4 октетам |
|
42 |
Network Time Protocol Servers |
кратное 4 октетам |
|
43 |
Vendor Specific Information |
минимум 1 октет |
|
44 |
NetBIOS over TCP/IP Name Server |
кратное 4 октетам |
|
45 |
NetBIOS over TCP/IP Datagram Distribution Server |
кратное 4 октетам |
|
46 |
NetBIOS over TCP/IP Node Type |
1 |
|
47 |
NetBIOS over TCP/IP Scope |
минимум 1 октет |
|
48 |
X Window System Font Server |
кратное 4 октетам |
|
49 |
X Window System Display Manager |
кратное 4 октетам |
|
64 |
Network Information Service+ Domain |
минимум 1 октет |
|
65 |
Network Information Service+ Servers |
кратное 4 октетам |
|
68 |
Mobile IP Home Agent |
кратное 4 октетам |
|
69 |
Simple Mail Transport Protocol (SMTP) Server |
кратное 4 октетам |
|
70 |
Post Office Protocol (POP3) Server |
кратное 4 октетам |
|
71 |
Network News Transport Protocol (NNTP) Server |
кратное 4 октетам |
|
72 |
Default World Wide Web (WWW) Server |
кратное 4 октетам |
|
73 |
Default Finger Server |
кратное 4 октетам |
|
74 |
Default Internet Relay Chat (IRC) Server |
кратное 4 октетам |
|
75 |
StreetTalk Server |
кратное 4 октетам |
|
76 |
StreetTalk Directory Assistance (STDA) Server |
кратное 4 октетам |
DHCP – расширения.
Код | Название | Длина | Примечание |
---|---|---|---|
50 |
Requested IP address |
4 |
|
51 |
IP address Lease Time |
4 |
|
52 |
Option Overload |
1 |
|
53 |
DHCP Message Type |
1 |
|
54 |
Server Identifier |
4 |
|
55 |
Parameter Request List |
минимум 1 октет |
|
56 |
Message |
минимум 1 октет |
|
57 |
Maximum DHCP Message Size |
2 |
|
58 |
Renewal (T1) Time Value |
4 |
|
59 |
Rebinding (T2) Time Value |
4 |
|
60 |
Vendor class identifier |
минимум 1 октет |
|
61 |
Client-identifier |
минимум 2 октета |
|
66 |
TFTP server name |
минимум 1 октет |
|
67 |
Bootfile name |
минимум 1 октет |
Опция существует, чтобы определить поставщика и функциональность клиента DHCP. Информация представляется строкой переменной длины, состоящей из символов или октетов, которые имеют значение, указанное поставщиком клиента DHCP. Один из методов позволяет DHCP клиенту оповещать сервер о том, что он использует определенный тип низкоуровневого обеспечения или прошивки для заполнения опции Vendor Class Identifier(VCI)(опция 60). Этот метод позволяет различать запросы клиентских машин и процессов. Значение опции VCI дает DHCP-серверу подсказку о любой необходимой дополнительной информации, которую необходимо отправить клиенту в ответ.
Протокол DHCP является клиент-серверным, то есть в его работе участвуют клиент DHCP и сервер DHCP. Передача данных производится при помощи протокола UDP. По умолчанию запросы от клиента делаются на 67 порт к серверу, сервер в свою очередь отвечает на порт 68 к клиенту, выдавая адрес IP и другую необходимую информацию, такую, как сетевую маску, маршрутизатор и серверы DNS.
Все сообщения протокола DHCP разбиваются на поля, каждое из которых содержит определенную информацию. Все поля, кроме последнего (поля опций DHCP), имеют фиксированную длину.
Поле | Описание | Длина (вбайтах) |
---|---|---|
op | Тип сообщения. Например может принимать значения: BOOTREQUEST (1, запрос от клиента к серверу) и BOOTREPLY (2, ответ от сервера к клиенту). | 1 |
htype | Тип аппаратного адреса. Допустимые значения этого поля определены в RFC1700 «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 имеет длину 340 байт). | переменная |
Рассмотрим пример процесса получения IP-адреса клиентом от сервера DHCP. Предположим, клиент еще не имеет собственного IP-адреса, но ему известен его предыдущий адрес — 192.168.1.100. Процесс состоит из четырех этапов.
Вначале клиент выполняет широковещательный запрос по всей физической сети с целью обнаружить доступные DHCP-серверы. Он отправляет сообщение типа DHCPDISCOVER, при этом в качестве IP-адреса источника указывается 0.0.0.0 (так как компьютер еще не имеет собственного IP-адреса), а в качестве адреса назначения — широковещательный адрес 255.255.255.255.
Клиент заполняет несколько полей сообщения начальными значениями:
Сообщение DHCPDISCOVER может быть распространено за пределы локальной физической сети при помощи специально настроенных агентов ретрансляции DHCP, перенаправляющих поступающие от клиентов сообщения DHCP серверам в других подсетях.
Не всегда процесс получения IP адреса начинается с DHCPDISCOVER. В случае, если клиент ранее уже получал IP адрес и срок его аренды еще не прошел — клиент может пропустить стадию DHCPDISCOVER, начав с запроса DHCPREQUEST отправляемого с идентификатором сервера, который выдал адрес в прошлый раз. В случае же отсутствия ответа от DHCP сервера, выдавшего настройки в прошлый раз, клиент отправляет DHCPDISCOVER. Тем самым клиент начинает процесс получения с начала, обращаясь уже ко всем DHCP серверам в сегменте сети.
Получив сообщение от клиента, сервер определяет требуемую конфигурацию клиента в соответствии с указанными сетевым администратором настройками. В данном случае DHCP-сервер согласен с запрошенным клиентом адресом 192.168.1.100. Сервер отправляет ему ответ (DHCPOFFER), в котором предлагает конфигурацию. Предлагаемый клиенту IP-адрес указывается в поле yiaddr. Прочие параметры (такие, как адреса маршрутизаторов иDNS-серверов) указываются в виде опций в соответствующем поле.
Это сообщение DHCP-сервер отправляет хосту, пославшему DHCPDISCOVER, на его MAC, при определенных обстоятельствах сообщение может распространяться как широковещательная рассылка. Клиент может получить несколько различных предложений DHCP от разных серверов; из них он должен выбрать то, которое его «устраивает».
Выбрав одну из конфигураций, предложенных DHCP-серверами, клиент отправляет запрос DHCP (DHCPREQUEST). Он рассылается широковещательно; при этом к опциям, указанным клиентом в сообщении DHCPDISCOVER, добавляется специальная опция — идентификатор сервера — указывающая адрес DHCP-сервера, выбранного клиентом (в данном случае — 192.168.1.1).
Наконец, сервер подтверждает запрос и направляет это подтверждение (DHCPACK) клиенту. После этого клиент должен настроить свой сетевой интерфейс, используя предоставленные опции.
Ниже приведены значения каждого поля для каждого из отправляемых в процессе сообщений DHCP.
|
|
|
|
Помимо сообщений, необходимых для первоначального получения IP-адреса клиентом, DHCP предусматривает несколько дополнительных сообщений для выполнения иных задач.
Если после получения подтверждения (DHCPACK) от сервера клиент обнаруживает, что указанный сервером адрес уже используется в сети, он рассылает широковещательное сообщение отказа DHCP (DHCPDECLINE), после чего процедура получения IP-адреса повторяется. Использование IP-адреса другим клиентом можно обнаружить, выполнив запрос ARP.
Сообщение отмены DHCP (DHCPNAK). При получении такого сообщения соответствующий клиент должен повторить процедуру получения адреса.
Клиент может явным образом прекратить аренду IP-адреса. Для этого он отправляет сообщение освобождения DHCP (DHCPRELEASE) тому серверу, который предоставил ему адрес в аренду. В отличие от других сообщений DHCP, DHCPRELEASE не рассылается широковещательно.
Сообщение информации DHCP (DHCPINFORM) предназначено для определения дополнительных параметров TCP/IP (например, адреса маршрутизаторапо умолчанию, DNS-серверов и т. п.) теми клиентами, которым не нужен динамический IP-адрес (то есть адрес которых настроен вручную). Серверы отвечают на такой запрос сообщением подтверждения (DHCPACK) без выделения IP-адреса.
Компания 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 в виде отдельных программ, в том числе открытых , позволяющих выполнять роль сервера DHCP компьютерам под управлением не серверных версий данной ОС.
Освобождая сетевых администраторов от множества рутинных операций, DHCP оставляет нерешенными ряд проблем, которые рано или поздно могут возникнуть в реальной сетевой среде.
К недостаткам этого протокола прежде всего следует отнести крайне низкий уровень информационной безопасности, что обусловлено непосредственным использованием протоколов UDP и IP. В настоящее время не существует практически никакой защиты от появления в сети несанкционированных DHCP-серверов, способных рассылать клиентам ошибочную или потенциально опасную информацию - некорректные или уже задействованные IP-адреса, неверные сведения о маршрутизации и т.д. И наоборот, клиенты, запущенные с неблаговидными целями, могут извлекать конфигурационные сведения, предназначенные для <законных> компьютеров сети, и тем самым оттягивать на себя значительную часть имеющихся ресурсов. Понятно, что возможности административного ограничения доступа, о которых говорилось выше, не способны закрыть эту брешь в системе информационной безопасности.
По мнению некоторых экспертов, в настоящее время DHCP недостаточно отказоустойчив. Протоколу явно недостает механизма активного уведомления клиентов об экстремальных ситуациях (например, о систематической нехватке адресов) и серверного подтверждения об освобождении адреса, иногда в сети наблюдаются всплески числа запросов на повторное использование адресов и т.д. Впрочем, работа над протоколом еще не завершена, и не исключено, что некоторые недостатки будут устранены в последующих редакциях.
Приступая к написанию статьи, автор ставил себе целью изложить основные принципы DHCP, которые позволили бы читателю получить представление о работе этого протокола, а также сопоставить его с другими механизмами распределения сетевых адресов. Многие детали при этом остались за кадром, однако следует иметь в виду, что DHCP еще не приобрел статуса индустриального стандарта, поэтому в ближайшее время могут увидеть свет новые его модификации.
Тем не менее, как частенько бывает в сетевой индустрии, механизмы DHCP уже реализованы в продуктах ряда производителей. К счастью, любые изменения в алгоритмах его работы легко учесть на программном уровне, так что, приобретая серверное или клиентское программное обеспечение определенной компании, можно не опасаться заточения в неприступную крепость патентованных решений. Скорее, следует обратить внимание на то, насколько удачно конкретная реализация DHCP вписывается в имеющуюся вычислительную среду и взаимодействует с другими сетевыми службами, в частности с DNS. Публикуемые в этом номере результаты сравнительных испытаний DNS- и DHCP-серверов (см. статью <Игра в имена>) способны стать неплохим подспорьем для пользователя.
Стоит принять во внимание и слабые стороны протокола, о которых говорилось выше. Внедряя в своей сети средства DHCP, администратор должен быть готов к возникновению проблем принципиального характера. Остается только надеяться, что их количество уменьшится в стандартизованном варианте протокола DHCP.
Распределение IP-адресов: возможны варианты
BOOTP, DRARP, TFTP, ICMP, NIP - вероятно, это еще не полный перечень протоколов, в той или иной мере претендующих на решение задачи управления IP-адресами и конфигурацией в сетевой среде. Не исключено, что после стандартизации DHCP довольно быстро вытеснит их со сцены, однако на сегодняшний день многие из названных протоколов нередко упоминаются в литературе и используются в готовых продуктах.
Подобно DHCP, протокол Bootstrap Protocol (BOOTP) сегодня также имеет статус предварительного стандарта и рекомендован к применению консорциумом IETF. Именно его следует считать непосредственным предшественником DHCP. Появившиеся в 1993 г. дополнения расширили перечень конфигурационных параметров, охватываемых протоколом BOOTP. Более того, к настоящему времени даже предложена модификация BOOTP, поддерживающая динамическое назначение IP-адресов.
Протокол Reverse Address Resolution Protocol (RARP), впервые описанный в июне 1984 г. (RFC 903), используется компанией Sun Microsystems и рядом других производителей, в частности, для запуска бездисковых рабочих станций. Основной принцип его работы сводится к тому, что клиент должен самостоятельно отыскать свой IP-адрес, а не принять адрес, выделенный сервером. Сравнительно недавно появился динамический вариант этого протокола (Dynamic RARP, DRARP), реализующий алгоритм автоматического присвоения IP-адресов. Стоит отметить, что изначальный вариант RARP не поддерживает передачу клиенту каких-либо параметров конфигурации (кроме IP-адреса), в том числе применяемых при маршрутизации. В результате один сервер RARP способен обслуживать только одну локальную сеть.
Упрощенный вариант FTP - протокол Trivial File Transfer Protocol (TFTP) - увидел свет около 20 лет назад, его вторая версия описана в документе RFC 783. Фактически TFTP предоставляет транспортный механизм для передачи с сервера загрузочного образа клиентской системы.
Протокол Internet Control Message Protocol (ICMP) сегодня также можно отнести к поколению ветеранов Всемирной сети. Он позволяет информировать компьютеры о наличии в сети дополнительных маршрутизаторов (имеется специальный механизм для обнаружения этих устройств), предусматривает специальные типы сообщений для передачи маски подсети и других служебных сведений.
Наконец, протокол Network Information Protocol (NIP) был разработан в конце 80-х гг. сотрудниками Массачусетского технологического института в качестве распределенного механизма для динамического присвоения IP-адресов в сетях Ethernet.
Отметим еще спецификации RFC 1122 и 1123, которые используются рядом протоколов (в том числе DHCP). Они содержат требования к процедуре изменения конфигурации компьютеров сети и, кроме того, предлагают сценарий первоначального конфигурирования бездисковых станций.
DHCP и VLAN: различий больше, чем сходств
Время от времени можно встретить утверждение о том, что протокол DHCP и технология виртуальных частных сетей (VLAN) нацелены на решение одной и той же проблемы: они должны обеспечить свободное перемещение клиентов в сетевой среде. В действительности за приведенными выше аббревиатурами скрываются две совершенно разные концепции, причем подход на базе виртуальных ЛС является гораздо более революционным.
DHCP-сервер и ретранслирующие агенты позволяют так настроить параметры конфигурации компьютера, что после вывода из одной подсети и подключения к другой он сразу же становится полноправным членом новой подсети (поскольку конфигурация перемещенной машины изменяется автоматически). Если к тому же реализована поддержка динамического сервера доменных имен (Dynamic DNS), компьютер обретает свое прежнее имя.
Сетевое оборудование, наделенное средствами динамического формирования виртуальных ЛС, дает возможность так определить конфигурацию сети, что независимо от того, к какому порту концентратора или коммутатора будет подключена станция-клиент, она получит те же IP-адрес и имя и попадет в состав заранее описанной виртуальной локальной сети. Распределение же MAC-адресов по виртуальным ЛС может задаваться самой конфигурацией сети. Другой вариант предполагает, что IP-адреса распознаются по пакетам, которые поступают от станций-клиентов.
Итак, различия между протоколом DHCP и технологией VLAN можно суммировать следующим образом:
Как ясно из этого краткого сравнения, одновременное использование в сети протокола DHCP (или его прообраза BOOTP) и средств VLAN может привести к серьезным конфликтам. Так, если группировка клиентов в виртуальные локальные сети осуществляется на основе IP-адресов источника (т.е. заранее заданной конфигурации), то получение конфигурационных данных по сети от DHCP-сервера исключается.
DHCP использует формат сообщение BOOTP, определенный в RFC-951 и представленный в таблице 1 и на рис. 1. Поле 'op' каждого сообщения DHCP, посланного клиентом серверу, содержит BOOTREQUEST. В поле 'op' DHCP-сообщения, посланного сервером клиенту, заносится BOOTREPLY.
Первые 4 октета поля 'опции' сообщения DHCP содержат (десятичные) коды 99, 130, 83 и 99, соответственно (это те же коды (magic cookie), что определены в RFC-1497 [17]). Остальная часть поля 'опции' состоит из списка помеченных параметров, которые называются "опции". Все "vendor extensions" перечисленные в RFC-1497, являются также опциями DHCP. Документ RFC-1533 предоставляет полный набор опций, определенных для использования с DHCP.
Несколько опций уже определено. Одной из них является опция "DHCP message type", которая должна включаться во все DHCP-сообщения. Эта опция определяет тип DHCP-сообщения. Дополнительные опции могут допускаться, требоваться или не разрешаться в зависимости от типа DHCP-сообщения.
В рамках данного документа, DHCP-сообщения, которые содержат опцию 'тип сообщения DHCP' будут восприниматься согласно типу сообщения; например, сообщение DHCP с типом опции равным 1 будет восприниматься как сообщение "DHCPDISCOVER".
Ниже рассматривается протокольный обмен между клиентом и сервером DHCP-сообщениями, описанными в таблице 2. Временная диаграмма на рис. 3 демонстрирует типичную схему взаимодействия клиента и сервера. Если клиент уже знает свой адрес, некоторые шаги могут быть опущены; такое упрошенное взаимодействие описано в разделе 3.2.
1. | Клиент широковещательно пересылает сообщение DHCPDISCOVER по локальной физической субсети. Сообщение DHCPDISCOVER может включать опции, которые предлагают значения для сетевого адреса и длительности его использования. Агент транспортировки BOOTP может передать сообщение DHCP-серверам, которые размещены за пределами данной физической субсети. |
2. | Каждый сервер может откликнуться сообщением DHCPOFFER, которое содержит сетевой адрес в поле 'yiaddr' (и другие конфигурационные параметры в опциях DHCP). Серверы не должны резервировать предлагаемый сетевой адрес, хотя протокол будет работать более эффективно, если сервер избегает присвоения предлагаемого сетевого адреса другому клиенту. При выделении нового адреса, серверы должны проверять, чтобы предлагаемый сетевой адрес не использовался где-то еще; например, сервер может протестировать предлагаемый адрес с помощью эхо-запроса ICMP. Серверы должны быть реализованы так, чтобы сетевые администраторы могли выбрать желательные тесты для вновь выделяемых адресов. Сервер отправляет клиенту сообщение DHCPOFFER, используя, если необходимо транспортные средства BOOTP. |
Таблица 2: Сообщения DHCP
Сообщение | Использование |
DHCPDISCOVER | Клиент посылает сообщение широковещательно, чтобы обнаружить доступный сервер. |
DHCPOFFER | Посылается сервером клиенту в ответ на сообщение DHCPDISCOVER и содержит предложение по конфигурационным параметрам. |
DHCPREQUEST | Сообщение клиента серверу либо (a) запрашивающее параметры от одного сервера и неявно отвергающее предложения других серверов, (b) подтверждающее корректность ранее присвоенного адреса после, например, перезагрузки системы, или (c) запрос расширения времени жизни конкретного сетевого адреса. |
DHCPACK | Посылается сервером клиенту и содержит конфигурационные параметры, включая присвоенный сетевой адрес. |
DHCPNAK | Посылается сервером клиенту, сообщая о том, что сетевой адрес не корректен (например, клиент переместился в новую субсеть), или время использования адреса клиентом истекло |
DHCPDECLINE | Клиент и сервер обнаружили, что сетевой адрес уже используется. |
DHCPRELEASE | Посылается клиентом серверу с целью отказа от сетевого адреса и аннулирует оставшееся время действия адреса. |
DHCPINFORM | Посылается клиентом серверу с просьбой о локальных конфигурационных параметрах; клиент уже имеет полученный извне сетевой адрес. |
Рис. 3. Временная диаграмма обмена сообщениями между DHCP-клиентом и сервером в ходе присвоения нового сетевого адреса
3. | Клиент получает одно или более сообщений DHCPOFFER от одного или более серверов. Клиент может предпочесть дождаться нескольких откликов. Клиент выбирает один сервер, которому пошлет запрос конфигурационных параметров, согласно предложению, содержащемуся в сообщении DHCPOFFER. Клиент широковещательно отправляет сообщение DHCPREQUEST, которое должно содержать опцию 'server identifier', чтобы указать, какой сервер им выбран, и которое может включать в себя другие опции, специфицирующие желательные конфигурационные значения. Опция 'requested IP-адрес' в сообщении сервера DHCPOFFER должна содержать значение 'yiaddr'. Сообщение DHCPREQUEST посылается широковещательно агентами транспортировки DHCP/BOOTP. Для того чтобы быть уверенным, что любой агент транспортировки BOOTP направляет сообщение DHCPREQUEST тому же набору DHCP-серверов, которые получили исходное сообщение DHCPDISCOVER, сообщение DHCPREQUEST должно использовать то же значение поля 'secs' заголовка DHCP-сообщения и должно посылаться по тому же широковещательному IP-адресу, что и оригинальное сообщение DHCPDISCOVER. Клиент реализует таймаут и повторно посылает сообщение DHCPDISCOVER, если не получает сообщений DHCPOFFER. |
4. | Серверы получают широковещательное сообщение DHCPREQUEST от клиента. Серверы, не выбранные сообщением DHCPREQUEST, используют сообщение как уведомления о том, что клиент отверг предложение сервера. Сервер, выбранный сообщением DHCPREQUEST, осуществляет запись конфигурационного набора клиента в постоянную память и реагирует сообщением DHCPACK, содержащим конфигурационные параметры для клиента, приславшего запрос. Комбинация 'client identifier' или 'chaddr' и присвоенного сетевого адреса представляет собой уникальный идентификатор для времени действия адреса клиента и используется клиентом и сервером для идентификации этого времени в любом DHCP-сообщении. Любые конфигурационные параметры в сообщении DHCPACK не должны конфликтовать с параметрами из сообщения DHCPOFFER, на которое клиент откликается. Сервер не должен проверять предложенный сетевой адрес. В поле 'yiaddr' сообщений DHCPACK записывается выбранный сетевой адрес. |
Если выбранный сервер не может адекватно реагировать на сообщение DHCPREQUEST (например, запрошенный сетевой адрес уже выделен), сервер должен реагировать посылкой сообщения DHCPNAK.
Сервер должен пометить адрес, предложенный клиенту в сообщении DHCPOFFER, как доступный, если сервер не получил от клиента никакого сообщения DHCPREQUEST.
5. | Клиент получает сообщение DHCPACK, содержащее конфигурационные параметры. Клиент должен выполнить окончательную проверку параметров (например, запустить ARP для выделенного сетевого адреса), и фиксировать длительность предоставления конфигурационных параметров, прописанную в сообщении DHCPACK. Клиент окончательно сконфигурирован. Если клиент обнаруживает, что адрес уже используется (например, с помощью ARP), он должен послать серверу сообщение DHCPDECLINE и повторно запустить процесс конфигурации. Клиент должен подождать как минимум 10 секунд, прежде чем заново начинать конфигурационную процедуру, чтобы избежать возникновения лишнего сетевого трафика. Если клиент получает сообщение DHCPNAK, клиент перезапускает конфигурационный процесс. |
Клиент реализует таймаут и повторно посылает сообщение DHCPREQUEST, если клиент не получает ни сообщения DHCPACK ни DHCPNAK. Клиент повторно посылает DHCPREQUEST согласно алгоритму повторной пересылки, описанному в разделе 4.1. Клиент должен выбрать число повторных передач сообщения DHCPREQUEST адекватным, чтобы обеспечить достаточную вероятность доступа к серверу, не заставляя клиента (и пользователя этого клиента) ждать слишком долго; например, клиент, осуществляя повторную пересылку так, как это описано в разделе 4.1, может повторно послать сообщение DHCPREQUEST четыре раза, при полной задержке 60 секунд, прежде чем повторно запустит процедуру инициализации. Если клиент не получает ни сообщения DHCPACK ни DHCPNAK после применения алгоритма повторной пересылки, клиент возвращается в исходное состояние и перезапускает процесс инициализации. Клиент должен уведомить пользователя о том, что процесс инициализации не прошел и делается повторная попытка.
6. | Клиент может решить отказаться от аренды сетевого адреса путем посылки серверу сообщения DHCPRELEASE. Клиент идентифицирует набор параметров, от которого он отказывается, с помощью своего идентификатора, или 'chaddr' и сетевого адреса в сообщении DHCPRELEASE. Если клиент использовал идентификатор клиента, когда он получил набор конфигурационных параметров, клиент должен использовать тот же идентификатор клиента (client identifier) в сообщении DHCPRELEASE. |
Если клиент помнит и желает использовать выделенный ранее сетевой адрес, он может опустить некоторые шаги, рассмотренные в предыдущем разделе. Временная диаграмма на рис. 4 показывает типовое взаимодействие клиента и сервера в случае повторного использования старого сетевого адреса.
1. | Клиент широковещательно рассылает по локальной субсети сообщение DHCPREQUEST. Сообщение включает в себя сетевой адрес клиента в опции 'requested IP-адрес'. Раз клиент не получил свой сетевой адрес, он не должен заполнять поле 'ciaddr'. Агенты транспортировки BOOTP передают сообщение DHCP-серверам за пределами данной субсети. Если клиент использует 'client identifier' для получения своего адреса, клиент должен использовать тот же 'client identifier' в сообщении DHCPREQUEST. |
2. | Серверы, которые знают конфигурационные параметры клиента, откликаются сообщением DHCPACK. Серверы не должны проверять, используется ли уже сетевой адрес клиента; клиент может реагировать посылкой запроса эхо ICMP. |
Рис. .4. Временная диаграмма обмена сообщениями между DHCP-клиентом и сервером при повторном присвоении ранее использованного сетевого адреса
Если запрос клиента не корректен (например, клиент переместился в другую субсеть), серверы должны реагировать посылкой клиенту сообщения DHCPNAK. Серверы не должны откликаться, если их информация не абсолютно надежна. Например, сервер, который идентифицирует запрос для набора параметров, который принадлежит другому серверу, и имеет истекший срок действия, сервер не должен реагировать сообщением DHCPNAK, если только серверы не используют явно механизм поддержания когерентности.
Если 'giaddr' в сообщении DHCPREQUEST равен 0x0, клиент находится в той же субсети, что и сервер. Сервер должен широковещательно послать сообщение DHCPNAK по адресу 0xffffffff, так как клиент может не иметь правильного сетевого адреса или сетевой маски, и клиент может не отвечать на ARP-запрос. В противном случае, сервер должен послать сообщение DHCPNAK по IP-адресу транспортного агента BOOTP, записанного в 'giaddr'. Транспортный агент, в свою очередь, переадресует сообщение непосредственно по аппаратному адресу клиента, так что DHCPNAK будет доставлен, даже если клиент переместился в другую сеть.
3. | Клиент получает сообщение DHCPACK, содержащее конфигурационные параметры. Клиент выполняет окончательную проверку параметров (как в разделе 3.1), и отмечает время действия конфигурации, специфицированное в сообщении DHCPACK. Значение времени действия неявно задается 'client identifier' или 'chaddr' и сетевым адресом. С этого момента клиент считается сконфигурированным. |
Если клиент обнаруживает, что IP-адрес в сообщении DHCPACK уже использован, клиент должен послать сообщение DHCPDECLINE серверу и повторно запустить процесс конфигурации, послав запрос на новый сетевой адрес. Это действие соответствует переходу клиента в состояние INIT на диаграмме состояния DHCP, которая описана в разделе 4.4.
Если клиент получает сообщение DHCPNAK, он не может повторно использовать свой запомненный сетевой адрес. Он должен вместо этого запросить новый адрес путем повторного запуска конфигурационного процесса. Это действие соответствует переходу клиента в состояние INIT на диаграмме состояния DHCP.
Клиент выполняет таймаут и повторно посылает сообщение DHCPREQUEST. Если клиент не получает ни сообщения DHCPACK, ни DHCPNAK, клиент, согласно алгоритму из раздела 4.1, повторно посылает сообщение DHCPREQUEST. Клиент должен выбрать число повторных передач сообщения DHCPREQUEST адекватным, чтобы обеспечить достаточную вероятность доступа к серверу, не заставляя клиента (и пользователя этого клиента) ждать слишком долго. Например, клиент, осуществляя повторную пересылку так, как это описано в разделе 4.1, может повторно передать сообщение DHCPREQUEST четыре раза при полной задержке 60 секунд, прежде чем повторно запустит процедуру инициализации. Если клиент после повторной пересылки не получил ни сообщения DHCPACK, ни DHCPNAK, он может решить использовать присвоенный ранее сетевой адрес и конфигурационные параметры вплоть до истечения срока их действия. Это соответствует переходу в состояние BOUND на диаграмме состояний клиента, показанной на рис. 5.
4. | Клиент может решить отказаться от сетевого адреса путем посылки серверу сообщения DHCPRELEASE. Клиент идентифицирует набор параметров, от которого он отказывается, с помощью 'идентификатора клиента', или 'chaddr' и сетевого адреса в сообщении DHCPRELEASE. |
Заметим, что в случае, когда клиент сохраняет свой сетевой адрес локально, при корректном прерывании сессии (shutdown) он не должен отказываться от конфигурационного набора. Только в случае, когда клиенту нужно отказаться от конфигурационного набора, например, клиент намеривается перейти в другую субсеть, он будет должен послать сообщение DHCPRELEASE.
Клиент получает сетевой адрес на определенный период времени (который может быть бесконечным). В данном протоколе время измеряется в секундах. Значение времени 0xffffffff зарезервировано для обозначения бесконечности.
Так как клиент и сервер могут не иметь синхронизованных часов, значения времени в DHCP-сообщения являются относительными, и должны интерпретироваться с учетом показаний локальных часов клиента. Время измеряется в секундах и представляется в виде 32-битных кодов без знака. Это позволяет описывать относительные интервалы времени от 0 до примерно 100 лет, что вполне приемлемо для целей протокола DHCP.
Алгоритм интерпретации времени действия конфигурационного набора, представленный в предыдущем параграфе, предполагает, что часы клиента и сервера стабильны относительно друг друга. Если имеется относительный дрейф этих часов, сервер может считать время действия конфигурационного набора исчерпанным, а клиент - нет. Чтобы компенсировать такого рода эффект, сервер может послать клиенту значение времени действия короче того, которое он записывает в свою базу данных.
Если клиент получил сетевой адрес каким-то другим образом (например, при ручной конфигурации), он может использовать запрос-сообщение DHCPINFORM, чтобы получить другие локальные конфигурационные параметры. Серверы, получив сообщение DHCPINFORM, формируют сообщение DHCPACK с любыми конфигурационными параметрами, приемлемыми для клиента. При этом сетевой адрес не присваивается, не проверяется существующий набор параметров, не заполняется 'yiaddr' и не задаются параметры времени действия конфигурационного набора. Серверы должны послать ответ DHCPACK по уникастному адресу, заданному в поле 'ciaddr' сообщения DHCPINFORM.
Сервер в целях совместимости должен проверить сетевой адрес в сообщении DHCPINFORM, но не должен проверять существующее значение времени действия конфигурационного набора. Сервер формирует сообщение DHCPACK, содержащее конфигурационные параметры для клиента, приславшего запрос, и посылает сообщение DHCPACK непосредственно клиенту.
Не все клиенты требуют инициализации всех параметров, перечисленных в приложении A. Используются два способа сокращения числа параметров, пересылаемых от сервера клиенту. 1. Большинство параметров имеет значения по умолчанию, определенные в Host Requirements RFC; если клиент не получил параметров от сервера, которые переписывают значения по умолчанию, клиент использует эти значения. Об этом говорит сайт https://intellect.icu . 2. В своем исходном сообщении DHCPDISCOVER или DHCPREQUEST, клиент может предоставить серверу список специфических параметров, которые ему нужны. Если клиент включает список параметров в сообщение DHCPDISCOVER, он должен включать этот список в любое последующее сообщение DHCPREQUEST.
Клиент должен включить опцию 'maximum DHCP message size', чтобы позволить серверу знать, максимальный размер его DHCP-сообщений. Параметры, присланные в ответ клиенту, могут иметь размер больший, чем выделено для опций в сообщении DHCP. В этом случае, два дополнительных опционных флага (которые должны присутствовать в поле 'опции' сообщения) индицируют, что для опций должны использоваться поля 'file' и 'sname'.
Клиент может проинформировать сервер о том, в каких конфигурационных параметрах заинтересован клиент, включив опцию 'parameter request list'.
Кроме того, клиент может предложить значения для сетевого адреса и времени его действия в сообщении DHCPDISCOVER. Клиент может включить опцию 'requested IP-адрес', чтобы предложить конкретное значение IP-адреса, которое он хотел бы получить, и может включить опцию 'IP-адрес lease time', чтобы предложить предпочтительное значение времени действия конфигурационного набора. Другие опции, представляющие рекомендации по конфигурационным параметрам, допустимы в сообщении DHCPDISCOVER или DHCPREQUEST. Однако дополнительные опции могут игнорироваться серверами, и разные серверы могут прислать различные отклики на одни и те же опции. Опция 'requested IP-адрес' должна заноситься только в сообщение DHCPREQUEST, когда клиент проверяет конфигурационные параметры, полученные ранее. Клиент заполняет поле 'ciaddr', только когда он имеет корректный IP-адрес в состояниях BOUND, RENEWING или REBINDING.
Если сервер получает сообщение DHCPREQUEST с некорректным 'запрошенным IP-адресом', он должен прислать клиенту сообщение DHCPNAK и может уведомить о проблеме системного администратора. Сервер может включить код ошибки в опцию сообщения.
Клиент с несколькими сетевыми интерфейсами должен использовать DHCP для получения конфигурационных параметров через каждый из интерфейсов независимо.
Клиент должен использовать DHCP для нового запроса или верификации своего IP-адреса и сетевых параметров всякий раз, когда локальные конфигурационные параметры изменились; например, во время перезагрузки системы или после сетевого разрыва, так как локальная сетевая конфигурация может измениться без информирования об этом клиента или пользователя.
Если клиент знает предыдущий сетевой адрес и не может контактировать с локальным DHCP-сервером, клиент может продолжать использовать предыдущий сетевой адрес до тех пор, пока время действия адреса не истечет. Если время действия исчерпано до того, как клиент смог контактировать с DHCP-сервером, клиент должен немедленно прекратить использование текущего сетевого адреса и может проинформировать о данной проблеме локального пользователя.
Источники информации
Спецификация протокола DHCP описана в RFC 2131 и ряде вспомогательных документов, перечень и тексты которых можно найти в Internet по адресу http://www.ietf.org/html.charters/dhc-charter.html. Там же имеется обширный список предварительных спецификаций (Internet Drafts), регламентирующих различные аспекты работы данного протокола.
Документы RFC содержатся и на ряде других Web-серверов, например http://info.internet.isi.edu/ls/in-notes/rfc/; http://www.cis.ohio-state.edu/hypertext/information/rfc.html; http://www.pmg.lcs.mit.edu/rfc.html.
Подборка документов Internet Drafts по протоколу DHCP размещена на серверах ftp.bucknell.edu/pub/dhcp/и http://www.bucknell.edu/~droms/dhcp/.
Информация по протоколу DHCP, что называется, из первых рук, а также многие вспомогательные материалы доступны на сервере соответствующей рабочей группы: http://www.dhcp.org.
Служба Assigned Numbers Authority (IANA) заблокировала 169.254.0.0-169.254.255.255 для автоматического назначения частных IP-адресов. В результате APIPA предоставляет адрес, который гарантирует не конфликт с направляемыми адресами. Но, если DHCP не работает, а настройки IP-адреса установлены на "Автоматически получить IP-адрес", то Windows будет пытаться получить IP-адрес с DHCP сервера, но если это не удастся, то будет использовать APIPA (Automatic Private IP Addressing). APIPA присваивает устройству IP-адрес из диапазона 169.254.0.1 до 169.254.255.254. Это позволяет устройствам в локальной сети связываться друг с другом, но не без обмена пакетами с устройствами за пределами этой локальной сети или с Интернетом.
Пример 1. нет предыдущего IP-адреса и DHCP-сервера
при инициализации компьютера на основе Windows (настроенного для DHCP) он выполняет вещание трех или более "discover" сообщений. если DHCP-сервер не отвечает после вещания нескольких сообщений discover, Windows компьютер назначает себе адрес класса B (APIPA). затем Windows компьютер отобразит сообщение об ошибке для пользователя компьютера (ему не назначен IP-адрес с сервера DHCP). после этого Windows компьютер будет отсылать сообщение Discover каждые три минуты при попытке установить связь с DHCP-сервером.
Компьютер проверяет наличие DHCP-сервера и, если он не найден, предпринимается попытка обратиться к шлюзу по умолчанию. если шлюз по умолчанию отвечает, то на Windows компьютере будет сохранен IP-адрес, по которому ранее был арендован. Однако если компьютер не получает ответ от шлюза по умолчанию или не назначен, то он использует функцию автоматического частного IP-адресации, чтобы назначить себе IP-адрес. Пользователю предоставляется сообщение об ошибке, и сообщения обнаружения передаются каждые 3 минуты. Когда DHCP-сервер поступает в строке, создается сообщение о том, что обмен данными с DHCP-сервером был восстановлен.
компьютер на основе Windows пытается повторно установить аренду IP-адреса. если Windows компьютер не находит сервер DCHP, он назначает себе IP-адрес после создания сообщения об ошибке. Затем компьютер передает четыре сообщения Discover и через каждые 5 минут повторяет всю процедуру до тех пор, пока DHCP-сервер не выйдет из системы. После этого создается сообщение о том, что обмен данными с DHCP-сервером был восстановлен.
В общем, мой друг ты одолел чтение этой статьи об dhcp. Работы впереди у тебя будет много. Смело пиши комментарии, развивайся и счастье окажется в твоих руках. Надеюсь, что теперь ты понял что такое dhcp, протокол динамической настройки узла, apipa и для чего все это нужно, а если не понял, или есть замечания, то не стесняйся, пиши или спрашивай в комментариях, с удовольствием отвечу. Для того чтобы глубже понять настоятельно рекомендую изучить всю информацию из категории Компьютерные сети
Комментарии
Оставить комментарий
Компьютерные сети
Термины: Компьютерные сети