Чтение онлайн

ЖАНРЫ

TCP/IP Архитектура, протоколы, реализация (включая IP версии 6 и IP Security)

Фейт Сидни М.

Шрифт:
TCP Keep-Alive Interval (интервал поддержания сеанса TCP) Тайм-аут для проверки сообщениями Keep-Alive внешне неактивных сеансов TCP. 0 означает отмену отправки таких сообщений, пока это не будет затребовано приложением. Send TCP Keep-Alive Garbage Octet (отправка случайного октета при поддержании сеанса TCP) Включает в сообщения Keep-Alive ненужный октет Параметры приложений и служб NIS Domain (домен сетевой информационной службы) Имя домена Network Information Service (когда
запущена служба базы данных NIS) Network Information Server (NIS) Addresses (адреса NIS) Network Time Protocol Server Addresses (адреса сервера для протокола сетевого времени) Vendor Specific Information (область для "разработчиков) Разработчик указывается через идентификатор класса List of NetBIOS over TCP/IP Name Servers (список имен серверов NetBIOS, работающих поверх TCP/IP) NetBIOS over TCP/IP Datagram Distribution Server (серверы распространения данных NetBIOS датаграммами TCP/IP) NetBIOS over TCP/IP Node Type (тип узла, работающего в режиме NetBIOS поверх TCP/IP) NetBIOS over TCP/IP Scope (уровень вложенности режима NetBIOS поверх TCP/IP) X Window System Font Server (сервер системных шрифтов для X Window) Список IP-адресов X Window System Display Managers (диспетчер монитора системы X Window) Список IP-адресов

11.7 Протокол BOOTP

Рассмотрим более подробно протокол начальной загрузки (Bootstrap Protocol — BOOTP). Он является простейшим приложением для запроса/ответа по протоколу UDP.

■ Клиент отсылает сообщение запроса на загрузку (bootrequest) из порта 68 на порт 67 сервера.

■ Сервер реагирует на это сообщением ответа на загрузку (bootreply), отсылая его на порт 68 клиента.

Поскольку UDP не обеспечивает надежного обмена, клиенту может потребоваться отправить запрос повторно, если ответ не будет получен в течение тайм-аута.

11.7.1 Формат сообщения BOOTP

Для запроса и ответа загрузки используется одинаковый формат сообщения. В запросе некоторые поля имеют нулевые значения. Формат сообщения показан на рис. 11.4.

Рис. 11.4. Формат запроса и ответа сообщения загрузки

Поля, которые должны быть заполнены в запросе загрузки, выделены полужирным шрифтом. Поля, которые могут быть указаны клиентом, набраны курсивом (подробные сведения о полях сообщения и соответствующих параметрах описаны в разделе 11.13).

11.7.2 Доставка запроса от клиента на сервер

Клиент не имеет сведений об адресе для направления запроса и отправляет его с IP-адресом источника 0.0.0.0 и IP-адресом приемника 255.255.255.255.

Сервер (или серверы) в одной с клиентом локальной сети услышит посланный запрос. Если клиент заполнил

в сообщении "поле" имя хоста сервера, ответит только указанный в этом поле сервер (см. рис. 11.5). Если же имя не указано, ответить могут несколько серверов.

Рис. 11.5. Выбор заданного сервера

11.7.3 Использование промежуточного агента

Гораздо удобнее использовать один или несколько централизованных серверов загрузки, чем размещать такие серверы в каждой из локальных сетей. Однако как широковещательный запрос от клиента может достигнуть удаленного сервера по локальной сети? Для этого используется специальная система, помогающая переслать такой запрос (см. рис. 11.6).

Рис. 11.6. Промежуточная пересыпка запроса загрузки на удаленный сервер

Промежуточный агент (relay agent) помогает системе отправить локальный запрос BOOTP на удаленный сервер. В качестве промежуточных агентов используются маршрутизаторы (хотя стандарты позволяют работать в этом режиме и хостам).

Обычно маршрутизатор конфигурируется с IP-адресом (адресами) для пересылки запросов загрузки на один или несколько серверов (так делается в удачных реализациях, хотя стандарты допускают широковещательные рассылки запросов загрузки по указанным соединениям для поиска сервера загрузки, когда его IP-адрес неизвестен, и именно для этого в сообщении загрузки имеется поле счетчика попаданий, препятствующее зацикливанию). Когда промежуточный агент получает от клиента запрос на загрузку, то:

■ Промежуточный маршрутизатор запроса BOOTP проверяет поле. Если оно равно нулю, промежуточный агент вставляет в него IP-адрес интерфейса, по которому и был получен данный запрос. Сервер BOOTP использует этот адрес для возврата ответа загрузки клиенту через промежуточный агент.

■ Затем агент пересылает запрос клиента на один или несколько предварительно указанных адресов серверов.

11.7.4 Присваивание IP-адресов

Администратор конфигурирует сервер BOOTP для присваивания системам IP-адресов посредством ручного создания таблицы отображения на IP-адрес комбинации типа оборудования и аппаратного адреса клиента. Кодирование типов оборудования определяется документом Assigned Numbers. Например, для Ethernet код типа оборудования = 1. Таблица должна выглядеть как:

Тип оборудования Аппаратный адрес IP-адрес
1 02 60 8С 12 14 AA 128.121.2.5
1 08 00 20 D3 20 14 128.121.2.19

Многие реализации включают в таблицу дополнительные столбцы, идентифицирующие имена хостов для удобочитаемости таблицы.

Простейший сценарий для клиента, не знающего своего IP-адреса:

■ Клиент отправляет в широковещательной рассылке запрос (на порт 67 сервера).

■ Сервер получает этот запрос.

■ По типу оборудования и аппаратному адресу клиента сервер выбирает в таблице IP-адрес.

■ Если клиент расположен локально, сервер отправляет ответ в широковещательной рассылке (на порт 68 клиента).

Поделиться с друзьями: