郜紅超
(南京郵電大學通信與信息工程學院,江蘇南京210003)
10 GE-InfiniBand網關的研究與設計
郜紅超
(南京郵電大學通信與信息工程學院,江蘇南京210003)
為了使InfiniBand(簡稱IB)網絡和萬兆以太網這兩種高速互連網絡相互融合,實現它們之間的數據通信,本文對10GE-InfiniBand網關進行了研究設計,采用Ethernet-over-InfiniBand(EoIB)協議并結合管道網關的設計思想,將萬兆以太網的數據幀封裝成IB數據報文以達到在IB網絡中傳輸以太網數據幀的目的,實現兩種網絡之間的無縫融合。
InfiniBand;萬兆以太網;網關;Ethernet-over-InfiniBand
IB(InfiniBand)網絡由于其低延遲、高帶寬以及低處理開銷的特點得到越來越多的認可,采用IB技術進行互連的高性能計算系統所占的比例逐年上升。萬兆以太網比千兆以太網具有更大的帶寬和更快的數據傳輸速度。隨著高速傳輸技術得到越來越廣泛的應用,人們開始考慮將這兩種高速互連網絡融合在一起,結合它們的優點設計一個性能優越的I/O網絡系統。但是由于異構網絡運行在不同的協議之上,數據格式不同,不能直接進行傳輸,因此如何完成數據交換就成為無法回避的問題。本文針對IB網絡和萬兆以太網的數據格式的特點,對10GE-InfiniBand網關平臺進行了研究和設計,使IB網絡數據報文和萬兆以太網的數據幀可以相互轉換,從而將兩種網絡結合起來。
1.1 IB網絡
IB規范定義了用于服務器、儲存設備和嵌入式系統互連的輸入/輸出架構,具有高帶寬、低時延的特點,廣泛應用于數據中心、高性能計算集群以及不同規模的嵌入式應用中,目前已經成為主流的高速互連網絡技術[1]。圖1是IB網絡的體系架構。

圖1 IB網絡的體系架構
由圖1可知,IB網絡的體系架構主要由交換機(Switch)、主機信道適配器(Host Channel Adapters,HCA)、目標信道適配器(Target Channel Adapters,TCA)和路由器(Router)構成,這些設備一起完成系統通信的功能[2]。
(1)HCA和TCA可以提供一個端到端的可靠連接。
(2)交換機是將數據包從一個鏈路轉發到同一個子網的另一個鏈路中的設備。
(3)路由器用于連接IB子網,在子網間傳輸數據包。
1.2 萬兆以太網
萬兆以太網是最新的以太網技術,可以提供高達10 Gbit/s的傳輸速度,傳輸距離增大到40 km,適用范圍大大拓寬。它基本繼承了原有的以太網模型,保留了802.3的以太網幀結構。不同于以往的以太網標準,萬兆以太網僅僅定義了點到點的全雙工鏈路,并且沒有前幾代以太網標準中的帶有沖突檢測的載波偵聽多路訪問協議(CSMA/CD)機制[3]。
雖然萬兆以太網是最新的以太網技術,具有最快的以太網速度,延遲也比較低,但是并不能滿足網格計算和集群系統對延遲的要求。IB網絡低延遲和高帶寬的優勢使其廣泛應用于高速系統互連領域[4]。
該網關平臺采用了管道的設計思想。管道是異構網絡融合中的一種常用技術。一種網絡的數據包要在另一種網絡上傳輸,需要將該數據包封裝到可以被另一種網絡設備所能理解的數據包中,傳輸到接收端后,主機進行解封裝,將數據分組恢復成原來的格式。在Ethernetover-InfiniBand(EoIB)的網關設計中,由于IB網絡無法識別萬兆以太網的數據格式,根據管道網關的設計思想,為了實現以太網數據包在IB網絡上傳輸,應先將以太網幀封裝成IB數據報文,以IB報文的形式在IB網絡中傳輸,在接收端將IB報文恢復成以太網數據幀,從而高效地將萬兆以太網的數據包和IB的數據包進行相互轉換,實現網絡融合。
EoIB協議是虛擬協議互連(Virtual Protocol Interconnect,VPI)技術的一部分,VPI技術可以實現以太網網絡、IB網絡、光纖通道(Fiber Channel,FC)網絡的融合,使得在單一網絡上運行多種協議成為可能。EoIB協議的實現原理是:為了在IB鏈路上傳輸以太網數據幀,需要在IB網絡的端口將IB網卡虛擬成萬兆以太網卡,將整個以太網二層數據包和有效負載封裝到IB數據包中,這樣就繞過了TCP/IP協議,利用IB的高帶寬優勢在IB的網卡上運行標準的以太網協議[5]。
根據EoIB協議設計的EoIB網關在IB網絡和萬兆以太網之間搭建起一座橋梁,實現了這兩種異構網絡之間的數據交換。如圖2所示。

圖2 網關連接示意圖
2.1 Eo IB局域網模型
EoIB局域網模型如圖3所示。

圖3 EoIB局域網模型
此局域網中包含兩種異構網絡:IB網絡和萬兆以太網[6]。為了實現這兩種格式的數據分組之間的交換,需要兩個主要組件。
(1)EoIB網關。EoIB網關的主要作用是完成數據包在異構網絡之間的轉發,實現不同協議之間的交互通信,管理控制整個EoIB體系結構。EoIB網關分別連接著IB網絡和萬兆以太網,因此網關有兩種端口:連接IB網絡的IB端口以及連接萬兆以太網的以太網端口。EoIB網關將從以太網端口到達的以太網數據幀封裝成IB數據報文,而對從IB端口到達的IB數據報文解封裝,還原成以太網的數據幀。
(2)EoIB主機驅動。在IB網絡端口之上是虛擬萬兆以太網端口(虛擬端口,vPort),并為主機的上層應用提供標準的以太網應用接口(虛擬網絡接口卡,vNic),以便在IB鏈路上承載萬兆以太網的數據分組。每一臺主機可以具有多個虛擬端口(vPort),虛擬網絡接口卡(vNic)直接連接到虛擬端口上。這樣,遵循以太網協議的軟件能夠在EoIB驅動上正常運行。
EoIB將以太網數據幀封裝成可以被IB網絡理解的IB數據報文,從而實現了以太網數據分組在不兼容的網絡區域中進行傳輸[7]。數據的封裝與解封裝示意圖如圖4所示。

圖4 數據的封裝與解封裝
2.2 Eo IB地址映射機制
每一種網絡都有自己的編址方案和數據幀格式,異構網絡的數據包是無法直接進行傳輸的。因此在EoIB機制中就存在一個地址映射的問題。萬兆以太網的2層數據幀由MAC地址(48 bit)標識,而IB網絡的2層數據包由本地ID(Local Identifier,LID)標識,為了讓IB網絡理解萬兆以太網的編址方式,需要將以太網地址轉換為IB網絡所能理解的數據鏈路層地址。為此,可以將以太網幀封裝到IB鏈路層地址的幀中,以IB報文的形式在IB網絡中傳輸。一種EoIB地址映射方案是在IB主機和網關中各存儲一張地址轉換表,表中記錄IB地址和MAC地址之間的對應關系[8]。EoIB地址映射表如圖5所示。

圖5 EoIB地址映射表
由圖5可以看出,EoIB地址映射處理機制包含兩張關系映射表:ARP表存儲MAC地址和IP地址之間的映射關系;轉換表存儲IB主機的LID地址和虛擬MAC地址之間的映射關系。
通過ARP表可以將協議地址(IP地址)解析成硬件地址(MAC地址)。地址轉換表包括三個部分:IB主機的虛擬以太網2層地址和對應的LID地址,網關LID地址,以及IB廣播地址。
EoIB網關上只保留了轉換表,用于處理虛擬MAC地址和IB主機的LID地址之間的映射。但IB主機同時保留ARP表和轉換表,完成兩種映射關系的處理。當IB主機需要和另一臺主機通信時,首先查找ARP表,根據目標IP地址得到目標MAC地址,然后再查找轉換表,根據MAC地址得到IB主機的LID地址。這個過程對應了IB主機上數據幀的封裝過程。
2.3 Eo IB的管理控制協議
通過以上的分析可知,轉換表是實現萬兆以太網和IB網絡交互的關鍵因素,它的生成和維護是局域網的主要工作。當網關啟動之后,由網關創建一張轉換表用來記錄EoIB的地址映射信息。創建完成后將轉換表復制到該局域網內的所有主機。當有新的主機加入局域網或者有主機退出局域網時,網關要負責更新轉換表,之后發送廣播消息,通知局域網內的主機更新最新的轉換表。轉換表的生成和維護依賴于EoIB網關和主機的交互過程[9],如圖6所示。

圖6 網關與主機的交互過程
主機與EoIB網點交互的具體過程如下:(1)新的主機請求加入局域網。(2)EoIB網關接收請求并向主機返回一個確認字符ACK。(3)網關為新加入的主機生成一個虛擬的MAC地址。(4)網關更新轉換表,把新加入主機對應的映射信息加入到轉換表中。(5)轉換表更新完成以后,網關向局域網中的主機廣播更新信息。(6)新加入的主機向網關請求完整的轉換表。(7)EoIB網關向局域網內的所有主機廣播更新后的轉換表。(8)為了使轉換表得到及時更新,所有主機應周期性地發送狀態信息給網關。這樣就完成了主機與網關的交互。
本文基于EoIB協議,根據管道網關的設計思想從理論上設計研究了10GE-InfiniBand網關,分析了在網關設計過程中需要解決的幾個問題,對實際的設計具有指導意義。10GE-InfiniBand網關可以實現系統外部10GE以太網和內部IB網絡之間的數據交換,并且由于端口虛擬化技術使得無需對應用進行更改,從而將兩種高速系統連接技術融合在一起,提升了系統的I/O性能。
[1]司馬聰.InfiniBand的現狀和發展趨勢[R].北京:存儲在線,2007.
[2]謝向輝,彭龍根,吳志兵,等.基于InfiniBand的高性能計算機技術研究[J].計算機研究與發展,2005,42(6):905-912.
[3]敖志剛.萬兆位以太網及其實用技術[M].北京:電子工業出版社,2007.
[4]劉偉,郭麗,閆晉鋒.高速互聯技術探索與發展[J].科技信息,2007(32):93,164.
[5]張向陽,馮超敏,趙書貴,等.EoIB和IPoIB協議在地震資料處理中的對比分析[J].信息系統工程,2013(10):97-98.
[6]呂高鋒,孫志剛,黃杰,等.基于IB統一交換技術的存儲系統研究與實現[J].計算機應用與軟件,2011,28(11):140-144.
[7]IBTA.Ethernet over IB(EoIB)for Linux README[EB/OL].(2010-10-04)[2015-02-02].http://www.mellanox.com/relateddocs/prod_gateway_systems/EoIB_README-1.5.1-1.3.6.txt.
[8]林雨弦.支持路由器服務擴展的統一交換技術[D].長沙:國防科學技術大學,2011.
[9]朱啟偉,文玲.實現EoIB技術的一種實例[J].信息系統工程,2012(11):44-46.
Research and design of 10GE-InfiniBand gateway
Gao Hongchao
(School of Communication and Information Engineering,Nanjing University of Posts and Telecommunications,Nanjing 210003,China)
In order to achieve data communication between two high speed interconnection,10 Gigabit Ethernet and the InfiniBand network,10 GE-InfiniBand gateway is researched and designed in this paper.Combined the EoIB(Ethernet-over-InfiniBand)protocol with the ideas of pipeline gateway,Gigabit Ethernet data frames will be encapsulated into InfiniBand packets in order to achieve the purpose of transmitting Ethernet data frames in InfiniBand network,so that the two networks canmerge seamlessly.
InfiniBand;10 Gigabit Ethernet;gateway;Ethernet-over-InfiniBand
TP393
A
1674-7720(2015)13-0056-03
2015-02-02)
郜紅超(1988-),通信作者,男,碩士研究生,主要研究方向:下一代網絡。E-mail:1048158229@qq.com。