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