目錄
IPMB內(nèi)容介紹
IPMB communications protocol sepcification
IPMB協(xié)議可以實現(xiàn)下列目標
intellgent platform management logical devices
Network Functions and Commands
BMC IPMB LUN
Completion Codes
IPMB node to node message format
什么是IPMB?
IPMI 系統(tǒng)中除了有跟系統(tǒng)管理軟件在系統(tǒng)接口處直接通信的BMC外,實際上整個ipmi是可以無限擴展的,這些擴展設(shè)備就全部接在了IPMB這根總線上。 intelligent platform management bus是基于I2C的總線,可以提供機箱內(nèi)不同板子的標準化互聯(lián)。IPMB可以用作輔助或緊急管理附加卡的標準接口。IPMB是用于BMC與外圍組織管理控制器(SMC)的通信,這些外圍組織管理器一般控制特定設(shè)備,其上傳遞的是IPMI命令。
note: 所謂的外圍組織管理控制器就是指非BMC的IPMI controller, 這部分controller 在host cpu系統(tǒng)中統(tǒng)稱為外圍組織管理控制器(satellite management controller)SMC.
IPMI BLOCK
?
紅框內(nèi)的是通過IPMB連接的設(shè)備。這些設(shè)備跟BMC類似,也是用來進行管理芯片的,他們是對BMC的補充,從而擴展BMC的功能。
IPMB上的連接器進行區(qū)分:type-a, type-b。這兩種鏈接器指定為IPMB提供輔助連接。
ICMB主要用來連接一個完整的主機,機器通過 ICMB進行一個橋接,然后才可以連接在IPMB上然后我們的bmc才可以對他進行訪問。
問題: ipmb是一條基于I2C物理層的總線,實現(xiàn)主板不同總線之間的通信。為什么不能直接用I2C來進行通信? IPMB相當于在I2C協(xié)議上面增加了一層網(wǎng)絡(luò)協(xié)議。
IPMB communications protocol sepcification
協(xié)議: 協(xié)議就是傳輸數(shù)據(jù)的規(guī)則。
總線:總線是一組傳輸通道,是由各種邏輯器件構(gòu)成的傳輸數(shù)據(jù)的通道,一般由數(shù)據(jù)線,地址線,控制線等構(gòu)成
接口:接口是一種連接標準,又常常被稱為物理接口。
協(xié)議即總體框架,定義接口設(shè)備、器件及信號,總線及通道之間要滿足的關(guān)系,若要實現(xiàn)信號的傳輸,所有的這些組成成員必須都具備各自滿足的協(xié)議要求的必要條件
智能平臺管理總線【IPMB】通信協(xié)議規(guī)范定義了用于在智能I2C設(shè)備之間傳輸IPMI消息的字節(jié)級別傳輸。也就是智能設(shè)備在IPMB上與另一個設(shè)備進行通信的方式。該協(xié)議位于100Kb i2c規(guī)范定義的比特流和硬件接口之上。協(xié)議和I2C物理接口共同構(gòu)成了智能平臺管理總線。
IPMB協(xié)議可以實現(xiàn)下列目標
1、支持分布式管理體系結(jié)構(gòu):傳感器和控制器分布在各個管理模塊上,他們的信息通過IPMB整合傳輸。
2、支持異步事件通知機制和關(guān)鍵事件記錄機制:IPMB應(yīng)用多主協(xié)議,允許控制器搶占總線發(fā)送“事件消息”到一個“事件接受”節(jié)點
3、提供一個可擴展的平臺管理結(jié)構(gòu):新的管理信息資源可以很容易的加入到平臺管理總線,而不會影響總線上的其他控制器。
4、多主操作:IPMB應(yīng)用多主操作來支持分布式管理機制、異步事件通知機制以及平臺擴展功能,這種機制支持總線上任何兩個智能設(shè)備之間的通信。
5、支持非智能I2C設(shè)備:基于非智能的I2C設(shè)備,如SEEPROM/IO端口,此類設(shè)備可以直接訪問,也可以作為智能控制器“owned”的設(shè)備進行管理。
6、支持out-of-band訪問:IPMB是獨立于系統(tǒng)處理器和內(nèi)存總線的,這樣,即使在系統(tǒng)故障的情況下還可以進行訪問。
7、降低系統(tǒng)管理布線的復(fù)雜程度以及成本。
8、提供到機箱間管理的途徑:支持機箱間智能平臺管理總線的橋接。這是通過稱為橋接點的存儲轉(zhuǎn)發(fā)類型設(shè)備完成的(此處為ICMB總線)。
intellgent platform management logical devices
IPM DEVICE: 智能平臺管理設(shè)備,這是對消息做出相應(yīng)的基本智能設(shè)備。IPMB上所有智能平臺管理設(shè)備都應(yīng)響應(yīng)強制性的IPM設(shè)備命令
APPLICATION DEVICE: 解決一些超出標準傳感器和事件功能的命令就由“application”邏輯設(shè)備處理
EVENT GENERATOR DEVICE: 事件生成器設(shè)備代表用于將事件消息傳遞到事件接收器設(shè)備的功能。IPMB事件生成器是指IPMB上生成事件消息的功能,BMC通常是IPMB事件接收器,但不是IPMB事件發(fā)生器。
SENSOR DEVICE: 為一個或者多個傳感器提供一組用于發(fā)現(xiàn),配置和訪問傳感器命令的設(shè)備。
message handler:代表與消息身份驗證和路由的配置操作相關(guān)的功能,這些功能既可以再BMC內(nèi)部,可以再BMC不同接口之間。
Request/response mechanism
IPMB使用請求/響應(yīng)協(xié)議向智能設(shè)備發(fā)出請求。設(shè)備以單獨的響應(yīng)消息進行響應(yīng)。請求消息和響應(yīng)消息都是用I2C主寫傳輸再總線上傳輸。即、請求消息是從作為I2C主設(shè)備的智能設(shè)備發(fā)出,并由作為I2C從設(shè)備的智能設(shè)備接受。響應(yīng)的響應(yīng)消息從作為I2C主設(shè)備的響應(yīng)智能設(shè)備發(fā)出,并由作為i2c從設(shè)備的請求發(fā)起者接受。
請求的本質(zhì)是要求將響應(yīng)定向回請求者的方法。請求者通過在請求中提供其請求者的從地址(rqsa)和請求者的lun來提供此方向,提取此信息并用于響應(yīng)對請求者的響應(yīng)。請求和響應(yīng)的網(wǎng)絡(luò)功能具有不同的值。請求使用偶數(shù)網(wǎng)絡(luò)函數(shù)值,響應(yīng)使用響應(yīng)的奇數(shù)網(wǎng)絡(luò)函數(shù)值。因此,可以通過檢查NETFN字段來區(qū)分請求和響應(yīng)。
由于可能有多個請求未完成,因此必須確認是否是針對特定請求的響應(yīng)??梢允褂靡韵聶C制完成:
- 響應(yīng)中包括響應(yīng)者的從機地址(rsqa)和響應(yīng)者的LUN;這將告訴請求者響應(yīng)來自哪個節(jié)點
- 請求中的命令(cmd)字段包含在響應(yīng)中,這使得請求者能夠驗證響應(yīng)是否針對特定未完成的請求
- 請求中的seq字段在響應(yīng)中返回,這允許請求者驗證響應(yīng)是針對哪個實例
Connection Header
任何智能節(jié)點都可以使用鏈路層尋址序列訪問智能平臺管理總線上的另一個節(jié)點。支持點對點和廣播尋址。鏈路層報頭根據(jù)進行訪問的總線定義:本地和機箱間。
鏈路層和網(wǎng)絡(luò)層這種組合稱為連接頭,連接頭的成功傳輸建立了節(jié)點間的通信,從而為構(gòu)成消息主題的后續(xù)字節(jié)的傳輸做好了準備。
下圖顯示了內(nèi)部和外部訪問的連接頭:
連接頭包含一個7位從地址,后跟I2C讀寫位。由于該協(xié)議僅適用I2C主讀寫傳輸,因此該讀寫位始終為0,表示寫傳輸。該字節(jié)之后是網(wǎng)絡(luò)功能/LUN字節(jié)和校驗和字節(jié)。校驗和字節(jié)允許驗證連接頭的完整性。
Network Functions and Commands
連接頭中的網(wǎng)絡(luò)層由一個六位字段組成,用于標識要訪問的功能。剩下的兩位是LUN字段,LUN字段提供節(jié)點內(nèi)的進一步子尋址。網(wǎng)絡(luò)功能用于將IPMI命令分為不同的集合。在解析層次結(jié)構(gòu)中,LUN字段可被視為節(jié)點中特定的網(wǎng)絡(luò)功能處理程序的選擇器,而網(wǎng)絡(luò)功能可被視為節(jié)點內(nèi)特定命令集處理程序的選擇器。(與IPMI中為同一種概念)。
BMC IPMB LUN
BMC支持多個Lun(logical unit),消息可以通過ipmb接口發(fā)送到這些LUN。這些LUN用于標識BMC中可發(fā)送消息的不同子地址。
Completion Codes
根據(jù)IPMI規(guī)范,智能IPMB節(jié)點將在所有響應(yīng)消息中返回一個完成代碼。完成代碼表示關(guān)聯(lián)消息十分成功且功能正常,如果沒有,則提供指示完成條件的值。完成代碼將應(yīng)用于command級別。也就是說,他們是在通過消息傳遞接口并驗證命令后對命令的解釋。
完成代碼值分為“通用“和”特定于命令“的范圍。所有命令都可以返回常規(guī)完成代碼。成功完成的命令應(yīng)該返回00H。通用 和 特定于命令完成代碼值的規(guī)范清參閱智能平臺管理接口規(guī)范。
【table 5-2 completion codes]
IPMB node to node message format
node: IPMB里面的智能設(shè)備,互相講話就是一個節(jié)點
丟包的三種情況:
- completion code有誤 node busy
- protocal 上有checksum錯誤
- rqseq重復(fù)發(fā)送,會丟棄seq#重復(fù)的包
?總結(jié):
? ? ? ? 了解基本的IPMB內(nèi)容,是我們理解phosphor-ipmi-ipmb模塊的基礎(chǔ)。我們將繼續(xù)介紹如何在openbmc中實現(xiàn)IPMB的具體功能。文章來源:http://www.zghlxwxcb.cn/news/detail-448121.html
????????文章來源地址http://www.zghlxwxcb.cn/news/detail-448121.html
到了這里,關(guān)于IPMB內(nèi)容簡介的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!