一種支持afdx協(xié)議交換引擎的數(shù)據(jù)監(jiān)控的交換機(jī)及交換方法
【專(zhuān)利摘要】本發(fā)明公開(kāi)了一種支持AFDX協(xié)議交換引擎的數(shù)據(jù)監(jiān)控的交換機(jī),包含正常轉(zhuǎn)發(fā)的交換結(jié)構(gòu)、監(jiān)控交換結(jié)構(gòu)和監(jiān)控配置表,監(jiān)控交換結(jié)構(gòu)包含2N個(gè)監(jiān)控輸入端口和2個(gè)數(shù)據(jù)監(jiān)控輸出端口,監(jiān)控輸入端口分別連接交換機(jī)的N個(gè)輸入端口和正常轉(zhuǎn)發(fā)的交換結(jié)構(gòu)的N個(gè)輸出端口,監(jiān)控輸入端口根據(jù)監(jiān)控配置表對(duì)輸入輸出數(shù)據(jù)監(jiān)控并加上監(jiān)控標(biāo)識(shí)轉(zhuǎn)發(fā)至2個(gè)數(shù)據(jù)監(jiān)控輸出端口。本發(fā)明不影響AFDX交換機(jī)的正常交換,還可以對(duì)AFDX交換機(jī)輸入輸出端口的數(shù)據(jù)進(jìn)行監(jiān)控。
【專(zhuān)利說(shuō)明】—種支持AFDX協(xié)議交換引擎的數(shù)據(jù)監(jiān)控的交換機(jī)及交換
方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及航空電子【技術(shù)領(lǐng)域】,特別是涉及AFDX交換機(jī)。
【背景技術(shù)】
[0002]根據(jù)ARINC664規(guī)范,AFDX交換機(jī)與商用以太網(wǎng)交換機(jī)主要有以下幾點(diǎn)不同:
[0003]I)支持基于虛擬鏈路(Virtual Link,簡(jiǎn)稱(chēng)VL)的單播和組播;
[0004]2)支持基于虛擬鏈路的流量控制策略;
[0005]3)支持基于虛擬鏈路的兩種優(yōu)先級(jí)設(shè)置;
[0006]4)支持基于端口的數(shù)據(jù)緩沖空間大小配置;
[0007]5)交換機(jī)的交換過(guò)程具有確定的可預(yù)計(jì)延遲時(shí)間;
[0008]6)擁有一個(gè)符合AFDX規(guī)范的終端接口。
[0009]這些不同之處決定了 AFDX交換芯片的交換結(jié)構(gòu)與商用交換芯片的交換結(jié)構(gòu)不完全相同。首先商用交換芯片的路由表變成了固定的虛擬鏈路配置表,路徑選擇要根據(jù)虛擬鏈路信息實(shí)現(xiàn)單播和多播功能,其次AFDX交換芯片添加了基于虛擬鏈路的流量策略控制和優(yōu)先級(jí)機(jī)制。同時(shí)AFDX交換芯片交換結(jié)構(gòu)的設(shè)計(jì)要保證幀在傳遞過(guò)程中具有可確定的延時(shí)。
[0010]如何能夠?qū)崟r(shí)監(jiān)控交換機(jī)的輸入輸出數(shù)據(jù),就必須在交換引擎中加入相應(yīng)的數(shù)據(jù)監(jiān)控設(shè)計(jì),同樣可以采用共享存儲(chǔ)方式來(lái)實(shí)現(xiàn)數(shù)據(jù)的監(jiān)控。
【發(fā)明內(nèi)容】
[0011]針對(duì)現(xiàn)有技術(shù)的不足,本發(fā)明的發(fā)明目的在于提供一種支持AFDX協(xié)議交換引擎的數(shù)據(jù)監(jiān)控的交換機(jī),實(shí)現(xiàn)正常的數(shù)據(jù)交換和監(jiān)控?cái)?shù)據(jù)隔離;可以監(jiān)控被正常交換過(guò)濾的幀;為監(jiān)控?cái)?shù)據(jù)幀增加時(shí)間戳和錯(cuò)誤類(lèi)型。
[0012]本發(fā)明的發(fā)明目的通過(guò)以下技術(shù)方案來(lái)實(shí)現(xiàn):
[0013]一種支持AFDX協(xié)議交換引擎的數(shù)據(jù)監(jiān)控的交換機(jī),包含正常轉(zhuǎn)發(fā)的交換結(jié)構(gòu),所述正常轉(zhuǎn)發(fā)的交換結(jié)構(gòu)包含N個(gè)輸入端口、N個(gè)輸出端口和參數(shù)配置表,負(fù)責(zé)根據(jù)參數(shù)配置表中的參數(shù)進(jìn)行數(shù)據(jù)過(guò)濾,將正常的數(shù)據(jù)的轉(zhuǎn)發(fā),還包含監(jiān)控交換結(jié)構(gòu)和監(jiān)控配置表,負(fù)責(zé)監(jiān)控?cái)?shù)據(jù)的轉(zhuǎn)發(fā)和過(guò)濾,所述監(jiān)控交換結(jié)構(gòu)包含2N個(gè)監(jiān)控輸入端口和2個(gè)監(jiān)控輸出端口,監(jiān)控輸入端口分別連接交換機(jī)的N個(gè)輸入端口和正常轉(zhuǎn)發(fā)的交換結(jié)構(gòu)的N個(gè)輸出端口,監(jiān)控輸入端口根據(jù)監(jiān)控配置表對(duì)輸入輸出數(shù)據(jù)監(jiān)控并加上監(jiān)控標(biāo)識(shí)轉(zhuǎn)發(fā)至2個(gè)監(jiān)控輸出端□。
[0014]優(yōu)選地,所述監(jiān)控交換結(jié)構(gòu)還包含:
[0015]串-并轉(zhuǎn)換模塊:將監(jiān)控輸入端口的串行以太網(wǎng)數(shù)據(jù)轉(zhuǎn)換為并行數(shù)據(jù)輸入到監(jiān)控共享存儲(chǔ)器;
[0016]并-串轉(zhuǎn)換模塊:將監(jiān)控共享存儲(chǔ)器中的并行數(shù)據(jù)轉(zhuǎn)換為串行以太網(wǎng)數(shù)據(jù)輸出;[0017]時(shí)鐘分片單元:提供供監(jiān)控共享存儲(chǔ)控制器對(duì)2N個(gè)監(jiān)控輸入端口和2個(gè)監(jiān)控輸出端口進(jìn)行時(shí)間片輪詢?cè)L問(wèn)的定時(shí)周期;
[0018]監(jiān)控共享存儲(chǔ)控制器:按時(shí)鐘片對(duì)監(jiān)控共享存儲(chǔ)器進(jìn)行輪詢?cè)L問(wèn);
[0019]監(jiān)控空地址指針隊(duì)列:監(jiān)控共享存儲(chǔ)器中空地址的管理;
[0020]多播計(jì)數(shù)單元:多路轉(zhuǎn)發(fā)時(shí)的計(jì)數(shù)控制;
[0021]監(jiān)控輸出隊(duì)列、監(jiān)控輸出隊(duì)列調(diào)度器:完成監(jiān)控輸出隊(duì)列數(shù)據(jù)的調(diào)度工作。
[0022]優(yōu)選地,所述監(jiān)控配置表中定義的監(jiān)控參數(shù)有:
[0023]監(jiān)控狀態(tài):是否需要監(jiān)控;
[0024]監(jiān)控速度:10M、100M;
[0025]監(jiān)控模式:虛擬鏈路監(jiān)控或端口監(jiān)控;
[0026]監(jiān)控輸入端口:需要監(jiān)控的輸入端口號(hào);
[0027]監(jiān)控輸出端口:需要監(jiān)控的輸出端口號(hào);
[0028]監(jiān)控VL:表示需要監(jiān)控的VL。
[0029]優(yōu)選地,所述正常轉(zhuǎn)發(fā)的交換結(jié)構(gòu)還包含存儲(chǔ)控制器、共享存儲(chǔ)器、空閑地址指針隊(duì)列、輸出隊(duì)列調(diào)度器;
[0030]存儲(chǔ)控制器用于對(duì)輸入端發(fā)出請(qǐng)求以時(shí)鐘片輪詢的方式做出仲裁,從空閑地址指針隊(duì)列中取出一個(gè)空地址,將數(shù)據(jù)寫(xiě)入這個(gè)空地址所指向的共享存儲(chǔ)器空間,并將這個(gè)空地址和其他相關(guān)信息寫(xiě)入對(duì)應(yīng)輸出端口的輸出隊(duì)列中;
[0031]輸出隊(duì)列調(diào)度器以時(shí)鐘片輪詢的方式從每一個(gè)輸出端口非空的輸出隊(duì)列中讀出被緩存的幀的存儲(chǔ)地址和其他信息,根據(jù)存儲(chǔ)地址從共享存儲(chǔ)器空間中讀出幀數(shù)據(jù)并向輸出端口發(fā)送。
[0032]本發(fā)明的另一目的在于提供一種支持AFDX協(xié)議交換引擎的數(shù)據(jù)監(jiān)控的交換機(jī)的交換方法,包含以下步驟:
[0033]A)交換機(jī)的輸入數(shù)據(jù)在進(jìn)入交換機(jī)的時(shí)候同時(shí)輸入正常轉(zhuǎn)發(fā)的交換結(jié)構(gòu)的輸入端口和監(jiān)控交換結(jié)構(gòu)的監(jiān)控輸入端口;
[0034]B)對(duì)進(jìn)入正常轉(zhuǎn)發(fā)的交換結(jié)構(gòu)的數(shù)據(jù)根據(jù)參數(shù)配置表進(jìn)行過(guò)濾,將錯(cuò)誤幀丟棄,正常數(shù)據(jù)進(jìn)行存儲(chǔ)轉(zhuǎn)發(fā)輸出到輸出端口及監(jiān)控輸入端口;
[0035]C)監(jiān)控輸入端口解析輸入數(shù)據(jù)的信息并提取出虛擬鏈路號(hào),根據(jù)該虛擬鏈路號(hào)通過(guò)監(jiān)控交換結(jié)構(gòu)與CPU的接口讀取監(jiān)控配置表,讀入監(jiān)控參數(shù),判斷該數(shù)據(jù)是否需要被監(jiān)控;
[0036]D),根據(jù)參數(shù)配置表和監(jiān)控配置表判斷數(shù)據(jù)幀的轉(zhuǎn)發(fā)信息和數(shù)據(jù)幀的錯(cuò)誤信息并添加到數(shù)據(jù)幀中;
[0037]E)監(jiān)控?cái)?shù)據(jù)輸入監(jiān)控交換結(jié)構(gòu)存儲(chǔ)轉(zhuǎn)發(fā);
[0038]F)監(jiān)控交換結(jié)構(gòu)的監(jiān)控輸出端口負(fù)責(zé)為輸出數(shù)據(jù)添加附加信息幀尾和附加CRC,信息幀尾包含輸入輸出標(biāo)識(shí)、輸入端口信息、輸出端口信息、錯(cuò)誤幀錯(cuò)誤類(lèi)型標(biāo)識(shí)、時(shí)間戳信息。
[0039]優(yōu)選地,所述步驟E中監(jiān)控?cái)?shù)據(jù)輸入監(jiān)控交換結(jié)構(gòu)存儲(chǔ)轉(zhuǎn)發(fā)包含以下步驟:
[0040]E.1)、在監(jiān)控輸入端口,當(dāng)有數(shù)據(jù)幀到來(lái)時(shí),監(jiān)控輸入端口發(fā)出請(qǐng)求,監(jiān)控共享存儲(chǔ)控制器以時(shí)鐘片輪詢的方式做出仲裁;[0041]E.2)、獲得控制權(quán)的監(jiān)控輸入端口從監(jiān)控空閑地址指針隊(duì)列中取出一個(gè)空地址,將數(shù)據(jù)幀寫(xiě)入這個(gè)空地址所指向的監(jiān)控共享存儲(chǔ)器空間,以及在多播計(jì)數(shù)單元的相應(yīng)位置寫(xiě)入多播的扇出個(gè)數(shù);
[0042]E.3)、根據(jù)數(shù)據(jù)幀的轉(zhuǎn)發(fā)信息將這個(gè)空地址和其他相關(guān)信息寫(xiě)入對(duì)應(yīng)監(jiān)控輸出端口的監(jiān)控輸出隊(duì)列中;
[0043]E.4)、在監(jiān)控輸出端口,監(jiān)控輸出隊(duì)列調(diào)度器同樣以時(shí)鐘輪詢的方式從每一個(gè)監(jiān)控輸出端口非空的監(jiān)控輸出隊(duì)列中讀出被緩存的數(shù)據(jù)幀的存儲(chǔ)地址和其他信息,根據(jù)存儲(chǔ)地址從監(jiān)控共享存儲(chǔ)器中讀出數(shù)據(jù)幀以及從多播計(jì)數(shù)單元中讀出多播計(jì)數(shù)個(gè)數(shù)并減一向監(jiān)控輸出端口發(fā)送,當(dāng)多播計(jì)數(shù)個(gè)數(shù)不為O時(shí),則繼續(xù)向監(jiān)控輸出端口發(fā)送該數(shù)據(jù)幀,當(dāng)多播計(jì)數(shù)個(gè)數(shù)為O時(shí),表明該監(jiān)控共享存儲(chǔ)區(qū)對(duì)應(yīng)的所有多播扇出都被正常轉(zhuǎn)發(fā)后,將該監(jiān)控共享存儲(chǔ)區(qū)地址送入空地址指針隊(duì)列中。
[0044]優(yōu)選地,所述步驟B的正常數(shù)據(jù)進(jìn)行存儲(chǔ)轉(zhuǎn)發(fā)包含以下步驟:
[0045]B.1、當(dāng)輸入端有數(shù)據(jù)幀到來(lái)時(shí),輸入端發(fā)出請(qǐng)求,存儲(chǔ)控制器以時(shí)鐘片輪詢的方式做出仲裁;
[0046]B.2、獲得控制權(quán)的輸入端從空指針隊(duì)列中取出一個(gè)空地址,將數(shù)據(jù)幀寫(xiě)入這個(gè)空地址所指向的共享存儲(chǔ)器空間,并將這個(gè)空地址和其他相關(guān)信息寫(xiě)入對(duì)應(yīng)輸出端口的輸出隊(duì)列中;
[0047]B.3、在輸出端,輸出隊(duì)列調(diào)度器同樣以時(shí)鐘輪詢的方式從每一個(gè)端口非空的輸出隊(duì)列中讀出被緩存的幀的存儲(chǔ)地址和其他信息,根據(jù)存儲(chǔ)地址從共享存儲(chǔ)器中讀出幀數(shù)據(jù)并向輸出端口發(fā)送。
[0048]與現(xiàn)有技術(shù)相比,本發(fā)明的有益效果在于有利于監(jiān)控AFDX交換機(jī)網(wǎng)絡(luò)中的傳送信息并分析,基于共享存儲(chǔ)結(jié)構(gòu)的AFDX交換引擎的數(shù)據(jù)監(jiān)控設(shè)計(jì)方法可實(shí)時(shí)監(jiān)控交換機(jī)收發(fā)數(shù)據(jù),作為AFDX交換芯片中數(shù)據(jù)監(jiān)控的核心關(guān)鍵技術(shù),本發(fā)明適用范圍廣,可被廣泛用于現(xiàn)有國(guó)內(nèi)外軍/民用飛機(jī)航電總線的研發(fā),具有顯著的市場(chǎng)前景和經(jīng)濟(jì)效益。
【專(zhuān)利附圖】
【附圖說(shuō)明】
[0049]圖1是本發(fā)明一種支持AFDX協(xié)議交換引擎的數(shù)據(jù)監(jiān)控的交換機(jī)的結(jié)構(gòu)圖;
[0050]圖2是基于共享存儲(chǔ)器的正常數(shù)據(jù)的交換結(jié)構(gòu)框圖;
[0051]圖3是基于共享存儲(chǔ)器的監(jiān)控交換結(jié)構(gòu)框圖;
[0052]圖4是交換機(jī)監(jiān)控參數(shù)表配置
【具體實(shí)施方式】
[0053]下面結(jié)合附圖對(duì)本發(fā)明作進(jìn)一步的詳細(xì)說(shuō)明。
[0054]從圖1中可以看出交換機(jī)中有兩個(gè)交換結(jié)構(gòu),一個(gè)是正常轉(zhuǎn)發(fā)的交換結(jié)構(gòu),一個(gè)是監(jiān)控交換結(jié)構(gòu)。正常轉(zhuǎn)發(fā)的交換結(jié)構(gòu)負(fù)責(zé)正常數(shù)據(jù)的轉(zhuǎn)發(fā)和過(guò)濾,監(jiān)控交換結(jié)構(gòu)負(fù)責(zé)監(jiān)控?cái)?shù)據(jù)的轉(zhuǎn)發(fā)。正常轉(zhuǎn)發(fā)的交換結(jié)構(gòu)和監(jiān)控交換結(jié)構(gòu)是隔離的。交換機(jī)的輸入數(shù)據(jù)在進(jìn)入交換機(jī)的時(shí)候相當(dāng)于進(jìn)行了數(shù)據(jù)拷貝,拷貝的數(shù)據(jù)接入監(jiān)控交換結(jié)構(gòu)的輸入端口。對(duì)于正常轉(zhuǎn)發(fā)的交換結(jié)構(gòu),它有24個(gè)輸入端口和24個(gè)輸出端口 ;對(duì)于監(jiān)控交換結(jié)構(gòu),它有48個(gè)監(jiān)控輸入端口和2個(gè)數(shù)據(jù)監(jiān)控輸出端口。監(jiān)控交換結(jié)構(gòu)的其中24個(gè)監(jiān)控輸入端口的輸入就是交換機(jī)的外部輸入的拷貝數(shù)據(jù),另24個(gè)監(jiān)控輸入端口的輸入是正常轉(zhuǎn)發(fā)的交換結(jié)構(gòu)的輸出,所以監(jiān)控交換結(jié)構(gòu)可以監(jiān)控所有的輸入數(shù)據(jù),也可以監(jiān)控所有的輸出數(shù)據(jù)。
[0055]監(jiān)控交換結(jié)構(gòu)的輸入端口通過(guò)查找監(jiān)控配置表判斷該數(shù)據(jù)是否需要被監(jiān)控(根據(jù)端口監(jiān)控和虛擬鏈路監(jiān)控),根據(jù)正常轉(zhuǎn)發(fā)的交換結(jié)構(gòu)的參數(shù)配置表對(duì)數(shù)據(jù)幀進(jìn)行判斷,判斷是否為錯(cuò)誤幀,如超長(zhǎng)包、超短包、信用量出錯(cuò)、字節(jié)未對(duì)齊、延遲超長(zhǎng)等信息,對(duì)于錯(cuò)誤幀,添加錯(cuò)誤信息的幀尾。監(jiān)控交換結(jié)構(gòu)的數(shù)據(jù)監(jiān)控輸出端口負(fù)責(zé)為輸入數(shù)據(jù)打上時(shí)間戳和附加CRC,共16字節(jié)。所有監(jiān)控信息均可從正常交換結(jié)構(gòu)中獲得。
[0056]正常轉(zhuǎn)發(fā)的交換結(jié)構(gòu)負(fù)責(zé)正常數(shù)據(jù)的轉(zhuǎn)發(fā)和過(guò)濾,圖2給出了一般的基于共享存儲(chǔ)器的正常轉(zhuǎn)發(fā)的交換結(jié)構(gòu)邏輯框圖。它主要由空閑地址指針隊(duì)列、存儲(chǔ)控制器、共享存儲(chǔ)器、輸出隊(duì)列和輸出隊(duì)列調(diào)度器等組成。
[0057]基于共享存儲(chǔ)器的交換結(jié)構(gòu)工作方式如下所述。在輸入端,當(dāng)輸入端有數(shù)據(jù)幀到來(lái)時(shí),輸入端發(fā)出請(qǐng)求,存儲(chǔ)控制器以時(shí)鐘片輪詢的方式做出仲裁。獲得控制權(quán)的輸入端從空閑地址指針隊(duì)列中取出一個(gè)空地址,將幀數(shù)據(jù)寫(xiě)入這個(gè)空地址所指向的共享存儲(chǔ)器空間,并將這個(gè)空地址和其他相關(guān)信息寫(xiě)入對(duì)應(yīng)輸出端口的輸出隊(duì)列中。在輸出端,輸出隊(duì)列調(diào)度器同樣以時(shí)鐘輪詢的方式從每一個(gè)端口非空的輸出隊(duì)列中讀出被緩存的幀的存儲(chǔ)地址和其他信息,根據(jù)存儲(chǔ)地址從共享存儲(chǔ)器中讀出幀數(shù)據(jù)并向輸出端口發(fā)送。
[0058]監(jiān)控交換結(jié)構(gòu)主要完成各端口輸入輸出數(shù)據(jù)的存儲(chǔ)轉(zhuǎn)發(fā)功能。圖3給出了它的邏輯框圖。它主要由串-并轉(zhuǎn)換模塊、并-串轉(zhuǎn)換模塊、時(shí)鐘分片單元、監(jiān)控共享存儲(chǔ)控制器、監(jiān)控空地址指針隊(duì)列、多播計(jì)數(shù)單元、監(jiān)控輸出隊(duì)列和監(jiān)控輸出隊(duì)列調(diào)度器等組成。其中,監(jiān)控共享存儲(chǔ)器為內(nèi)部SRAM存儲(chǔ)單元。
[0059]以太網(wǎng)的數(shù)據(jù)幀最長(zhǎng)為1518字節(jié),加上監(jiān)控標(biāo)識(shí)字段16字節(jié)。為了便于實(shí)現(xiàn),我們將監(jiān)控共享存儲(chǔ)器劃分為若干2Kbytes大小的存儲(chǔ)塊,監(jiān)控空地址指針隊(duì)列、多播計(jì)數(shù)單元就負(fù)責(zé)這些存儲(chǔ)塊的分發(fā)和回收。監(jiān)控空地址指針隊(duì)列保存了當(dāng)前所有未使用的存儲(chǔ)塊地址,而多播計(jì)數(shù)單元?jiǎng)t記錄了已使用存儲(chǔ)塊的多播扇出信息。
[0060]監(jiān)控輸出隊(duì)列的容量取決于監(jiān)控共享存儲(chǔ)器的大小,輸出隊(duì)列的每一項(xiàng)保存了數(shù)據(jù)幀所占用的存儲(chǔ)塊地址和幀長(zhǎng)度等信息。
[0061]監(jiān)控輸出隊(duì)列調(diào)度器采用了時(shí)鐘片輪循的機(jī)制為每個(gè)監(jiān)控輸入端口和監(jiān)控輸出端口進(jìn)行調(diào)度管理,包括空存儲(chǔ)塊的分配,監(jiān)控共享存儲(chǔ)器的訪問(wèn)控制,監(jiān)控輸出隊(duì)列的訪問(wèn)控制等。
[0062]下面我們介紹一下基于共享存儲(chǔ)交換結(jié)構(gòu)的多播工作方式。交換結(jié)構(gòu)在為全局共享存儲(chǔ)器維護(hù)一個(gè)空地址指針隊(duì)列的基礎(chǔ)上,還維護(hù)一個(gè)多播計(jì)數(shù)單元。在輸入端,當(dāng)輸入的數(shù)據(jù)幀為多播幀,它在獲得一個(gè)空地址后,在多播計(jì)數(shù)單元的相應(yīng)位置寫(xiě)入多播的扇出個(gè)數(shù)。在輸出端,當(dāng)從輸出隊(duì)列中讀出一幀信息并轉(zhuǎn)發(fā)時(shí),根據(jù)其存儲(chǔ)地址從多播計(jì)數(shù)單元中讀出多播計(jì)數(shù)個(gè)數(shù)并減一,當(dāng)多播計(jì)數(shù)個(gè)數(shù)計(jì)為O時(shí),表明該存儲(chǔ)塊對(duì)應(yīng)的所有多播扇出都被正常轉(zhuǎn)發(fā)后,將該存儲(chǔ)塊地址送入空地址指針隊(duì)列中。在這種情況下,單播即為多播扇出為I的特例。
[0063]監(jiān)控配置表通過(guò)與CPU的接口,讀入交換機(jī)監(jiān)控參數(shù)。圖4為監(jiān)控配置表參數(shù)內(nèi)容及字段長(zhǎng)度。監(jiān)控狀態(tài)為是否需要監(jiān)控;監(jiān)控速度為10MU00M ;監(jiān)控模式為虛擬鏈路監(jiān)控或端口監(jiān)控;監(jiān)控輸入端口和監(jiān)控輸出端口表示需要監(jiān)控的輸入輸出端口號(hào);監(jiān)控VL表示需要監(jiān)控的VL。
[0064]通過(guò)讀取監(jiān)控配置表信息,監(jiān)控交換引擎可實(shí)現(xiàn)對(duì)指定輸入輸出端口或指定虛擬鏈路(VL)進(jìn)行監(jiān)控。
[0065]監(jiān)控輸出端口采用以太網(wǎng)協(xié)議芯片,將輸出隊(duì)列中的數(shù)據(jù)轉(zhuǎn)換為AFDX協(xié)議格式輸出。支持10M/100M數(shù)據(jù)輸出。
【權(quán)利要求】
1.一種支持AFDX協(xié)議交換引擎的數(shù)據(jù)監(jiān)控的交換機(jī),包含正常轉(zhuǎn)發(fā)的交換結(jié)構(gòu),所述正常轉(zhuǎn)發(fā)的交換結(jié)構(gòu)包含N個(gè)輸入端口、N個(gè)輸出端口和參數(shù)配置表,負(fù)責(zé)根據(jù)參數(shù)配置表中的參數(shù)進(jìn)行數(shù)據(jù)過(guò)濾,將正常的數(shù)據(jù)的轉(zhuǎn)發(fā),其特征在于交換機(jī)還包含監(jiān)控交換結(jié)構(gòu)和監(jiān)控配置表,負(fù)責(zé)監(jiān)控?cái)?shù)據(jù)的轉(zhuǎn)發(fā)和過(guò)濾,所述監(jiān)控交換結(jié)構(gòu)包含2N個(gè)監(jiān)控輸入端口和2個(gè)監(jiān)控輸出端口,監(jiān)控輸入端口分別連接交換機(jī)的N個(gè)輸入端口和正常轉(zhuǎn)發(fā)的交換結(jié)構(gòu)的N個(gè)輸出端口,監(jiān)控輸入端口根據(jù)監(jiān)控配置表對(duì)輸入輸出數(shù)據(jù)監(jiān)控并加上監(jiān)控標(biāo)識(shí)轉(zhuǎn)發(fā)至2個(gè)監(jiān)控輸出端口。
2.根據(jù)權(quán)利要求1所述的一種支持AFDX協(xié)議交換引擎的數(shù)據(jù)監(jiān)控的交換機(jī),其特征在于所述監(jiān)控交換結(jié)構(gòu)還包含: 串-并轉(zhuǎn)換模塊:將監(jiān)控輸入端口的串行以太網(wǎng)數(shù)據(jù)轉(zhuǎn)換為并行數(shù)據(jù)輸入到監(jiān)控共享存儲(chǔ)器; 并-串轉(zhuǎn)換模塊:將監(jiān)控共享存儲(chǔ)器中的并行數(shù)據(jù)轉(zhuǎn)換為串行以太網(wǎng)數(shù)據(jù)輸出;時(shí)鐘分片單元:提供供監(jiān)控共享存儲(chǔ)控制器對(duì)2N個(gè)監(jiān)控輸入端口和2個(gè)監(jiān)控輸出端口進(jìn)行時(shí)間片輪詢?cè)L問(wèn)的定時(shí)周期; 監(jiān)控共享存儲(chǔ)控制器:按時(shí)鐘片對(duì)監(jiān)控共享存儲(chǔ)器進(jìn)行輪詢?cè)L問(wèn); 監(jiān)控空地址指針隊(duì)列:監(jiān)控共享存儲(chǔ)器中空地址的管理; 多播計(jì)數(shù)單元:多路轉(zhuǎn)發(fā)時(shí)的計(jì)數(shù)控制; 監(jiān)控輸出隊(duì)列、監(jiān)控輸出隊(duì)列調(diào)度器:完成監(jiān)控輸出隊(duì)列數(shù)據(jù)的調(diào)度工作。
3.根據(jù)權(quán)利要求1所述的一種支持AFDX協(xié)議交換引擎的數(shù)據(jù)監(jiān)控的交換機(jī),其特征在于所述監(jiān)控配置表中定義的監(jiān)控參數(shù)有: 監(jiān)控狀態(tài):是否需要監(jiān)控; 監(jiān)控速度:10M、100M ; 監(jiān)控模式:虛擬鏈路監(jiān)控或端口監(jiān)控; 監(jiān)控輸入端口:需要監(jiān)控的輸入端口號(hào); 監(jiān)控輸出端口:需要監(jiān)控的輸出端口號(hào); 監(jiān)控VL:表示需要監(jiān)控的VL。
4.根據(jù)權(quán)利要求1所述的一種支持AFDX協(xié)議交換引擎的數(shù)據(jù)監(jiān)控的交換機(jī),其特征在于所述正常轉(zhuǎn)發(fā)的交換結(jié)構(gòu)還包含存儲(chǔ)控制器、共享存儲(chǔ)器、空閑地址指針隊(duì)列、輸出隊(duì)列調(diào)度器; 存儲(chǔ)控制器用于對(duì)輸入端發(fā)出請(qǐng)求以時(shí)鐘片輪詢的方式做出仲裁,從空閑地址指針隊(duì)列中取出一個(gè)空地址,將數(shù)據(jù)寫(xiě)入這個(gè)空地址所指向的共享存儲(chǔ)器空間,并將這個(gè)空地址和其他相關(guān)信息寫(xiě)入對(duì)應(yīng)輸出端口的輸出隊(duì)列中; 輸出隊(duì)列調(diào)度器以時(shí)鐘片輪詢的方式從每一個(gè)輸出端口非空的輸出隊(duì)列中讀出被緩存的幀的存儲(chǔ)地址和其他信息,根據(jù)存儲(chǔ)地址從共享存儲(chǔ)器空間中讀出幀數(shù)據(jù)并向輸出端口發(fā)送。
5.根據(jù)權(quán)利要求1所述的一種支持AFDX協(xié)議交換引擎的數(shù)據(jù)監(jiān)控的交換機(jī)的交換方法,包含以下步驟: A)交換機(jī)的輸入數(shù)據(jù)在進(jìn)入交換機(jī)的時(shí)候同時(shí)輸入正常轉(zhuǎn)發(fā)的交換結(jié)構(gòu)的輸入端口和監(jiān)控交換結(jié)構(gòu)的監(jiān)控輸入端口;B)對(duì)進(jìn)入正常轉(zhuǎn)發(fā)的交換結(jié)構(gòu)的數(shù)據(jù)根據(jù)參數(shù)配置表進(jìn)行過(guò)濾,將錯(cuò)誤幀丟棄,正常數(shù)據(jù)進(jìn)行存儲(chǔ)轉(zhuǎn)發(fā)輸出到輸出端口及監(jiān)控輸入端口; C)監(jiān)控輸入端口解析輸入數(shù)據(jù)的信息并提取出虛擬鏈路號(hào),根據(jù)該虛擬鏈路號(hào)通過(guò)監(jiān)控交換結(jié)構(gòu)與CPU的接口讀取監(jiān)控配置表,讀入監(jiān)控參數(shù),判斷該數(shù)據(jù)是否需要被監(jiān)控; D)根據(jù)參數(shù)配置表和監(jiān)控配置表判斷數(shù)據(jù)幀的轉(zhuǎn)發(fā)信息和數(shù)據(jù)幀的錯(cuò)誤信息并添加到數(shù)據(jù)幀中; E)監(jiān)控?cái)?shù)據(jù)輸入監(jiān)控交換結(jié)構(gòu)存儲(chǔ)轉(zhuǎn)發(fā); F)監(jiān)控交換結(jié)構(gòu)的監(jiān)控輸出端口負(fù)責(zé)為輸出數(shù)據(jù)添加附加信息幀尾和附加CRC,信息幀尾包含輸入輸出標(biāo)識(shí)、輸入端口信息、輸出端口信息、錯(cuò)誤幀錯(cuò)誤類(lèi)型標(biāo)識(shí)、時(shí)間戳信息。
6.根據(jù)權(quán)利要求5所述的交換方法,其特征在于所述步驟E中監(jiān)控?cái)?shù)據(jù)輸入監(jiān)控交換結(jié)構(gòu)存儲(chǔ)轉(zhuǎn)發(fā)包含以下步驟: E.1)、在監(jiān)控輸入端口,當(dāng)有數(shù)據(jù)幀到來(lái)時(shí),監(jiān)控輸入端口發(fā)出請(qǐng)求,監(jiān)控共享存儲(chǔ)控制器以時(shí)鐘片輪詢的方式做出仲裁; E.2)、獲得控制權(quán)的監(jiān)控輸入端口從監(jiān)控空閑地址指針隊(duì)列中取出一個(gè)空地址,將數(shù)據(jù)幀寫(xiě)入這個(gè)空地址所指向的監(jiān)控共享存儲(chǔ)器空間,以及在多播計(jì)數(shù)單元的相應(yīng)位置寫(xiě)入多播的扇出個(gè)數(shù); E.3)、根據(jù)數(shù)據(jù)幀的轉(zhuǎn)發(fā)信息將這個(gè)空地址和其他相關(guān)信息寫(xiě)入對(duì)應(yīng)監(jiān)控輸出端口的監(jiān)控輸出隊(duì)列中; E.4)、在監(jiān)控輸出端口,監(jiān)控輸出隊(duì)列調(diào)度器同樣以時(shí)鐘輪詢的方式從每一個(gè)監(jiān)控輸出端口非空的監(jiān)控輸出隊(duì)列中讀出被緩存的數(shù)據(jù)幀的存儲(chǔ)地址和其他信息,根據(jù)存儲(chǔ)地址從監(jiān)控共享存儲(chǔ)器中讀出數(shù)據(jù)幀以及從多播計(jì)數(shù)單元中讀出多播計(jì)數(shù)個(gè)數(shù)并減一向監(jiān)控輸出端口發(fā)送,當(dāng)多播計(jì)數(shù)個(gè)數(shù)不為O時(shí),則繼續(xù)向監(jiān)控輸出端口發(fā)送該數(shù)據(jù)幀,當(dāng)多播計(jì)數(shù)個(gè)數(shù)為O時(shí),表明該監(jiān)控共享存儲(chǔ)區(qū)對(duì)應(yīng)的所有多播扇出都被正常轉(zhuǎn)發(fā)后,將該監(jiān)控共享存儲(chǔ)區(qū)地址送入空地址指針隊(duì)列中。
7.根據(jù)權(quán)利要求5所述的交換方法,其特征在于所述步驟B的正常數(shù)據(jù)進(jìn)行存儲(chǔ)轉(zhuǎn)發(fā)包含以下步驟: B.1、當(dāng)輸入端有數(shù)據(jù)幀到來(lái)時(shí),輸入端發(fā)出請(qǐng)求,存儲(chǔ)控制器以時(shí)鐘片輪詢的方式做出仲裁; B.2、獲得控制權(quán)的輸入端從空指針隊(duì)列中取出一個(gè)空地址,將數(shù)據(jù)幀寫(xiě)入這個(gè)空地址所指向的共享存儲(chǔ)器空間,并將這個(gè)空地址和其他相關(guān)信息寫(xiě)入對(duì)應(yīng)輸出端口的輸出隊(duì)列中; B.3、在輸出 端,輸出隊(duì)列調(diào)度器同樣以時(shí)鐘輪詢的方式從每一個(gè)端口非空的輸出隊(duì)列中讀出被緩存的幀的存儲(chǔ)地址和其他信息,根據(jù)存儲(chǔ)地址從共享存儲(chǔ)器中讀出幀數(shù)據(jù)并向輸出端口發(fā)送。
【文檔編號(hào)】H04L12/931GK103634238SQ201310643480
【公開(kāi)日】2014年3月12日 申請(qǐng)日期:2013年12月3日 優(yōu)先權(quán)日:2013年12月3日
【發(fā)明者】沈磊, 高磊 申請(qǐng)人:中國(guó)航空無(wú)線電電子研究所