Автоматизированная настройка TCPIP BOOTP Динамическая настройка DHCP

Министерство образования Российской Федерации Тольяттинский Государственный Университет Кафедра «Информатика и ВТ»
Индивидуальное домашнее задание «Автоматизированная настройка TCP/IP. BOOTP. Динамическая настройка (DHCP)»
Выполнила:
Проверил:
г. о. Тольятти 2009
Содержание
1. Автоматизированная настройка TCP/IP
1.1 Динамическая настройка конфигурации с применением BOOTP
1.2 IP-адреса запросов/ответов ВООТР
1.3 Потеря сообщений ВООТР
1.4 Формат сообщения ВООТР
1.5 Фазы ВООТР
1.6 Дополнительные данные
2. Динамическая настройка (DHCP)
2.1 Распределение IP-адресов в DHCP
2.2 Назначение IP-адресов в DHCP
2.3 Формат сообщения DHCP
2.4 Трассировка протокола DHCP
Литература
1. Автоматизированная настройка TCP/IP
Настройка параметров TCP/IP для каждой станции в большой сети обычно сопряжена с тяжелой и долгой работой, особенно когда возникает необходимость в изменении таких параметров TCP/IP, как IP-адреса и маски подсетей. Изменения могут быть обусловлены кардинальной реструктуризацией сети или наличием в ней многочисленных мобильных пользователей с портативными компьютерами, которые могут подключаться к любому сегменту сети. Возможны как физические, так и беспроводные подключения. Поскольку параметры конфигурации TCP/IP компьютера зависят от того, к какому сегменту он подключен, переход компьютера в другой сегмент сети должен сопровождаться соответствующим изменением параметров.
Только компетентный сетевой администратор хорошо понимает все последствия, к которым приводит изменение параметров TCP/IP. Группа IETF разработала для объединенных сетей TCP/IP несколько протоколов автоматической настройки, в том числе ВООТР (Boot Protocol) и DHCP (Dynamic Host Configuration Protocol).
1.1 Динамическая настройка конфигурации с применением BOOTP
Протокол ВООТР проектировался для того, чтобы протоколы IP (Internet Protocol) и UDP (User Datagram Protocol) могли использоваться для передачи информации компьютерам, желающими настроить свою конфигурацию. Компьютер, сгенерировавший запрос, называется клиентом ВООТР, а компьютер, ответивший на запрос клиента, называется сервером ВООТР (рис.1 «Клиенты и серверы ВООТР»).
Целью клиентского запроса ВООТР является получение значений параметров IP для компьютера, на котором работает клиент ВООТР.
Протокол ВООТР описан в RFC 951. Обновленная информация содержится в RFC 2132, RFC 1532, RFC 1542 и RFC 1395.
/>
1.2 IP-адреса запросов/ответов ВООТР
Сообщения ВООТР инкапсулируются в заголовках UDP, идентифицирующих номер порта, используемого процессами ВООТР. Дейтаграмма UDP
инкапсулируется в заголовке IP. Но какие адреса отправителя и получателя используются в заголовке IP? Интересный вопрос, потому что при выдаче запроса клиент ВООТР должен указать эти адреса. Как правило, клиент ВООТР не знает своего IP-адреса и указывает вместо него 0.0.0.0. Если же адрес известен, он используется в клиентском запросе ВООТР.
Известен ли IP-адрес сервера клиенту ВООТР? В общем случае неизвестен.
Это особенно верно по отношению к ситуациям, когда клиент ВООТР представляет собой бездисковую рабочую станцию и не располагает средствами для определения адреса сервера. Впрочем, если адрес сервера ВООТР может настраиваться на уровне рабочей станции, он используется клиентом ВООР. Если клиент ВООТР не знает IP-адрес сервера ВООТР, он использует ограниченную рассылку IP. В качестве адреса ограниченной рассылки используется следующее значение: 255.255.255.255
Пакеты, отправленные по адресу ограниченной (локальной) рассылки, принимаются всеми IP-узлами локального сегмента сети, включая серверы ВООТР.
А если сервер ВООТР находится в другой подсети IP, за граничным маршрутизатором? Как говорилось выше, ограниченная рассылка за маршрутизатор не распространяется. Для таких случаев на маршрутизаторе работает агент-ретранслятор ВООТР (ВООТР relay agent), который проверяет, используется ли в дейтаграмме ограниченной рассылки приемный порт UDP с номером 67 (порт зарезервирован для BOOTP/DHCP). Если условие выполняется, ограниченная рассылка перенаправляется в сетевые интерфейсы маршрутизатора (рис.2 «Пересылка сообщений ВООТР через граничный маршрутизатор»).
/>
Сервер ВООТР, находящийся в локальной сети, может ответить на запрос клиента ВООТР. Будет ли в этом сообщении использоваться IP-адрес клиента?
Иначе говоря, может ли сервер ВООТР послать направленный ответ? Все зависит от реализации сервера ВООТР.
Сервер знает IP-адрес клиента, хранящийся в базе данных конфигурации ВООТР. Почему же он не может использовать этот адрес для посылки направленного ответа клиенту? Дело в том, что в момент отправки сервером запроса ARP на получение аппаратного адреса клиента ВООТР клиент ответить не может. Почему? Потому что он еще не знает своего IP-адреса. Сервер ВООТР получает аппаратный адрес клиента из заголовка канального уровня в сообщении клиента ВООТР. Реализация сервера ВООТР может добавить запись с информацией о клиенте ВООТР в кэш ARP (рис.3 «Изменение кэша ARP сервером ВООТР»). При наличии такой записи сервер ВООТР может использовать направленный ответ.
Модификация кэша ARP используется в реализации ВООТР для BSD Unix.
/>
Если сервер ВООТР не изменяет содержимое кэша ARP, ответ рассылается в широковещательном режиме.
1.3 Потеря сообщений ВООТР
В своей работе ВООТР использует протоколы UDP и IP, не гарантирующие доставки сообщений. В результате возможна потеря, задержка, дублирование или нарушение последовательности сообщений ВООТР. Поскольку контрольная сумма IP обеспечивает проверку целостности только заголовка, но не поля данных, реализация ВООТР может потребовать активизации контрольной суммы UDP, защищающей от ошибок во всем сообщении ВООТР.
При отправке запросов клиент ВООТР устанавливает флаг запрета фрагментации (DF), чтобы упростить обработку ответов ВООТР, а также на случай нехватки памяти для сбора фрагментированных дейтаграмм.
Для борьбы с потерей сообщений в ВООТР используется механизм тайм-аута с повторной передачей. Отправляя запрос, клиент ВООТР запускает таймер.
Если ответ ВООТР будет получен до истечения интервала тайм-аута, отсчет прекращается; в противном случае ВООТР передает запрос заново.
Одновременный запуск нескольких клиентов ВООТР может привести к переполнению сети широковещательными запросами ВООТР. Чтобы этого не произошло, в спецификации ВООТР рекомендуется использовать случайную задержку, начальная продолжительность которой составляет от нуля до четырех секунд. При каждой последующей повторной отправке интервал удваивается до тех пор, пока он не достигнет достаточно большой величины (например, 60 секунд). При достижении верхней границы продолжительность интервала перестает удваиваться, но случайная задержка в итоговом интервале продолжает применяться. Внесение случайной задержки помогает предотвратить одновременное поступление запросов со стороны клиентов ВООТР, повышающих нагрузку на сервер и порождающих конфликты пакетов в Ethernet. Удвоение продолжительности случайного интервала предотвращает перегрузку сети многочисленными широковещательными запросами со стороны многих клиентов ВООТР.
1.4 Формат сообщения ВООТР
На рис.4 «Формат сообщения BOOT» изображена структура сообщения ВООТР. Отдельные поля сообщения описаны в табл.1 «Поля сообщений ВООТР».
/>
Поле
Длина в октетах
Описание
ор
1
Тип сообщения: 1 — запрос (BOOTREQUEST), 2 — ответ (BOOTREPLY)
htype
1
Тип аппаратного адреса. Значения совпадают со значениями аналогичного поля в пакетах ARP. Например, код 1 соответствует сети Ethernet 10 Мбит/с
hlen
1
Длина аппаратного адреса в октетах. Аппаратные адреса Ethernet и Token Ring имеют длину 6 байт
hops
1
Поле обнуляется клиентом ВООТР. Может использоваться агентом-ретранслятором, работающим на маршрутизаторе, при пересылке сообщений ВООТР
xid
1
Код транзакции — случайное число, задаваемое клиентом ВООТР при построении сообщения. Сервер ВООТР использует код транзакции в своих ответах клиенту. Наличие кода xid позволяет клиентам и серверам ВООТР связать сообщение ВООТР с ответом
secs
1
Заполняется клиентом ВООТР. Содержит количество секунд, прошедших с начала загрузки клиента

2
Не используется
ciaddr
4
IP-адрес клиента ВООТР. Заполняется клиентом в сообщении BOOTREQUEST, предназначенном для проверки использования ранее назначенных параметров конфигурации. Если клиент не знает свой IP-адрес, полю присваивается
yiaddr
4
IP-адрес клиента ВООТР, возвращаемый сервером ВООТР
siaddr
4
IP-адрес сервера. Значение присваивается клиентом ВООТР, если клиент хочет связаться с конкретным сервером ВООТР. IP-адрес сервера ВООТР может храниться в конфигурационной базе данных TCP/IP на клиенте ВООТР. Сервер может вернуть адрес следующего сервера, с которым следует связаться в процессе загрузки, — например, адрес сервера, на котором хранится загрузочный образ операционной системы–PAGE_BREAK—-PAGE_BREAK—-PAGE_BREAK–
hlen
1
Длина аппаратного адреса в октетах. Аппаратные адреса Ethernet и Token Ring имеют длину 6 байт
hops
1
Поле обнуляется клиентом DHCP. Может использоваться агентом-ретранслятором, работающим на маршрутизаторе, при пересылке сообщений DHCP
xid
1
Код транзакции — случайное число, задаваемое клиентом DHCP при построении сообщения. Сервер DHCP использует код транзакции в своих ответах клиенту. Наличие кода xid позволяет клиентам и серверам DHCP связать сообщение DHCP с ответом
seсs
1
Заполняется клиентом DHCP. Содержит количество секунд, прошедших с начала загрузки клиента
flags
2
Если крайний левый бит равен 1, сообщение является широковещательным. Все остальные биты должны быть равны 0
ciaddr
4
IP-адрес клиента DHCP. Заполняется клиентом в сообщении DHCPREQUEST, предназначенном для проверки использования ранее назначенных параметров конфигурации. Если клиент не знает свой IP-адрес, полю присваивается 0
yiaddr
4
IP-адрес клиента DHCP, возвращаемый сервером DHCP
siaddr
4
IP-адрес сервера. Значение присваивается клиентом DHCP, если клиент хочет связаться с конкретным сервером DHCP. IP-адрес сервера DHCP может быть получен при помощи сообщений DHCPOFER и DHCPACK, ранее возвращенных сервером. Сервер может вернуть адрес следующего сервера, с которым следует связаться в процессе загрузки, — например, адрес сервера, на котором хранится загрузочный образ операционной системы
giaddr
4
IP-адрес маршрутизатора, на котором работает агент-рретранслятор DHCP
chaddr
16
Аппаратный адрес клиента DHCP.16 октетов зарезервированы для того, чтобы данное поле позволяло представлять различные типы аппаратных адресов. В архитектурах Ethernet и Token Ring используются только 6 октетов
sname
64
Необязательное имя сервера (если оно известно клиенту DHCP).
Хранится в формате строки, завершенной нуль-символом
file
128
Имя загрузочного образа. Хранится в формате строки, завершенной нуль-символом. Если клиент DHCP хочет загрузить образ операционной системы, принятый с сетевого устройства, он может задать в DHCPDISCOVER обобщенное имя — например, «unix» для загрузки образа Unix. На сервере DHCP может храниться дополнительная информация о конкретной операционной системе, необходимой для этой рабочей станции. Ответ сервера DHCP может возвращаться в виде полностью определенного имени файла в сообщении DHCPOFFER
options
312
Дополнительные параметры
Большинство сообщений DHCP, передаваемых сервером DHCP клиенту, являются направленными (то есть посылаются на один конкретный IP-адрес). Это объясняется тем, что сервер DHCP узнает адрес клиента DHCP из сообщений, отправляемых клиентом серверу. Клиент DHCP может потребовать, чтобы сервер отвечал по адресу широковещательной рассылки, для чего крайний левый бит поля options устанавливается в 1. Клиент DHCP поступает подобным образом, если он еще не знает своего IP-адреса. Модуль IP на клиенте DHCP отвергает полученную дейтаграмму, если IP-адрес получателя, указанный в дейтаграмме, не совпадает с IP-адресом сетевого интерфейса клиента DHCP. Если IP-адрес сетевого интерфейса неизвестен, дейтаграмма также отвергается. С другой стороны, модуль IP принимает любые широковещательные дейтаграммы DHCP. Следовательно, чтобы модуль IP заведомо принимал ответ сервера DHCP, когда IP-адрес еще не настроен, клиент DHCP должен потребовать, чтобы сервер отправлял широковещательные сообщения вместо направленных.
Поле options имеет переменную длину. Его минимальный размер увеличен до 312 октетов, чтобы общий минимальный размер сообщения DHCP составлял 576 октетов — минимальный размер дейтаграммы IP, принимаемой хостом. Если клиент DHCP должен использовать сообщения большего размера, он согласовывает максимальный размер при помощи специального параметра. Поскольку поля sname и file довольно велики, но используются не всегда, область параметров можно расширить в эти поля при помощи параметра Option Overload. Если этот параметр присутствует, обычный смысл полей sname и field игнорируется и в этих полях ищутся параметры в формате TLV (Type, Length, Value).
Из рис.9 «Формат параметра в сообщениях DHCP» видно, что в DHCP параметр представляется полем типа A октет), за которым следует поле длины A октет). Значение поля длины определяет размер поля значения. Различные сообщения DHCP представляются специальным кодом типа 53. Значения параметров, определяющих сообщения DHCP, приведены на рис.10 «Значения параметров в сообщениях DHCP».
/>
2.4 Трассировка протокола DHCP
В этом разделе описан формат сообщений DHCP для пакетов, используемых в реально существующей сети. Помимо указанных в табл.3, вам могут встретятся обозначения:
Destination IP Address — IP-адрес получателя Source IP Address — IP-адрес отправителя Ethernet Header — заголовок Ethernet
UDP Header — заголовок UDP
UDP Source Port — UDP-порт отправителя UDP Destination Port — UDP-порт получателя Ethernet type — тип Ethernet
/>
Рис.10 «Значения параметров в сообщениях DHCP»
Протокол DHCP и формат его пакетов являются расширениями ВООТР. Клиенты и серверы DHCP используют те же номера портов, что и клиенты и серверы ВООТР, то есть клиенты DHCP использует порт UDP с номером 68, а серверы DHCP — порт UDP с номером 67. Большинство анализаторов протоколов расшифровывает сообщения DHCP и BOOT в одном формате.
Заключение Протоколы ВООТР и DHCP решают важную проблему автоматической настройки параметров IP (в частности, IP-адресов и масок подсети) для отдельных сетевых устройств. Оба протокола основаны на архитектуре «клиент-сервер» и используют одинаковые номера портов UDP. Протокол DHCP проектировался в качестве замены старого протокола ВООТР, а его сообщения представляют собой расширение формата сообщений ВООТР.
Главное преимущество DHCP заключается в том, что этот протокол позволяет арендовать IP-адреса на временной основе. Тем самым обеспечивается более гибкое управление IP-адресами в ситуациях, когда IP-адреса не обязаны жестко ассоциироваться с конкретным компьютером по аппаратному адресу. Механизм назначения IP-адресов в ВООТР менее гибок, поскольку IP-адрес связывается с аппаратным адресом сетевого интерфейса.
Литература
G. Stump, R. Droms, Y. Gu, R., Vyaghrapuri, A. Demirtjis, B. Beser, J. Privat. The User Class Option for DHCP, RFC-3004, November 2000.
M. Patrick, DHCP Relay Agent Information Option. RFC-3046, January 2001.
S. Alexander, DHCP Options and BOOTP Vendor Extensions, RFC-2132
T. Parker, TCP/IP для профессионалов, May 2000.© 2007 www.script-coding. info
www.dhcp-handbook.com/dhcp_faq.html
ru. wikipedia.org/wiki/DHCP
kunegin. narod.ru/nata/tcpip_prof. pdf
www.bog. pp.ru/work/bootp.html Ссылки (links):
www.dhcp-handbook.com/dhcp_faq.htmlkunegin.narod.ru/nata/tcpip_prof.pdf