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