專利名稱:協(xié)議測試用邏輯拓撲網(wǎng)絡(luò)及其實現(xiàn)協(xié)議測試的方法
技術(shù)領(lǐng)域:
本發(fā)明涉及協(xié)議測試技術(shù)領(lǐng)域,尤其涉及一種協(xié)議測試用邏輯拓撲網(wǎng)絡(luò)及其實現(xiàn)協(xié)議測試的方法。
背景技術(shù):
在計算機網(wǎng)絡(luò)通信領(lǐng)域,通信協(xié)議是其中的核心,也是保證正常通信的基本條件,通信協(xié)議標準是網(wǎng)絡(luò)通信規(guī)范的基礎(chǔ)。網(wǎng)絡(luò)協(xié)議運行的環(huán)境是一個實際的物理網(wǎng)絡(luò),通常至少需要三個或者三個以上節(jié)點才構(gòu)成一個網(wǎng)絡(luò),各節(jié)點之間需要通過通信建立穩(wěn)定的拓撲結(jié)構(gòu),當網(wǎng)絡(luò)拓撲或者節(jié)點發(fā)生變化的時候,還需要通過通信進行拓撲結(jié)構(gòu)的改變,并重新獲得穩(wěn)定的拓撲結(jié)構(gòu)。同時,在網(wǎng)絡(luò)通信中,網(wǎng)絡(luò)協(xié)議數(shù)量龐大且實現(xiàn)復(fù)雜,各設(shè)備廠商對于協(xié)議的理解和實現(xiàn)方式也不盡相同,因此通過協(xié)議測試來保證協(xié)議實現(xiàn)的正確性和各設(shè)備之間的互操作性是必要而且迫切的。
目前采用的協(xié)議測試的網(wǎng)絡(luò)模型如圖1所示,將測試端和被測端通過網(wǎng)路連接,測試端根據(jù)協(xié)議規(guī)范生成測試用例,所述的測試用例由測試體執(zhí)行,測試體執(zhí)行測試用例,發(fā)送協(xié)議報文,同時接收被測端的待測體基于所述應(yīng)用程序的處理并返回的響應(yīng)報文,然后根據(jù)收到的報文是否與預(yù)期報文一致,從而得出一致性判定結(jié)果。
測試套是以標準的協(xié)議描述為基礎(chǔ)而設(shè)計的一套測試用例,測試套由測試體執(zhí)行,完成對測試用例腳本的編譯和解釋,生成待測協(xié)議可識別的報文。報文下發(fā)給網(wǎng)絡(luò)接口,網(wǎng)絡(luò)接口將報文發(fā)送到被測端,被測端的網(wǎng)絡(luò)接口完成通信功能,將收到的報文上傳待測體,這樣就建立了測試體與待測體之間的通訊通道。因此,從理論講,只要測試覆蓋了待測協(xié)議的所有測試點,就可以保證待測協(xié)議的一致性。
在進行協(xié)議測試過程中,目前通常采用的是一種實際組網(wǎng)測試方法,所述實際組網(wǎng)測試指得是按照通信協(xié)議要求,在實際組網(wǎng)環(huán)境中,進行相應(yīng)的配置及安裝相應(yīng)的網(wǎng)絡(luò)節(jié)點,然后令各網(wǎng)絡(luò)節(jié)點中的協(xié)議處理部分開始運行,向網(wǎng)絡(luò)發(fā)送測試數(shù)據(jù)包,并等待網(wǎng)絡(luò)穩(wěn)定之后查看狀態(tài)是否和預(yù)期的結(jié)果一致,從而確認協(xié)議實現(xiàn)是否正確,實現(xiàn)協(xié)議測試的目的。
上述方案存在一個較大的問題是一個協(xié)議的測試組網(wǎng)環(huán)境通常極其復(fù)雜,因而需要大量的硬件設(shè)備和復(fù)雜的組網(wǎng)布線,并且在測試過程中需要多次變換實際的拓撲網(wǎng)絡(luò)環(huán)境,導(dǎo)致實際組網(wǎng)測試實施起來成本較高,工作量大。
目前,進行協(xié)議測試所采用的另一種方式是將測試套集成到硬件中,當進行協(xié)議測試時,將被測實體和測試工具根據(jù)測試用例要求進行配置和組網(wǎng),之后,運行所述測試用例便可以得到一致性判定結(jié)果,實現(xiàn)協(xié)議測試的目的。在這種協(xié)議測試方法中,由于協(xié)議測試過程對硬件設(shè)備及測試人員的要求較高,因此,存在著實現(xiàn)協(xié)議測試成本較高,且難度大的缺點。
發(fā)明內(nèi)容
鑒于上述現(xiàn)有技術(shù)所存在的問題,本發(fā)明的目的是提供一種協(xié)議測試用邏輯拓撲網(wǎng)絡(luò)及其實現(xiàn)協(xié)議測試的方法,基于較少的物理設(shè)備便可以實現(xiàn)相對復(fù)雜的協(xié)議測試需要的拓撲網(wǎng)絡(luò)的構(gòu)造,從而降低實現(xiàn)協(xié)議測試的成本,簡化了協(xié)議測試過程的復(fù)雜度。
本發(fā)明的目的是通過以下技術(shù)方案實現(xiàn)的本發(fā)明提供了一種協(xié)議測試用邏輯拓撲網(wǎng)絡(luò),包括
在協(xié)議測試用物理網(wǎng)絡(luò)中建立輔助協(xié)議測試用的虛擬測試體,及用于協(xié)議測試的測試體;所述的虛擬測試體與測試體及被測試端利用所述的物理網(wǎng)絡(luò)連接組建成協(xié)議測試用邏輯拓撲網(wǎng)絡(luò)。
所述的物理網(wǎng)絡(luò)至少包括測試端主機、被測設(shè)備、用于連接測試端主機和被測設(shè)備的集線器,以及連接用網(wǎng)線。
所述的虛擬測試體和測試體設(shè)置于測試端主機中。
所述的虛擬測試體在物理網(wǎng)絡(luò)中的數(shù)量及其在網(wǎng)絡(luò)拓撲關(guān)系是根據(jù)協(xié)議測試需要的拓撲網(wǎng)絡(luò)環(huán)境確定。
本發(fā)明中,當所述的虛擬測試體與測試體設(shè)置于同一主機設(shè)備中時,所述的虛擬測試體還提供與測試體進行數(shù)據(jù)信息交互的接口。
本發(fā)明還提供了一種基于所述邏輯拓撲網(wǎng)絡(luò)的實現(xiàn)協(xié)議測試的方法,包括A、各個虛擬測試體在邏輯拓撲網(wǎng)絡(luò)中根據(jù)協(xié)議測試的需要進行協(xié)議報文的收發(fā)操作,并獲得收發(fā)協(xié)議報文的判定結(jié)果信息,再將所述判定結(jié)果信息發(fā)送給測試體;B、所述測試體獲得各個虛擬測試體發(fā)來收發(fā)協(xié)議報文的判定結(jié)果信息,并根據(jù)各個信息獲得協(xié)議測試結(jié)果。
所述的步驟A包括各個虛擬測試體根據(jù)是否收到協(xié)議報文,以及收到協(xié)議報文與預(yù)期收到的協(xié)議報文是否相同確定所述的判定結(jié)果信息。
所述的步驟A還包括所述的各個虛擬測試體在邏輯拓撲網(wǎng)絡(luò)中共享同一數(shù)據(jù)鏈路進行協(xié)議報文的收發(fā)。
所述的步驟A還包括
當測試體與虛擬測試體設(shè)置于同一主機設(shè)備中時,所述的測試體通過虛擬測試體提供的接口獲取所述的比較結(jié)果信息。
所述的虛擬測試體采用與測試體采用相同的描述語言實現(xiàn),或者提供測試體訪問的接口。
由上述本發(fā)明提供的技術(shù)方案可以看出,本發(fā)明中利用虛擬測試體,由虛擬測試體來完成其他測試體的輔助測試用例的執(zhí)行功能;且在網(wǎng)絡(luò)數(shù)據(jù)傳輸過程中,利用數(shù)據(jù)鏈路共享,將邏輯拓撲環(huán)境中的各個網(wǎng)絡(luò)的鏈路都在一個共享鏈路上實現(xiàn);因此,本發(fā)明利用虛擬測試體可以在簡單物理拓撲環(huán)境上組建復(fù)雜的邏輯拓撲環(huán)境,即在通信協(xié)議測試過程中,對于協(xié)議測試需要的復(fù)雜的邏輯拓撲環(huán)境,可以通過本發(fā)明提供的虛擬組網(wǎng)技術(shù)實現(xiàn),從而減少硬件設(shè)備,降低協(xié)議測試成本。
而且,本發(fā)明在測試過程中,測試用例要求知道其他測試體(如虛擬測試體)狀態(tài)的改變,或者是否收到某個特定的報文之類的信息的情況,則由于本發(fā)明中的各虛擬測試體與測試體均處于同一物理設(shè)備中,因而可以在虛擬測試體實現(xiàn)中添加相應(yīng)的服務(wù),即提供相應(yīng)的接口,測試體可以通過相應(yīng)的接口獲得虛擬測試體的相應(yīng)信息,從而使得測試體上的相應(yīng)測試用例可以自動執(zhí)行。
圖1為協(xié)議一致性測試模型;圖2是帶虛擬測試體的協(xié)議一致性測試模型;圖3是一個協(xié)議測試的邏輯拓撲環(huán)境;圖4是圖3對應(yīng)的物理拓撲環(huán)境;圖5是圖4對應(yīng)的虛擬物理拓撲環(huán)境。
具體實施例方式
本發(fā)明的主要目的是實現(xiàn)通過簡單的物理設(shè)備實現(xiàn)復(fù)雜的拓撲網(wǎng)絡(luò),用于進行針對復(fù)雜的拓撲網(wǎng)絡(luò)的協(xié)議測試。本發(fā)明的核心思想是在簡單的物理設(shè)備中采用虛擬的方式建立多個虛擬測試體,利用各個虛擬測試體及實際的物理設(shè)備實現(xiàn)協(xié)議測試需要的復(fù)雜的拓撲網(wǎng)絡(luò)的組建。
本發(fā)明所述的邏輯拓撲網(wǎng)絡(luò)如圖2所示,包括位于測試端的虛擬測試體、測試體,以及被測端,所述的被測端與測試端間通過實際通道(即物理通道)相連;所述的測試端和被測端均為實際的物理設(shè)備,測試體通過虛擬通道與被測端中的被測體通信,進行協(xié)議測試,在協(xié)議測試過程中虛擬測試體1至虛擬測試體n用于輔助測試體的協(xié)議測試過程。
在實現(xiàn)本發(fā)明所述的邏輯拓撲網(wǎng)絡(luò)過程中,首先,組建相應(yīng)的物理網(wǎng)絡(luò),所述物理網(wǎng)絡(luò)包括測試計算機、路由器、集線器、交換機和網(wǎng)線等;簡單地,可以將測試主機(即測試端)和被測設(shè)備(被測端)通過一個集線器連接成一個實際存在的物理網(wǎng)絡(luò);測試主機作為測試節(jié)點,其中設(shè)置有協(xié)議測試用的測試體,通過執(zhí)行測試體上的測試用例便可以執(zhí)行協(xié)議測試過程,所述的被測設(shè)備為實際存在的物理設(shè)備,如待測路由器等;之后,根據(jù)需要執(zhí)行的測試用例確定該測試用例需要的邏輯拓撲網(wǎng)絡(luò)環(huán)境,以便于基于相應(yīng)的邏輯拓撲網(wǎng)絡(luò)環(huán)境進行相應(yīng)的協(xié)議測試;根據(jù)所述的協(xié)議測試需要的邏輯拓撲網(wǎng)絡(luò),即根據(jù)測試用例的測試目的,在測試主機中設(shè)置相應(yīng)的輔助協(xié)議測試用的虛擬測試體,所述的虛擬測試體即為采用軟件模擬的協(xié)議測試過程中應(yīng)用的輔助測試體,所述的虛擬測試體通常用于實現(xiàn)接收一些簡單的外部數(shù)據(jù)包,并且給出對這個數(shù)據(jù)包的響應(yīng)的功能;在測試主機中設(shè)置的所述的虛擬測試體的數(shù)量可以根據(jù)協(xié)議測試需要設(shè)置,具體可以設(shè)置一個或多個;所述的虛擬測試體與測試體及被測設(shè)備間的邏輯連接關(guān)系同樣為根據(jù)協(xié)議測試的需要進行設(shè)置;所述的虛擬測試可以采用與實現(xiàn)測試體相同的描述語言實現(xiàn);所述的描述語言是實現(xiàn)測試用例的編程語言,在通信協(xié)議測試中經(jīng)常應(yīng)用的測試用例描述語言包括工具命令語言(Tool Command Language,TCL)、樹表組合語法(Tree and Tabular Combined Notation,TTCN)、C語言等;假設(shè)協(xié)議測試需要的邏輯拓撲網(wǎng)絡(luò)如圖3所示,圖3所示的邏輯拓撲網(wǎng)絡(luò)對應(yīng)的物理拓撲網(wǎng)絡(luò)如圖4所示;圖3中包括網(wǎng)絡(luò)N1、N2、N3、N4......N100、N101,測試路由器TR1、TR2、TR3和TR4,測試節(jié)點TN,以及待測路由器RUT,在本發(fā)明之前,如果需要針對圖3所示的邏輯拓撲網(wǎng)絡(luò)進行協(xié)議測試,則需要構(gòu)建如圖4所示的物理拓撲網(wǎng)絡(luò),然后在該物理拓撲網(wǎng)絡(luò)中進行相應(yīng)的協(xié)議測試,而利用本發(fā)明只需要組建如圖5所示的物理網(wǎng)絡(luò)即可,物理網(wǎng)絡(luò)中包括通過集線器相連接的測試節(jié)點TN和待測路由器RUT,之后,在所述物理網(wǎng)絡(luò)的測試節(jié)點上設(shè)置相應(yīng)的虛擬測試體,具體為在測試節(jié)點TN中設(shè)置四個虛擬測試體,分別對應(yīng)著圖3中的測試路由器TR1至TR4;所述的虛擬測試體需要實現(xiàn)的功能還是根據(jù)協(xié)議測試的需要確定,并可以使用實現(xiàn)所述測試用例的描述語言實現(xiàn)該虛擬測試體;當所述的虛擬測試體與測試體位于同一主機設(shè)備中時,所述的虛擬測試體還需要提供與測試體通信需要的接口,以便于測試體通過所述接口獲取虛擬測試體的協(xié)議測試的結(jié)果信息,例如,接收報文的判定結(jié)果信息;經(jīng)過上述虛擬測試體的建立過程后,基于實際的組網(wǎng)環(huán)境中測試節(jié)點的虛擬組網(wǎng)環(huán)境便已經(jīng)實現(xiàn),從而實現(xiàn)協(xié)議測試需要的邏輯拓撲網(wǎng)絡(luò)的構(gòu)造。
本發(fā)明還需要在測試節(jié)點上設(shè)置相應(yīng)的測試體,即使用測試用例描述語言實現(xiàn)相應(yīng)的測試用例,執(zhí)行所述的測試用例,根據(jù)需要在虛擬測試體的配合下便可以實現(xiàn)協(xié)議的測試,得到協(xié)議測試的結(jié)果。
基于所述邏輯拓撲網(wǎng)絡(luò)本發(fā)明還提供了一種實現(xiàn)協(xié)議測試的方法,該方法包括以下處理過程(1)各個虛擬測試體在邏輯拓撲網(wǎng)絡(luò)中根據(jù)協(xié)議測試的需要進行協(xié)議報文的收發(fā)操作,并獲得收發(fā)協(xié)議報文的判定結(jié)果信息,再將所述判定結(jié)果信息發(fā)送給測試體;所述的各個虛擬測試體在邏輯拓撲網(wǎng)絡(luò)中共享同一數(shù)據(jù)鏈路進行協(xié)議報文的收發(fā);而且,當測試體與虛擬測試體設(shè)置于同一主機設(shè)備中時,所述的測試體通過虛擬測試體提供的接口獲取所述的比較結(jié)果信息;各個虛擬測試體根據(jù)是否收到協(xié)議報文,以及收到協(xié)議報文與預(yù)期收到的協(xié)議報文是否相同確定所述的判定結(jié)果信息;所述的虛擬測試體是在測試體上用程序?qū)崿F(xiàn)其他測試體在該測試用例中的功能,如圖3中的測試路由器TR1、TR2、TR3和TR4在測試中接收協(xié)議描述的報文并對其進行解析,以及發(fā)送一些協(xié)議描述的報文的功能,同時還為測試體提供相應(yīng)的通信接口;所述的虛擬測試體在協(xié)議測試過程中的作用是保證測試用例可以自動獲得輔助測試的虛擬測試的判定結(jié)果信息,并自動運行獲得協(xié)議測試結(jié)果;例如在圖3中協(xié)議要求測試路由器TR1、TR2、TR3和TR4在測試節(jié)點TN給待測路由器RUT發(fā)送特定報文后應(yīng)該收到相應(yīng)的報文,在測試過程測試路由器TR1、TR2、TR3和TR4則可以根據(jù)是否收到相應(yīng)的報文和收到的報文是否與預(yù)期報文相同給出一致性判定結(jié)果,測試體則可以通過虛擬測試體提供的接口自動獲取所述的判定結(jié)果信息,以輔助測試用例的自動執(zhí)行;(2)所述測試體獲得各個虛擬測試體發(fā)來收發(fā)協(xié)議報文的判定結(jié)果信息,并根據(jù)各個信息獲得協(xié)議測試結(jié)果。
以上所述,僅為本發(fā)明較佳的具體實施方式
,但本發(fā)明的保護范圍并不局限于此,任何熟悉本技術(shù)領(lǐng)域的技術(shù)人員在本發(fā)明揭露的技術(shù)范圍內(nèi),可輕易想到的變化或替換,都應(yīng)涵蓋在本發(fā)明的保護范圍之內(nèi)。因此,本發(fā)明的保護范圍應(yīng)該以權(quán)利要求的保護范圍為準。
權(quán)利要求
1.一種協(xié)議測試用邏輯拓撲網(wǎng)絡(luò),其特征在于,包括在協(xié)議測試用物理網(wǎng)絡(luò)中建立輔助協(xié)議測試用的虛擬測試體及用于協(xié)議測試的測試體;所述的虛擬測試體與測試體及被測試端利用所述的物理網(wǎng)絡(luò)連接組建成協(xié)議測試用邏輯拓撲網(wǎng)絡(luò)。
2.根據(jù)權(quán)利要求1所述的協(xié)議測試用邏輯拓撲網(wǎng)絡(luò),其特征在于,所述的物理網(wǎng)絡(luò)至少包括測試端主機、被測設(shè)備、用于連接測試端主機和被測設(shè)備的集線器,以及連接用網(wǎng)線。
3.根據(jù)權(quán)利要求2所述的協(xié)議測試用邏輯拓撲網(wǎng)絡(luò),其特征在于,所述的虛擬測試體和測試體設(shè)置于測試端主機中。
4.根據(jù)權(quán)利要求1、2或3所述的協(xié)議測試用邏輯拓撲網(wǎng)絡(luò),其特征在于,所述的虛擬測試體在物理網(wǎng)絡(luò)中的數(shù)量及其網(wǎng)絡(luò)拓撲關(guān)系是根據(jù)協(xié)議測試需要的拓撲網(wǎng)絡(luò)環(huán)境確定的。
5.根據(jù)權(quán)利要求1、2或3所述的協(xié)議測試用邏輯拓撲網(wǎng)絡(luò),其特征在于,當所述的虛擬測試體與測試體設(shè)置于同一主機設(shè)備中時,所述的虛擬測試體還提供與測試體進行數(shù)據(jù)信息交互的接口。
6.一種基于所述邏輯拓撲網(wǎng)絡(luò)的實現(xiàn)協(xié)議測試的方法,其特征在于,包括A、各個虛擬測試體在邏輯拓撲網(wǎng)絡(luò)中根據(jù)協(xié)議測試的需要進行協(xié)議報文的收發(fā)操作,并獲得收發(fā)協(xié)議報文的判定結(jié)果信息,再將所述判定結(jié)果信息發(fā)送給測試體;B、所述測試體獲得各個虛擬測試體發(fā)來的收發(fā)協(xié)議報文的判定結(jié)果信息,并根據(jù)各個信息獲得協(xié)議測試結(jié)果。
7.根據(jù)權(quán)利要求6所述的實現(xiàn)協(xié)議測試的方法,其特征在于,所述的步驟A包括各個虛擬測試體根據(jù)是否收到協(xié)議報文,以及收到協(xié)議報文與預(yù)期收到的協(xié)議報文是否相同確定所述的判定結(jié)果信息。
8.根據(jù)權(quán)利要求6或7所述的實現(xiàn)協(xié)議測試的方法,其特征在于,所述的步驟A還包括所述的各個虛擬測試體在邏輯拓撲網(wǎng)絡(luò)中共享同一數(shù)據(jù)鏈路進行協(xié)議報文的收發(fā)。
9.根據(jù)權(quán)利要求6或7所述的實現(xiàn)協(xié)議測試的方法,其特征在于,所述的步驟A還包括當測試體與虛擬測試體設(shè)置于同一主機設(shè)備中時,所述的測試體通過虛擬測試體提供的接口獲取所述的判定結(jié)果信息。
10.根據(jù)權(quán)利要求6或7所述的實現(xiàn)協(xié)議測試的方法,其特征在于,所述的虛擬測試體采用與測試體相同的描述語言實現(xiàn),或者提供測試體訪問的接口。
全文摘要
本發(fā)明涉及一種協(xié)議測試用邏輯拓撲網(wǎng)絡(luò)及其實現(xiàn)協(xié)議測試的方法。本發(fā)明的核心思想是在簡單的物理設(shè)備中采用虛擬的方式建立多個用于輔助協(xié)議測試的虛擬測試體,利用各個虛擬測試體及實際的物理設(shè)備組建協(xié)議測試需要的復(fù)雜的拓撲網(wǎng)絡(luò)。因此,在通信協(xié)議測試過程中,對于協(xié)議測試需要的復(fù)雜的邏輯拓撲環(huán)境,可以通過本發(fā)明提供的虛擬組網(wǎng)技術(shù)實現(xiàn),從而減少硬件設(shè)備,降低協(xié)議測試成本。而且,本發(fā)明在測試過程中,對于測試用例要求知道其他測試體狀態(tài)的改變,或者是否收到某個特定的報文之類的信息的情況,可以通過虛擬測試體提供相應(yīng)的接口獲得虛擬測試體的相應(yīng)信息,從而使得測試體上的相應(yīng)測試用例可以自動執(zhí)行。
文檔編號H04L29/06GK1780237SQ20041009131
公開日2006年5月31日 申請日期2004年11月22日 優(yōu)先權(quán)日2004年11月22日
發(fā)明者趙寶華, 屈玉貴, 周顥, 林華輝, 柯堯, 徐軍委, 郭雄輝, 錢蘭, 陳波, 黃東曉, 姜振海, 劉恒昌, 張煒, 李建, 李正良, 葛猛, 高存皓 申請人:華為技術(shù)有限公司, 中國科學(xué)技術(shù)大學(xué)