Hi。IC驗(yàn)證工程師在日常工作中會(huì)接觸到各種各樣的協(xié)議,小杜最近就在驗(yàn)證的時(shí)候接觸到了MCTP協(xié)議,雖然硬件媒介層只負(fù)責(zé)傳輸數(shù)據(jù),確保數(shù)據(jù)傳輸流程、數(shù)據(jù)包格式、數(shù)據(jù)正確即可,具體的數(shù)據(jù)包分析由軟件控制,但正如小杜師傅所說,既然驗(yàn)到了,最好還是對(duì)協(xié)議及應(yīng)用做深一步了解,這樣才能對(duì)驗(yàn)的東西有更好的認(rèn)知。本文只是對(duì)MCTP協(xié)議和基于MCTP框架的部分協(xié)議的簡單介紹,如有錯(cuò)誤,還請(qǐng)批請(qǐng)指教。
MCTP(Management Component Transport Protocol)是一種用于在計(jì)算機(jī)系統(tǒng)中傳輸管理信息的協(xié)議,具有很強(qiáng)的靈活性、擴(kuò)展性,可用于不同的管理控制器和設(shè)備之間進(jìn)行通信。因?yàn)镸CTP協(xié)議可以在多種底層傳輸媒介上運(yùn)行,如I2C、SMBus、I3C、PCIe、USB和以太網(wǎng)等,因此MCTP在不同的硬件平臺(tái)和通信環(huán)境中具有廣泛的適用性。
MCTP采用分層架構(gòu),包括MCTP控制協(xié)議層、消息傳輸層和底層傳輸媒介層。
控制協(xié)議層負(fù)責(zé)消息格式和控制命令。
消息傳輸層負(fù)責(zé)處理消息的分片、重組和傳輸。由于MCTP協(xié)議規(guī)定底層最多一次傳輸69 bytes,因此當(dāng)消息(message)超過時(shí),發(fā)送端需要對(duì)消息分片,接收端對(duì)片消息進(jìn)行重組。這種方式可以提高傳輸和效率和可靠性。????
底層傳輸媒介層負(fù)責(zé)實(shí)際的物理傳輸,每次傳輸一個(gè)MCTP packet。??????????????
MCTP還支持多級(jí)地址映射和路由,允許在復(fù)雜的系統(tǒng)拓?fù)渲徐`活地傳輸消息。
MCTP協(xié)議框架可以承載多種上層協(xié)議。比如PLDM、SPDM、NC-SI、VDM以及OEM定制協(xié)議。這里只著重介紹下PLDM和SPDM。
PLDM有多種子協(xié)議,每個(gè)子協(xié)議針對(duì)特定的管理功能,比如:?
SPDM消息格式包含以下字段:
SPDM的工作流程如下:
PLDM(Platform Level Data Model)
PLDM是由DMTF定義的一組管理協(xié)議,旨在標(biāo)準(zhǔn)化系統(tǒng)管理組件之間的數(shù)據(jù)交換。PLDM Message由固定格式的頭(Message Header)和可變長度的負(fù)載組成。頭部包含以下字段:
PLDM Type:標(biāo)識(shí)消息的PLDM類型
PLDM Command/Respone:標(biāo)識(shí)具體的命令或響應(yīng)。
Instance ID:標(biāo)識(shí)消息的實(shí)例,確保消息的唯一性和可追蹤性。
Payload Length:負(fù)載數(shù)據(jù)的長度,長度可變。??????
Payload:實(shí)際的消息內(nèi)容,根據(jù)不同的PLDM類型和命令具有不同的格式。
PLDM for Firmware Update:提供固件更新的標(biāo)準(zhǔn)機(jī)制,支持固件映像的傳輸、驗(yàn)證和應(yīng)用,主要用于服務(wù)器、存儲(chǔ)設(shè)備、網(wǎng)絡(luò)設(shè)備的固件更新。
PLDM for Monitoring and Control:提供設(shè)備狀態(tài)監(jiān)控和控制的標(biāo)準(zhǔn)接口,主要用于實(shí)時(shí)監(jiān)控設(shè)備的健康狀態(tài),執(zhí)行遠(yuǎn)程控制操作。
PLDM for Platform Initialization:定義了平臺(tái)初始化和配置的標(biāo)準(zhǔn)流程,應(yīng)用于系統(tǒng)啟動(dòng)過程中的設(shè)備初始化和配置管理。
PLDM for BIOS Control and Configuration:提供BIOS設(shè)置和控制的標(biāo)準(zhǔn)接口,應(yīng)用于遠(yuǎn)程配置和管理BIOS設(shè)置。
SPDM (Security Protocol and Data Model)
SPDM用于設(shè)備認(rèn)證和安全通信。SPDM提供設(shè)備間的雙向認(rèn)證機(jī)制,確保通信雙方身份真實(shí)性,并且定義了建立安全通信通道的流程,確保數(shù)據(jù)傳輸?shù)臋C(jī)密性和完整性。同時(shí),SPDM支持多種認(rèn)證和加密算法以滿足不同安全級(jí)別的需求。
SPDM Version:協(xié)議版本號(hào)。
Request/Response Code:標(biāo)識(shí)請(qǐng)求或響應(yīng)的類型。
Session ID:標(biāo)識(shí)會(huì)話的唯一ID。
Payload Length:負(fù)載數(shù)據(jù)的長度,長度可變。
Payload:實(shí)際的消息內(nèi)容,包括認(rèn)證信息、密鑰協(xié)商信息和加密數(shù)據(jù)。
認(rèn)證過程:通信雙方發(fā)現(xiàn)對(duì)方的存在,初始化認(rèn)證流程,隨后通過數(shù)字證書和挑戰(zhàn)-響應(yīng)機(jī)制驗(yàn)證對(duì)方身份,認(rèn)證通過后,雙方協(xié)商生成會(huì)話密鑰用于后續(xù)通信加密。
安全通信:使用認(rèn)證過程中生成的會(huì)話密鑰對(duì)傳輸?shù)臄?shù)據(jù)進(jìn)行加密,通過消息認(rèn)證碼或數(shù)字簽名保護(hù)數(shù)據(jù)的完整性,防止篡改,并且每次通信都會(huì)附加認(rèn)證信息,確保消息的真實(shí)性,防止重放攻擊。
NC-SI(Netword Controller Sideband Interface)
?NC-SI協(xié)議用于管理網(wǎng)絡(luò)和控制器,通過帶外通信通道(如基板管理控制器,BMC)與網(wǎng)絡(luò)控制器進(jìn)行通信。
VDM (Vendor Defined Message)
供應(yīng)商自己定義的私有消息類型,以滿足其特定功能需求。
通過上述基于MCTP協(xié)議框架的協(xié)議不難猜到,MCTP主要應(yīng)用于數(shù)據(jù)中心、服務(wù)器管理和高性能計(jì)算環(huán)境。??????????????????
服務(wù)器和數(shù)據(jù)中心管理:通過BMC和其他管理控制器,實(shí)現(xiàn)對(duì)服務(wù)器硬件的監(jiān)控、配置和控制。
固件更新:通過PLDM for Firmware Update協(xié)議,在運(yùn)行過程中安全、可靠地更新系統(tǒng)固件。
安全認(rèn)真和通信:通過SPDM協(xié)議來確保管理通信的安全性,防止未授權(quán)的訪問和數(shù)據(jù)篡改。
網(wǎng)絡(luò)控制器管理:通過NC-SI協(xié)議配置和管理網(wǎng)絡(luò)控制器,以提高網(wǎng)絡(luò)性能和安全性。
小杜這里只是對(duì)MCTP和一些承載協(xié)議的特性、功能和使用場景做了簡單的介紹,具體到每個(gè)協(xié)議的使用還需要看對(duì)應(yīng)的spec及具體使用場景,因?yàn)樾《拍壳斑€不涉及軟件層,也尚無精力研究每一份spec,所以就先寫到這兒啦。感謝你看到這里。
-
以太網(wǎng)
+關(guān)注
關(guān)注
40文章
5336瀏覽量
170745 -
計(jì)算機(jī)
+關(guān)注
關(guān)注
19文章
7348瀏覽量
87622 -
服務(wù)器
+關(guān)注
關(guān)注
12文章
8947瀏覽量
85065
原文標(biāo)題:【協(xié)議】用于服務(wù)器的MCTP及其承載協(xié)議介紹
文章出處:【微信號(hào):小杜的芯片驗(yàn)證日記,微信公眾號(hào):小杜的芯片驗(yàn)證日記】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論