摘 要 介紹了OSPF協(xié)議一致性的測(cè)試原理和抽象測(cè)試方法,重點(diǎn)對(duì)OSPF協(xié)議的一致性測(cè)試技術(shù)進(jìn)行研究,并對(duì)OSPF協(xié)議測(cè)試集的設(shè)計(jì)進(jìn)行討論。
關(guān)鍵詞 OSPF協(xié)議 協(xié)議一致性測(cè)試 ATS ETS 橫斷式測(cè)試法
一、引言
隨著計(jì)算機(jī)網(wǎng)絡(luò)和通信技術(shù)的發(fā)展,特別是開放型異構(gòu)網(wǎng)絡(luò)的互聯(lián),協(xié)議的設(shè)計(jì)和實(shí)現(xiàn)越來越復(fù)雜,協(xié)議測(cè)試的理論和技術(shù)得到了相應(yīng)的發(fā)展。協(xié)議測(cè)試包括4種測(cè)試:一致性測(cè)試、互操作性測(cè)試、性能測(cè)試和堅(jiān)固性測(cè)試。其中協(xié)議一致性測(cè)試主要是驗(yàn)證網(wǎng)絡(luò)產(chǎn)品的協(xié)議實(shí)現(xiàn)的準(zhǔn)確性,判斷網(wǎng)絡(luò)產(chǎn)品的協(xié)議實(shí)現(xiàn)是否符合協(xié)議的國際標(biāo)準(zhǔn),以保證協(xié)議的各種實(shí)現(xiàn)版本之間能夠互通并進(jìn)行可靠的通信。因此,一致性測(cè)試是協(xié)議測(cè)試的最基本內(nèi)容,是其它3種測(cè)試的基礎(chǔ)。
如今,基于TCP/IP協(xié)議的Internet網(wǎng)已成為全球信息發(fā)展和交流的基礎(chǔ),它以路由器作為基本交換節(jié)點(diǎn),以各種局域/廣域網(wǎng)作為傳媒。其中廣域網(wǎng)的域內(nèi)路由協(xié)議大多數(shù)使用OSPF協(xié)議轉(zhuǎn)發(fā)路由信息,且OSPF協(xié)議主要位于域內(nèi)的路由器上,它是現(xiàn)有TCP/IP網(wǎng)絡(luò)中繼系統(tǒng)的核心協(xié)議。本文介紹協(xié)議一致性測(cè)試原理和抽象測(cè)試方法,重點(diǎn)研究OSPF協(xié)議的一致性測(cè)試技術(shù),并對(duì)OSPF協(xié)議測(cè)試集的設(shè)計(jì)進(jìn)行討論。
二、協(xié)議一致性測(cè)試
1.一致性測(cè)試原理
ISO/IEC9646提供了協(xié)議一致性的基本方法和框架,為測(cè)試集制定了設(shè)計(jì)步驟及描述方法,并對(duì)測(cè)試系統(tǒng)的實(shí)現(xiàn)提供了指導(dǎo)。
協(xié)議一致性測(cè)試實(shí)質(zhì)上是利用一組測(cè)試序列,在一定的網(wǎng)絡(luò)環(huán)境下,對(duì)被測(cè)實(shí)現(xiàn)(IUT)進(jìn)行黑盒測(cè)試,通過比較IUT的實(shí)際輸出與預(yù)期輸出的異同,判定IUT在多大程度上與協(xié)議描述相一致,確立通過一致性測(cè)試的IUT在互聯(lián)時(shí)成功率的高低。一致性測(cè)試的過程和原理參見圖1。圖1中,PICS(Protocol Implementation Conformance Statement)為協(xié)議實(shí)現(xiàn)一致性說明,說明實(shí)施的要求、能力及選項(xiàng)實(shí)現(xiàn)的情況;PIXIT(Protocol Implementation Extra Information for Testing)為協(xié)議實(shí)現(xiàn)附加信息,提供測(cè)試時(shí)必須標(biāo)明的協(xié)議參數(shù)。其具體步驟如下:
。1)IUT的PICS分析,對(duì)IUT進(jìn)行IUT的靜態(tài)一致性要求SCR檢查,分析該P(yáng)ICS與有關(guān)標(biāo)準(zhǔn)指定的SCR是否一致。
(2)根據(jù)規(guī)范定義測(cè)試目的,使用PIXIT提供的信息和一致性測(cè)試組合量化測(cè)試?yán)瑢懗龀橄鬁y(cè)試集ATS,然后將ATS參數(shù)化生成可執(zhí)行測(cè)試集ETS。
。3)使用ETS自動(dòng)對(duì)IUT進(jìn)行一致性測(cè)試,形成詳細(xì)的測(cè)試報(bào)告。
。4)IUT的最終一致性考查,將已知的PICS和PIXIT分析與測(cè)試結(jié)果相綜合,獲得IUT關(guān)于標(biāo)準(zhǔn)要求的一致性結(jié)論,記錄于一致性測(cè)試報(bào)告中。
2.一致性測(cè)試的抽象測(cè)試方法
一致性測(cè)試模型是一致性測(cè)試器利用服務(wù)原語ASP和協(xié)議數(shù)據(jù)單元PDU,在控制和觀察點(diǎn)PCO對(duì)來自被測(cè)實(shí)現(xiàn)的輸出和輸入進(jìn)行控制和觀察。一般來說,被測(cè)實(shí)現(xiàn)所處的系統(tǒng)分為端系統(tǒng)和中繼系統(tǒng)兩大類,在ISO/IEC9646中對(duì)這兩類系統(tǒng)的一致性測(cè)試定義了不同的抽象測(cè)試方法。
根據(jù)一致性測(cè)試器中的上測(cè)試器UT和下測(cè)試器LT所處的位置與功能,對(duì)于端系統(tǒng)的一致性抽象測(cè)試方法分為4種類型:本地測(cè)試法、分布測(cè)試法、協(xié)調(diào)測(cè)試法和遠(yuǎn)程測(cè)試法。本地測(cè)試法可以在被測(cè)系統(tǒng)中IUT的上下界面直接進(jìn)行觀察和控制,另外3種屬于外部測(cè)試法。其中分布測(cè)試法要求有一個(gè)上測(cè)試器UT提供該界面的ASP。協(xié)調(diào)測(cè)試法不需要上層外接口,使用標(biāo)準(zhǔn)的測(cè)試管理協(xié)議TMP和下測(cè)試器之間進(jìn)行測(cè)試管理和協(xié)調(diào)。遠(yuǎn)程測(cè)試法中沒有專門的上測(cè)試器,部分測(cè)試器功能由被測(cè)系統(tǒng)實(shí)現(xiàn)。而這3種測(cè)試方法的下測(cè)試器LT都是通過通信鏈路上傳送的協(xié)議數(shù)據(jù)單元PDU對(duì)IUT進(jìn)行控制和觀察。
對(duì)2個(gè)子網(wǎng)間的中繼系統(tǒng)進(jìn)行一致性測(cè)試的抽象測(cè)試法有2種:環(huán)回式測(cè)試法和橫斷式測(cè)試法。環(huán)回式測(cè)試法在中繼系統(tǒng)的端口上進(jìn)行環(huán)接,這種環(huán)接可以在中繼系統(tǒng)內(nèi)完成,也可以在第二個(gè)子網(wǎng)內(nèi)完成。而在中繼系統(tǒng)的業(yè)務(wù)接入點(diǎn)SAP處的另一個(gè)子網(wǎng)上有2個(gè)觀察與控制點(diǎn),所以只需一個(gè)測(cè)試器。環(huán)回測(cè)試法的測(cè)試功能過于簡(jiǎn)單,因而不夠?qū)嵱谩M斷測(cè)試法在業(yè)務(wù)接入的2個(gè)子網(wǎng)上各有一個(gè)觀察與控制點(diǎn),需要2個(gè)測(cè)試器,這樣使得2個(gè)測(cè)試器的同步成為困難。
三、OSPF協(xié)議
1.OSPF協(xié)議特點(diǎn)
OSPF協(xié)議是一種基于Djkstra算法的鏈路狀態(tài)協(xié)議,用于自治系統(tǒng)內(nèi)的路由選擇。OSPF協(xié)議具有如下特點(diǎn):
●當(dāng)網(wǎng)絡(luò)拓外改變后迅速收斂,協(xié)議帶來的網(wǎng)絡(luò)開銷很小;
●支持負(fù)載均衡,可以保留同一目的地的多個(gè)路由;
●不易產(chǎn)生環(huán)路;
●對(duì)路由更新信息進(jìn)行認(rèn)證以確保其有效性;
●支持區(qū)域的劃分,能夠支持大規(guī)模的網(wǎng)絡(luò),擴(kuò)展性很強(qiáng)。
OSPF協(xié)議支持3種網(wǎng)絡(luò)的連接:
●2個(gè)路由器之間的點(diǎn)對(duì)點(diǎn)連接;
●具有廣播功能的局域網(wǎng);
●無廣播功能的廣域網(wǎng)。
2.OSPF協(xié)議原理
OSPF路由協(xié)議的內(nèi)容可分為交換擴(kuò)散協(xié)議、網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)數(shù)據(jù)庫內(nèi)容的維護(hù)以及路由表的計(jì)算3部分。交換協(xié)議使相鄰的路由器建立鄰接關(guān)系,然后網(wǎng)絡(luò)拓?fù)鋽?shù)據(jù)庫中的每一條內(nèi)容通過擴(kuò)散協(xié)議與相鄰的節(jié)點(diǎn)達(dá)到同步,從而使整個(gè)網(wǎng)絡(luò)中每個(gè)節(jié)點(diǎn)維持的網(wǎng)絡(luò)拓?fù)鋽?shù)據(jù)庫同步。每個(gè)節(jié)點(diǎn)當(dāng)?shù)弥W(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)圖發(fā)生變化時(shí),重新計(jì)算整個(gè)或部分路由表以達(dá)到路由的迅速更新,使網(wǎng)絡(luò)拓?fù)涞淖兓皶r(shí)地反映在相應(yīng)的路由表中。
3.OSPF共有5種報(bào)文類型
●Hello報(bào)文:用來發(fā)現(xiàn)和維持鄰站的可達(dá)性;
●Database Description報(bào)文:向鄰站給出自己的鏈路狀態(tài)的摘要信息;
●Link State Request報(bào)文:向?qū)Ψ秸?qǐng)求發(fā)送某些鏈路狀態(tài)的詳細(xì)信息;
●Link State Update報(bào)文:用擴(kuò)散法向全網(wǎng)更新鏈路狀態(tài);
●Link State Acknowledgment報(bào)文:對(duì)鏈路更新報(bào)文的確認(rèn)。
四、OSPF協(xié)議一致性測(cè)試的方法
OSPF協(xié)議是域內(nèi)使用的路由選擇協(xié)議,所以對(duì)于OSPF協(xié)議一致性測(cè)試采用中繼測(cè)試法使用的橫斷式測(cè)試法。在橫斷式測(cè)試法中,為了使2個(gè)子網(wǎng)的2個(gè)PCO容易達(dá)到同步,一般將PCO1和PCO2集成在一個(gè)測(cè)試器中。
編輯器可以采用ISO9646推薦的TTCN編輯器,也可以是其它語言編輯器。首先在編輯器上編制抽象測(cè)試集ATS,ATS以固定文法的文本文件MP格式輸出,類似于匯編語言或高級(jí)語言源程序。然后,MP文件由編輯器編譯成可執(zhí)行文件ETS。處理器是測(cè)試執(zhí)行的關(guān)鍵引擎,對(duì)經(jīng)過PICS和PIXIT選擇的測(cè)試集ETS進(jìn)行解釋執(zhí)行,并對(duì)PCO1或PCO2傳送來的協(xié)議數(shù)據(jù)單元PDU進(jìn)行處理,同時(shí)根據(jù)測(cè)試集的內(nèi)容控制測(cè)試過程。最后生成測(cè)試報(bào)告所需要的全部信息。在該測(cè)試結(jié)構(gòu)中,IUT的2個(gè)端口分別對(duì)應(yīng)于PCO,當(dāng)處理器從PCO1向SUT發(fā)送一個(gè)OSPF報(bào)文時(shí),經(jīng)過OSPF模塊的路由,OSPF報(bào)文就從子網(wǎng)1轉(zhuǎn)發(fā)到子網(wǎng)2中,處理器就從子網(wǎng)2中的PCO2獲得數(shù)據(jù)報(bào)文。由于PCO1和PCO2都被集成在測(cè)試器中,便可容易地控制2個(gè)LT的協(xié)調(diào)過程。
五、OSPF協(xié)議測(cè)試集的設(shè)計(jì)
測(cè)試集是協(xié)議一致性測(cè)試的基礎(chǔ),它是以最基本的測(cè)試事件序列的形式,詳細(xì)定義了測(cè)試系統(tǒng)和協(xié)議實(shí)體的行為,從而作出測(cè)試“通過”或“失敗”的判決,測(cè)試集有如下的層次結(jié)構(gòu):測(cè)試集→測(cè)試組→測(cè)試?yán)鷾y(cè)試步→測(cè)試事件。采用TTCN形式化語言可以描述出測(cè)試集。
OSPF協(xié)議與OSI協(xié)議相比較,OSPF協(xié)議行為較簡(jiǎn)單,在對(duì)等實(shí)體之間沒有用于建鏈或流控的數(shù)據(jù)包交換。我們按照ISO/IEC9646的建議,根據(jù)協(xié)議描述分析及條件合成,生成測(cè)試目的,設(shè)計(jì)和產(chǎn)生出OSPF協(xié)議測(cè)試集,編寫出OSPF協(xié)議測(cè)試規(guī)范。產(chǎn)生的OSPF測(cè)試集包括5個(gè)測(cè)試組,共69個(gè)測(cè)試?yán)ㄒ姳?)。
表1 OSPF測(cè)試集
測(cè)試組 | 測(cè)試目的 | 測(cè)試?yán)?/div> |
Ospf-2areas | 域邊界路由器功能 | 3 |
Ospf-2qars | 交換擴(kuò)散協(xié)議功能 | 36 |
Ospf-3qars | 數(shù)據(jù)包的路徑類型,AS外部LSA和AS匯總LSA功能 | 23 |
Ospf-stress | 強(qiáng)度能力測(cè)試 | 6 |
Ospf-stub | 末稍網(wǎng)絡(luò)功能 | 1 |
這些測(cè)試組(例)涵蓋了OSPF協(xié)議描述中的主要功能,具有較好的完備性。
六、測(cè)試應(yīng)用
按照本文討論的測(cè)試方法和結(jié)構(gòu),測(cè)試工具使用Agilent公司的QA Robot測(cè)試儀來進(jìn)行OSPF協(xié)議一致性測(cè)試。也可使用清華大學(xué)研制開發(fā)的基于TTCN的PITS測(cè)試系統(tǒng)。QARobot測(cè)試儀使用QBOL語言生成ETS,通過QBOL編輯器進(jìn)行編譯,內(nèi)部使用UNIX操作系統(tǒng),有著可視化的界面操作。
我們參加了國家“863”寬帶信息示范網(wǎng)核心路由器的測(cè)試工作。采用QARobot測(cè)試儀,分別對(duì)中興公司、巨龍公司和大唐公司研制的核心路由器進(jìn)行了OSPF協(xié)議的一致性測(cè)試。各路由器經(jīng)過OSPF協(xié)議一致性測(cè)試后,其中的OSPF模塊的功能和性能有了明顯的改善,測(cè)試?yán)ㄟ^率從50%提高到將近90%。
通過實(shí)踐證明,在協(xié)議軟件的設(shè)計(jì)和開發(fā)過程中,一致性測(cè)試是用來檢測(cè)定位錯(cuò)誤,同時(shí)又能提供修正建議的好方法。
摘自《電信網(wǎng)技術(shù)》