Протокол транспортировки управляющих компонентов
Протокол транспортировки управляющих компонентов (англ. Management Component Transport Protocol, MCTP) — это протокол передачи данных, разработанный отраслевой организацией DMTF (ранее Distributed Management Task Force) для обеспечения связи между различными интеллектуальными аппаратными компонентами, входящими в подсистему управления платформой и реализующими функции мониторинга и управления внутри управляемой компьютерной системы[1][2]. Протокол независим от свойств используемой физической шины, а также от механизмов передачи сообщений на уровне канального слоя. Коммуникационная модель MCTP включает в себя формат сообщения, описание транспортного уровня, шаблоны обмена сообщениями и характеристики рабочих конечных точек. Аспекты безопасности в экосистеме MCTP реализуются с помощью сопутствующих стандартов, таких как SPDM (Security Protocol and Data Model), а в новых спецификациях активно развиваются механизмы надёжности и отказоустойчивости. 26 августа 2026 года состоялся официальный релиз спецификации версии 2.0[3].
Протокол MCTP позволяет передавать широкий спектр управляющих команд по различным типам физических каналов. Простота протокола и уменьшенные издержки на инкапсуляцию делают MCTP пригодным для реализации и обработки на уровне системной микропрограммы и во встроенных контроллер управления базовой платой (BMC), на широком спектре платформ, включая серверы, рабочие станции и встраиваемые устройства[4].
Протокольная поддержка MCTP
| Протокол | Может инкапсулировать | Может передаваться по |
|---|---|---|
| PCI Express | MI | VDM |
| NVM Express | Управляющие сообщения | Нет |
| CXL (менеджер фабрики, DCCI типа 3) | Да | Нет |
| Модель данных уровня платформы | Да | Нет |
| NC-SI, Ethernet | Да | Нет |
| USB | Нет | Да |
| I2C/SMBus, I3C (включая PCIe) | Нет | Да |
| Последовательный порт | Нет | Да |
| ACPI PCC | Нет | Да |
| UCIe | Нет | Да |
| KCS | Нет | Да |
| MMBI (включая PCIe) | Нет | Да |
Спецификации привязки (transport binding) протокола MCTP для физических интерфейсов включают: USB (DSP0283, опубликована 7 декабря 2023 года), I3C (DSP0233, актуальная версия от 25 марта 2024 года) и MMBI (DSP0284, актуальная версия от 22 октября 2024 года)[6][7][8]. В новых стандартах развиваются аспекты отказоустойчивости: в спецификации привязки для USB версии 1.1 (август 2026 года) внедрены дополнительные методы восстановления при ошибках, включая механизмы сброса шины USB или самого протокола MCTP[9].
Например, Intel оборудует свои сетевые контроллеры (NIC) поддержкой работы по MCTP через PCI Express и SMBus с 2012 года, что позволяет осуществлять низкоуровневое управление и мониторинг таких устройств через протокол MCTP. В перечень доступных с помощью MCTP операций по настройке и мониторингу входят управление питанием, контроль состояния отключения ARP, конфигурирование трафика внеполосного управления (который может быть отделён от Ethernet-трафика, видимого операционной системе, при помощи фильтрации портов RMCP, выделенного MAC-адреса или посредством тегирования VLAN), а также обработка прерываний и ошибок сетевого контроллера[10].[11]
Организация DMTF определяет также интерфейс хоста управляющего контроллера (англ. Management Controller Host Interface, MCHI, спецификация DSP0256), который позволяет UEFI, BIOS или операционной системе взаимодействовать с BMC, поддерживающим MCTP. В версии 2.0.0 (от 4 марта 2025 года) механизмы обнаружения были обновлены: добавлено обнаружение пространства имён ACPI для новых привязок (включая I2C/SMBus и I3C), а устаревшие методы через SMBIOS, PCI/PCIe и статические таблицы ACPI удалены. Также расширена поддержка связи MCTP через различные физические интерфейсы, включая I2C/SMBus, I3C, USB, PCIe VDM, MMBI и PCC[12].[13]
Архитектура стека и типы сообщений
Архитектура стека DMTF PMCI (Platform Management Communications Infrastructure) определяет чёткую иерархию протоколов:
- Верхний уровень (уровень моделей данных): PLDM, NC-SI, SPDM, а также NVMe-MI, CXL и другие. Эти протоколы работают поверх транспортного уровня MCTP (при этом NC-SI также может использовать альтернативный транспорт — RBT).
- Транспортный уровень: MCTP (Management Component Transport Protocol). Он инкапсулирует сообщения верхнего уровня и обеспечивает их маршрутизацию и передачу.
- Физический уровень: базовые интерфейсы, поверх которых функционирует MCTP (SMBus/I2C, PCIe VDM, Serial, KCS, I3C, USB, MMBI, PCC)[14].
Согласно спецификации DMTF (DSP0239)[15], определены следующие типы сообщений MCTP:
| Код (Hex) | Тип сообщения | Описание |
|---|---|---|
| 0x00 | MCTP Control | Сообщения для инициализации и настройки связи в сети MCTP |
| 0x01 | Platform Level Data Model (PLDM) | Сообщения для передачи трафика PLDM через MCTP |
| 0x02 | NC-SI over MCTP | Сообщения для передачи управляющего трафика NC-SI через MCTP |
| 0x03 | Ethernet over MCTP | Сообщения для передачи трафика Ethernet через MCTP |
| 0x04 | NVM Express Management Messages over MCTP | Сообщения для передачи управляющих сообщений NVMe через MCTP |
| 0x05 | SPDM over MCTP | Сообщения для передачи трафика Security Protocol and Data Model (SPDM) через MCTP |
| 0x06 | Secured Messages | Сообщения для передачи защищённых сообщений с использованием привязки SPDM поверх MCTP |
| 0x07 | CXL FM API over MCTP | Сообщения для передачи трафика CXL Fabric Manager API через MCTP |
| 0x08 | CXL CCI over MCTP | Сообщения для передачи трафика CXL Type 3 Device Component Command Interface через MCTP |
| 0x09 | PCIe-MI over MCTP | Сообщения для передачи трафика PCIe Management Interface (PCIe-MI) через MCTP |
| 0x7E | Vendor Defined – PCI | Сообщения, определяемые производителем (VDM), где вендор идентифицируется по PCI ID |
| 0x7F | Vendor Defined – IANA | Сообщения, определяемые производителем (VDM), где вендор идентифицируется по IANA ID |
Безопасность
Безопасность в экосистеме MCTP реализуется через сопутствующие стандарты DMTF, в частности, с использованием протокола SPDM (Security Protocol and Data Model). Основные функции безопасности включают:
- аутентификацию конечных точек посредством обмена цепочками сертификатов;
- проверку целостности прошивки с помощью регулярных измерений в реальном времени;
- управление ключами через передачу соответствующих сообщений по протоколу SPDM[16];
- шифрование канала связи (находится в разработке и планируется к внедрению в будущих спецификациях DMTF).
Примечания
Литература
- Platform Management Components Intercommunication (PMCI) (англ.). www.dmtf.org. Дата обращения: 21 июня 2024.
Ссылки
- Platform Management Components Intercommunication (PMCI) — набор стандартов, определённых Distributed Management Task Force