《電子技術(shù)應(yīng)用》
您所在的位置:首頁(yè) > 通信與網(wǎng)絡(luò) > 設(shè)計(jì)應(yīng)用 > 網(wǎng)絡(luò)協(xié)議一致性測(cè)試平臺(tái)設(shè)計(jì)
網(wǎng)絡(luò)協(xié)議一致性測(cè)試平臺(tái)設(shè)計(jì)
摘要: 目前,,我國(guó)網(wǎng)絡(luò)產(chǎn)品檢測(cè)的技術(shù)水平和能力與國(guó)際上存在較大差距,協(xié)議一致性測(cè)試產(chǎn)品的設(shè)計(jì)大多停留在測(cè)試方法的理論研究上,,在協(xié)議測(cè)試的通用平臺(tái)方面還缺乏較好的解決方案,。1網(wǎng)絡(luò)協(xié)議
Abstract:
Key words :

        目前,,我國(guó)網(wǎng)絡(luò)產(chǎn)品檢測(cè)的技術(shù)水平和能力與國(guó)際上存在較大差距,協(xié)議一致性測(cè)試產(chǎn)品的設(shè)計(jì)大多停留在測(cè)試方法的理論研究上,,在協(xié)議測(cè)試的通用平臺(tái)方面還缺乏較好的解決方案,。

  1 網(wǎng)絡(luò)協(xié)議一致性測(cè)試概述

  網(wǎng)絡(luò)協(xié)議的一致性測(cè)試是一種功能性的黑盒測(cè)試,通常包括靜態(tài)測(cè)試和動(dòng)態(tài)測(cè)試兩類,。靜態(tài)測(cè)試是指協(xié)議實(shí)現(xiàn)者向測(cè)試方提交“協(xié)議實(shí)現(xiàn)一致性聲明”與協(xié)議中的靜態(tài)一致性要求相比較,,動(dòng)態(tài)測(cè)試是運(yùn)行測(cè)試集對(duì)DUT(Device under Test)進(jìn)行測(cè)試。

  協(xié)議一致陛測(cè)試包括三個(gè)階段:第一階段是測(cè)試生成,,為特定協(xié)議產(chǎn)生獨(dú)立于所有協(xié)議實(shí)現(xiàn)的抽象測(cè)試集;第二階段是測(cè)試實(shí)現(xiàn),,把抽象測(cè)試集中的測(cè)試?yán)D(zhuǎn)換成可執(zhí)行的測(cè)試?yán)?第三階段為測(cè)試執(zhí)行,在特定的DUT上執(zhí)行測(cè)試用例,。

  通用網(wǎng)絡(luò)協(xié)議一致性測(cè)試平臺(tái)用于動(dòng)態(tài)測(cè)試,,也分為三個(gè)階段:第一階段是對(duì)一個(gè)指定的協(xié)議生成一個(gè)測(cè)試套集,根據(jù)協(xié)議的要求,,這個(gè)測(cè)試套集可以在實(shí)現(xiàn)前對(duì)收發(fā)雙方進(jìn)行的交互進(jìn)行完全設(shè)定,,或者在某些需要雙方互動(dòng)(字段值需要對(duì)方的數(shù)據(jù)來進(jìn)行填寫)的字段給出一個(gè)變量。第二階段是按照這個(gè)測(cè)試套集對(duì)被測(cè)設(shè)備的協(xié)議實(shí)現(xiàn)(DUT)進(jìn)行黑盒測(cè)試;第三個(gè)階段是通過比較DUT的實(shí)際輸出與預(yù)期輸出的異同,,從而實(shí)現(xiàn)網(wǎng)絡(luò)協(xié)議的一致性測(cè)試,。

  通用平臺(tái)對(duì)各個(gè)不同的協(xié)議可支持生成不同的測(cè)試套集,分別進(jìn)行測(cè)試和一致性對(duì)比,。

  2 通用平臺(tái)組成

  通用平臺(tái)由控制臺(tái),、測(cè)試機(jī)兩部分組成。其中控制臺(tái)負(fù)責(zé)配置測(cè)試套集的策略,、測(cè)試結(jié)果的統(tǒng)計(jì)分析及人機(jī)交互;測(cè)試機(jī)負(fù)責(zé)生成或接收測(cè)試套集,,然后生成測(cè)試流發(fā)送到被測(cè)設(shè)備;并從被測(cè)設(shè)備接收測(cè)試數(shù)據(jù);然后將數(shù)據(jù)返回控制臺(tái)。如圖1所示,。

  
  2.1 控制臺(tái)

  控制臺(tái)硬件可以是一臺(tái)PC機(jī),,其網(wǎng)卡與測(cè)試機(jī)控制口相連。在高層通過人機(jī)對(duì)話界面,,對(duì)協(xié)議,、算法及網(wǎng)絡(luò)參數(shù)進(jìn)行配置,,對(duì)測(cè)試套集生成模式及使用方式等進(jìn)行策略設(shè)置;通過驅(qū)動(dòng)程序與測(cè)試機(jī)進(jìn)行通信,向測(cè)試機(jī)輸入測(cè)試套集的參數(shù)配置,,并接收測(cè)試機(jī)輸出的結(jié)果;并對(duì)測(cè)試結(jié)果進(jìn)行統(tǒng)計(jì)分析,。

  軟件模塊包括界面模塊、協(xié)議接口模塊,、算法接口模塊,、網(wǎng)絡(luò)接口模塊、通信模塊,、統(tǒng)計(jì)分析模塊,。

  2.2 測(cè)試機(jī)

  2.2.1 硬件組成

  測(cè)試機(jī)硬件采用高性能、高可靠性,、高穩(wěn)定性的嵌入式多核處理器平臺(tái),。配置高速100M、1000M自適應(yīng)以太網(wǎng)口,,可擴(kuò)展的大容量DDR2內(nèi)存和大容量的Flash空間,。硬件框圖如圖2所示,多核處理器平臺(tái)的核心部件為CPU,、CPLD和FPGA,。

  
 

  CPU主要用于接收來自控制機(jī)的網(wǎng)絡(luò)、協(xié)議,、算法參數(shù)并生成實(shí)現(xiàn)網(wǎng)絡(luò)協(xié)議的測(cè)試套集,它可以直接對(duì)被測(cè)設(shè)備發(fā)送或者接收測(cè)試流,,或者通過自定義總線將測(cè)試套集存儲(chǔ)在SRAM中,,以實(shí)現(xiàn)快速的測(cè)試;它還實(shí)現(xiàn)對(duì)外圍配套器件的控制,包括DDR,、Flash,、噪聲、日歷時(shí)鐘以及譯碼等,。CPU的PCI總線轉(zhuǎn)換出一個(gè)網(wǎng)絡(luò),,作為測(cè)試機(jī)的控制口,與控制機(jī)進(jìn)行通信,。CPU的串口總線接出一個(gè)RS232串口,。

  CPLD主要用于CPU啟動(dòng)、數(shù)據(jù)總線的譯碼,、FPGA邏輯配置等處理,。

  FPGA主要用于網(wǎng)絡(luò)接口處理和測(cè)試流發(fā)送、接收,。首先,,它提供兩個(gè)軟MAC核與PHY芯片相連實(shí)現(xiàn)DUT的發(fā)送和接收網(wǎng)口;其次,,它提供另外兩個(gè)軟MAC核可以允許CPU直接與DUT進(jìn)行發(fā)送接收測(cè)試流;也可以調(diào)用外部SRAM實(shí)現(xiàn)測(cè)試流發(fā)送接收等操作。FPGA和CPU之間有兩種不同的通訊接口,,一種是數(shù)據(jù)總線接口,,用于傳輸基本配置信息、狀態(tài)信息和SRAM數(shù)據(jù);一種是RGMII網(wǎng)口接口,,用于傳輸測(cè)試流數(shù)據(jù),。

        CPU軟件使用裁剪的定制LINUX操作系統(tǒng),內(nèi)核版本2.6以上,,配IPv4協(xié)議棧等,。CPU要實(shí)現(xiàn)的軟件功能比較多,軟件模塊有以下幾個(gè):

  (1)與控制機(jī)的通信模塊:負(fù)責(zé)接收來自控制機(jī)的網(wǎng)絡(luò),、協(xié)議,、算法參數(shù)以及其他命令,并回送測(cè)試結(jié)果,。

  (2)算法實(shí)現(xiàn)模塊:實(shí)現(xiàn)協(xié)議中需要的算法,。

  (3)套集生成模塊:這是實(shí)現(xiàn)一個(gè)協(xié)議所需要的IP包的集合,包括發(fā)送的IP包和接收的IP包,。每個(gè)不同的協(xié)議將產(chǎn)生定制的套集,。每個(gè)套集的主要流程就是生成指定的某個(gè)協(xié)議所需IP包的過程。但是在協(xié)議的實(shí)現(xiàn)上,,會(huì)按照協(xié)議的要求對(duì)相應(yīng)的字段進(jìn)行邊界測(cè)試,、正確性和錯(cuò)誤測(cè)試。并體現(xiàn)在不同的測(cè)試流里,。

  (4)測(cè)試流發(fā)送模塊:將存儲(chǔ)在SRAM里的測(cè)試流發(fā)送至DUT,。

  (5)測(cè)試流接收模塊:接收DUT發(fā)出的響應(yīng)流,存儲(chǔ)在SRAM里,。

  (6)結(jié)果的協(xié)議分析模塊:CPU接收到測(cè)試流后,,將其按照協(xié)議要求拆分成各個(gè)字段,并與協(xié)議進(jìn)行比對(duì)分析,。并將結(jié)果發(fā)送到與控制機(jī)的通信模塊,。

  在發(fā)送IP包和接收IP包有關(guān)聯(lián)的情況下,比如IV向量由接收包傳遞過來后才能確定下一包發(fā)送的內(nèi)容,,必須由CPU直接進(jìn)行測(cè)試,。

  在協(xié)議比較簡(jiǎn)單,發(fā)送IP包和接收IP包沒有關(guān)聯(lián)的情況下,,可以將測(cè)試套集裝載在SRAM里,,由FPGA進(jìn)行測(cè)試。這種情況下,也可以測(cè)試DUT的性能,。

  3 工作流程與測(cè)試內(nèi)容

  協(xié)議一致性測(cè)試的主要過程包括:標(biāo)準(zhǔn)測(cè)試套集生成,、測(cè)試執(zhí)行、結(jié)果分析三個(gè)部分,。標(biāo)準(zhǔn)測(cè)試套集是通過分析協(xié)議來確定要測(cè)試的各個(gè)方面,,從而產(chǎn)生測(cè)試用例的集合;測(cè)試執(zhí)行為測(cè)試用例的運(yùn)行過程;接收數(shù)據(jù)分析是對(duì)測(cè)試結(jié)果進(jìn)行分析,從而得到協(xié)議實(shí)現(xiàn)與協(xié)議說明是否一致的判決,。如圖3所示,。

  


  協(xié)議一致性測(cè)試的內(nèi)容包括三個(gè)方面:一是協(xié)議格式、完整性的一致性測(cè)試,,能夠正確識(shí)別收到的協(xié)議,,并且按照協(xié)議做出正確的響應(yīng),響應(yīng)的格式要與協(xié)議一致,。二是測(cè)試協(xié)議中包含的算法的正確性,。要能夠正確地加密和解密相應(yīng)的信息。三是要對(duì)協(xié)議的實(shí)現(xiàn)過程包括握手,、協(xié)商等進(jìn)行一致性測(cè)試,。

  4 測(cè)試套集的生成方法

  測(cè)試套集的生成方法理論上有可達(dá)性分析與測(cè)試序列兩種??蛇_(dá)性分析是從一個(gè)初始狀態(tài)出發(fā),,生成并檢查系統(tǒng)能夠到達(dá)的所有狀態(tài)。測(cè)試序列方法是針對(duì)FSM中的單個(gè)轉(zhuǎn)移生成的測(cè)試子序列,,再將這些測(cè)試子序列連接起來作為完整的測(cè)試序列,。

  通用平臺(tái)對(duì)測(cè)試套集的生成方法不作限定。因?yàn)榫W(wǎng)絡(luò)協(xié)議千差萬別,,套用某一個(gè)方法是不現(xiàn)實(shí)的,。因此不論什么方法,即使是手工方法,,只要能夠正確地詮釋協(xié)議,生成的測(cè)試套集符合套集接口要求都可以直接輸入到平臺(tái)上實(shí)施測(cè)試,。套集可以是完整的協(xié)議測(cè)試,,也可以是某個(gè)協(xié)議測(cè)試套集的一部分。這樣大大方便了協(xié)議測(cè)試套集的調(diào)試與測(cè)試,。

  通用平臺(tái)也提供了一種測(cè)試套集的生成方法,。就是將協(xié)議的分析過程體現(xiàn)在控制機(jī)的界面上,在界面上對(duì)協(xié)議進(jìn)行分割,,確定轉(zhuǎn)移點(diǎn)和子序列,,并給出子序列的數(shù)據(jù)范圍。然后CPU的套集生成軟件將這些轉(zhuǎn)移點(diǎn)和子序列通過組合連接起來,,形成測(cè)試套集,。

  5 結(jié)束語(yǔ)

  在協(xié)議一致性測(cè)試的需求越來越迫切的同時(shí),,協(xié)議的功能越來越強(qiáng),復(fù)雜性也越來越高,,使得測(cè)試難度越來越大,。通用平臺(tái)的硬件設(shè)計(jì)為以后協(xié)議的發(fā)展做好了可持續(xù)發(fā)展的基礎(chǔ),而軟件設(shè)計(jì)也將提供開源和穩(wěn)定的接口以供協(xié)議的發(fā)展,,增加對(duì)協(xié)議的支持,。 

此內(nèi)容為AET網(wǎng)站原創(chuàng),未經(jīng)授權(quán)禁止轉(zhuǎn)載,。