中國(guó)電子科技集團(tuán)第三十研究所 張穎 石鑫 張一 肖良木
本文以國(guó)產(chǎn)化網(wǎng)絡(luò)平臺(tái)為基礎(chǔ),以啟動(dòng)自檢、網(wǎng)絡(luò)處理典型功能和流程為研究對(duì)象,探索和總結(jié)國(guó)產(chǎn)化平臺(tái)的測(cè)試方法,作為提升國(guó)產(chǎn)化設(shè)備平臺(tái)測(cè)試技術(shù)的重要參考。
當(dāng)前主流產(chǎn)品中,從發(fā)貨比例及平臺(tái)設(shè)計(jì)架構(gòu)普適性考慮,優(yōu)選具有代表性的通用隔離平臺(tái),即國(guó)產(chǎn)化系列網(wǎng)絡(luò)機(jī)平臺(tái)進(jìn)行研究。本文以國(guó)產(chǎn)化網(wǎng)絡(luò)機(jī)平臺(tái)為基礎(chǔ),挑選平臺(tái)的典型流程和功能為例進(jìn)行研究,作為平臺(tái)測(cè)試方法的探索和嘗試。
設(shè)備平臺(tái)測(cè)試內(nèi)容,按照先整體后局部可分為整機(jī)和板級(jí)。限于篇幅,以下從典型性和通用性角度挑選兩個(gè)典型流程和功能進(jìn)行技術(shù)研究介紹:(1)平臺(tái)啟動(dòng)自檢專(zhuān)題:?jiǎn)?dòng)自檢是平臺(tái)工作的首要環(huán)節(jié),驗(yàn)證整機(jī)部件檢測(cè)程序檢錯(cuò)和容錯(cuò)的能力,內(nèi)容包含平臺(tái)啟動(dòng)、部件自檢、固件雙備份等。(2)平臺(tái)網(wǎng)絡(luò)處理專(zhuān)題:本專(zhuān)題是平臺(tái)為上層應(yīng)用提供網(wǎng)絡(luò)處理和協(xié)議棧處理功能,內(nèi)容包含協(xié)議預(yù)處理、規(guī)則匹配、網(wǎng)絡(luò)轉(zhuǎn)發(fā)功能等[1]。
2.1.1 原理分析
平臺(tái)啟動(dòng)自檢流程,是設(shè)備上電啟動(dòng)到平臺(tái)應(yīng)用正常工作的全過(guò)程,涉及的內(nèi)容包括Uboot 自檢、操作系統(tǒng)初始化和應(yīng)用及驅(qū)動(dòng)程序加載三個(gè)環(huán)節(jié)。首先是Uboot 自檢環(huán)節(jié);其次是操作系統(tǒng)初始化;最后是平臺(tái)應(yīng)用及各類(lèi)驅(qū)動(dòng)加載環(huán)節(jié)。
整個(gè)專(zhuān)題主要針對(duì)平臺(tái)啟動(dòng)自檢流程的測(cè)試方法進(jìn)行探索和研究,研究?jī)?nèi)容包括:(1)平臺(tái)啟動(dòng)方式:分為冷啟動(dòng)和熱啟動(dòng);(2)平臺(tái)啟動(dòng)業(yè)務(wù)分支:合法性驗(yàn)證,進(jìn)入不同分支;(3)啟動(dòng)異常處理:不同啟動(dòng)階段異常處理。
2.1.2 研究?jī)?nèi)容
專(zhuān)題研究的具體內(nèi)容如表1 所示。
表1 專(zhuān)題研究?jī)?nèi)容Tab.1 The research contents
2.1.3 測(cè)試方法本節(jié)主要對(duì)啟動(dòng)自檢流程的測(cè)試方法進(jìn)行分析。
(1)前置條件。設(shè)備正常開(kāi)機(jī)上電,啟動(dòng)流程所涉及的軟硬件已就緒。
(2)構(gòu)建思路。通過(guò)Shell 腳本命令執(zhí)行構(gòu)造平臺(tái)熱啟動(dòng),手動(dòng)或開(kāi)關(guān)機(jī)測(cè)試儀構(gòu)造平臺(tái)冷啟動(dòng),在啟動(dòng)過(guò)程的各個(gè)環(huán)節(jié)構(gòu)造異常,觀察設(shè)備的正常和異常流程處理是否符合設(shè)計(jì)預(yù)期。
(3)測(cè)試方法。設(shè)備正常啟動(dòng)引導(dǎo),通過(guò)啟動(dòng)程序執(zhí)行,修改啟動(dòng)程序腳本,使設(shè)備處于各個(gè)環(huán)節(jié),觀察設(shè)備是否按照設(shè)計(jì)做出相應(yīng)處理。
不同組部件的異常構(gòu)造方法各有不同,主要?dú)w納為以下幾類(lèi)方法:
1)物理方法:針對(duì)內(nèi)存、外存組件,采用的是手動(dòng)拔插存儲(chǔ)器件,通過(guò)觀察串口打印輸出和液晶顯示確認(rèn)自檢結(jié)果。
2)腳本方法:首先是修改自檢腳本:針對(duì)管理板、EMC 模塊、安防模塊,采用的是修改Shell 自檢腳本的標(biāo)記位,構(gòu)造上述模塊自檢失敗,通過(guò)觀察串口打印輸出和液晶顯示確認(rèn)自檢結(jié)果;其次是修改啟動(dòng)腳本:針對(duì)FPGA 程序,采用的是修改啟動(dòng)腳本,構(gòu)造FPGA 程序不加載,通過(guò)觀察串口打印輸出和液晶顯示確認(rèn)自檢結(jié)果。
3)工具方法:針對(duì)噪聲源芯片,采用的是撥動(dòng)撥碼開(kāi)關(guān),通過(guò)觀察串口打印輸出和液晶顯示確認(rèn)自檢結(jié)果。
4)命令方法:針對(duì)內(nèi)核、CPLD、System 組件,采用的是命令行改寫(xiě)存儲(chǔ)區(qū),通過(guò)觀察串口打印輸出確認(rèn)自檢結(jié)果[2]。
(4)結(jié)果觀察。主要分為以下幾種方法:
1)物理方法:手動(dòng)拔插存儲(chǔ)器件,觀察到設(shè)備串口打印缺少組部件,液晶屏有相應(yīng)提示,設(shè)備無(wú)法正常啟動(dòng)。
2)腳本方法:首先是修改自檢腳本,管理板、EMC模塊、安防模塊等異常時(shí),設(shè)備無(wú)法正常啟動(dòng);其次是修改啟動(dòng)腳本,F(xiàn)PGA 程序不加載,設(shè)備啟動(dòng)但無(wú)法調(diào)用FPGA 接口。
3)工具方法:撥動(dòng)撥碼開(kāi)關(guān)構(gòu)造噪聲源異常,設(shè)備無(wú)法正常啟動(dòng),報(bào)隨機(jī)源異常。
4)命令方法:破壞內(nèi)核、CPLD、System 組件的存儲(chǔ)區(qū)數(shù)據(jù),設(shè)備檢測(cè)到異常并觸發(fā)恢復(fù)機(jī)制。
2.1.4 測(cè)試試驗(yàn)及效果
測(cè)試試驗(yàn)的內(nèi)容及最終驗(yàn)證結(jié)果如表2 所示。
表2 試驗(yàn)內(nèi)容及效果Tab.2 The test contents and results
2.2.1 原理分析
本專(zhuān)題涉及到平臺(tái)網(wǎng)絡(luò)業(yè)務(wù)數(shù)據(jù)處理流程,包含平臺(tái)協(xié)議預(yù)處理、規(guī)則匹配、網(wǎng)絡(luò)轉(zhuǎn)發(fā)處理等。以設(shè)備工作過(guò)程涉及的業(yè)務(wù)數(shù)據(jù)流向?yàn)槔M(jìn)行簡(jiǎn)要介紹。
(1)數(shù)據(jù)內(nèi)網(wǎng)單元到外網(wǎng)單元方向處理過(guò)程:內(nèi)網(wǎng)單元收到數(shù)據(jù)→白名單模塊處理→協(xié)議預(yù)處理→規(guī)則匹配、封裝處理→路由/橋處理、ARP 處理→隔離模塊處理→外網(wǎng)單元分片發(fā)出數(shù)據(jù)。
(2)數(shù)據(jù)外網(wǎng)單元到內(nèi)網(wǎng)單元方向處理過(guò)程:是以上的逆過(guò)程。
2.2.2 研究?jī)?nèi)容
專(zhuān)題研究的具體內(nèi)容如表3 所示。
表3 專(zhuān)題研究?jī)?nèi)容Tab.3 The research contents
2.2.3 測(cè)試方法
本節(jié)主要是探究業(yè)務(wù)數(shù)據(jù)在設(shè)備中的處理過(guò)程,通過(guò)工具-網(wǎng)絡(luò)測(cè)試儀對(duì)其進(jìn)行測(cè)試,以達(dá)到測(cè)試數(shù)據(jù)處理過(guò)程的正確性。
(1)測(cè)試目標(biāo)。通過(guò)使用IXIA 網(wǎng)絡(luò)測(cè)試儀進(jìn)行數(shù)據(jù)傳輸測(cè)試,用例覆蓋等價(jià)類(lèi)和邊界值等測(cè)試條件。
(2)測(cè)試組網(wǎng)。測(cè)試環(huán)境拓?fù)鋱D如圖1 所示。
圖1 測(cè)試環(huán)境拓?fù)鋱DFig.1 Test environment topology diagram
(3)前置條件。設(shè)備進(jìn)入工作狀態(tài)。
(4)構(gòu)建思路。主要有以下幾點(diǎn):
1)放開(kāi)策略:放開(kāi)規(guī)則表策略,使構(gòu)造的網(wǎng)絡(luò)數(shù)據(jù)包能夠經(jīng)被測(cè)設(shè)備轉(zhuǎn)發(fā)。
2)規(guī)則確認(rèn):通過(guò)設(shè)備后臺(tái)命令查看規(guī)則表,確認(rèn)數(shù)據(jù)包是否符合規(guī)則進(jìn)行匹配處理。
3)構(gòu)造數(shù)據(jù):使用工具-網(wǎng)絡(luò)測(cè)試儀構(gòu)造網(wǎng)絡(luò)數(shù)據(jù)包,覆蓋不同數(shù)據(jù)包大?。簲?shù)據(jù)包長(zhǎng)從64 到1518 逐一遞增,覆蓋邊界,超過(guò)MTU 分片;覆蓋不同報(bào)文協(xié)議號(hào):ALL。
(5)測(cè)試方法。主要有以下幾點(diǎn):
1)策略配置:通過(guò)rulecfg 命令在設(shè)備后臺(tái)配置規(guī)則策略,放開(kāi)規(guī)則表策略,使構(gòu)造的網(wǎng)絡(luò)數(shù)據(jù)包能夠經(jīng)被測(cè)設(shè)備轉(zhuǎn)發(fā)。
2)IXIA 參數(shù)設(shè)置:覆蓋不同數(shù)據(jù)包大?。簲?shù)據(jù)包長(zhǎng)從64 到1518 逐一遞增,覆蓋邊界,超過(guò)MTU 分片;覆蓋不同報(bào)文協(xié)議號(hào):ALL;流量大小按照最大支持帶寬1000M 設(shè)置。
3)設(shè)備后臺(tái)通過(guò)tcpdump 工具抓包,分別抓取內(nèi)網(wǎng)口、外網(wǎng)口、網(wǎng)橋上的數(shù)據(jù)包,確認(rèn)數(shù)據(jù)通斷及數(shù)據(jù)流向。
(6)結(jié)果觀察。主要有以下幾點(diǎn):
1)策略配置:通過(guò)rulecfg 命令查看到策略配置生效。
2)測(cè)試儀設(shè)置:配置的數(shù)據(jù)包覆蓋不同的包長(zhǎng)和不同的協(xié)議號(hào),流量跑滿(mǎn)限速。
3)規(guī)則處理:按照規(guī)則匹配處理數(shù)據(jù)包,規(guī)則匹配,數(shù)據(jù)包通;規(guī)則不匹配,數(shù)據(jù)包不通。
4)網(wǎng)絡(luò)轉(zhuǎn)發(fā)測(cè)試:內(nèi)網(wǎng)單元發(fā)外網(wǎng)單元收,即數(shù)據(jù)包流向,內(nèi)網(wǎng)到外網(wǎng)。規(guī)則匹配,數(shù)據(jù)包通;規(guī)則不匹配,數(shù)據(jù)包不通。
5)網(wǎng)絡(luò)轉(zhuǎn)發(fā)測(cè)試:外網(wǎng)單元發(fā)內(nèi)網(wǎng)單元收,即數(shù)據(jù)包流向,外網(wǎng)到內(nèi)網(wǎng)。規(guī)則匹配,數(shù)據(jù)包通;規(guī)則不匹配,數(shù)據(jù)包不通。
6)設(shè)備后臺(tái)通過(guò)tcpdump 工具抓包,分別抓取內(nèi)網(wǎng)口、外網(wǎng)口、網(wǎng)橋上的數(shù)據(jù)包,確認(rèn)數(shù)據(jù)包的通斷及數(shù)據(jù)流向是否符合設(shè)計(jì)預(yù)期。
2.2.4 測(cè)試試驗(yàn)及效果
測(cè)試試驗(yàn)的內(nèi)容及最終驗(yàn)證結(jié)果如表4 所示。
表4 試驗(yàn)內(nèi)容及效果Tab.4 The test contents and results
通過(guò)全國(guó)產(chǎn)化網(wǎng)絡(luò)機(jī)平臺(tái)啟動(dòng)自檢及網(wǎng)絡(luò)處理專(zhuān)題的研究,我們積累了平臺(tái)設(shè)備典型功能和流程的測(cè)試方法,作為后續(xù)持續(xù)優(yōu)化和開(kāi)展平臺(tái)類(lèi)測(cè)試的技術(shù)基礎(chǔ)和經(jīng)驗(yàn)參考。