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