Конфигурировать клиента 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-адресов |