IP-адреса запросов/ответов ВООТР




Автоматизированная настройка TCP/IP

 

Настройка параметров TCP/IP для каждой станции в большой сети обычно сопряжена с тяжелой и долгой работой, особенно когда возникает необходимость в изменении таких параметров TCP/IP, как IP-адреса и маски подсетей. Изменения могут быть обусловлены кардинальной реструктуризацией сети или наличием в ней многочисленных мобильных пользователей с портативными компьютерами, которые могут подключаться к любому сегменту сети. Возможны как физические, так и беспроводные подключения. Поскольку параметры конфигурации TCP/IP компьютера зависят от того, к какому сегменту он подключен, переход компьютера в другой сегмент сети должен сопровождаться соответствующим изменением параметров.

Только компетентный сетевой администратор хорошо понимает все последствия, к которым приводит изменение параметров TCP/IP. Группа IETF разработала для объединенных сетей TCP/IP несколько протоколов автоматической настройки, в том числе ВООТР (Boot Protocol) и DHCP (Dynamic Host Configuration Protocol).

 

Динамическая настройка конфигурации с применением BOOTP

 

Протокол ВООТР проектировался для того, чтобы протоколы IP (Internet Protocol) и UDP (User Datagram Protocol) могли использоваться для передачи информации компьютерам, желающими настроить свою конфигурацию. Компьютер, сгенерировавший запрос, называется клиентом ВООТР, а компьютер, ответивший на запрос клиента, называется сервером ВООТР (рис.1 "Клиенты и серверы ВООТР").

Целью клиентского запроса ВООТР является получение значений параметров IP для компьютера, на котором работает клиент ВООТР.

Протокол ВООТР описан в RFC 951. Обновленная информация содержится в RFC 2132, RFC 1532, RFC 1542 и RFC 1395.

 

 

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, ответ рассылается в широковещательном режиме.

 

Потеря сообщений ВООТР

 

В своей работе ВООТР использует протоколы UDP и IP, не гарантирующие доставки сообщений. В результате возможна потеря, задержка, дублирование или нарушение последовательности сообщений ВООТР. Поскольку контрольная сумма IP обеспечивает проверку целостности только заголовка, но не поля данных, реализация ВООТР может потребовать активизации контрольной суммы UDP, защищающей от ошибок во всем сообщении ВООТР.

При отправке запросов клиент ВООТР устанавливает флаг запрета фрагментации (DF), чтобы упростить обработку ответов ВООТР, а также на случай нехватки памяти для сбора фрагментированных дейтаграмм.

Для борьбы с потерей сообщений в ВООТР используется механизм тайм-аута с повторной передачей. Отправляя запрос, клиент ВООТР запускает таймер.

Если ответ ВООТР будет получен до истечения интервала тайм-аута, отсчет прекращается; в противном случае ВООТР передает запрос заново.

Одновременный запуск нескольких клиентов ВООТР может привести к переполнению сети широковещательными запросами ВООТР. Чтобы этого не произошло, в спецификации ВООТР рекомендуется использовать случайную задержку, начальная продолжительность которой составляет от нуля до четырех секунд. При каждой последующей повторной отправке интервал удваивается до тех пор, пока он не достигнет достаточно большой величины (например, 60 секунд). При достижении верхней границы продолжительность интервала перестает удваиваться, но случайная задержка в итоговом интервале продолжает применяться. Внесение случайной задержки помогает предотвратить одновременное поступление запросов со стороны клиентов ВООТР, повышающих нагрузку на сервер и порождающих конфликты пакетов в Ethernet. Удвоение продолжительности случайного интервала предотвращает перегрузку сети многочисленными широковещательными запросами со стороны многих клиентов ВООТР.

 

Формат сообщения ВООТР

 

На рис.4 "Формат сообщения BOOT" изображена структура сообщения ВООТР. Отдельные поля сообщения описаны в табл.1 "Поля сообщений ВООТР".


 

Поле Длина в октетах Описание
ор   Тип сообщения: 1 - запрос (BOOTREQUEST), 2 - ответ (BOOTREPLY)
htype   Тип аппаратного адреса. Значения совпадают со значениями аналогичного поля в пакетах ARP. Например, код 1 соответствует сети Ethernet 10 Мбит/с
hlen   Длина аппаратного адреса в октетах. Аппаратные адреса Ethernet и Token Ring имеют длину 6 байт
hops   Поле обнуляется клиентом ВООТР. Может использоваться агентом-ретранслятором, работающим на маршрутизаторе, при пересылке сообщений ВООТР
xid   Код транзакции - случайное число, задаваемое клиентом ВООТР при построении сообщения. Сервер ВООТР использует код транзакции в своих ответах клиенту. Наличие кода xid позволяет клиентам и серверам ВООТР связать сообщение ВООТР с ответом
secs   Заполняется клиентом ВООТР. Содержит количество секунд, прошедших с начала загрузки клиента
-   Не используется
ciaddr   IP-адрес клиента ВООТР. Заполняется клиентом в сообщении BOOTREQUEST, предназначенном для проверки использования ранее назначенных параметров конфигурации. Если клиент не знает свой IP-адрес, полю присваивается 0
yiaddr   IP-адрес клиента ВООТР, возвращаемый сервером ВООТР
siaddr   IP-адрес сервера. Значение присваивается клиентом ВООТР, если клиент хочет связаться с конкретным сервером ВООТР. IP-адрес сервера ВООТР может храниться в конфигурационной базе данных TCP/IP на клиенте ВООТР. Сервер может вернуть адрес следующего сервера, с которым следует связаться в процессе загрузки, - например, адрес сервера, на котором хранится загрузочный образ операционной системы
giaddr   IP-адрес маршрутизатора, на котором работает агент-ретранслятор ВООТР
chaddr   Аппаратный адрес клиента ВООТР.16 октетов зарезервированы для того, чтобы данное поле позволяло представлять различные типы аппаратных адресов. В архитектурах Ethernet и Token Ring используются только 6 октетов
sname   Необязательное имя сервера (если оно известно клиенту ВООТР). Хранится в формате строки, завершенной нуль-символом
file   Имя загрузочного образа. Хранится в формате строки, завершенной нуль-символом. Если клиент ВООТР хочет загрузить образ операционной системы, принятый с сетевого устройства, он может задать обобщенное имя - например, "unix" для загрузки образа Unix На сервере ВООТР может храниться дополнительная информация о конкретной операционной системе, необходимой для этой рабочей станции. Ответ, полученный от сервера ВООТР, содержит полностью определенное имя файла
vendor   Дополнительные данные, смысл которых определяется поставщиком. Например, при запросе в этом поле может передаваться тип/серийный номер устройства, а при ответе - информация о поддержке некоторых возможностей или идентификатор удаленной файловой системы. Информация может быть зарезервирована для использования ядром или загрузчиком третьей фазы

 

Фазы ВООТР

 

Несмотря на свое название, протокол ВООТР не используется для фактической пересылки образа операционной системы клиенту ВООТР. Пересылка образа осуществляется отдельным протоколом TFTP (Trivial File Transfer Protocol), который использует в качестве транспорта протокол UDP. Бездисковые рабочие станции загружают образ операционной системы с сервера; другие станции просто используют ВООТР для централизованного назначения IP-адресов, без загрузки системы.

На рис.5 "Пример работы bootstrap" изображены фазы, из которых состоит процесс загрузки образа операционной системы. На шаге 1 клиент ВООТР выдает запрос на получение данных конфигурации IP. На шаге 2 сервер ВООТР возвращает данные конфигурации IP и имя загружаемого файла с образом операционной системы. На шаге 3 клиент ВООТР посылает запрос на загрузку образа операционной системы клиенту TFTP. На шаге 4 клиент TFTP посылает серверу TFTP запрос на загрузку образа операционной системы. На шаге 5 сервер TFTP возвращает серию пакетов данных, содержащих образ операционной системы. После принятия образа ВООТР загружает его в память и инициализируется.

Отделение ВООТР от механизма пересылки образа операционной системы обладает тем преимуществом, что сервер ВООТР не обязан работать на том компьютере, на котором хранятся образы операционных систем (то есть сервере TFTP). Кроме того, это позволяет использовать ВООТР в ситуациях, когда с сервера принимаются только данные конфигурации, без пересылки образа операционной системы.

Возможна ситуация, в которой администратор настраивает рабочую станцию на загрузку разных операционных систем в зависимости от пользователя. В этом случае запрос ВООТР может содержать в поле имени файла обобщенное обозначение - например, "unix" для принятия образа операционной системы Unix, или "default" для загрузки образа операционной системы по умолчанию.

Столкнувшись с таким обобщенным запросом, сервер ВООТР обращается к конфигурационной базе данных, находит полностью определенное имя файла и возвращает его в ответе ВООТР. Клиент ВООТР может передать полностью определенное имя локальному клиенту TFTP для принятия образа операционной системы.


 

Дополнительные данные

 

В формате сообщения ВООТР явно заданы стандартные параметры IP. Многие поставщики оборудования передают своим устройствам дополнительные параметры. Для таких случаев в сообщения ВООТР было включено поле дополнительных данных.

В поле vendor сообщения ВООТР клиенту передаются данные, интерпретация которых определяется поставщиком оборудования. Поле не является обязательным, а его применение зависит от того, какая дополнительная информация нужна клиенту ВООТР. Первые четыре октета содержат "волшебное число" - признак формата остальных полей. Эти четыре октета задаются в десятичной записи с точечным разделением (не путайте их с IP-адресами!). Скажем, произвольно выбранная последовательность 99.130.83.99 (в шестнадцатеричной записи - 63.82.53.63) является общепринятым обозначением стандартного формата области дополнительных данных. За признаком формата перечисляются элементы, каждый из которых характеризуется следующими атрибутами:

метка (1 октет)

длина следующего поля данных (1 октет)

данные (переменная длина)

Метки элементов ВООТР описаны в RFC 1497, "ВООТР Vendor Information

Extensions". С появлением протокола DHCP дополнительные данные ВООТР и поле параметров DHCP были приведены к общему формату, описанному в RFC 2132, "DHCP Options and BOOTP Vendor Extensions". Некоторые часто используемые значения меток приведены в табл.2 "Стандартные метки дополнительных данных ВООТР".

 

Метка Длина данных Интерпретация
  - Используется только в целях выравнивания, чтобы следующие поля начинались с границы слова
    Маска подсети
    Смещение географической зоны, в которой находится подсеть клиента, от стандартного времени UTC (Coordinated Universal Time). Смещение выражается 32-разрядным целым числом со знаком
  N Список IP-адресов маршрутизаторов в подсети клиента. Маршрутизаторы перечисляются в порядке предпочтительности. Минимальная длина списка равна 4 октетам, а общая длина должна быть кратна 4
  N Маска подсети
  N Список серверов имен (IEN 116), доступных для клиента. Серверы перечисляются в порядке предпочтительности. Минимальная длина списка равна 4 октетам, а общая длина должна быть кратна 4
  N Список серверов DNS (STD 13, EFC 1035), доступных для клиента. Серверы перечисляются в порядке предпочтительности. Минимальная длина списка равна 4 октетам, а общая длина должна быть кратна 4
  N Список журнальных серверов (MIT-LCS UDP), доступных для клиента. Серверы перечисляются в порядке предпочтительности. Минимальная длина списка равна 4 октетам, а общая длина должна быть кратна 4
  N Список серверов cookie (RFC 865), доступных для клиента. Серверы перечисляются в порядке предпочтительности. Минимальная длина списка равна 4 октетам, а общая длина должна быть кратна 4
  N Список серверов построчной печати LPR (RFC 1179), доступных для клиента. Серверы перечисляются в порядке предпочтительности. Минимальная длина списка равна 4 октетам, а общая длина должна быть кратна 4
  N Список серверов Imagen Impress, доступных для клиента. Серверы перечисляются в порядке предпочтительности. Минимальная длина списка равна 4 октетам, а общая длина должна быть кратна 4
  N Список серверов местонахождения ресурсов (RFC 887), доступных для клиента. Серверы перечисляются в порядке предпочтительности. Минимальная длина списка равна 4 октетам, а общая длина должна быть кратна 4
  N Имя хоста, соответствующее данному клиенту, с возможным уточнением имени локального домена. Допустимые символы описаны в RFC 1035. Минимальная длина поля данных равна 1 октету
  N Размер загрузочного файла. Определяет длину загрузочного образа, используемого клиентом по умолчанию, в 512-килобайтных блоках. Длина файла задается 16-разрядным целым числом без знака
128-254 Не определена Интерпретация зависит от реализации
  - Признак конца информации в поле дополнительных параметров. Дальнейшие октеты должны быть заполнены нулями



Поделиться:




Поиск по сайту

©2015-2024 poisk-ru.ru
Все права принадлежать их авторам. Данный сайт не претендует на авторства, а предоставляет бесплатное использование.
Дата создания страницы: 2019-10-17 Нарушение авторских прав и Нарушение персональных данных


Поиск по сайту: