手册下载
H3C HDM MCTP技术白皮书-6W101-整本手册.pdf (414.60 KB)
H3C HDM MCTP技术白皮书
Copyright © 2023 新华三技术有限公司 版权所有,保留一切权利。
非经本公司书面许可,任何单位和个人不得擅自摘抄、复制本文档内容的部分或全部,并不得以任何形式传播。
除新华三技术有限公司的商标外,本手册中出现的其它公司的商标、产品标识及商品名称,由各自权利人拥有。
本文档中的信息可能变动,恕不另行通知。
MCTP(Management Component Transport Protocol,管理组件传输协议)是一种独立于物理介质的协议,用于计算机系统中各部件之间的信息交互。此协议独立于底层物理总线,是一种独立于总线的“数据链路层”协议。
MCTP协议由DMTF PMCI(Distributed Management Task Force Platform Management Component Intercommunications,分布式管理任务和平台管理组件互联组)工作组定义,该协议为平台管理子系统的监控&管理功能提供访问接口,进而可通过DMTF CIM(Common Information Model,数据模型)实现对平台可管理功能的访问、传输和配置。
MCTP的基本传输单元为MCTP 数据包,一个MCTP消息传输可能包含一个或者多个MCTP 数据包。基础协议定义了MCTP数据包的公共字段以及MCTP 数据包的用途,这部分定义包括:起始和目的地址字段、是否属于特殊MCTP消息的标识字段、MCTP通信载体字段。MCTP基础协议同时定义了组装MCTP消息,转发MCTP数据包的处理流程,以及错误处理方式,比如丢包和错包的处理。
MCTP链路上的设备端点(Endpoint)用于接收MCTP消息包,并处理MCTP控制指令。MCTP使用端点EID(Endpoint ID,端点ID号)作为逻辑地址,以用于端点之间MCTP 数据包的传输和路由。
一个MCTP数据包头包含了Destnation Endpoint ID和Source Endpoint ID,如图1-1所示:
图1-1 MCTP数据包头
MCTP总线定义了平台部件之间的内部连接。一个MCTP总线有多个总线段组成,各总线段相互分离,但与其他总线段共享物理地址空间。
每一条MCTP总线拥有一个总线所有者,总线所有者负责将EID分配给该总线上的所有MCTP设备,总线所有者可能有其他的特定职责,例如设备发现和物理地址分配。
MCTP网桥用于连接两个或多个MCTP总线,并负责在这些总线之间转发MCTP数据包的设备。网桥通常也是其连接的至少一条总线的总线所有者。
MCTP允许多个网桥、总线和总线所有者相互连接,形成“MCTP网络”。总线所有者负责将EID分配给它所拥有总线上的所有支持MCTP协议的设备。MCTP提供了一种机制,使总线所有者能够被分配一个EID池,该池随后可以被分配给其他MCTP设备。整个MCTP网络EID的最终来源是“最高总线拥有者”。
MCTP总线所有者和网桥还负责提供能够将EID解析为物理地址的服务,以便MCTP数据包的发起方知道需要使用哪个目标物理地址,将消息转发到给定的EID。
图1-2为一个MCTP网络举例,网络中包含了“最高总线拥有者”(D1),总线所有者(D3),网桥(D1、D3)、MCTP终端(D2、D4、D5)等设备。
MCTP数据包传输是基于EID转发的,MCTP网桥维护一组称为“路由表”的信息,这些信息表明了物理地址和与EID关联总线之间的关系,当MCTP网桥接收到传入的数据包时,此路由信息用于将数据包转发到目的总线。如果源和目标总线使用不同的物理介质,网桥还负责根据目标介质的要求转换包的物理层格式。
“路由表”还用于处理将EID解析为物理地址的请求,并支持查询单个网桥和总线所有者路由信息的功能,并同时提供了一种获取MCTP网络路由配置快照的方法。
MCTP网桥根据每个数据包的端点寻址信息转发数据包。另外,MCTP网桥不会解析消息内容,也不会处理路由数据包的一些特定类型消息协议。MCTP网桥不执行路由数据包的中间组装或解析。消息组装和解析分别由目标端点和源端点单独处理。
总线之间的MCTP数据包路由不支持广播功能,但是个别总线可以根据特定介质的要求支持广播以支持设备发现。这消除了桥接在多个总线上复制和传输数据包的复杂性。
MCTP能够在公共通信媒介上承载多种消息类型的数据包,MCTP基本协议规范定义了包括MCTP控制消息类型和供应商定义的MCTP消息类型。其他消息类型,例如支持PLDM(Platform Level Data Model,平台级数据模型)的消息类型,在单独的规范中定义。定义消息类型的规范中指定了该字段值的含义。MCTP消息类型值的定义请参见《Management Component Transport Protocol (MCTP) IDs and Codes》(DSP0239)规范。PLDM over MCTP报文格式如图1-3所示:
图1-3 PLDM 报文格式
MCTP基本规范包括“MCTP控制消息”的消息类型定义。总线所有者使用这些消息来初始化和维护MCTP网络中使用的路由表。MCTP控制消息还支持确认端点的MCTP消息传递是否正常。
MCTP控制协议定义了MCTP控制消息的格式以及如何传递和确认它们。几乎所有的控制消息都是使用请求/响应机制传递的,其中请求消息通过MCTP消息传输到目的“响应者”端点,然后响应者将响应消息传递回请求者。响应消息端提供对接收和处理请求的确认,并根据请求返回相应的数据。
控制协议还支持将未确认的消息在总线上广播,这些消息机制可用于实现设备发现。控制协议有重传机制,确保请求的可靠传递,并考虑到响应者可能短暂离线的情况。控制协议定义还定义了标识消息是否是请求和响应、标识消息是否为数据报文以及是否为重传报文。
MCTP协议拥有独立于底层物理总线特点,在总线上实现类似“数据链路”层的消息传递,支持在指定物理介质上实现数据通信,如MCTP over PCIe和MCTP over SMBus/ I2C。MCTP定义了扩展性的传输绑定协议,可以支持其他总线(如USB、RMII(Reduced Media Independent Interface,精简MII接口),而不影响MCTP基本协议规范。
MCTP除了支持基本协议规范的消息类型,还支持其它消息over MCTP。例如支持平台级数据模型(PLDM)over MCTP的消息类型,NCSI(Network Controller Sideband Interface,网络控制器边带通信协议) over MCTP等。
总之,MCTP协议具有以下特点:
· 适用于不同的计算机系统,如服务器和移动设备。
· 其简单的协议特征适用于低消耗的微处理器。
· 提高了系统组件的管理速度和可靠性,提高了整体系统的性能和设计灵活性。
MCTP协议已支持在Intel平台上实现,其实现原理如下:
Intel ME(Management Engine,管理引擎)作为总线所有者(Bus Owner)与支持MCTP的PCIe设备建立MCTP通信。为支持MCTP的带外管理权限,HDM需要向ME请求获得Bus Owner 代理权限,然后才能与主机相关MCTP组件建立MCTP Socket通信和创建消息处理等任务。
ME与系统PCIe设备MCTP报文交互流程如图2-1所示。
HDM通过MCTP协议实现了多种部件的带外管理,包括支持通过NCSI over MCTP 获取网卡相关信息,通过MCTP Over PCIe管理PMC RAID卡,FC HBA卡等部件。
HDM支持通过MCTP Over PCIe带外管理PMC RAID卡。相比较传统的通过PBSI(PMC BMC Service Interface,PMC BMC服务接口)管理,MCTP实现更加全面的管理功能,通过MCTP Over PCIe可以协助HDM对系统内PCIe设备快速管理,提高系统管理的可靠性,该方式同时具有信号总线速度快、抗干扰能力强等特点。
当前HDM已适配支持MCTP协议的PMC卡有:UN-RAID-P460,UN-RAID-H460,UN-RAID-P2404,UN-RAID-P4408。
HDM使用PMC自定义的消息类型Over MCTP Over PCIe访问和管理对应RAID卡, 架构如图2-2所示。
在未支持MCTP协议前,FC HBA卡只能通过BIOS获取网卡的PCIe相关信息。支持MCTP后,HDM可以直接获取FC HBA卡的网卡信息,包括WWNN号、WWPN号、温度、健康状态、连接状态和速率。其中WWNN号和WWPN号为固定信息,温度、健康状态、连接状态和速率需要实时获取。
当前HDM支持适配的FC HBA卡有:
Emulex厂商的LPE31000、LPE31002、LPE32000、LPE32002。
Qlogic厂商的QLE2690、QLE2692、QLE2740、QLE2742。
HDM使用PLDM Over MCTP Over PCIe带外获取FC HBA卡的相关信息,架构如图2-3所示。
图2-3 FC HBA卡信息
术语 |
解释 |
MCTP |
Management Component Transport Protocol,管理组件传输协议 |
SMBUS |
Name of a multi-master, two-wire, serial bus specified by the Smart Battery Systems Implementer’s Forum,系统管理总线 |
I2C |
Name of a multi-master, two-wire, serial bus originally developed by Philips Semiconductor,两线式串行总线 |
PBSI |
PMC BMC Service Interface,一种基于I2C协议的管理协议 |
PMCI |
Platform Management Component Intercommunications,平台管理组件互联 |
RMII |
Reduced Media Independent Interface,精简媒体独立接口 |
H3C HDM技术白皮书