互操作性測試研究――BGP4+測試
對于協議中無法抽取規范的形式化描述的測試內容則需要給出測試目的和測試內容,根據RFC協議標準的內容手工抽取測試例。首先,在詳細閱讀RFC協議標準并充分理解的基礎上,對協議進行測試項目的劃分;然后,根據不同的測試項目確定該項目中的測試目的和測試內容;最后,針對不同的測試目的設計適當的測試配置和測試數據。表2是一個采用手工抽取的測試例的實例,表中列出了測試目的、測試配置、測試步驟以及預期的測試結果和測試判定。被測系統如圖4所示。
圖5是使用Ethereal捕獲到的在Cisco 1721和模擬路由軟件Zebra-0.95之間傳遞的BGP4+的OPEN消息,其中Hold Time的實際值為180 s,符合預期結果。因為協議規定通信雙方的Hold Time以時間短的一方作為最終協商結果,因此,測試例的最終結果為PASS。
運用這些測試例對BGP4+協議的實現進行了互操作性測試,下面以Linux下的Zebra-0.95為例,列舉了部分對協議可選項處理情況的測試例列表及測試結果,如表3所示。
隨著IPv6協議簇的廣泛應用,對實現了IPv6協議簇的相關產品的測試是保證它們能正確在網絡中工作的關鍵。BGP4+作為IPv6協議簇中重要的路由協議,對它的測試有助于進一步完善IPv6協議簇。因此,作為最基本和最重要的域間路由協議,測試BGP4+協議實現的互操作性具有重要的應用價值。這些研究工作的結果將會使下一代互聯網具有一個更為穩定和堅實的基礎。
本文首先對BGP4+與BGP4的區別進行了分析,然后介紹了BGP4+互操作性測試的體系結構,最后詳細講解了生成BGP4+互操作性測試例的方法及運用這些測試例對BGP4+協議實現,如在Linux環境下對Zebra-0.95進行互操作性測試所發現的問題。后續的工作包括開發通用性強的互操作性測試工具以及在提高差錯覆蓋率方面進一步研究新的測試例生成算法。
參考文獻
[1] RFC 2858: multiprotocol extensions for BGP-4. June,2000.
[2] SHIN J, KANG S. Interoperability test suite derivation for the ATM/B-ISDN signaling protocol[J]. IWTCS Proceedings of the IFIP TC6 11th International Workshop on Testing Communicating Systems, 1998: 313-330.
[3] KANG S, SHIN J, KIM M. Interoperability test suite derivation for communication protocols[J]. Computer Networks, 2000, 32(3):347-364.
[4] 林華輝,趙保華,屈玉貴. 基于有向圖的最小完全覆蓋互操作測試序列生成算法[J].中國科學技術大學學報,2006,36(2):225-229.
[5] RFC 2842: Capabilities adveritsement with BGP-4, May,2000.
[6] KANG S, KIM M. Interoperability test suite derivation for symmetric communication protocol[C]. Proceeding FORTE X/PSTV XVII′97, 1997, 107:57-72.
評論