張志禹1,許耀斌1,曹繼英2,喬雄1
(1.西安理工大學(xué) 自動(dòng)化與信息工程學(xué)院,陜西 西安 710048;2.長(zhǎng)安大學(xué) 信息工程學(xué)院,陜西 西安 710064)
摘要:隨著網(wǎng)絡(luò)技術(shù)的快速發(fā)展,FC交換機(jī)對(duì)網(wǎng)絡(luò)協(xié)議的分析、故障的定位等功能提出新的挑戰(zhàn)。首先提出基于FC交換機(jī)協(xié)議處理芯片的監(jiān)控端口(Monitor Port, MT)軟核的工作原理;然后對(duì)監(jiān)控端口軟核進(jìn)行了設(shè)計(jì)與實(shí)現(xiàn);最后在虛擬仿真平臺(tái)和FPGA驗(yàn)證平臺(tái)下對(duì)MT端口的功能和性能分別進(jìn)行仿真和測(cè)試。結(jié)果表明,這種新的智能監(jiān)控模式不僅能夠用于網(wǎng)絡(luò)監(jiān)管和故障排除,而且可用于流量統(tǒng)計(jì)。
關(guān)鍵詞:FC交換機(jī);MT端口;虛擬仿真;FPGA驗(yàn)證
中圖分類(lèi)號(hào):TN47文獻(xiàn)標(biāo)識(shí)碼:ADOI: 10.19358/j.issn.1674-7720.2016.24.011
引用格式:張志禹,許耀斌,曹繼英,等. FC交換機(jī)芯片MT端口軟核的設(shè)計(jì)與實(shí)現(xiàn)[J].微型機(jī)與應(yīng)用,2016,35(24):36-39.
0引言
美國(guó)國(guó)家標(biāo)準(zhǔn)委員會(huì)的X3T11工作組于1988年開(kāi)始制定了一種高速串行通信協(xié)議——光纖通道(Fibre Channel,F(xiàn)C)協(xié)議[1]。1997年,光纖通道協(xié)議標(biāo)準(zhǔn)首次面世,速度為1 Gb/s,現(xiàn)在已發(fā)展到第六代,速度為32 Gb/s。光纖通道具有高帶寬、高可靠性、通用性強(qiáng)以及連接距離遠(yuǎn)等優(yōu)點(diǎn)[2]。光纖通道主要在兩大領(lǐng)域中應(yīng)用,一是存儲(chǔ)區(qū)域網(wǎng)絡(luò),二是航空電子環(huán)境。目前,國(guó)內(nèi)外學(xué)者對(duì)交換結(jié)構(gòu)及其調(diào)度算法進(jìn)行了大量的研究,根據(jù)研究方法的不同,交換結(jié)構(gòu)調(diào)度算法整體上可以分為純理論分析法和快速啟發(fā)式調(diào)度算法。
純理論分析法主要探討調(diào)度算法的理論基礎(chǔ),例如吞吐量、時(shí)延、服務(wù)質(zhì)量保證等性能。國(guó)外學(xué)者提出利用高性能核心交換和路由器來(lái)確保吞吐量、速率和時(shí)延,并且這種算法在輸入和輸出端口上的并行執(zhí)行具有擴(kuò)展性[3]。國(guó)內(nèi)學(xué)者提出一種保證速率的優(yōu)先級(jí)實(shí)時(shí)調(diào)度算法[4]。
快速啟發(fā)式調(diào)度算法是一種易于硬件實(shí)現(xiàn)的調(diào)度算法,主要從其實(shí)用性出發(fā),以交叉點(diǎn)小緩存、高效、低復(fù)雜度、硬件易實(shí)現(xiàn)作為性能評(píng)價(jià)指標(biāo)。CARVAJAL G等人提出了在數(shù)據(jù)鏈路層之上添加實(shí)時(shí)層以支持EDF(Earliest Deadline First)調(diào)度機(jī)制,實(shí)時(shí)數(shù)據(jù)包無(wú)需按照以太網(wǎng)協(xié)議架構(gòu)的標(biāo)準(zhǔn)在通道內(nèi)實(shí)時(shí)調(diào)度傳輸[5]。
1FC交換機(jī)芯片的體系結(jié)構(gòu)
FC交換機(jī)芯片集成了嵌入式片上處理器,可提供多路線(xiàn)卡端口、MT端口之間數(shù)據(jù)交換,且包含F(xiàn)C MAC控制器、Timer等片上資源,以及交換機(jī)域ID標(biāo)識(shí)接口、鏈路狀態(tài)指示接口和多路多種速率下全雙工高速串行SerDes接口。該芯片用于FC交換機(jī)中,完成FC網(wǎng)絡(luò)高速無(wú)阻交換、數(shù)據(jù)監(jiān)控、通信配置、時(shí)鐘同步及網(wǎng)絡(luò)管理等功能。使用該芯片可以方便地構(gòu)建FC光纖通道交換網(wǎng),以此為基礎(chǔ)可以快速實(shí)現(xiàn)用于各任務(wù)子系統(tǒng)間的光纖通道高速互聯(lián)。FC交換機(jī)芯片的體系結(jié)構(gòu)如圖1所示。
如圖2所示,交換機(jī)芯片的監(jiān)控功能包括以下幾個(gè)方面:
(1)支持監(jiān)控輸入端口的數(shù)據(jù)功能;
(2)支持監(jiān)控輸出端口的數(shù)據(jù)功能;
(3)支持監(jiān)控含有特殊字段幀的數(shù)據(jù)功能;圖1FC交換機(jī)芯片體系結(jié)構(gòu)
(4)支持與網(wǎng)絡(luò)管理節(jié)點(diǎn)(CPU)之間的幀收發(fā)功能;
(5)支持監(jiān)控、路由方案的在線(xiàn)動(dòng)態(tài)加載,用以完成相應(yīng)的芯片內(nèi)部寄存器配置。
2FC交換機(jī)MT端口工作原理
FC交換機(jī)芯片MT端口模塊中包含以下子模塊:監(jiān)控?cái)?shù)據(jù)緩沖區(qū)寫(xiě)控制模塊、信息ID查詢(xún)控制模塊、監(jiān)控?cái)?shù)據(jù)緩沖區(qū)、監(jiān)控?cái)?shù)據(jù)調(diào)度模塊、監(jiān)控?cái)?shù)據(jù)發(fā)送控制模塊、網(wǎng)絡(luò)管理節(jié)點(diǎn)數(shù)據(jù)發(fā)送處理模塊以及網(wǎng)絡(luò)管理節(jié)點(diǎn)數(shù)據(jù)接收處理模塊。其工作原理如圖3所示。
MT端口模塊與線(xiàn)卡端口以及網(wǎng)絡(luò)管理節(jié)點(diǎn)相連。MT端口只能被動(dòng)接收來(lái)自線(xiàn)卡端口的數(shù)據(jù)幀,而監(jiān)控模式分為輸入監(jiān)控、輸出監(jiān)控和信息ID監(jiān)控。網(wǎng)絡(luò)管理節(jié)點(diǎn)可與MT端口互相通信,MT端口可以轉(zhuǎn)發(fā)來(lái)自網(wǎng)絡(luò)管理節(jié)點(diǎn)的幀,或者將接收到的ELS幀轉(zhuǎn)發(fā)給網(wǎng)絡(luò)管理節(jié)點(diǎn)。寄存器配置有時(shí)標(biāo)插入設(shè)置、監(jiān)控功能設(shè)置以及信息ID緩沖區(qū)配置等功能。
3FC交換機(jī)MT端口設(shè)計(jì)實(shí)現(xiàn)
FC交換機(jī)MT端口設(shè)計(jì)包含信息ID查詢(xún)控制模塊設(shè)計(jì)、監(jiān)控?cái)?shù)據(jù)緩沖區(qū)寫(xiě)控制模塊設(shè)計(jì)、監(jiān)控?cái)?shù)據(jù)調(diào)度模塊設(shè)計(jì)、監(jiān)控?cái)?shù)據(jù)發(fā)送控制模塊設(shè)計(jì)、網(wǎng)絡(luò)管理節(jié)點(diǎn)數(shù)據(jù)發(fā)送處理模塊設(shè)計(jì)以及網(wǎng)絡(luò)管理節(jié)點(diǎn)數(shù)據(jù)接收處理模塊設(shè)計(jì)。下面將分別對(duì)子模塊設(shè)計(jì)進(jìn)行詳細(xì)描述。
3.1信息ID查詢(xún)控制模塊的設(shè)計(jì)
該模塊的設(shè)計(jì)思路是將來(lái)自F端口的特殊幀信息的信息ID輸出到CAM表中,進(jìn)行信息ID的合法性檢測(cè)。同時(shí),將信息ID合法的CAM表查詢(xún)的結(jié)果與MT端口信息數(shù)目寄存器的值進(jìn)行比較,判斷被監(jiān)控幀的有效性。
3.2監(jiān)控?cái)?shù)據(jù)緩沖區(qū)寫(xiě)控制模塊的設(shè)計(jì)
該模塊的設(shè)計(jì)思路是根據(jù)監(jiān)控模式、時(shí)標(biāo)使能等相關(guān)信號(hào)的設(shè)置,將來(lái)自F端口MAC客戶(hù)端口的信號(hào)時(shí)序轉(zhuǎn)化為標(biāo)準(zhǔn)的FIFO接口時(shí)序,同時(shí),對(duì)幀進(jìn)行時(shí)標(biāo)插入或產(chǎn)生特殊幀信息ID查詢(xún)請(qǐng)求等操作。
本模塊設(shè)計(jì)了對(duì)FC幀的接收處理狀態(tài)機(jī),根據(jù)接收到的幀內(nèi)容及幀標(biāo)識(shí)信號(hào),將幀進(jìn)行相應(yīng)處理操作,并將處理后的幀輸出至對(duì)應(yīng)緩沖區(qū),其狀態(tài)機(jī)如圖4所示。
3.3監(jiān)控?cái)?shù)據(jù)調(diào)度模塊的設(shè)計(jì)
數(shù)據(jù)調(diào)度模塊實(shí)現(xiàn)了線(xiàn)卡端口和網(wǎng)絡(luò)管理節(jié)點(diǎn)的FC數(shù)據(jù)幀輸出請(qǐng)求之間的優(yōu)先級(jí)調(diào)度,設(shè)計(jì)中采用輪詢(xún)優(yōu)先圖6信息ID監(jiān)控仿真波形級(jí)調(diào)度策略。
圖7MT端口FPGA平臺(tái)驗(yàn)證環(huán)境線(xiàn)卡端口及網(wǎng)絡(luò)管理節(jié)點(diǎn)的幀輸出優(yōu)先級(jí)調(diào)度用狀態(tài)機(jī)來(lái)完成。數(shù)據(jù)調(diào)度模塊狀態(tài)機(jī)如圖5所示。狀態(tài)機(jī)有N+3個(gè)狀態(tài),分別為Idle狀態(tài)、P_0狀態(tài)~P_N+1狀態(tài);P_0~P_N狀態(tài)對(duì)應(yīng)N+1路線(xiàn)卡端口,P_N+1對(duì)應(yīng)1路網(wǎng)絡(luò)管理節(jié)點(diǎn)。
3.4監(jiān)控?cái)?shù)據(jù)發(fā)送控制模塊的設(shè)計(jì)
MT端口MAC幀發(fā)送控制模塊實(shí)現(xiàn)了將監(jiān)控?cái)?shù)據(jù)FIFO中的FIFO接口的數(shù)據(jù)信號(hào)轉(zhuǎn)換為MAC客戶(hù)端發(fā)送接口的時(shí)序,將幀發(fā)送到MT端口MAC中。
3.5MT端口幀發(fā)送處理模塊設(shè)計(jì)
網(wǎng)絡(luò)管理節(jié)點(diǎn)到MT端口幀發(fā)送數(shù)據(jù)處理模塊完成對(duì)來(lái)自網(wǎng)絡(luò)管理節(jié)點(diǎn)待發(fā)送數(shù)據(jù)幀的存儲(chǔ)操作。
3.6MT端口幀接收處理模塊設(shè)計(jì)
MT端口幀接收控制模塊實(shí)現(xiàn)了數(shù)據(jù)幀的篩選、接收存儲(chǔ)功能,并能識(shí)別和指示非ELS幀丟棄等。本模塊功能為對(duì)MT端口接收到的ELS幀進(jìn)行控制,根據(jù)接收到的幀內(nèi)容及幀類(lèi)型標(biāo)識(shí)信號(hào),將數(shù)據(jù)幀存入相應(yīng)緩沖區(qū)或丟棄(非ELS幀)。
4FC交換機(jī)MT端口仿真驗(yàn)證
4.1MT端口虛擬平臺(tái)仿真
由于篇幅有限,以下只對(duì)信息ID監(jiān)控情景得到的虛擬仿真波形進(jìn)行分析說(shuō)明。
網(wǎng)絡(luò)管理節(jié)點(diǎn)配置監(jiān)控模式寄存器值為0x3,表示為信息ID監(jiān)控模式;配置CAM表中需要被監(jiān)控的特殊字段值。往線(xiàn)卡端口輸入不同的FC幀,幀內(nèi)容中特殊字段有能被匹配到的,也有不能被匹配到的。仿真結(jié)果如圖6所示。
從圖6中看到配置CAM表的最后一個(gè)特殊字段值為0x100,則在MT端口監(jiān)控到的數(shù)據(jù)幀中也包含該特殊字段信息。
4.2FC交換機(jī)MT端口FPGA平臺(tái)驗(yàn)證
4.2.1FPGA驗(yàn)證平臺(tái)的環(huán)境
FPGA原型驗(yàn)證板是整個(gè)原型驗(yàn)證系統(tǒng)的核心,F(xiàn)C交換機(jī)協(xié)議處理芯片的原型驗(yàn)證板可以完成對(duì)交換機(jī)芯片F(xiàn)PGA原型所有基本功能和系統(tǒng)功能的測(cè)試驗(yàn)證。交換機(jī)芯片系統(tǒng)集成后的RTL級(jí)代碼,經(jīng)FPGA工具綜合、實(shí)現(xiàn),下載到FPGA芯片中,實(shí)現(xiàn)真實(shí)交換機(jī)芯片的功能。本研究搭建的MT端口FPGA平臺(tái)驗(yàn)證環(huán)境如圖7所示。
4.2.2FPGA驗(yàn)證平臺(tái)測(cè)試
在MT端口的光纖鏈路上接入Finisar測(cè)試儀,用以監(jiān)測(cè)光纖鏈路上的FC幀傳輸。光纖鏈路上線(xiàn)后,在Finisar測(cè)試儀上可以對(duì)抓到的數(shù)據(jù)包進(jìn)行解析,解析結(jié)果如圖8所示。
圖8表示MT端口在信息ID監(jiān)控模式下監(jiān)測(cè)到從線(xiàn)卡端口0發(fā)往線(xiàn)卡端口1的數(shù)據(jù),其中CAM表配置的值從16’h1到16’h100,符合邏輯設(shè)計(jì)中CAM表深度256。該幀的MSGID值為4,屬于監(jiān)測(cè)范圍,所以在MT端口能夠正確監(jiān)控。TYPE字段為0x49且CSCTL字段為0x04,表明該幀為ASM幀且優(yōu)先級(jí)為4。信息數(shù)據(jù)長(zhǎng)度值為16’h5F3,換算到十進(jìn)制時(shí)值為1523,表明MT監(jiān)控到的幀為超長(zhǎng)幀。
輸入數(shù)據(jù)監(jiān)控模式是MT端口只對(duì)一個(gè)線(xiàn)卡端口進(jìn)行監(jiān)控,而信息ID監(jiān)控模式是特殊的輸入數(shù)據(jù)監(jiān)控模式,可以對(duì)線(xiàn)卡端口的輸入數(shù)據(jù)與CAM表配置的敏感信息進(jìn)行MSGID查詢(xún)控制,只要CAM表查詢(xún)匹配成功,該幀就會(huì)被鏡像到MT端口。由上述結(jié)果分析可知,MT端口能夠在FPGA原型驗(yàn)證板上正確工作。
4.2.3監(jiān)控流量統(tǒng)計(jì)
FC幀最短幀為9個(gè)字段,最長(zhǎng)幀為537字段,其中1字段等于4 B,F(xiàn)C對(duì)應(yīng)的數(shù)據(jù)范圍是36 B~2148 B。為了便于對(duì)監(jiān)控的流量進(jìn)行統(tǒng)計(jì),驗(yàn)證時(shí)FC幀長(zhǎng)度取256個(gè)字段,即1 KB數(shù)據(jù)。假設(shè)FC鏈路的速率為2 Gb/s,即帶寬為2 Gb/s,那么用戶(hù)獨(dú)享帶寬時(shí)流量應(yīng)為200 MB/s。計(jì)算方法如下:
流量=帶寬×1 000×0.8/8
其中編碼因子0.8為8b/10b轉(zhuǎn)換時(shí)帶寬利用率,假如數(shù)據(jù)為8位,經(jīng)過(guò)8b/10b編碼之后數(shù)據(jù)擴(kuò)展為10位數(shù)據(jù),帶寬利用率為80%。轉(zhuǎn)換因子8代表8位數(shù)據(jù)轉(zhuǎn)化成1 B數(shù)據(jù)。
本文中用戶(hù)最高獨(dú)享帶寬的流量為212.5 MB/s,在FPGA驗(yàn)證平臺(tái)上做全雙工無(wú)誤碼率的測(cè)試,其中線(xiàn)卡端口注入的數(shù)據(jù)包含有特殊字段的幀數(shù)據(jù),如表1所示。
下面給出一種特殊的數(shù)據(jù)傳輸方式,線(xiàn)卡輸入端口唯一,目的端口分別為0、1,且數(shù)據(jù)幀發(fā)往目的端口的比重分別約占20%和80%,則MT端口監(jiān)控流量如表2所示。由監(jiān)控流量統(tǒng)計(jì)表分析可得,輸入數(shù)據(jù)端口唯一時(shí),將數(shù)據(jù)20%和80%比例輸出到線(xiàn)卡端口0和1,端口速率分別為41 MB/s和169 MB/s。信息ID監(jiān)控只是監(jiān)控所有數(shù)據(jù)中存在特殊字段的幀信息,在此不做詳細(xì)分析。全雙工無(wú)阻交換模式下,端口吞吐量為425 MB。
5結(jié)論
目前這款FC交換機(jī)協(xié)議處理芯片的MT端口軟核虛擬驗(yàn)證工作已經(jīng)完成,F(xiàn)PGA平臺(tái)上的測(cè)試證明該芯片運(yùn)行良好。從MT端口軟核設(shè)計(jì)和實(shí)現(xiàn)上來(lái)說(shuō),可對(duì)下一個(gè)版本以及其他相關(guān)芯片的研發(fā)提供一定的借鑒,并且該智能監(jiān)控技術(shù)具有廣泛的應(yīng)用前景。
參考文獻(xiàn)
?。?] 羅燁. F AERDMA技術(shù)的研究與實(shí)現(xiàn)[D]. 成都:電子科技大學(xué), 2010.
?。?] 林強(qiáng), 熊華鋼, 張其善. 光纖通道綜述[J]. 計(jì)算機(jī)應(yīng)用研究, 2006, 23(2): 9 13.
?。?] CHUANG S T, IYER S, MCKEOWN N. Practical algorithms for performance guarantees in buffered crossbars[J]. Proceedings of IEEE INFOCOM, 2005, 2(7):981 991.
[4] 黃永葵. 光纖通道標(biāo)準(zhǔn)及其在航空電子中的應(yīng)用[J]. 航空電子技術(shù), 2004, 34(4): 1 12.
?。?] CARVAJAL G,WU C W,F(xiàn)ISCHMEISER S.Evaluation of communication architectures for switched realtime Ethernet[J]. IEEE Transactions on Computers,2014,63(1):218 229.