孟 博,張 楠,王晨博
(中航工業(yè)西安航空計算技術(shù)研究所,陜西 西安 710068)
FC網(wǎng)絡(luò)是一種高速串行的總線網(wǎng)絡(luò),具有高速率、低延遲、低誤碼率、高可靠性和強(qiáng)抗干擾能力等特點,已成為現(xiàn)代主要機(jī)載型號的首選總線網(wǎng)絡(luò)。作為機(jī)載系統(tǒng)的主干網(wǎng)絡(luò),FC網(wǎng)絡(luò)以點到點和交換拓?fù)涞冉Y(jié)構(gòu)將航電、飛控和機(jī)電等各個子系統(tǒng)掛接在一起,構(gòu)建了一個可靠容錯的FC網(wǎng)絡(luò)平臺,實現(xiàn)FC協(xié)議通信、網(wǎng)絡(luò)管理、時鐘管理等功能[1]。本文設(shè)計了一種基于消息ID監(jiān)控模式的機(jī)載FC網(wǎng)絡(luò)監(jiān)控系統(tǒng),可以實現(xiàn)對FC網(wǎng)絡(luò)中關(guān)鍵數(shù)據(jù)進(jìn)行實時監(jiān)控、解析校驗和存儲分析等,為FC網(wǎng)絡(luò)的健康平穩(wěn)運行和故障定位分析等提供可靠的技術(shù)支持。
FC網(wǎng)絡(luò)采用雙余度機(jī)制,所有FC網(wǎng)絡(luò)終端設(shè)備均有兩路FC通道,分別連接至網(wǎng)絡(luò)中的兩路交換機(jī)模塊,兩個交換機(jī)模塊獨立工作,互為備份,FC網(wǎng)絡(luò)設(shè)備連接關(guān)系如圖1所示。
圖1 FC網(wǎng)絡(luò)設(shè)備連接關(guān)系
FC網(wǎng)絡(luò)數(shù)據(jù)監(jiān)控可以通過3種方式實現(xiàn),分別為基于發(fā)布訂閱的數(shù)據(jù)監(jiān)控、基于FC節(jié)點的數(shù)據(jù)監(jiān)控和基于交換機(jī)的數(shù)據(jù)監(jiān)控。
基于發(fā)布訂閱的數(shù)據(jù)監(jiān)控方式以訂閱消息為核心,其通過在FC網(wǎng)絡(luò)上發(fā)布訂閱消息來完成FC網(wǎng)絡(luò)數(shù)據(jù)的監(jiān)控。
基于FC節(jié)點的數(shù)據(jù)監(jiān)控方式以FC節(jié)點機(jī)為核心,其首先對FC消息的監(jiān)控屬性進(jìn)行配置,然后通過監(jiān)控通道和獲取通道實現(xiàn)FC網(wǎng)絡(luò)數(shù)據(jù)的監(jiān)控。
基于交換機(jī)的數(shù)據(jù)監(jiān)控方式以網(wǎng)絡(luò)交換機(jī)為核心,其通過配置交換機(jī)數(shù)據(jù)實現(xiàn)數(shù)據(jù)監(jiān)控,完成指定輸入/輸出端口監(jiān)控、指定ASM/ELS消息監(jiān)控和全部ASM/ELS消息監(jiān)控的功能。
FC網(wǎng)絡(luò)監(jiān)控數(shù)據(jù)主要存儲在數(shù)據(jù)管理計算機(jī)中,數(shù)據(jù)管理計算機(jī)有兩路FC與交換機(jī)模塊相連接,一路是FC通信節(jié)點,與交換機(jī)進(jìn)行FC通信使用。另一路是FC監(jiān)控節(jié)點,與交換機(jī)模塊的監(jiān)控端口相連接,用來接收FC網(wǎng)絡(luò)的監(jiān)控數(shù)據(jù)[2-3]。各型終端設(shè)備將數(shù)據(jù)通過兩路FC通道轉(zhuǎn)發(fā)給網(wǎng)絡(luò)中的交換機(jī),交換機(jī)對進(jìn)入它的所有數(shù)據(jù)進(jìn)行實時監(jiān)控,采用消息ID模式,對特定數(shù)據(jù)進(jìn)行協(xié)議解析,將需要監(jiān)控的數(shù)據(jù)通過FC監(jiān)控節(jié)點轉(zhuǎn)存至數(shù)據(jù)管理處理計算機(jī)。
光纖網(wǎng)絡(luò)交換機(jī)是實現(xiàn)FC網(wǎng)絡(luò)監(jiān)控的主體設(shè)備。每個網(wǎng)絡(luò)交換機(jī)擁有數(shù)個監(jiān)控端口,其中一個監(jiān)控端口連接到數(shù)管系統(tǒng)的監(jiān)控節(jié)點,再由數(shù)管系統(tǒng)記錄所監(jiān)控的網(wǎng)絡(luò)數(shù)據(jù)。每個網(wǎng)絡(luò)交換機(jī)具有數(shù)個普通端口和監(jiān)控端口。數(shù)管計算機(jī)通過光纖鏈路連接至交換機(jī)一個監(jiān)控端口上,網(wǎng)絡(luò)中的其他各型終端設(shè)備通過光纖鏈路連接至交換機(jī)的普通端口。
光纖網(wǎng)絡(luò)交換機(jī)的監(jiān)控端口可獨立配置,每個監(jiān)控端口提供3種監(jiān)控方式,在運行過程中只能選擇其中一種監(jiān)控方式工作。3種監(jiān)控方式分別為輸入端口監(jiān)控、輸出端口監(jiān)控和消息ID監(jiān)控,相較于消息ID監(jiān)控模式,輸入/輸出監(jiān)控模式只能針對一個端口的輸入輸出數(shù)據(jù)進(jìn)行監(jiān)控。
消息ID監(jiān)控模式如圖2所示,交換機(jī)會對所有進(jìn)入交換機(jī)的FC幀數(shù)據(jù)進(jìn)行檢查,檢查這些FC幀的消息ID是否是需要監(jiān)控的消息。如果與預(yù)先配置的消息ID一致,則會將該數(shù)據(jù)通過交換機(jī)的監(jiān)控端口轉(zhuǎn)發(fā)給監(jiān)控節(jié)點,轉(zhuǎn)存至數(shù)據(jù)管理處理計算機(jī)。
圖2 消息ID監(jiān)控模式
FC網(wǎng)絡(luò)監(jiān)控節(jié)點采用雙余度機(jī)制,連接兩路獨立的交換機(jī),用于捕獲和記錄交換機(jī)轉(zhuǎn)發(fā)的數(shù)據(jù),為FC網(wǎng)絡(luò)數(shù)據(jù)記錄提供功能支持。FC網(wǎng)絡(luò)監(jiān)控節(jié)點支持ASM消息監(jiān)控,并支持ELS幀數(shù)據(jù)監(jiān)控。
對于ASM消息,FC監(jiān)控節(jié)點兩個通道接收到兩幀ASM數(shù)據(jù),經(jīng)過余度處理后只會給用戶提交一幀ASM數(shù)據(jù)。對于ELS幀,只監(jiān)控消息ID不是發(fā)給本地的ELS幀。FC監(jiān)控節(jié)點以幀為單位進(jìn)行數(shù)據(jù)幀緩存,使用連續(xù)存儲方式保存,提供8 M的數(shù)據(jù)緩存。
系統(tǒng)上電后,監(jiān)控節(jié)點將ASM接收CAM表(用于存儲已收到的消息ID)和SN寄存器全部清零,當(dāng)監(jiān)控節(jié)點收到一個FC幀時,判斷幀類型和ID地址。如果收到的ELS幀的目的ID為監(jiān)控節(jié)點,則直接轉(zhuǎn)交到ELS接收緩沖,上報到協(xié)處理器,如果接收到被監(jiān)控的ELS幀,則直接存儲到監(jiān)控緩沖中,不需要進(jìn)行余度處理,如果收到一個ASM類型的FC幀,使用該消息ID進(jìn)行查表,如果不能查到,表示該消息是第一次接收,則將該消息的ID寫入到CAM中,并提取當(dāng)前消息的SN號保存到對應(yīng)的SN寄存器。當(dāng)數(shù)據(jù)接收緩沖區(qū)按照預(yù)先配置的大小收滿后,FC監(jiān)控子卡會以中斷的方式通知CPU來取監(jiān)控到的FC數(shù)據(jù)。
FC網(wǎng)絡(luò)在運行過程中,用戶使用ASM協(xié)議進(jìn)行數(shù)據(jù)通信,而FC網(wǎng)絡(luò)進(jìn)行管理維護(hù)時則使用ELS(擴(kuò)展鏈路服務(wù))數(shù)據(jù)通信。這兩種FC數(shù)據(jù)的余度處理機(jī)制不相同。
ASM協(xié)議數(shù)據(jù)采用“雙發(fā)雙收”的余度處理機(jī)制,發(fā)送端發(fā)送一幀ASM數(shù)據(jù)時,邏輯會在兩個通道同時發(fā)送該ASM數(shù)據(jù)。接收端會接收到兩幀ASM數(shù)據(jù),經(jīng)過余度處理后,只會給用戶提交一幀ASM數(shù)據(jù)。
ASM協(xié)議數(shù)據(jù)的余度處理使用SN號實現(xiàn);在余度模式下,SN號使用8位進(jìn)行編號,每條消息維護(hù)一個SN號寄存器,初始值為0,每發(fā)送一幀,遞增計數(shù),增加到255時回繞到1。
ELS數(shù)據(jù)幀主要用于FC網(wǎng)絡(luò)管理維護(hù),包括上/下網(wǎng)控制,網(wǎng)絡(luò)狀態(tài)獲取,網(wǎng)絡(luò)時鐘同步和維護(hù)等功能。ELS幀數(shù)據(jù)余度機(jī)制采用軟件進(jìn)行發(fā)送通道選擇,即在發(fā)送端選擇一個通道進(jìn)行ELS幀發(fā)送,如果發(fā)送端與接收端鏈路狀態(tài)正常時,則選擇默認(rèn)通道發(fā)送ELS幀;如果某個通道出現(xiàn)異常,則選擇正常的通道發(fā)送ELS幀。接收端兩個通道都處于接收狀態(tài),收到的數(shù)據(jù)會保存在ELS幀接收緩沖區(qū)中,然后提交主機(jī)處理器處理。
結(jié)合FC總線網(wǎng)絡(luò)的技術(shù)特點,本文提出了一種基于消息ID的機(jī)載FC網(wǎng)絡(luò)監(jiān)控系統(tǒng)方案,詳細(xì)介紹了FC網(wǎng)絡(luò)監(jiān)控原理和FC網(wǎng)絡(luò)余度機(jī)制。該FC監(jiān)控網(wǎng)絡(luò)能夠?qū)崿F(xiàn)對網(wǎng)絡(luò)中關(guān)鍵數(shù)據(jù)的正確傳輸和實時監(jiān)控,為FC網(wǎng)絡(luò)的健康狀況評估和故障原因定位等提供可靠的技術(shù)保障。