Bootstrap Protocol ( BOOTP ) представляет собой компьютерный сетевой протокол , используемый в Internet Protocol сетей для автоматического назначения IP - адреса для сетевых устройств с сервера конфигурации. BOOTP был первоначально определен в RFC 951.
Когда компьютер, подключенный к сети, загружается , его IP-стек передает сетевые сообщения BOOTP с запросом назначения IP-адреса. Сервер конфигурации BOOTP отвечает на запрос, назначая IP-адрес из пула адресов, который предварительно настроен администратором.
BOOTP реализован с использованием протокола пользовательских дейтаграмм (UDP) для транспортного протокола, порт номер 67 используется (DHCP) сервером для приема клиентских запросов, а порт номер 68 используется клиентом для получения ответов (DHCP) сервера. BOOTP работает только в сетях IPv4 .
Исторически BOOTP также использовался на Unix-подобных бездисковых рабочих станциях для получения сетевого расположения их загрузочного образа в дополнение к назначению IP-адреса. Предприятия использовали его для развертывания предварительно настроенного клиента (например, Windows ) на вновь установленных ПК.
Первоначально требуя использования загрузочной дискеты для установления начального сетевого подключения, производители сетевых карт позже встроили протокол в BIOS интерфейсных карт, а также системных плат со встроенными сетевыми адаптерами, что позволило осуществить прямую загрузку по сети.
Хотя некоторые части BOOTP были фактически заменены протоколом динамической конфигурации хоста (DHCP), который добавляет функцию аренды, части BOOTP используются для обслуживания протокола DHCP. DHCP-серверы также предоставляют унаследованные функции BOOTP.
История
BOOTP был впервые определен в сентябре 1985 года в RFC 951 как замена протокола обратного разрешения адресов RARP , опубликованного в RFC 903 в июне 1984 года. Основная причина замены RARP на BOOTP заключается в том, что RARP был протоколом канального уровня . Это затрудняло реализацию на многих серверных платформах и требовало наличия сервера в каждой отдельной IP- подсети . BOOTP представил инновационные агенты ретрансляции, которые пересылали пакеты BOOTP из локальной сети с использованием стандартной IP-маршрутизации, так что один центральный сервер BOOTP мог обслуживать хосты во многих подсетях. [1]
Операция
- Дело 1
- Клиент и сервер в одной сети
Когда клиент BOOTP запущен, у него нет IP-адреса, поэтому он транслирует сообщение, содержащее его MAC-адрес, в сеть. Это сообщение называется «запросом BOOTP», и оно принимается сервером BOOTP, который отвечает клиенту следующей информацией, необходимой клиенту:
- IP-адрес клиента, маска подсети и адрес шлюза по умолчанию.
- IP-адрес и имя хоста сервера BOOTP.
- IP-адрес сервера с загрузочным образом, который нужен клиенту для загрузки операционной системы.
Когда клиент получает эту информацию от сервера BOOTP, он настраивает и инициализирует свой стек протоколов TCP / IP, а затем подключается к серверу, на котором используется общий загрузочный образ. Клиент загружает загрузочный образ и использует эту информацию для загрузки и запуска своей операционной системы. [2]
Протокол динамической конфигурации хоста (DHCP) был разработан как расширение BOOTP. BOOTP определен в RFC 951 и 1084.
- Случай 2
- Клиент и сервер в разных сетях
- Проблема с запросом bootp в том, что он транслируется. Широковещательный IP - дейтаграмма не может пройти через любой маршрутизатор. Маршрутизатор отбрасывает этот пакет.
- Для решения этой проблемы необходим посредник (реле).
- Один из хостов или маршрутизаторов может быть настроен на уровне приложения для работы в качестве агента ретрансляции.
- Агент ретрансляции знает адрес uni-cast сервера bootp и прослушивает широковещательные сообщения на порту 67.
- Когда он получает этот широковещательный пакет, он инкапсулирует сообщение в одноадресную дейтаграмму и отправляет запрос на сервер bootp.
- Пакет, содержащий одноадресный адрес назначения, маршрутизируется любым маршрутизатором и достигает сервера bootp.
- Агент ретрансляции после получения ответа отправляет его клиенту bootp.
Документация по стандартам IETF
RFC # | Заголовок | Дата | Устаревшая и обновленная информация |
---|---|---|---|
RFC 3942 | Реклассификация параметров протокола динамической конфигурации хоста версии 4 (DHCPv4) | Ноя-04 | Обновления RFC 2132 |
RFC 2132 | Параметры DHCP и расширения поставщика BOOTP | Мар 97 | Устарел RFC 1533, обновлен RFC 3442, RFC 3942, RFC 4361, RFC 4833, RFC 5494 |
RFC 1542 | Разъяснения и расширения для протокола начальной загрузки | Октябрь-93 | Отменяет RFC 1532, обновляет RFC 951 |
RFC 1534 | Взаимодействие между DHCP и BOOTP | Октябрь-93 | |
RFC 1533 | Параметры DHCP и расширения поставщика BOOTP | Октябрь-93 | Устарело RFC 1497, RFC 1395, RFC 1084, RFC 1048, устарело RFC 2132 |
RFC 1532 | Разъяснения и расширения для протокола начальной загрузки | Октябрь-93 | Устарело RFC 1542, обновляет RFC 951 |
RFC 1497 | Расширения информации о поставщиках BOOTP | Август 93 | Отменяет RFC 1395, RFC 1084, RFC 1048, отменяет RFC 1533, обновляет RFC 951 |
RFC 1395 | Расширения информации о поставщиках BOOTP | Янв-93 | Устарели RFC 1084, RFC 1048, устарели RFC 1497, RFC 1533, обновлены RFC 951 |
RFC 1084 | Расширения информации о поставщиках BOOTP | Декабрь 88 | Устарело RFC 1048, устарело RFC 1395, RFC 1497, RFC 1533 |
RFC 1048 | Расширения информации о поставщиках BOOTP | Фев-88 | Устарело в соответствии с RFC 1084, RFC 1395, RFC 1497, RFC 1533 |
RFC 951 | Протокол начальной загрузки | Сен-85 | Обновлено RFC 1395, RFC 1497, RFC 1532, RFC 1542, RFC 5494 |
Смотрите также
- Среда выполнения предварительной загрузки (PXE)
- Удаленная загрузка начальной программы (RIPL)
- UDP Helper Address - инструмент для маршрутизации запросов BOOTP через границы подсети
- Протокол обнаружения службы загрузки (BSDP)
- Протокол операций технического обслуживания (MOP)
Рекомендации
- ^ Билл Крофт; Джон Гилмор (сентябрь 1985 г.). «RFC 951 - протокол начальной загрузки» . Сетевая рабочая группа .
- ^ «Протокол начальной загрузки (BOOTP)» . Сетевая энциклопедия .