Читаем без скачивания TCP/IP Архитектура, протоколы, реализация (включая IP версии 6 и IP Security) - Сидни Фейт
Шрифт:
Интервал:
Закладка:
В этой главе мы познакомимся с двумя протоколами. Первым был создан протокол Bootstrap Protocol (BOOTP), обеспечивающий присваивание IP-адресов по таблице соответствия между физическими и IP-адресами. Администратор должен вручную создать такую таблицу на сервере BOOTP. Усовершенствованная версия BOOTP названа протоколом динамической конфигурации хостов (Dynamic Host Configuration Protocol — DHCP). DHCP позволяет полностью автоматизировать присваивание IP-адресов и обладает другими полезными свойствами.
11.2 Требования протокола BOOTP
Некоторым компьютерам для запуска требуется небольшое число конфигурационных параметров, другим — длинный подробный список значений множества таких параметров. Некоторым операционным системам, например настольным сетевым станциям, хостам Unix, требуется полная загрузка всего образа программного обеспечения. Системам, подобным маршрутизаторам, мостам, коммутаторам или концентраторам, требуется как получение конфигурационных параметров, так и загрузка необходимого программного обеспечения.
Протокол конфигурирования должен быть гибким и надежным. В зависимости от размера сети, топологии и выдвигаемых требований, может быть полезна централизация загрузочной информации на одном сервере, распределение ее по нескольким серверам или выполнение реплицирования такой информации.
11.3 Возможности BOOTP
BOOTP был первым стандартом по автоматизации загрузки в окружении TCP/IP. После того как протокол прошел несколько этапов улучшения, он стал способен предоставлять системам все базовые конфигурационные параметры, а также несколько специализированных. Кроме того, BOOTP разрешает системам проводить поиск размещения необходимого программного обеспечения для загрузки.
Конфигурировать клиента BOOTP или DHCP очень просто. На рис. 11.1 показан выбор протокола в меню установки параметров программы Chameleon. Раскрывающееся окно разрешает пользователю указать адрес сервера BOOTP (если он известен). Если же адрес не введен, запрос на загрузку будет отправлен в широковещательной рассылке.
Рис. 11.1. Конфигурирование BOOTP на настольном клиентском компьютере
11.4 Необходимость DHCP
Область использования BOOTP ограничивает действия администратора, которому необходимо автоматизировать конфигурирование IP-адресов и не вводить вручную длинные списки аппаратных адресов вместе с соответствующими им IP-адресами. Администратору требуется защита от случайного изменения при конфигурировании IP-адресов, чтобы пользователь мог спокойно отключить систему и, перенеся ее на другое место сети, получить для системы правильные конфигурационные данные, а следовательно, быстро и без проблем запустить систему на новом месте.
DHCP расширяет возможности BOOTP и устраняет некоторые неопределенности, возникающие при использовании BOOTP и приводящие к неоптимальному взаимодействию в сети.
11.5 Первая версия BOOTP
Первоначально BOOTP разрабатывался для бездисковых рабочих станций. Современные условия привели к необходимости автоматизации загрузки систем, имеющих в ПЗУ (постоянном запоминающем устройстве, которое сохраняет информацию даже после отключения компьютера от сети. — Прим. пер.) только базовые средства для IP, UDP и TFTP. Исходный сценарий загрузки (см. рис. 11.2) выглядел следующим образом:
■ Клиент отправляет в широковещательной рассылке сообщение UDP на загрузочную информацию.
■ Сервер возвращает клиенту его IP-адрес и, при необходимости, местоположение файла загрузки.
■ С помощью простейшего протокола пересылки файлов (Trivial File Transfer Protocol — TFTP) клиент загружает в собственную память необходимое программное обеспечение и начинает работу.
Рис. 11.2. Локальное взаимодействие между сервером загрузки и клиентом
Администраторы быстро поняли, что лучше использовать BOOTP для загрузки большего объема конфигурационных данных и настраивать по этому протоколу системы с собственными жесткими дисками (которым не требуется загрузка программного обеспечения).
Системам, которым требуется TFTP для загрузки программного обеспечения, удобнее использовать один сервер для параметров BOOTP, а другой (или несколько) — для загрузки программного обеспечения (см. рис. 11.3). Например, программное обеспечение операционной системы лучше получать с сервера с тем же типом операционной системы, что и у клиента.
Рис. 11.3. Использование отдельных серверов для загрузки параметров и программного обеспечений
11.6 Эволюция BOOTP
Протокол BOOTP обеспечивает в работе достаточную гибкость:
■ Перед запуском клиент может не иметь никакой информации или быть частично сконфигурированным.
■ Клиент может получить информацию на сервере загрузки или выбрать для этого специально указанный сервер.
■ Клиент может не загружать программное обеспечение, загрузить его по умолчанию или загрузить определенный файл.
Прошло немного времени, и в сообщения BOOTP потребовалось включить дополнительные параметры — маску подсети, адрес маршрутизатора по умолчанию, адреса DNS и другую информацию.
Список дополнительных параметров постоянно увеличивался (полный список параметров BOOTP на момент выхода книги приведен в таблице 11.1), и скоро даже их часть уже не могла разместиться в сообщении UDP реалистичного размера. Для решения этой проблемы избыточные значения поместили в конфигурационном файле, который должен загружаться клиентом через TFTP. Идентификатор этого файла находится в основном сообщении UDP.
Таблица 11.1 Параметры BOOTP и DHCP
Конфигурационные параметры IP Subnet mask (маска подсети) Time Offset Difference (различия в смещениях времени) Разность в секундах между местным и универсальным временем (Coordinated Universal Time — UTC) Client Host Name (имя хоста клиента) С использованием или без применения локального имени домена Domain Name (имя домена) Используется для разрешения имен хостов Enable/Disable IP Forwarding (разрешение/запрещение перенаправления в IP) Указывает на маршрутизацию системой датаграмм Enable/Disable Non-Local Source Routing (разрешение/запрещение нелокальной маршрутизации от источника) Указывает на перенаправление датаграмм с маршрутизацией от источника Policy Filter (фильтр политики безопасности) Список IP-адресов и масок подсети для фильтрации маршрутов, поступающих от источника Maximum Datagram Reassembly Size (максимальный размер перепостроения датаграмм) Максимальный размер датаграммы, которую клиент должен подготовить для повторного создания Default IP Time-to-Live (время жизни по умолчанию для IP) Начальное значение для поля TTL Списки IP-адресов Routers (маршрутизаторы) Time Servers (серверы времени) IEN 116 Name Servers (серверы имен по спецификации IEN 116) (Устарело) Domain Name Servers (серверы имен доменов) Log Servers (серверы регистрации) Cookie Servers (серверы цитат) Ежедневно обновляемые цитаты от сервера Fortune Cookie. LPR Servers (серверы построчной печати) Серверы построчных принтеров Imagen Impress Print Servers (серверы литерной печати) Resource Location Servers (серверы размещения ресурсов) Серверы по спецификации RFC 887 Различные параметры Boot File Size (размер файла загрузки) Размер файла загрузки в 512-октетных блоках Dump File (файл дампа) Путь к файлу дампа образа ядра операционной системы, создаваемого при крахе клиента Swap Server (сервер свопинга) IP-адрес сервера для свопинга диска Root Path (корневой путь) Путь к корневому диску клиента Extensions Path (расширенный путь) Путь к файлу с загружаемыми через TFTP конфигурационными параметрами Параметры Maximum Transmission Unit (MTU) Path MTU Aging Timeout (тайм-аут по возрасту пути MTU) Тайм-аут для возобновления исследования пути MTU Path MTU Plateau Table (стабилизационная таблица значений для пути MTU) Серия значений для размера MTU, используемая в исследовании пути MTU, когда маршрутизатор не может предоставить в сообщении ICMP допустимое значение Параметры IP для интерфейса Interface MTU (интерфейс MTU) Наибольший размер датаграммы, способной пройти через интерфейс All Subnets Are Local (все подсети локальные) Указывает, поддерживается ли всеми подсетями тот же самый MTU, что и для локальной подсети Broadcast Address for the Interface (широковещательный адрес интерфейса) Perform Mask Discovery (выполнение поиска маски) Указывает на использование клиентом ICMP для получения маски подсети Mask Supplier (система, предоставляющая маску) Указывает, должен ли клиент отвечать на запросы ICMP при исследовании маски подсети Perform Router Discovery (выполнение поиска маршрутизаторов) Указывает на использование клиентом процедуры Router Discovery Router Solicitation Address (адрес для ходатайства к маршрутизатору) Адрес, на который клиент должен пересылать запросы ходатайства к маршрутизатору) Static Routes (статические маршруты) Список статических маршрутов (пары назначение/маршрутизатор) для таблицы маршрутизации клиента Параметры уровня связи данных для интерфейса Trailer Encapsulation (инкапсуляция заключительной части) Применяется при согласовании (уже устарело) заключительных частей сообщений ARP ARP Cache Timeout (тайм-аут кеша ARP) Тайм-аут для обновления таблицы ARP Ethernet Encapsulation (инкапсуляция Ethernet) Ethernet версии 2 (DIX) или IEEE 802.3 Параметры TCP TCP Default TTL (значение времени жизни по умолчанию для TCP) Время жизни (Time-To-Live) для пересылки сегментов TCP 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