Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Сети_лекции2.doc
Скачиваний:
146
Добавлен:
11.03.2015
Размер:
25.77 Mб
Скачать

7.4. Протокол dhcp

IP-адреса могут назначаться сетевым узлам статически и динами­чески. При статическом назначении администратор сети вручную назначает IP-адреса для каждого узла в сети. Вместо этого можно назначать IP-адреса динамически посредством протокола DHCP.

Протокол DHCP (Dynamic Host Configuration Protocol - протокол динамической конфигурации узла) - протокол прикладного уровня стека протоколов TCP/IP. позволяющий динамически присваивать IP-адреса и другие сопутствующие параметры конфигурации для сетевых узлов. Например, часто в качестве параметров используют маску под­сети, IP-адреса основных шлюзов (маршрутизаторов) и DNS-серверов.

Рис. 7.8. Формат сообщения DHCP

Протокол DHCP является клиент-серверным, то есть в его работе участвуют DHCP-клиент и DHCP-сервер. Передача сообщения DHCP (формат, которого приводится на рис. 7.8) осуществляется посред­ством транспортного протокола UDP, при этом сервер принимает со­общения на порт 67, а отправляет на порт 68. Поле «Код операции» может принимать два значения: BOOTREQUEST (1, запрос от клиента к серверу) и BOOTREPLY (2, ответ от сервера к клиенту). Длина поля 1 байт.Поле «Тин физического адреса» (Hardware Туре) определяет тип физического адреса, указанного в поле «Физический адрес клиента». Длина поля 1 байт. Допустимые значения этого поля определены в документе RFC 17(Ю. Например, для МАС-адреса это поле принимает значение 1.

Поле «Длина физического адреса» (Hardware Address Length) со­держит число в байт, которые выделены под физический адрес клиен­та. Для МАС-адреса значение этого поля равно 6. Дтина поля 1 байт.

Поле «Количество транзитов» (Hops) содержит количество про­межуточных маршрутизаторов, через которые прошло сообщение. Клиент устанавливает это поле в 0. Длина поля 1 байт.

Поле «Идентификатор транзакции» (Transaction ID) позволяет соотнести последующие ответы с запросом в рамках одной DHCP-транзакции. Значение этого поля задается клиентом в начале процесса получения IP-адреса. Длина поля 4 байта.

Поле «Количество секунд» (Seconds) содержит время в секундах с момента начала процесса получения IP-адреса. Может не использо­ваться (в этом случае оно устанавливается в 0). Длина поля 2 байта.

Поле «Флаги» содержит флаги специальных параметров протоко­ла DHCP. Дтина поля 2 байта. Старший бит определен как флаг BROADCAST, а остальные биты зарезервированы для будущего при­менения и должны быть равны 0. Флаг BROADCAST устанавливается в 1 если клиент требует широковещательного ответа.

Поле «IP-адрес клиента» (Client IP Address) заполняется только в том случае, если клиент уже имеет собственный IP-адрес (это воз­можно, если клиент выполняет процедуру обновления адреса по исте­чении срока аренды). Дтина поля 4 байта. Поле «Ваш IP-адрес» (Your IP Address) содержит IP-адрес предлагаемый или уже назначенный сервером. Длина поля 4 байта.

Поле «IP-адрес сервера» (Server IP Address) заполняется сервером при ответе на запрос. Длина поля 4 байта. Поле «IP-адрес шлюза» (Gateway IP Address) задает адрес агента-ретранслятора DHCP, кото­рому сервер должен посылать ответы в случае, если клиент и сервер находятся в различных подсетях. Дтина поля 4 байта. Поле «Физиче­ский адрес клиента» (Client Hardware Address) обычно содержит МАС-адрес. Дтина ноля 16 байт.

Необязательное поле «Имя сервера» (Server Host Name) имя сер­вера в виде ASCIZ-строки. Дтина поля может достигать 64 байга.

Необязательное поле «Имя файла загрузки» (Всю! File Name) со­держит имя файла на сервере, используемое бездисковыми рабочими станциями при удаленной загрузке. Представлено в виде ASCIZ-строки. Длина поля до 128 байт.

Поле «Опции» (Options) содержит различные дополнительные па­раметры конфигурации. Все они описаны в документе RFC 2132. В начале этого поля указываются четыре «магических» числа со значе­ниями 99, 130, 83, 99, позволяющих DHCP-серверу определить нали­чие этого поля. Поле имеет неременную длину.

Процесс выдачи IP-адреса

Выдача IP-адреса в аренду производится по запросу клиента. DHCP-сервер (или группа серверов) гарантирует, что выделенный ад­рес до истечения срока его аренды не будет выдан другому клиенту. При повторных обращениях сервер старается предложить клиенту ад­рес, которым тот пользовался ранее. Клиент может запросить продле­ние срока аренды IP-адреса либо, наоборот, досрочно отказаться от него. При острой нехватке адресов DHCP-сервер может сократить срок аренды IP-адреса по сравнению с запрошенным.

Рассмотрим пример процесса выдачи IP-адреса клиенту DHCP-сервером. Последовательность событий в этом случае приводится на рис. 7.9. Предположим, клиент еще не имеет собственного IP-адреса.

Старт иниц иализац ии

Вначале клиент отправляет сообщение типа DIICPDISCOVER на широковещательный адрес всем узлам сети с целью обнаружить до­ступные DIICP-серверы. При этом в качестве IP-адреса клиента указы­вается 0.0.0.0 (так как клиент еще не имеет собственного IP-адреса). В поле «Аппаратный адрес клиента» помещается МАС-адрес клиента.

Определение конфигурац ии

Получив запрос от клиента, DHCP-сервер определяет требуемую конфигурацию клиента в соответствии с указанными администратором сети настройками. После чего, клиенту на его МАС-адрес отправляет­ся сообщение типа DHCPOFFER, в котором предлагается IP-адрес. Предлагаемый IP-адрес указывается в поле «Ваш IP-адрес». Прочие параметры (такие, как адреса маршрутизаторов и DNS-серверов) ука­зываются в виде опций в соответствующем поле.

Выбор конфигурации

Клиент может получить несколько различных предложений от разных DHCP-серверов. Выбрав одну из предложенных конфигураций.

клиент отправляет на широковещательный адрес всем узлам сети со­общение типа DHCPREQUEST. При этом в поле «Опции» указывают­ся IP-адрес DHCP-сервера, выбранного клиентом.

Сервер

Рис. 7.9. Последовательность событий при выделении IP-адреса

Выполнение конфигурации

Наконец, DHCP-сервер, подтверждая запрос, отправляет клиенту на его МАС-адрес сообщение типа DHCPACK. При этом в поле «Оп­ции» указываются предложенные IP-адрес и прочие параметры. После этого клиент должен настроить свой сетевой интерфейс, используя предоставленные опции.

7.5. Протокол ARP

Протокол ARP (Address Resolution Protocol - протокол определе­ния адреса) - протокол сетевого уровня стека протоколов TCP/IP, предназначенный для определения МАС-адреса по известному IP-адресу.

Если требуется определить МАС-адрес по известному IP-адресу, то ищется соответствующая запись в специальной ARP-таблице, кото­рая есть у каждого узла сети. В этой таблице содержатся IP-адреса и

соответствующие им МАС-адреса всех узлов сети. Когда в ARP-таблице не удается найти IP-адрес, то происходит следующее:

  1. Узел, которому нужно выполнить преобразование IP-адреса в МАС-адрес, формирует ARP-запрос, указывая в нем искомый IP-адрес, и рассылает запрос по широковещательному МАС-адресу.

  2. Все узлы данной сети получают ARP-запрос и сравнивают указан­ный в нем IP-адрес с собственным.

  3. В случае совпадения адресов узел формирует ARP-ответ, в кото­ром указывает свой IP-адрес и свой МАС-адрес и отправляет его по указанному в ARP-запросе МАС-адресу отправителя.

  4. В случае если в сети нет узла с искомым IP-адресом, то ARP-ответа не будет и не будет записи в ARP-таблице. IP-пакеты, направляемые по этому адресу, будут уничтожаться.

Формат ARP-накета

На рис. 7.10 приводится формат ARP-пакета, используемого в за­просах и ответах протокола ARP.

Рис. 7.10. Формат ARP-пакета

Поле «Тин аппаратного адреса» определяет тип используемого физического адреса. Для МАС-адреса это поле принимает значение 1.

Поле «Тин сетевого адреса» определяет тип сетевого адреса. Для адреса протокола IPv4 это поле принимает значение 2048.

Поле «Длина физического адреса» определяет количество байт выделенное для физического адреса. Например, МАС-адреса имеют длину 6 байт. Поле «Длина сетевого адреса» определяет количество байт выделенное для сетевого адреса. Например, адреса протокола IPv4 имеют длину 4 байта.

Поле «Код операции» принимает значение 1 в случае запроса и 2 в случае ответа. Последние четыре поля определяют MAC- и IP-адреса отправителя и получателя.