OSPF協(xié)議的一致性測試
3.OSPF共有5種報文類型
●Hello報文:用來發(fā)現(xiàn)和維持鄰站的可達(dá)性;
●Database Description報文:向鄰站給出自己的鏈路狀態(tài)的摘要信息;
●Link State Request報文:向?qū)Ψ秸埱蟀l(fā)送某些鏈路狀態(tài)的詳細(xì)信息;
●Link State Update報文:用擴(kuò)散法向全網(wǎng)更新鏈路狀態(tài);
●Link State Acknowledgment報文:對鏈路更新報文的確認(rèn)。
四、OSPF協(xié)議一致性測試的方法
OSPF協(xié)議是域內(nèi)使用的路由選擇協(xié)議,所以對于OSPF協(xié)議一致性測試采用中繼測試法使用的橫斷式測試法。在橫斷式測試法中,為了使2個子網(wǎng)的2個PCO容易達(dá)到同步,一般將PCO1和PCO2集成在一個測試器中。
編輯器可以采用ISO9646推薦的TTCN編輯器,也可以是其它語言編輯器。首先在編輯器上編制抽象測試集ATS,ATS以固定文法的文本文件MP格式輸出,類似于匯編語言或高級語言源程序。然后,MP文件由編輯器編譯成可執(zhí)行文件ETS。處理器是測試執(zhí)行的關(guān)鍵引擎,對經(jīng)過PICS和PIXIT選擇的測試集ETS進(jìn)行解釋執(zhí)行,并對PCO1或PCO2傳送來的協(xié)議數(shù)據(jù)單元PDU進(jìn)行處理,同時根據(jù)測試集的內(nèi)容控制測試過程。最后生成測試報告所需要的全部信息。在該測試結(jié)構(gòu)中,IUT的2個端口分別對應(yīng)于PCO,當(dāng)處理器從PCO1向SUT發(fā)送一個OSPF報文時,經(jīng)過OSPF模塊的路由,OSPF報文就從子網(wǎng)1轉(zhuǎn)發(fā)到子網(wǎng)2中,處理器就從子網(wǎng)2中的PCO2獲得數(shù)據(jù)報文。由于PCO1和PCO2都被集成在測試器中,便可容易地控制2個LT的協(xié)調(diào)過程。
五、OSPF協(xié)議測試集的設(shè)計
測試集是協(xié)議一致性測試的基礎(chǔ),它是以最基本的測試事件序列的形式,詳細(xì)定義了測試系統(tǒng)和協(xié)議實(shí)體的行為,從而作出測試“通過”或“失敗”的判決,測試集有如下的層次結(jié)構(gòu):測試集→測試組→測試?yán)鷾y試步→測試事件。采用TTCN形式化語言可以描述出測試集。
OSPF協(xié)議與OSI協(xié)議相比較,OSPF協(xié)議行為較簡單,在對等實(shí)體之間沒有用于建鏈或流控的數(shù)據(jù)包交換。我們按照ISO/IEC9646的建議,根據(jù)協(xié)議描述分析及條件合成,生成測試目的,設(shè)計和產(chǎn)生出OSPF協(xié)議測試集,編寫出OSPF協(xié)議測試規(guī)范。產(chǎn)生的OSPF測試集包括5個測試組,共69個測試?yán)ㄒ姳?)。
表1 OSPF測試集
測試組 測試目的 測試?yán)?
Ospf-2areas 域邊界路由器功能 3
Ospf-2qars 交換擴(kuò)散協(xié)議功能 36
Ospf-3qars 數(shù)據(jù)包的路徑類型,AS外部LSA和AS匯總LSA功能 23
Ospf-stress 強(qiáng)度能力測試 6
Ospf-stub 末稍網(wǎng)絡(luò)功能 1
這些測試組(例)涵蓋了OSPF協(xié)議描述中的主要功能,具有較好的完備性。
六、測試應(yīng)用
按照本文討論的測試方法和結(jié)構(gòu),測試工具使用Agilent公司的QA Robot測試儀來進(jìn)行OSPF協(xié)議一致性測試。也可使用清華大學(xué)研制開發(fā)的基于TTCN的PITS測試系統(tǒng)。QARobot測試儀使用QBOL語言生成ETS,通過QBOL編輯器進(jìn)行編譯,內(nèi)部使用UNIX操作系統(tǒng),有著可視化的界面操作。
我們參加了國家“863”寬帶信息示范網(wǎng)核心路由器的測試工作。采用QARobot測試儀,分別對中興公司、巨龍公司和大唐公司研制的核心路由器進(jìn)行了OSPF協(xié)議的一致性測試。各路由器經(jīng)過OSPF協(xié)議一致性測試后,其中的OSPF模塊的功能和性能有了明顯的改善,測試?yán)ㄟ^率從50%提高到將近90%。
通過實(shí)踐證明,在協(xié)議軟件的設(shè)計和開發(fā)過程中,一致性測試是用來檢測定位錯誤,同時又能提供修正建議的好方法
評論