曾穎霓 陳慶春 聞廣亮
1(西南交通大學信息科學與技術學院 四川 成都 611756) 2(杭州華三通信技術有限公司數據中心交換機產品管理一部 北京 100085)
基于FCoE協議的NPV交換機流量轉發
曾穎霓1陳慶春1聞廣亮2
1(西南交通大學信息科學與技術學院 四川 成都 611756)2(杭州華三通信技術有限公司數據中心交換機產品管理一部 北京 100085)
以太網光纖通道FCoE(Fiber Channel Over Ethernet)實現了數據中心前端計算網絡與后端存儲網絡的無縫融合,降低了數據中心基礎設施的單位建設成本、維護成本,支持數據中心異構網絡環境與不同的接口類型。存儲區域網絡SAN(Storage Area Network)中交換機數量受到8比特域ID唯一的限制最多可以有239臺。N端口虛擬化技術NPV(N Port Virtualization)極大地克服了SAN網絡在規模上受限的問題,能夠讓更多的服務器或存儲設備接入到網絡中,擴大網絡容量。NPV交換機與傳統FCF(Fabric Channel Forward)交換機最大的差別是上下行流量轉發機制不同,它采用上行流量從映射端口轉發,下行流量查表轉發。NPV交換機驅動層路由模塊的設計與實現采用敏捷開發模式進行,主要包括端口設置、下發NPV Mapping表項、路由表項、Fips規則下發。實驗測試證明該設計實現了NPV交換機對FCoE流量的正常轉發,確保了可行性。
以太網光纖通道 融合網絡 N端口虛擬化技術 驅動層設計
伴隨著云計算的興起,數據趨于大集中,而且數據類型也更加豐富。新IT時代數據中心建設中,我們往往要根據數據類型選用不同的存儲。由于光纖通道存儲區域網絡FC SAN(Fabric Channel Storage Area Network)[1]能夠滿足對于大容量、高可靠數據的存儲、訪問與備份,它成為了數據中心應用最為廣泛的存儲方式。使用FC SAN存儲網絡的數據中心通常運行兩個獨立的網絡:用于客戶機到服務器或者服務器到服務器間通信的以太網網絡(LAN)[2]和用于服務器到存儲設備之間通信的存儲區域網絡(SAN)[3]。數據中心的服務器需要為每種網絡配置單獨的網絡接口卡、單獨的布線、單獨的交換機,多網絡并存滿足了數據中心的性能追求,但是也給數據中心的操作、管理與維護帶來了一系列問題,使得網絡的可擴展性變差。
FCoE是將FC技術映射到以太網的技術,實現了在無損以太網上傳輸FC數據幀[4]。FCoE技術將為用戶帶來以下好處:首先是更低的擁有成本,通過整合更有效地利用以前分散的資源,將服務器的I/O適配器和線纜數量減少多達50%,大幅度減少電力和冷卻成本,同時還可以降低管理和運營開支。其次是強大的投資保護,融合網絡可與現有基礎設施無縫互通,使得管理簡便、成本下降。最后是增強了業務靈活性,使所有的服務器均能夠訪問存儲設備,而且在虛擬機移動的情況下可以為資源提供一致的存儲連接,保證了系統的靈活性和可用性[5]。采用FCoE技術的數據中心有3種組網方式:接入融合組網、核心融合組網、NPV組網。
本文主要討論NPV組網,通過NPV模式接入交換機與已有的SAN網絡互通,可以達到擴容的目的。NPV交換機位于邊緣接入層,在節點設備與上行FCoE交換機FCF之間充當代理的角色,將協議報文代理到核心交換機。NPV對上行流量的轉發是通過查Mapping表從映射端口轉發,對下行流量的轉發是通過查轉發表進行轉發。
1.1 FCoE協議
FCoE協議棧與FC協議棧[6]結構如圖1所示。FC協議棧分為5層:FC_0物理層,定義連接器及線纜規格;FC_1數據編碼層,定義了數據的編解碼;FC_2數據分發層,定義了如何組幀及流量控制;FC_3通用服務層,定義了各種服務;FC_4高層協議層,定義SCSI、IP等高層協議到FC幀的映射。
FCoE協議只是用LAN取代了下層FC_0與FC_1,對于原有的FC幀上層是完全透明的。FCoE幀[7]結構主要分為三部分:普通以太幀頭、FCoE幀頭、FC幀。FCoE數據幀和協議幀的以太類型分別是0X8906、0X8914。FCoE協議幀主要用于協議交互(包括初始協商、保活、離開等過程),數據幀主要用于標識發送FCoE數據。
1.2 NPV交換機
N端口虛擬化(NPV)[8]交換機的出現是為了解決數據中心存儲區域網絡擴容的問題。FC協議通過FC ID[9]訪問FC SAN中的各個通信實體,每臺交換機的FC ID由三部分總共24比特組成。其格式如表1所示。
表1 FC_ID格式
(1) Domain_ID(8 bits)可以唯一標識一個SAN網路中每臺交換機,除去一些用于特殊標識外,它的取值范圍是1-239,即整個網絡最多可容納239臺交換機;
(2) Port_ID(8 bits)代表一個N_port;
(3) Area_ID(8 bits)用來標識一個劃分了多個N_port的Area。
報文在網絡中的路由和轉發都用Domain_ID,這一特性同樣適用于FCoE融合網絡[10]。在FCoE網絡中NPV交換機的下行端口連接節點設備,上行端口連接核心交換機,它是通過設置上下行端口為不同模式實現擴容的。從下行節點設備看,NPV交換機是一臺FCF交換機,從上行的核心交換機看,NPV交換機相當于一臺節點設備。這樣就可以在網絡中多接入交換機以滿足擴容需求同時又不會占用唯一的Domain_ID。
NPV交換機具備標準的FCoE協議棧,從控制平面來看它的下行端口收到的下行服務器的注冊信息會被送到上行的FCF交換機進行處理[11]。
1.3 NPV模式報文轉發
NPV交換機上下行流量具有不同的轉發流程:
上行流量:下行口→上行口,根據上下行口映射關系,直接從下行口映射的上行口轉發出去。
下行流量:上行口→下行口,查轉發表(由NPV數據庫生成),匹配報文的目的FC_ID進行轉發。ENode上的名字服務信息注冊和查詢、PLOGI[12]等都通過轉發到達核心交換機。
FC協議[13]規定端口狀態分為F_port、E_port、NP_port及Auto_port四種類型。節點設備的端口狀態可以分為N_port和NL_port。NPV交換機的上行口是NP_port,下行口是F_port。
NPV組網中FCoE報文轉發如圖2所示。NPV交換機中下行口進入的報文采用節點設備映射的FCoE mac地址(FC_MAP+FC_ID_1)作為源地址(SA)進行尋址,目的地址(DA)是NPV交換機的FCoE mac地址。通過映射的上行口將報文轉發出去,轉發報文的SA不改變,DA變成了下一跳所在交換機的FCoE mac。相反上行口進入報文SA為上行的FCF交換機的FCoE mac,DA為節點設備映射的地址,以DA為關鍵字查找轉發表進行轉發,出封裝報文DA不變,SA變為本NPV交換機的FCoE mac。總結一句話就是上行流量SA不變,DA變;下行流量DA不變,SA變。這一處理是需要驅動根據平臺的模式設置與下發的轉發表項對芯片進行設置以后才能實現的。
圖2 NPV組網中FCoE報文轉發示意圖
整個交換機系統可以分為四大部分,分別是網絡操作系統、產品驅動、芯片接口(SDK)、硬件。平臺作為總體控制平面不管底層芯片的差異,進行控制命令下發、協議計算。SDK是芯片廠商提供的對外API接口,API接口把要設置硬件的信息以軟件接口的模式呈現給驅動開發者,通過該接口能夠把驅動處理的信息寫進硬件。產品驅動主要完成網絡操作與 API之間的對接,把平臺通用的功能轉換成為芯片相關的信息后傳遞給底層芯片。驅動部分主要是響應平臺的命令并做出相應處理(實現下發路由、下發下一跳、創建VSAN[14]、ZONE[15]和Fips規則),產品的規格定制,資源管理和各模塊的維護,向平臺提供接口并完成注冊。驅動和平臺之間會進行信息傳遞,把平臺的通用信息轉換成與芯片相關信息。本實驗主要進行驅動平臺部分設計與實現。
根據1.3節的分析,NPV交換機要實現FCoE報文的轉發必須進行以下幾點處理:設置端口以保證報文出方向封裝正確;下發路由的同時生成Fips規則對端口進入報文進行檢查;下行口生成NPV mapping表項保證上行流量轉發;下發路由表項同時下發8位的本機路由保證能夠識別上行口的Dmac得以走FCoE查表轉發的流程。硬件通過匹配優先級實現此邏輯,優先查找NPV mapping表,如果找到匹配的表項則從匹配上行端口發出,否則就當作下行流量處理查找路由表進行轉發。硬件設計了上行端口的標志位置1,該端口進入的報文出封裝時改SA不會改DA,下行口標志位置0,該端口進入的報文出封裝時改DA不會改SA。
2.1 端口設置
VFC接口信息通過IfIndx傳入,驅動由軟件樹記錄VFC端口上與以太網端口相關的信息,同時驅動還會將該信息下發到芯片中(創建硬件三層接口表項)。驅動軟件樹記錄的表項分為三類:VFC F口表項、VFC E口表項、FC口表項。索引包含的信息有VLAN id、VFC index、FC id,其中FC id字段只在VFC F口計算得到的下一跳表項中有效,此類表項在下發F口的路由時創建軟硬件表項,在其他的表項中都為0。
上述創建VFC接口軟件表項時驅動通過樹來記錄,樹節點的結構體設計如下:
typedef struct tagFCOE_FW_NH
{
/*查找關鍵字部分*/
unsigned int uiPrtTyp; /*區分是VFC口還是FC口*/
unsigned int uiVtgId; /*VFC口用VLAN id,FC口用VSAN id*/
unsigned int uiIfIndx; /*VFC/FC接口的IfIndx */
unsigned int uiFcId; /*VFC F口的具體下一跳中使用目的FC id的值,其他情況下為0*/
unsigned int uiMdcid;
/*節點內容部分*/
unsigned int uiFlg;
unsigned int uiVlnid; /*VLAN id */
unsigned int uiNpIndx; /*對應的下一跳信息*/
unsigned int uiL3IntIndex; /*對應的三層接口信息*/
unsigned int uiRfCnt; /*引用計數*/
FCOE_PORT_INFO_S stEthPrtInf; /*下一跳出端口的信息*/
unsigned int uiEthIndx; /*以太口索引*/
char aucRemoteMac[MAC_LEN]; /*目的端mac地址,VFC F口為FC mapping,前三字節有效,其他情況下為目的端MAC地址*/
char auclocalMac[MAC_LEN]; /*本端FCoE mac地址,F口的fips規則要用到*/
char aucMacMapping[FCOE_MAC_MAPPING_LEN]; /*NP口需要記錄*/
unsigned int uiEncapid;/*全局同步*/
char aucPad; /*填充字段*/
FCOE_FW_NH_S;
F-VFC口UP時,平臺會從VFC的IOCTRL函數中下發命令字要求驅動創建下一跳,而驅動僅僅是創建軟件節點,并不會創建硬件表項。當F-VFC上節點上線以后平臺會下發一條路由指向該F-VFC口,在下發這條路由的硬件表項時驅動會先去創建下一跳的硬件表項。
對于NPV模式還需要設置上下行口,NPV上下行端口設置就是在驅動創建VFC接口時進行設置的。NPV模式的F端口是下行口,需要將它設置為1,對應著SDK API中的類型是N port。從N port類型端口進入的報文在入方向選擇Program的ID為15,進入該Program的報文出方向封裝時會修改報文的DA而不修改報文的SA;NPV模式的NP端口是上行口,需要將它設置為0,對應SDK API中的類型是NP port,從NP port類型端口進入的報文出方向封裝時SA會被修改而不會修改DA。
2.2 路由處理
平臺構造轉發信息通知驅動更新轉發表。驅動部分路由處理主要包括了三部分:FC Mapping表項、Fips規則、轉發路由。上述三部分要確保同時下發成功或者失敗,即任何一部分表項下發失敗均要回退當前流程中已經下發的表項,等待后續重新下發。下發成功驅動會回傳轉發表信息給平臺。
路由處理的結果有五種:包括操作成功、失敗、創建表項已經存在、驅動沒有準備好、硬件資源不足。對于驅動沒有準備好的情況需要重刷下發失敗的表項。某些產品需要在下發路由時自動創建出接口相關的鄰接表,多個出接口需要創建多個鄰接表。鄰接表資源不足時會出現部分鄰接表申請成功部分申請失敗,驅動負責釋放所有已經分配成功的鄰接表項資源。然后向平臺返回資源不足,平臺會記錄由于資源不足下發失敗的表項,繼續下發后續表項。驅動會定時調用重刷接口通知平臺重新下發資源不足或者驅動沒準備好而下發失敗的表項,直至成功。
驅動部分通過二叉樹記錄生成的軟件路由表項,樹節點的數據結構設計如下:
typedef struct tagFCOE_FW_RB_S
{
/*關鍵字部分*/
unsigned int uiVsnid; /*轉發對應的VSAN信息*/
unsigned int uiFCid; /*目的FC id*/
unsigned int uiFcidMsk; /*掩碼信息*/
unsigned int uiRbTyp;
unsigned int uiIfIndxSrv; /*F口對應下行服務器端口索引*/
unsigned int uiMdcid;
unsigned int uiOutIfNum; /*出接口的數目*/
unsigned int uiVlnid; /*轉發對應的VLAN信息*/
unsigned int uiNpIndx; /*轉發對應的下一跳信息,如果是ECMP則為ECMP的索引*/
unsigned int uiRtStatus; /*路由的狀態標記位*/
FCOE_PORT_INFO_S stSrcPrt; /*下行口匹配信息SrcTrunkID或是單端口的SrcPort+SrcMod*/
FCOE_OIF_INFO_S astOtIfLst[ECMPMEM_MAX_NUM]; /*出接口索引列表*/
unsigned int uiSrvrPrtTyp; /*服務器端的端口類型(VFC或者FC)*/
unsigned int uiFipsIfIndx; /*為fips提供的端口索引*/
} FCOE_FW_RB_S;
2.2.1 Fips規則
FCoE網絡中也需要一些機制來保證可靠性與安全性,Fips規則就屬于一種。Fips表項主要是用于檢查類型為FCoE_TYPE報文的源Mac是否正確,由交換機分配的正確FC id與FC_Map(0X0EFC00)拼接而成的報文則允許通過,否則報文將被丟棄。該規則只在端口所在單板下發,所以使用的端口索引是index。Fips規則優先級高于ZONE與路由規則的優先級, 所以它不會默認設置通過或是丟棄,而是設置了標志位,到了ZONE中再根據標志位匹配判斷。Fips規則是通過ACL來下發的,因此需要在每一個FCoE模式下都占用ACL的資源。盡管存在資源浪費,為防止切換到FCoE模式時其他模塊搶占ACL硬件資源造成失敗也不得不首先下發占位表項。驅動在被通知使能FCoE模式時下發Fips全局規則,這些規則優先級最低,在被通知去使能FCoE模式的時候刪除這些規則。為了節省ACL個數以及該規則對于NPV模式沒有其他影響,所以刪除時將該規則提到全局ACL里,其值不再是下發時的0X0EFC00,而是高位為0X0EFC(0X0EFC00-0X0EFCFF)則deny。
首先,為了模式切換時ACL 資源不會被別的模塊所搶占,需要將所有的將會使用的部分進行占位處理。占位規則的優先級高于其他任何規則,必須保證第一條下發,才能確保模式切換時硬件資源充足。匹配占位表項的報文不作任何處理。
驅動下發Fips規則所需要的信息是從平臺傳入路由表項中獲取,具體信息包括了FC id、Dmac、vsan id、以太網接口的IfIndx。Fips表項中有一條優先級最低、默認丟棄FCoE 數據報文的ACL表項,它用于在節點沒有注冊時丟棄所有FCoE 的數據報文,其他優先級都高于它,因此該條表項放在了最后。驅動在Fips軟件樹上記錄Fips規則,軟件表項記錄成功后通過ACL下發硬件表項。Fips軟件樹在記錄表項前會查找該條表項是否已經存,如果已經存在則只需要將該條表項引用計數加1,同時不必再下發硬件。下發Fips規則的流程如圖3所示。
圖3 Fips表項下發
2.2.2 NPV mapping表項
前面已經提到過上行流量轉發是通過端口映射進行的,NPV mapping就是記錄端口映射規則的表項。NPV規則是在Fips規則下發成功之后處理。數據結構FCOE_NPV_MAPPING_S用于記錄NPV映射規則的信息。該數據結構包括了VSAN id、節點的FC id信息stSrcPrfx、交換機與節點相連的端口索引IfIndxSrvr、FCF互聯的NP口索引IfIndxExtrnl和包含全局同步資源索引的auiDrvCntxt。數據結構中包括的這些信息的具體值取自平臺傳入的路由索引。驅動會先通過軟件記錄要添加的規則,然后將規則下發到硬件中去。值得注意的是映射規則是將某個登錄的節點映射到上行口,這要匹配節點的Sid與登錄節點的端口,以保證規則的唯一性。在芯片上有mod、port、index這些值來表示端口。框式設備可以支持多塊單板,設備上的mod與port值特性如下:同一塊單板上port值唯一,不同單板port值可重復;不同單板mod值不能重復,同一塊單板上mod值可重復。index是通過mod與port得到的,每個端口的index值是唯一的。使用index有兩個原因:首先NPV規則只是下發到端口所在的單板,如果使用mod/port就會在所有單板都下發;其次使用mod/port會出現問題,當下行口在某個聚合中時,ACL識別不了mod/port,導致NPV規則匹配不到。
下發映射規則的時機由平臺控制,當節點通過NPV交換機向FCF交換機進行注冊時平臺會調用上述接口下發NPV mapping表項指向上行口。同時還會下發一條指向下行口的8位主機路由到SEM,下行流量就是通過先查SEM中這條表項再查LEM進行轉發的。整個驅動部分處理流程如圖4所示。
圖4 NPV規則下發
2.2.3 路由表項
在NPV模式下有三種報文需要上送CPU處理。第一種是Sid或者是Did為0XFFFFFE的報文,此條路由在NPV模式初始化時下發,通過添加匹配目的地址或是源地址為0XFFFFFE的ACL規則,然后在VLAN內使能FCoE時設置VLAN的掩碼。第二種是Did為0XFFFFF0的報文。驅動通過兩種方式下發該條表項,在NPV模式初始化時添加匹配目的地址的ACL規則,并在VLAN內使能FCoE時設置VLAN的掩碼,或者是響應路由變化接口,添加知名地址的路由。為了節省ACL資源,如果產品已經在NPV模式初始化時下發則在路由接口變化時不再下發直接返回成功。第三種是目的地址為本機N端口地址的報文。
路由下發的處理流程如圖5所示。平臺路由掩碼位數是8的時候驅動除了下發平臺路由還會創建特殊路由表項(0XFFFC+domain id)并下發硬件。路由表項的下發分為驅動創建下一跳軟件表項和下發硬件表項。硬件下發過程中會得到fec索引,該信息要回傳給驅動。表項已經存在驅動記錄的下一跳軟件樹上時只需要將引用計數加1并回傳表中的encapid,不必要再下發硬件表項。
圖5 路由表項的添加
本實驗環境基于某公司的高端交換機設備,所需的設備如下:框式交換機(1臺)、低端交換機(1臺)、串口服務器、網線、光模塊等。計算機、串口服務器、測試儀與S12508交換機通過S5800交換機組成了一個二層的網絡。這樣它們之間相互連通,計算機可以通過測試平臺軟件對交換機進行配置、顯示信息以及測試。在PC上通過testcenter也可以控制測試儀,模擬出一個節點設備,節點設備開始運行后就會與相連的交換機進行協議報文的交互,端口都UP后就可以傳送FCoE報文。
首先通過testcenter上面的轉發報文速率顯示可以初步確定報文無丟包。第二步是通過抓包工具查看兩端的報文,主要關注DA、SA、VLAN tag、FC id這些關鍵字段,與預期相符合。最后也是最重要的驗證就是通過VTP查看配置信息和NPV交換機轉發報文時的Debug信息、流量統計信息、平臺的驅動生成的軟件轉發表項、硬件表項相關的信息。下面對一些關鍵測試信息進行說明。
入方向FLP階段Program選擇結果如圖6、圖7所示,結合2.2.3節描述的8比特本機路由就是控制N口進入的報文在芯片入方向處理過程選擇正確的Program。N端口進入報文選擇的是Program 15,控制在查表時用Sid查;NP端口進入報文選擇Program 10,控制在查表時用Did查。
圖6 N端口FLP階段報文入方向的Program選擇
圖7 NP端口報文入方向的Program選擇
圖8為N端口報文在入方向TT階段選擇的Program 1,證實了NPV交換機在路由處理過程中驅動成功下發了8位掩碼的本機路由,從而確保N端口進入報文在芯片入方向處理時Smac能夠被識別走FCoE查表轉發的流程。
圖8 N端口TT階段入方向Program選擇
圖9是驅動記錄的Fips軟件表項,相應的MAC id、VLAN id、Smac、Dmac、Action、Index、Mod、Port、Flag等字段的值都與預期的相符合。
圖9 Fips軟件表項
圖10為出方向選擇了正確的Program,證明端口設置正確。出方向Program正確才能夠保證正確的出封裝:NP端口報文改Smac不改Dmac;N端口報文改Dmac不改Smac。
圖10 出方向Program選擇
隨著云計算與大數據的發展,數據中心的規模日益擴大,企業對數據中心的要求日益劇增,FCoE為了解決網絡融合而提出,它的出現拉開了下一代數據中心網絡的帷幕。NPV交換機的實現增加了融合網絡中交換機的數量,提升了融合網絡的容量。基于FCoE技術、NPV技術進行了分析,在理論基礎上進行了NPV交換機驅動層路由表項的設計與實現。通過實驗證明了設計的可行性,當然現在的技術只能支持邊緣接入層的融合,接下來將進一步實現核心層的融合研究,相信基于FCoE的NPV交換機的實現與改進也將會推動數據中心網絡架構的不斷發展與完善。
[1] Zhang H, Koay T, Venugopalan P, et al. Fibre channel storage area network design for an acoustic camera system with 1.6 Gbits/s bandwidth[C]//TENCON 2001: IEEE Region 10 International Conference on Electrical and Electronic Technology,Singapore:IEEE, 2001:143-148.
[2] David A ,James C. Local area networks[M]. Prentice Hall PTR Upper Saddle River, NJ, USA, 2000:100-120.
[3] DeSanti C, Gai S, Baldini A. Fibre channel over ethernet: U.S., 8238347[P]. 2012-8-7.
[4] American National Standard of Accredited Standards Committee. Fiber Channel Backbone-5 (FC-BB-5). REV2.00;(11p.);June. 4, 2009.
[5] Guo J, Zou S, Lu P, et al. I/O Virtualization Design of FCoE Adapter[C]//ICNISC 2015: 2015 International Conference on Network and Information Systems for Computers. Wuhan:IEEE, 2015:18-21.
[6] American National Standard of Accredited Standards Committee. Fibre Channel Framing Signaling-5 (FC-FS-5). REV0.02;(11p.);Feb. 5, 2015.
[7] DeSanti C, Gai S, Baldini A. Fibre channel over ethernet: U.S., 8238347[P]. 2012-8-7.
[8] American National Standard of Accredited Standards Committee. Fibre Channel Switch Fabric-3 (FC-SW-3) REV 6.0;(11 p.); Jan. 24, 2002, Only.
[9] Berman S. Fibre channel switching fabric: U.S., 6185203[P]. 2001-2-6.
[10] Cai Y, Yan Y, Zhang Z, et al. Survey on converged data center networks with DCB and FCoE: standards and protocols[J]. IEEE Network, 2013, 27(27):27-32.
[11] Bodnar P, Luiz Z. FCoE and iSCSI Performance Analysis in Tape Virtualization Systems[J]. IEEE Latin America Transactions, 2015, 13(7):2372-2378.
[12] 徐立冰, 騰云. 云計算和大數據時代網絡技術揭秘[M]. 北京:人民郵電出版社, 2013:102-132.
[13] Desanti C, Jiang J. FCoE in perspective[C]//ICAIT 2008: 2008 International Conference on Advanced Infocomm Technology. Shenzhen:ACM, 2008:1-8.
[14] Jiang J, Desanti C. The role of FCoE in I/O consolidation[C]//ICAIT 2008: 2008 International Conference on Advanced Infocomm Technology. Shenzhen:ACM, 2008:1-6.
[15] Antonio S. The Evolution of Data Center Networking Technologies[C]//CCP 2011: 2011 First International Conference on Data Compression. Palinuro: IEEE,2011:172-176.
TRAFFICFORWARDINGOFNPVSWITCHBASEDONFCOE
Zeng Yingni1Chen Qingchun1Wen Guangliang2
1(SchoolofInformationScienceandTechnology,SouthwestJiaotongUniversity,Chengdu611756,Sichuan,China)2(BeijingInstituteofH3CTechnologyCo.,Limited,Beijing100085,China)
Fiber Channel over Ethernet (FCoE) achieves the seamless integration of front-end computing network and back-end storage network. FCoE reduces unit construction costs and maintenance costs for data center infrastructures, supporting heterogeneous network environment and different interface types. The number of switches in a Storage Area Network (SAN) is limited by eight bits ID Domain, with a maximum of 239. N port virtualization (NPV) greatly overcomes the limitation on the scale of the SAN network, allowing more servers or storage devices access to the network, hence expanding network capacity. The primary difference between NPV switch and the traditional FCF switch lies in the traffic forwarding mechanism of the uplink and downlink; NPV uses the mapping port to forward the uplink traffic, and the route table to forward downlink traffic. NPV switch driver layer route design and implementation adopts the agile software development, such as the setting of the port, NPV Mapping entries, routing table entries, Fips rules. Experimental results show that this design realizes the normal forwarding of NPV switches to FCoE traffic, and ensures the feasibility.
Fiber channel over ethernet Converged network N port virtualization Driver layer design
2017-02-22。曾穎霓,碩士生,主研領域:無線資源管理,網絡與交換技術。陳慶春,教授。聞廣亮,高工。
TP393.05
A
10.3969/j.issn.1000-386x.2017.12.036