本發(fā)明涉及通信高速互聯(lián),具體涉及一種ib協(xié)議與srio協(xié)議的轉(zhuǎn)換方法、裝置及系統(tǒng)。
背景技術(shù):
1、infiniband(無限帶寬網(wǎng)絡(luò)傳輸,以下簡寫為ib)是一種高帶寬、低延遲、低cpu開銷、高效且可擴(kuò)展的網(wǎng)絡(luò)互連技術(shù),支持本機(jī)遠(yuǎn)程直接內(nèi)存訪問(rdma,?remote?directmemory?access,遠(yuǎn)程直接內(nèi)存訪問),允許在主機(jī)cpu不參與數(shù)據(jù)路徑的情況下,在服務(wù)器之間或服務(wù)器與存儲器之間進(jìn)行數(shù)據(jù)傳輸或內(nèi)存訪問。
2、rapidio是一種高性能總線技術(shù),可用于芯片間和背板間互連,它主要面向高性能嵌入式系統(tǒng)內(nèi)的互連通信。具有高效、靈活、可擴(kuò)展的特點(diǎn)。rapidio標(biāo)準(zhǔn)物理層規(guī)定了基于并行總線的方案和高速串行總線的方案,由于并行方案已經(jīng)被廢棄,serial?rapidio(高速串行輸入輸出,以下簡寫為srio)一般指代其基于高速串行技術(shù)的方案。
3、為了實(shí)現(xiàn)srio報(bào)文和ib報(bào)文之間的轉(zhuǎn)換,在現(xiàn)有技術(shù)中,通過將srio報(bào)文封裝在ib報(bào)文中,使用srio報(bào)文頭的路由信息按照一定方法重新構(gòu)造路由信息。該方法是一種不對等的方法,是通過轉(zhuǎn)換裝置使srio端點(diǎn)適應(yīng)ib的報(bào)文處理。對ib網(wǎng)絡(luò)來說,和srio網(wǎng)絡(luò)通信是不透明的。因此,一種在srio網(wǎng)絡(luò)和ib網(wǎng)絡(luò)之間對等地、透明地進(jìn)行數(shù)據(jù)轉(zhuǎn)換的方法亟待研究。
技術(shù)實(shí)現(xiàn)思路
1、為了解決現(xiàn)有技術(shù)問題,達(dá)到在srio網(wǎng)絡(luò)和ib網(wǎng)絡(luò)之間對等地、透明地進(jìn)行數(shù)據(jù)轉(zhuǎn)換,本技術(shù)提供一種ib協(xié)議與srio協(xié)議的轉(zhuǎn)換方法、裝置及系統(tǒng)。
2、第一方面,提供一種ib協(xié)議轉(zhuǎn)換為srio協(xié)議的方法,采取如下技術(shù)方案:
3、接收ib報(bào)文,解析ib報(bào)文的基礎(chǔ)頭部信息;
4、解析ib報(bào)文的擴(kuò)展頭部信息;
5、新建ib事務(wù)狀態(tài)條目,插入ib事務(wù)狀態(tài)表;
6、將ib事務(wù)狀態(tài)條目轉(zhuǎn)換為srio事務(wù)狀態(tài)條目,插入srio事務(wù)狀態(tài)表;
7、根據(jù)srio事務(wù)狀態(tài)條目,生成srio報(bào)文有效載荷;
8、為srio報(bào)文有效載荷生成srio報(bào)文頭部,發(fā)送srio報(bào)文。
9、進(jìn)一步地,在新建ib事務(wù)狀態(tài)條目,插入ib事務(wù)狀態(tài)表時(shí),采用的方法如下:
10、判斷ib事務(wù)狀態(tài)條目四元組是否屬于同一個(gè)讀寫操作,若屬于同一個(gè)讀寫操作,生成一個(gè)哈希值作為查詢表的鍵值;其中ib事務(wù)狀態(tài)條目四元組的值為基礎(chǔ)頭部解析數(shù)據(jù),包括源隊(duì)列編號、目的隊(duì)列編號、操作類型和起始包序列號。
11、進(jìn)一步地,發(fā)送srio報(bào)文后,srio網(wǎng)絡(luò)返回srio響應(yīng)報(bào)文。
12、第二方面,提供一種ib協(xié)議轉(zhuǎn)換為srio協(xié)議的裝置,用于實(shí)現(xiàn)如第一方面所述的ib協(xié)議轉(zhuǎn)換為srio協(xié)議的方法,包括如下部分:
13、ib協(xié)議基礎(chǔ)報(bào)文頭部解析模塊:用于接收ib報(bào)文,并解析ib報(bào)文的基礎(chǔ)頭部信息;
14、ib協(xié)議擴(kuò)展報(bào)文頭部解析模塊:用于解析ib報(bào)文的擴(kuò)展頭部信息;
15、第一事務(wù)轉(zhuǎn)換引擎模塊:用于新建ib事務(wù)狀態(tài)條目,插入ib事務(wù)狀態(tài)表;根據(jù)ib事務(wù)狀態(tài)表的條目,生成相應(yīng)的srio報(bào)文有效載荷;
16、第一srio報(bào)文解析與封裝模塊:為srio報(bào)文有效載荷生成正確的srio報(bào)文頭部,以及發(fā)送srio報(bào)文;
17、地址映射模塊:提供ib網(wǎng)絡(luò)的隊(duì)列對編碼和srio網(wǎng)絡(luò)的設(shè)備id一一對應(yīng)關(guān)系,實(shí)現(xiàn)數(shù)據(jù)報(bào)文在ib網(wǎng)絡(luò)和srio網(wǎng)絡(luò)間的路由。
18、進(jìn)一步地,所述裝置還包括ib協(xié)議擴(kuò)展報(bào)文頭部封裝模塊和ib協(xié)議基礎(chǔ)報(bào)文頭部封裝模塊,其中,ib協(xié)議擴(kuò)展報(bào)文頭部封裝模塊用于為srio網(wǎng)絡(luò)返回的響應(yīng)報(bào)文生成ib擴(kuò)展報(bào)文頭部信息,ib協(xié)議基礎(chǔ)報(bào)文頭部封裝模塊用于為srio網(wǎng)絡(luò)返回的響應(yīng)報(bào)文生成ib基礎(chǔ)報(bào)文頭部信息,以確保數(shù)據(jù)傳輸?shù)臏?zhǔn)確性。
19、第三方面,提供一種srio協(xié)議轉(zhuǎn)換為ib協(xié)議的方法,包括如下步驟:
20、接收srio報(bào)文,解析srio報(bào)文頭部信息;
21、新建srio事務(wù)狀態(tài)條目,插入srio事務(wù)狀態(tài)表;
22、將srio事務(wù)狀態(tài)條目條目轉(zhuǎn)換為ib事務(wù)狀態(tài)條目,插入ib事務(wù)狀態(tài)表;
23、根據(jù)ib事務(wù)狀態(tài)條目,生成ib報(bào)文有效載荷;
24、為ib報(bào)文有效載荷生成ib報(bào)文擴(kuò)展頭部;
25、為ib報(bào)文有效載荷生成ib報(bào)文基礎(chǔ)頭部,發(fā)送ib報(bào)文。
26、進(jìn)一步地,新建srio事務(wù)狀態(tài)條目,插入srio事務(wù)狀態(tài)表時(shí),采用的方法如下:
27、判斷srio事務(wù)狀態(tài)條目四元組是否屬于同一個(gè)讀寫操作,若屬于同一個(gè)讀寫操作,生成一個(gè)哈希值,作為查詢表鍵值;其中srio事務(wù)狀態(tài)條目四元組的值為srio頭部解析數(shù)據(jù),包括源設(shè)備編號、目的設(shè)備編號、操作類型和目標(biāo)事務(wù)序號。
28、進(jìn)一步地,發(fā)送ib報(bào)文后,ib網(wǎng)絡(luò)返回ib響應(yīng)報(bào)文。
29、第四方面,提供一種srio協(xié)議轉(zhuǎn)換為ib協(xié)議的裝置,用于實(shí)現(xiàn)如第三方面所述的srio協(xié)議轉(zhuǎn)換為ib協(xié)議的方法,包括如下部分:
30、第二srio報(bào)文解析與封裝模塊:用于接收srio網(wǎng)絡(luò)的發(fā)送的srio報(bào)文,解析srio報(bào)文頭部信息;
31、第二事務(wù)轉(zhuǎn)換引擎模塊:用于新建srio事務(wù)狀態(tài)條目,插入srio事務(wù)狀態(tài)表;根據(jù)srio事務(wù)狀態(tài)表的條目,生成相應(yīng)的ib報(bào)文有效載荷;
32、ib協(xié)議擴(kuò)展報(bào)文頭部封裝模塊:用于為ib報(bào)文有效載荷生成ib擴(kuò)展報(bào)文頭部信息;
33、ib協(xié)議基礎(chǔ)報(bào)文頭部封裝模塊:用于為ib報(bào)文有效載荷生成ib基礎(chǔ)報(bào)文頭部信息,并發(fā)送ib報(bào)文;
34、地址映射模塊:提供ib網(wǎng)絡(luò)的隊(duì)列對編碼和srio網(wǎng)絡(luò)的設(shè)備id一一對應(yīng)關(guān)系,實(shí)現(xiàn)數(shù)據(jù)報(bào)文在ib網(wǎng)絡(luò)和srio網(wǎng)絡(luò)間的路由。
35、進(jìn)一步地,所述裝置還包括ib協(xié)議基礎(chǔ)報(bào)文頭部解析模塊和ib協(xié)議擴(kuò)展報(bào)文頭部解析模塊,其中,ib協(xié)議基礎(chǔ)報(bào)文頭部解析模塊用于接收ib網(wǎng)絡(luò)發(fā)送的ib響應(yīng)報(bào)文,并對ib報(bào)文的基礎(chǔ)頭部進(jìn)行解析;ib協(xié)議擴(kuò)展報(bào)文頭部解析模塊用于解析ib響應(yīng)報(bào)文的擴(kuò)展頭部,通過ib網(wǎng)絡(luò)返回ib響應(yīng)報(bào)文,確保數(shù)據(jù)傳輸?shù)臏?zhǔn)確性。
36、第五方面,提供一種ib協(xié)議與srio協(xié)議的轉(zhuǎn)換裝置,用于實(shí)現(xiàn)第一方面所述的ib協(xié)議轉(zhuǎn)換為srio協(xié)議的方法以及第三方面所述的srio協(xié)議轉(zhuǎn)換為ib協(xié)議的方法。ib協(xié)議與srio協(xié)議的轉(zhuǎn)換裝置包括如下部分:
37、ib協(xié)議基礎(chǔ)報(bào)文頭部解析模塊:用于接收ib報(bào)文,并解析ib報(bào)文的基礎(chǔ)頭部信息;
38、ib協(xié)議擴(kuò)展報(bào)文頭部解析模塊:用于解析ib報(bào)文的擴(kuò)展頭部信息;
39、第一事務(wù)轉(zhuǎn)換引擎模塊:用于新建ib事務(wù)狀態(tài)條目,插入ib事務(wù)狀態(tài)表;根據(jù)ib事務(wù)狀態(tài)表的條目,生成相應(yīng)的srio報(bào)文有效載荷;
40、第一srio報(bào)文解析與封裝模塊:為srio報(bào)文有效載荷生成正確的srio報(bào)文頭部,以及發(fā)送srio報(bào)文;
41、地址映射模塊:提供ib網(wǎng)絡(luò)的隊(duì)列對編碼和srio網(wǎng)絡(luò)的設(shè)備id一一對應(yīng)關(guān)系,實(shí)現(xiàn)數(shù)據(jù)報(bào)文在ib網(wǎng)絡(luò)和srio網(wǎng)絡(luò)間的路由;
42、第二srio報(bào)文解析與封裝模塊:用于接收srio網(wǎng)絡(luò)的發(fā)送的srio報(bào)文,解析srio報(bào)文頭部信息;
43、第二事務(wù)轉(zhuǎn)換引擎模塊:用于新建srio事務(wù)狀態(tài)條目,插入srio事務(wù)狀態(tài)表;根據(jù)srio事務(wù)狀態(tài)表的條目,生成相應(yīng)的ib報(bào)文有效載荷;
44、ib協(xié)議擴(kuò)展報(bào)文頭部封裝模塊:用于為ib報(bào)文有效載荷生成ib擴(kuò)展報(bào)文頭部信息;
45、ib協(xié)議基礎(chǔ)報(bào)文頭部封裝模塊:用于為ib報(bào)文有效載荷生成ib基礎(chǔ)報(bào)文頭部信息,并發(fā)送ib報(bào)文。
46、第六方面,提供一種ib網(wǎng)絡(luò)和srio網(wǎng)絡(luò)互聯(lián)系統(tǒng),包括如下部分:
47、rdma網(wǎng)卡:具有接收和發(fā)送ib數(shù)據(jù)報(bào)文的接口的符合ib標(biāo)準(zhǔn)的網(wǎng)卡;
48、srio控制器:具有接收和發(fā)送srio數(shù)據(jù)報(bào)文的接口的符合srio標(biāo)準(zhǔn)的控制器;
49、如第五方面所述的ib協(xié)議與srio協(xié)議轉(zhuǎn)換裝置,在內(nèi)部以傳輸層的讀寫功能或操作為單位,建立事務(wù)狀態(tài)表,跟蹤相關(guān)聯(lián)的事務(wù)報(bào)文,并對事務(wù)報(bào)文進(jìn)行管理和轉(zhuǎn)換。
50、本發(fā)明的有益效果如下:
51、現(xiàn)有技術(shù)中,通過將srio報(bào)文封裝在ib報(bào)文中實(shí)現(xiàn)ib協(xié)議與srio協(xié)議的轉(zhuǎn)換,是一種不對等的方法,是通過轉(zhuǎn)換裝置使srio端點(diǎn)適應(yīng)ib的報(bào)文處理。對ib網(wǎng)絡(luò)來說,和srio網(wǎng)絡(luò)通信是不透明的。
52、本發(fā)明提供一種ib協(xié)議與srio協(xié)議的轉(zhuǎn)換方法,通過對ib、srio網(wǎng)絡(luò)的傳輸層讀寫事務(wù)的轉(zhuǎn)換來實(shí)現(xiàn)兩種協(xié)議的轉(zhuǎn)換。ib設(shè)備和srio設(shè)備的地位是對等的,而且通信的網(wǎng)絡(luò)節(jié)點(diǎn)對協(xié)議轉(zhuǎn)換時(shí)是無感知的,ib網(wǎng)絡(luò)和srio網(wǎng)絡(luò)在使用時(shí)認(rèn)為對方網(wǎng)絡(luò)和自身網(wǎng)絡(luò)是一樣的節(jié)點(diǎn),即互相感知不到異構(gòu)協(xié)議的存在,高效地實(shí)現(xiàn)ib協(xié)議和srio協(xié)議之間的異構(gòu)、混合組網(wǎng),擴(kuò)展和使用更為靈活、方便。