《電子技術應用》
您所在的位置:首頁 > 通信與網絡 > 設計應用 > 互操作性測試研究——BGP4+測試
互操作性測試研究——BGP4+測試
來源:微型機與應用2011年第15期
丁雪蓮
(內蒙古財經學院 計算機信息管理系,內蒙古 呼和浩特 010070)
摘要: 針對面向IPv6的邊界網關協議BGP4+進行了互操作性測試研究。討論了BGP4+與BGP4的區別,給出了BGP4+協議測試的有限狀態機模型。運用形式化與非形式化相結合的方法生成了BGP4+的測試例,并給出了運用測試例對具體的協議實現測試的結果。
Abstract:
Key words :

摘  要: 針對面向IPv6的邊界網關協議BGP4+進行了互操作性測試研究。討論了BGP4+與BGP4的區別,給出了BGP4+協議測試的有限狀態機模型。運用形式化與非形式化相結合的方法生成了BGP4+的測試例,并給出了運用測試例對具體的協議實現測試的結果。
關鍵詞: BGP4+;路由協議;互操作性測試;IPv6

 互操作性測試就是檢測在不同廠商生產的設備之間能否實現正確的通信交互的測試方法。由于BGP4+[1]是下一代互聯網中重要的域間路由協議,因此對它展開互操作性測試對于驗證下一代互聯網絡產品在真實網絡環境中的互連互通能力具有十分重要的意義,對于路由設備與軟件開發商在對產品進行調試、驗證和改進等方面也有著非常重要的作用。
 由于互操作性測試對于產品的推廣應用具有非常重要的意義,因此,國內外有許多研究機構在從事互操作性測試的研究工作,例如:日本的TAHI計劃研發了IPv6協議的互操作性測試系統。德國的JOIN(Join Open InterNetworks)工程,建立了互操作性測試實驗網絡。美國New Hampshire大學的IOL(Interoperability Lab)專門成立IPv6小組進行IPv6相關協議的測試研究工作,在其網站上可以免費下載到用于測試BGP4+、OSPFv3、RIPng等路由協議的互操作測試套件。國內的清華大學、中科院計算所、中國科技大學、蘭州大學、上海交通大學等多所高校也成立了IPv6實驗室在從事這方面的研究。
 在互操作性測試例的生成算法研究方面,國內外有許多相關的文獻,例如,參考文獻[2]中提出了一種生成互操作性測試例的算法,但是這種算法的缺陷是只能處理兩個內部消息交互的情況;參考文獻[3]中研究了在互操作性測試生成過程中如何避免狀態爆炸的問題;參考文獻[4]中提出了一種基于有向圖的測試序列生成算法可以滿足互操作性測試的最小完全覆蓋準則。但目前關于互操作性測試工具的開發研究方面的文獻并不多見。
1 BGP4+協議與BGP4的不同
 隨著下一代互聯網絡協議IPv6的部署,原來只能支持IPv4的邊界網關協議BGP4已經不能滿足實際的應用需要,為了使BGP4能夠支持IPv6,IETF組織修訂完成了RFC2858(Multiprotocol Extentions for BGP4)。在BGP4+中,IETF定義了一個特殊屬性——MP-BGP(Multi-Protocol BGP)來攜帶IPv6的路由信息,使得BGP4+既可以運行在IPv4網絡上也可以運行在IPv6網絡上。
 在BGP4協議的消息屬性中有三部分與IPv4的信息相關,分別是:NEXT-HOP、NLRI和AGGREGATOR屬性。假設任何BGP發言者都有一個IPv4地址,那么要使BGP4能夠支持多網絡層協議的路由只需要加入兩個功能把特定的網絡層協議分別與NEXT-HOP和NLRI關聯起來。因此,IETF在修訂后的BGP4+中增加了MP_REACH_NLRI(Multiprotocol Reachable NLRI)屬性和MP_UNREACH_NLRI(Multiprotocol Unreachable NLRI)屬性。這兩個屬性是可選非傳遞的,不支持多協議擴展的BGP發言者可以忽略這兩個屬性中攜帶的信息并且不轉發這些信息。MP_REACH_NLRI屬性詳細定義了所使用的網絡層協議的類型、下一跳長度和地址、子網接入點信息和NLRI信息。如果在UPDATE消息中使用了MP_REACH_NLRI屬性,就不需要原來的IPv4的NEXI-HOP屬性了。而MP_UNREACH_NLRI屬性相對簡單得多,如果在UPDATE消息中使用了MP_UNREACH_NLRI屬性就不需要攜帶其他的路徑屬性了。RFC1771規定UPDATE消息中必須包含強制屬性,否則就發送NOTIFICATION消息,但是RFC2858中增加的這兩個屬性無形中改變了這一規定。BGP4+中還增加了對這兩個新屬性的錯誤處理,而且還采用了BGP能力通告協議[5],該協議定義了BGP4+的OPEN消息的可選屬性中可以采用BGP能力通告,用來決定在BGP連接建立時是否與對等體使用多協議擴展傳遞路由信息,否則將無法獲知其他對等體是否能支持這一擴展。如果雙方都支持這一擴展,它們轉發的UPDATE消息就可以攜帶IPv6網絡層可達信息。BGP4+的這種擴展機制是向后兼容的,支持這種擴展的路由器能夠與不支持這種擴展的路由器完全交互。
2 測試體系結構
 在對BGP4+進行互操作性測試的過程中選用的體系結構如圖1所示。在該互操作性測試體系結構中,IUT(被測實現)A 和IUT B分別代表了兩個進行互操作的產品實現;網絡協議分析儀由裝有Ethereal協議分析軟件的PC機來代替,它可以捕獲在IUT A和IUT B之間傳遞的內部消息,并對捕獲的信息進行觀察和分析,但是不能對這些消息進行更改,這樣可有效地減少外界環境對被測系統的干預,并能體現IUT A和IUT B之間能否進行互操作的真實情況;測試器A和測試器B是抽象意義上的互操作性測試工具。

3 測試BGP4+
3.1 BGP4+的形式化定義

 圖2是完整的BGP4+互連行為有限狀態機,可以看到,在BGP4+對等體完全建立連接之前要經歷的狀態包括:Idle、Connect、Active、OpenSent、OpenConfirm和Established。

 

 

 在BGP4+的有限狀態機中,導致狀態變遷發生的是BGP的輸入輸出事件,RFC4271中規定的輸入輸出事件包括Administrative事件、Timer事件、TCP連接事件和BGP消息事件,其中每類事件又包括必選事件和可選事件,具體事件如表1所示。

3.2 測試例的生成與應用
 在對BGP4+進行互操作性測試的研究中,首先通過有限狀態機對其進行形式化描述,然后運用了參考文獻[6]中提出的測試例生成算法來生成測試例,其算法思想如下:
 
 (8)全局終態gs_n=(2,b);
 (9)得到互操作測試套:Tr?椎=(1,a)-V/((nil,uin),(U, nil))(2,b)。
 以圖3的BGP4+消息交換實例來說明測試例(Idle,Active)---start-a/{(nil,Open),(nil,Open),(nil,KeepAlive),(nil,NotiFMsg),(close,nil)}→(Idle,Idle)的生成方法。在BGP4+的有限狀態機中,初始IUT A和IUT B的狀態分別是Idle和Active,即gs_i=(Idle,Active)、gs_i.Si=Idle、gs_i.Sj=Active。WΦ⇔{(nil,Open)},TrΦ=nil。經過多次Call interaction_sequence函數的調用,使得兩個被測實現IUT A和IUT B經過變遷start-a/{(nil,Open)、(nil,Open)、(nil,KeepAlive)、(nil,NotiFMsg)、(close,nil)}最終到達gs_n=(Idle,Idle)狀態。運用這個方法自動生成了10個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.

此內容為AET網站原創,未經授權禁止轉載。
主站蜘蛛池模板: 18一20岁一级毛片 | 亚洲色图综合图片 | 日韩亚洲欧美一区 | 成人深夜福利在线播放不卡 | freexx性欧美另类hd | 欧美日韩免费播放一区二区 | 很黄很色又爽很黄很色又爽 | 国产日韩在线视频 | 色01视频| 日日干天天干 | 欧美日韩一本 | 久久r这里只有精品 | 高h超辣bl文 | 精品一区二区三区影院在线午夜 | 日韩.欧美.国产.无需播放器 | 波多野结衣在线观看免费区 | 亚洲天堂视频在线播放 | 一区二区三区四区在线观看视频 | 激情伊人网 | 免费观看91视频 | 最近2019好看的中文字幕免费 | 日本一本在线视频 | 成年人色网站 | 超薄肉色丝袜精品足j福利 超级碰人人 | 日韩女同一区二区三区 | 国产a视频 | 91成人精品视频 | avtt天堂网手机版亚洲 | 欧美一区二区三区在线观看不卡 | 深夜免费在线观看 | 在线免费视频一区 | 青青草国产精品人人爱99 | 84pao国产成视频免费播放 | 免费人成在线蜜桃视频 | 日本九色| 亚洲视频一区在线观看 | 91精品国产免费久久久久久青草 | 日本操片 | 日韩精品影视 | 一个人看的www免费在线视频 | 日本午夜视频在线 |