Главная
АИ #49 (284)
Статьи журнала АИ #49 (284)
Исследование возможности замены IPMI на PLDM во встроенных интерфейсах взаимодей...

Исследование возможности замены IPMI на PLDM во встроенных интерфейсах взаимодействия программного обеспечения UEFI и контроллера BMC

Рубрика

Информационные технологии

Ключевые слова

UEFI
BMC
IPMI
PLDM
MCTP
MCTP-over-KCS

Аннотация статьи

В статье рассматриваются интерфейсы взаимодействия программного обеспечения UEFI и контроллера BMC, и исследуется возможность замены in-band интерфейса взаимодействия с IPMI на PLDM с сохранением физической шины LPC используемой для транспорта сообщений.

Текст статьи

Практически во всех современных серверных платах помимо основного мощного процессора CPU предназначенного для выполнения высоконагруженных вычислений существует небольшой дополнительный контроллер BMC (Board Management Controller). Так как эксплуатация сервера обычно производится удалённо, необходима возможность удалённого мониторинга и управления платформой. Именно эти задачи и выполняет контроллер BMC.

Данный контроллер обычно подключён к отдельному встроенному сетевому адаптеру на плате, и в этой сети отдаёт наружу web сервер и данные по различным менеджмент протоколам. Такой вид коммуникации с BMC обычно называется «out-of-band» (внешняя). Дополнительно к этому обычно поддерживается коммуникация между BMC и хост процессором CPU по внутренним интерфейсам платы – «in-band» (встроенная).

Как для «in-band», так и для «out-of-band» коммуникации с BMC традиционно использовался протокол IPMI (Intelligent Platform Management Interface) [1]. Однако данный стандарт обладает рядом принципиальных ограничений, в связи с чем индустрия приняла решение не развивать данный протокол, а произвести разработку новых на его замену, с учётом всех современных требований. Разработка новых открытых стандартов в данном направлении ведётся в рамках консорциума Distributed Management Task Force (DMTF) [2].

В случае «out-of-band» коммуникации, DMTF разработал стандарт Redfish [3]. На текущий момент как ПО BMC всех основных коммерческих вендоров (Dell iDRAC/HP iLO/Insyde Supervyse/AMI MegaRAC), так и открытый проект по замене проприетарного программного обеспечения BMC – OpenBMC [4] имеют в своём составе Redfish сервер, реализующий данную спецификацию.

Однако в случае «in-band» коммуникации всё не так однозначно. До сих пор в большинстве решений общение между ПО UEFI и BMC происходит по устаревшему протоколу IPMI. В большинстве случаев протоколом транспортного уровня является KCS (Keyboard Controller Style, описан в рамках спецификации IPMI) на базе физической шины LPC (Low Pin Count) [5].

Новыми стандартами от DMTF на замену текущих протоколов в данном случае являются:

  1. Redfish Host Interface;
  2. PLDM (Platform Level Data Model).

В случае Redfish Host Interface [6] подразумевается наличие сетевого соединения TCP/IP между CPU и BMC с трафиком в формате Redfish. Данное соединение обычно организовывается через физическое USB соединение между CPU и BMC, и поднятие сетевого USB устройства со стороны BMC. Однако следует отметить, что логин-пароль для такого соединения спецификация предлагает генерировать автоматически через тот же IPMI. Таким образом данный метод как требует другого физического соединения, так и не позволяет полностью уйти от устаревшего IPMI.

PLDM же представляет из себя большой набор спецификаций [7], по документу на каждый класс команд, что позволяет легко расширять стандарт и добавлять новые классы.

Также в отличие от IPMI, объединяющий в себе как уровень команд, так и транспорта, спецификации PLDM затрагивают чисто уровень команд. Спецификацией транспорта для PLDM является MCTP (Management Component Transport Protocol).

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

В том числе существует и спецификация MCTP-over-KCS, описывающая передачу MCTP сообщений по интерфейсу KCS. Таким образом, без введения дополнительных физических интерфейсов, путём лишь программной замены можно заменить устаревший IPMI стек на базе KCS на современный PLDM через MCTP-over-KCS.

В рамках исследования данной статьи была проведена данная работа, и разработан открытый стек по реализации взаимодействия UEFI<->BMC через команды PLDM по транспорту MCTP-over-KCS (LPC).

Тестирования проводилось на сервере SP3 разработки АО НИЦЭВТ [8]. Программное обеспечение UEFI/BMC для данного сервера собирается из исходных кодов, что позволило произвести все необходимые для данной задачи доработки.

Со стороны программного обеспечения UEFI был доработан пакет ManagebilityPkg из состава открытого репозитория edk2-platforms [9]. На момент написания данной статьи все патчи для данного пакета уже приняты в публичный репозиторий edk2-platforms. Данный пакет был интегрирован в кодовую базу UEFI сервера SP3.

Программное обеспечение BMC сервера SP3 построено на базе открытого проекта OpenBMC. Все необходимые программные доработки, потребовавшиеся в рамках данной задачи документированы и выложены в публичный репозиторий [10]. Набор патчей для ядра отправлен на ревью в Linux mailing list [11].

Для тестирования взаимодействия по протоколу PLDM между UEFI и BMC было написано UEFI приложение, отправляющее в качестве тестового запроса команду Get PLDM Types. Код данного приложения также представлен в репозитории [10].

Таким образом, в данной статье приведён обзор общих интерфейсов взаимодействия с контроллером BMC. Рассмотрены традиционные и перспективные интерфейсы взаимодействия UEFI/BMC. Также в рамках исследовательской работы разработан открытый программный стек, позволяющий без необходимости замены физического транспорта, лишь путём модификации кода UEFI/BMC уйти от устаревшего взаимодействия по протоколу IPMI, и перейти на современный стандарт PLDM.

Список литературы

  1. Intel IPMI Technical Resources Website [Электронный ресурс]. URL: https://www.intel.com/content/www/us/en/products/docs/servers/ipmi/ipmi-home.html (дата обращения: 03.12.2025).
  2. Официальный сайт DMTF [Электронный ресурс]. URL: https://www.dmtf.org/.
  3. Официальная страница стандартов Redfish [Электронный ресурс]. URL: https://www.dmtf.org/standards/redfish (дата обращения: 03.12.2025).
  4. Исходный код проекта OpenBMC на GitHub [Электронный ресурс]. URL: https://openbmc.org/ (дата обращения: 03.12.2025).
  5. Intel Low Pin Count (LPC) Interface Specification Revision 1.1 [Электронный ресурс]. URL: http://www.intel.com/design/chipsets/industry/25128901.pdf (дата обращения: 03.12.2025).
  6. Redfish Host Interface Specification [Электронный ресурс]. URL: https://www.dmtf.org/sites/default/files/standards/documents/DSP0270_1.3.1.pdf (дата обращения: 03.12.2025).
  7. Platform Management Communications Infrastructure [Электронный ресурс]. URL: https://www.dmtf.org/standards/pmci (дата обращения: 03.12.2025).
  8. Линейка серверных плат SP3 производства АО НИЦЭВТ [Электронный ресурс]. URL: http://www.nicevt.ru/linejka-serverov-obshhego-naznacheniya-na-bazeserver-nicevt-044-sp3-s-proczessorami-amd-epyc/ (дата обращения: 03.12.2025).
  9. Исходные коды пакета «ManageabilityPkg» [Электронный ресурс]. URL: https://github.com/tianocore/edk2-platforms/tree/master/Features/ManageabilityPkg (дата обращения: 03.12.2025).
  10. Исходные коды проекта «Open-source PLDM communication between the HOST (UEFI firmware)» and BMC [Электронный ресурс]. URL: https://github.com/Kostr/pldm (дата обращения: 03.12.2025).
  11. Add MCTP-over-KCS transport binding [Электронный ресурс]. URL: https://lwn.net/Articles/946797/ (дата обращения: 03.12.2025).

Поделиться

11

Аладышев К. А. Исследование возможности замены IPMI на PLDM во встроенных интерфейсах взаимодействия программного обеспечения UEFI и контроллера BMC // Актуальные исследования. 2025. №49 (284). URL: https://apni.ru/article/13815-issledovanie-vozmozhnosti-zameny-ipmi-na-pldm-vo-vstroennyh-interfejsah-vzaimodejstviya-programmnogo-obespecheniya-uefi-i-kontrollera-bmc

Обнаружили грубую ошибку (плагиат, фальсифицированные данные или иные нарушения научно-издательской этики)? Напишите письмо в редакцию журнала: info@apni.ru

Похожие статьи

Другие статьи из раздела «Информационные технологии»

Все статьи выпуска
Актуальные исследования

#49 (284)

Прием материалов

6 декабря - 12 декабря

Остался последний день

Размещение PDF-версии журнала

17 декабря

Размещение электронной версии статьи

сразу после оплаты

Рассылка печатных экземпляров

31 декабря