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