Jump to content

Среда выполнения перед загрузкой

Общий обзор PXE

В вычислительной технике спецификация Preboot eXecution Environment , PXE (чаще всего произносится как / ˈ p ɪ k s / pixie , часто называемая PXE Boot/ pixie boot .) описывает стандартизированную клиент-серверную среду, которая загружает сборку программного обеспечения, полученную из сети на клиентах с поддержкой PXE. На стороне клиента требуется только контроллер сетевого интерфейса (NIC) с поддержкой PXE и ​​используется небольшой набор стандартных сетевых протоколов, таких как DHCP и TFTP .

Концепция PXE зародилась на заре появления таких протоколов, как BOOTP /DHCP/TFTP, а по состоянию на 2015 г. он является частью стандарта Unified Extensible Firmware Interface (UEFI). В современных центрах обработки данных PXE является наиболее частым выбором. [1] для загрузки, установки и развертывания операционной системы.

С момента появления компьютерных сетей существует постоянная потребность в клиентских системах, которые могут загружать соответствующие образы программного обеспечения с соответствующими параметрами конфигурации, которые извлекаются во время загрузки с одного или нескольких сетевых серверов . Эта цель требует, чтобы клиент использовал набор служб предварительной загрузки, основанных на стандартных сетевых протоколах . Кроме того, программа сетевой загрузки (NBP), которая первоначально загружается и запускается, должна быть построена с использованием уровня микропрограммы клиента (на устройстве, загружаемом через PXE), обеспечивая независимый от оборудования стандартизированный способ взаимодействия с окружающей средой сетевой загрузки. В этом случае доступность и соответствие стандартам являются ключевым фактором, необходимым для обеспечения совместимости систем процесса сетевой загрузки. [ нужна ссылка ]

Одной из первых попыток в этом отношении была начальная загрузка с использованием стандарта TFTP RFC 906, опубликованного в 1984 году, который установил опубликованный в 1981 году стандарт RFC 783 тривиального протокола передачи файлов (TFTP), который будет использоваться в качестве стандартного протокола передачи файлов для начальной загрузки. Вскоре за ним последовал стандарт протокола начальной загрузки RFC 951 (BOOTP), опубликованный в 1985 году, который позволил бездисковой клиентской машине обнаружить свой собственный IP-адрес, адрес TFTP-сервера и имя NBP для загрузки в памяти и выполнено. Трудности реализации BOOTP, среди других причин, в конечном итоге привели к разработке стандарта протокола динамической конфигурации хоста RFC 2131 (DHCP), опубликованного в 1997 году. Новаторский подход TFTP/BOOTP/DHCP не оправдал ожиданий, поскольку в то время он не определял необходима стандартизированная клиентская часть среды подготовки.

Среда выполнения перед загрузкой (PXE) была представлена ​​как часть Wired for Management. [2] framework от Intel и описан в спецификации, опубликованной Intel и SystemSoft. Версия PXE 2.0 была выпущена в декабре 1998 года, а обновление 2.1 было обнародовано в сентябре 1999 года. [3] Среда PXE использует несколько стандартных протоколов клиент-сервер, включая DHCP и TFTP (теперь определенные в опубликованном в 1992 году RFC 1350). В схеме PXE клиентская часть уравнения обеспечения является неотъемлемой частью стандарта PXE и ​​реализуется либо как сетевой карты (NIC) расширение BIOS , либо текущие устройства в UEFI коде . Этот особый уровень прошивки делает доступным клиенту функции базового универсального интерфейса сетевых устройств (UNDI), минималистичного стека UDP / IP , клиентского модуля предварительной загрузки (DHCP) и клиентского модуля TFTP, которые вместе образуют интерфейсы прикладного программирования PXE ( API), используемые NBP при необходимости взаимодействия с сервисами, предлагаемыми серверным аналогом среды PXE. TFTP Низкая пропускная способность , особенно при использовании по каналам с высокой задержкой , первоначально была смягчена опцией TFTP Blocksize Option RFC 2348, опубликованной в мае 1998 года, а затем опцией TFTP Windowsize Option RFC 7440, опубликованной в январе 2015 года, что позволило потенциально увеличить доставку полезной нагрузки и, таким образом, улучшение пропускной способности. [ нужна ссылка ]

Подробности

[ редактировать ]

Среда PXE опирается на комбинацию стандартных интернет-протоколов, а именно UDP/IP, DHCP и TFTP. Эти протоколы были выбраны потому, что они легко реализуются во встроенном ПО клиентского сетевого адаптера, что приводит к созданию стандартизированных небольшого размера ПЗУ PXE . Стандартизация, небольшой размер образов встроенного ПО PXE и ​​низкое использование ресурсов являются одними из основных целей разработки, позволяющих одинаково реализовать клиентскую часть стандарта PXE в самых разных системах, от мощных клиентских компьютеров до компьютеров с ограниченными ресурсами. одноплатные компьютеры (SBC) и «система-на-кристалле» компьютеры (SoC).

DHCP используется для предоставления соответствующих параметров клиентской сети, в частности местоположения (IP-адреса) хостинга TFTP-сервера, готового к загрузке, начальной программы начальной загрузки (NBP) и дополнительных файлов. Чтобы инициировать сеанс начальной загрузки PXE, компонент DHCP встроенного ПО PXE клиента передает пакет DHCPDISCOVER, содержащий параметры, специфичные для PXE, на порт 67/UDP (порт сервера DHCP); он запрашивает необходимую конфигурацию сети и параметры сетевой загрузки. Параметры, специфичные для PXE, идентифицируют инициированную транзакцию DHCP как транзакцию PXE. Стандартные DHCP-серверы (без поддержки PXE) смогут ответить обычным DHCPOFFER, содержащим сетевую информацию (т. е. IP-адрес), но не конкретные параметры PXE. Клиент PXE не сможет загрузиться, если он получит ответ только от DHCP-сервера, не поддерживающего PXE.

После анализа DHCP-сервера DHCPOFFER с поддержкой PXE клиент сможет установить свой собственный сетевой IP-адрес, IP-маску и т. д., а также указать на сетевые загрузочные ресурсы на основе полученного IP-адреса TFTP-сервера и имени НБП. Затем клиент передает NBP в свою собственную оперативную память (ОЗУ) с помощью TFTP, возможно, проверяет его (т. е. безопасную загрузку UEFI ) и, наконец, загружается с него. NBP — это только первое звено в процессе цепочки загрузки, и они обычно запрашивают через TFTP небольшой набор дополнительных файлов, чтобы запустить минималистичный исполнительный компонент ОС (например, WindowsPE или базовое ядро ​​​​Linux + initrd ). Небольшая исполнительная система ОС загружает свои собственные сетевые драйверы и стек TCP/IP. На этом этапе остальные инструкции, необходимые для загрузки или установки полноценной ОС, предоставляются не по TFTP, а с использованием надежного протокола передачи (например, HTTP , CIFS или NFS ).

Интеграция

[ редактировать ]
DHCP против proxyDHCP-сервера

Среда PXE Client/Server была разработана таким образом, чтобы ее можно было легко интегрировать с уже существующей инфраструктурой серверов DHCP и TFTP. Эта цель разработки представляла собой проблему при работе с классическим протоколом DHCP. Корпоративные DHCP-серверы обычно подчиняются строгим политикам, которые предназначены для предотвращения легкого добавления дополнительных параметров и правил, необходимых для поддержки среды PXE. По этой причине в стандарте PXE была разработана концепция перенаправления DHCP или «proxyDHCP». Идея proxyDHCP заключается в том, чтобы разделить требования PXE DHCP на два независимо запускаемых и администрируемых серверных блока:

  1. Классический DHCP-сервер, предоставляющий IP-адрес, IP-маску и т. д. всем загружающимся DHCP-клиентам .
  2. Сервер proxyDHCP предоставляет IP-адрес TFTP-сервера и имя NBP только загрузочным клиентам, идентифицированным PXE .

В среде сервера DHCP плюс proxyDHCP [3] : 18  клиент PXE первоначально передает один пакет PXE DHCPDISCOVER и получает два дополнительных DHCPOFFER; один от обычного DHCP-сервера без поддержки PXE, а второй от сервера proxyDHCP. Оба ответа вместе предоставляют необходимую информацию, позволяющую PXE-клиенту продолжить процесс загрузки. Этот неинтрузивный подход позволяет настроить среду PXE, не затрагивая конфигурацию уже работающего DHCP-сервера. Служба proxyDHCP также может работать на том же хосте, что и стандартная служба DHCP, но даже в этом случае они представляют собой два независимо запускаемых и администрируемых приложения. Поскольку две службы не могут использовать один и тот же порт 67/UDP на одном хосте, proxyDHCP работает на порту 4011/UDP. Подход proxyDHCP оказался чрезвычайно полезным в широком спектре сценариев PXE, от корпоративных до домашних сред.

Доступность

[ редактировать ]

PXE был задуман с учетом нескольких системных архитектур. Версия 2.1 спецификации определила идентификаторы архитектуры для шести типов систем, включая IA-64 и DEC Alpha . Однако PXE v2.1 полностью охватывал только IA-32 . Несмотря на эту очевидную неполноту, Intel недавно решила широко поддерживать PXE в рамках новой спецификации UEFI, расширяя функциональность PXE на все среды EFI/UEFI. Текущая спецификация интерфейса унифицированного расширяемого встроенного ПО 2.4A, раздел 21 «Сетевые протоколы — SNP, PXE и ​​BIS» определяет протоколы, обеспечивающие доступ к сетевым устройствам. при выполнении в среде служб загрузки UEFI. К этим протоколам относятся простой сетевой протокол (SNP), протокол базового кода PXE (PXE) и протокол служб целостности загрузки (BIS). [4] [5] Сегодня в среде PXE обнаружение клиентской архитектуры редко основано на идентификаторах, изначально включенных в спецификацию PXE v2.1. Вместо этого на каждом компьютере, который будет загружаться из сети, должен быть установлен параметр DHCP 93, чтобы указать архитектуру клиента. Это позволяет PXE-серверу узнать (во время загрузки) точную архитектуру клиента из первого сетевого загрузочного пакета. [6]

С появлением IPv6 DHCP превратился в DHCPv6 ; Потребность в опциях, поддерживающих PXE в новом протоколе DHCP, была рассмотрена в 2010 году. [7]

Исходное расширение встроенного ПО клиента PXE было разработано как дополнительное ПЗУ IA-32 для BIOS , поэтому персональный компьютер (ПК) изначально стал поддерживающим PXE путем установки контроллера сетевого интерфейса (NIC), который предоставил дополнительное ПЗУ PXE. Сегодня клиентский PXE-код непосредственно включен в прошивку сетевого адаптера или как часть прошивки UEFI на материнской плате.

Даже если исходная прошивка клиента PXE была написана Intel и всегда предоставлялась бесплатно в виде подключаемого модуля формата объектного кода IA32 , включенного в их комплект разработки продуктов (PDK), мир открытого исходного кода на протяжении многих лет создавал нестандартные производные проекты. например gPXE / iPXE, предлагающие свои собственные ПЗУ. Хотя ПЗУ на базе Intel уже более 20 лет реализуют клиентскую часть стандарта PXE, некоторые пользователи были готовы пожертвовать дополнительными функциями ради стабильности и соответствия стандарту PXE. [8]

Принятие

[ редактировать ]

Принятие PXE начиная с версии 2.1 стало повсеместным; сегодня практически невозможно найти сетевую карту без прошивки PXE. Доступность недорогого Gigabit Ethernet оборудования (сетевые карты, коммутаторы , маршрутизаторы и т. д.) сделала PXE самым быстрым доступным методом установки операционной системы на клиенте, конкурируя с классическими альтернативами CD , DVD и USB-накопителями .

За прошедшие годы несколько крупных проектов включили поддержку PXE, в том числе:

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

Все вышеупомянутые проекты, когда они могут загружать/устанавливать более одной ОС, работают по парадигме «Менеджер загрузки — Загрузчик». Первоначальный NBP представляет собой диспетчер загрузки, способный получить свою собственную конфигурацию и развернуть меню параметров загрузки. Пользователь выбирает вариант загрузки, и загрузчик, зависящий от ОС, загружается и запускается, чтобы продолжить выбранную конкретную процедуру загрузки.

Родственные среды

[ редактировать ]

Apple разработала очень похожий подход к сетевой загрузке под эгидой спецификации протокола обнаружения загрузочного сервера (BSDP). BSDP v0.1 был первоначально опубликован Apple в августе 1999 года. [9] а его последняя версия 1.0.8 была опубликована в сентябре 2010 года. [10] Mac OS X Server включал в себя системный инструмент под названием NetBoot . Клиент NetBoot использует BSDP для динамического получения ресурсов, позволяющих загружать подходящую операционную систему. BSDP создается поверх DHCP с использованием информации, зависящей от поставщика, для обеспечения дополнительных функций NetBoot, отсутствующих в стандартном DHCP. Протокол реализован в прошивке клиента. Во время загрузки клиент получает IP-адрес через DHCP, а затем обнаруживает загрузочные серверы с помощью BSDP. Каждый сервер BSDP отвечает загрузочной информацией, состоящей из:

  • Список загрузочных образов операционной системы
  • Образ операционной системы по умолчанию
  • Текущий выбранный клиентом образ операционной системы (если он определен)

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

Потомки среды

[ редактировать ]

Microsoft создала непересекающееся расширение среды PXE со своим уровнем согласования загрузочной информации (BINL). BINL реализован как серверная служба и является ключевым компонентом стратегий служб удаленной установки (RIS) и служб развертывания Windows (WDS). Он включает в себя определенные процессы подготовки и сетевой протокол, который можно каким-то образом считать расширением DHCP, созданным Microsoft. BINL — это запатентованная технология Microsoft, использующая стандартную клиентскую прошивку PXE. В настоящее время общедоступной спецификации BINL не существует.

Документация по стандартам IETF

[ редактировать ]

См. также

[ редактировать ]
  1. ^ Аврамов, Люсьен (31 декабря 2014 г.). Центр обработки данных, управляемый политиками, с ACI: архитектура, концепции и методология . Сиско Пресс. п. 43. ИСБН  978-1587144905 . В современных центрах обработки данных администраторы редко устанавливают новое программное обеспечение через съемные носители, например DVD-диски. Вместо этого администраторы полагаются на загрузку PXE (Preboot eXecution Environment) с серверов образов.
  2. ^ «Wired for Management Baseline — выпуск версии 2.0» (PDF) . Корпорация Интел. 18 декабря 1998 г. Архивировано из оригинала (PDF) 22 февраля 2017 г. Проверено 8 февраля 2014 г.
  3. ^ Jump up to: а б «Спецификация среды выполнения перед загрузкой (PXE) — версия 2.1» (PDF) . Корпорация Интел. 20 сентября 1999 г. Архивировано из оригинала (PDF) 2 ноября 2013 г. Проверено 8 февраля 2014 г.
  4. ^ «Спецификация унифицированного расширяемого интерфейса встроенного ПО» (PDF) . УЕФИ. 2013-12-02 . Проверено 4 апреля 2014 г.
  5. ^ «Анализ производительности загрузки UEFI PXE» (PDF) . Корпорация Интел. 02.02.2014. Архивировано из оригинала (PDF) 8 августа 2014 г. Проверено 4 апреля 2014 г.
  6. ^ М. Джонстон (июнь 2006 г.). С. Венаас (ред.). Параметры протокола динамической конфигурации хоста (DHCP) для среды Intel Preboot eXecution (PXE) . Сетевая рабочая группа. дои : 10.17487/RFC4578 . RFC 4578 . Информационный.
  7. ^ Т. Хут; Дж. Фрейманн; В. Циммер; Д. Талер (сентябрь 2010 г.). Параметры DHCPv6 для сетевой загрузки . Целевая группа инженеров Интернета (IETF). дои : 10.17487/RFC5970 . ISSN   2070-1721 . РФК 5970 . Предлагаемый стандарт.
  8. ^ «Etherboot/gPXE Wiki» . Etherboo.org.
  9. ^ «NetBoot 2.0: Протокол обнаружения загрузочного сервера (BSDP) v0.1» (док) . Корпорация Apple. 02.12.2003 . Проверено 4 апреля 2014 г.
  10. ^ «NetBoot 2.0: Протокол обнаружения загрузочного сервера (BSDP) v1.08» (Док) . Корпорация Apple. 17 сентября 2010 г. Проверено 4 апреля 2014 г.
[ редактировать ]
Arc.Ask3.Ru: конец переведенного документа.
Arc.Ask3.Ru
Номер скриншота №: faca0efab43d155d59a3545c3af22b22__1721647320
URL1:https://arc.ask3.ru/arc/aa/fa/22/faca0efab43d155d59a3545c3af22b22.html
Заголовок, (Title) документа по адресу, URL1:
Preboot Execution Environment - Wikipedia
Данный printscreen веб страницы (снимок веб страницы, скриншот веб страницы), визуально-программная копия документа расположенного по адресу URL1 и сохраненная в файл, имеет: квалифицированную, усовершенствованную (подтверждены: метки времени, валидность сертификата), открепленную ЭЦП (приложена к данному файлу), что может быть использовано для подтверждения содержания и факта существования документа в этот момент времени. Права на данный скриншот принадлежат администрации Ask3.ru, использование в качестве доказательства только с письменного разрешения правообладателя скриншота. Администрация Ask3.ru не несет ответственности за информацию размещенную на данном скриншоте. Права на прочие зарегистрированные элементы любого права, изображенные на снимках принадлежат их владельцам. Качество перевода предоставляется как есть. Любые претензии, иски не могут быть предъявлены. Если вы не согласны с любым пунктом перечисленным выше, вы не можете использовать данный сайт и информация размещенную на нем (сайте/странице), немедленно покиньте данный сайт. В случае нарушения любого пункта перечисленного выше, штраф 55! (Пятьдесят пять факториал, Денежную единицу (имеющую самостоятельную стоимость) можете выбрать самостоятельно, выплаичвается товарами в течение 7 дней с момента нарушения.)