專利名稱:通訊協(xié)議的底層匯聚測(cè)試方法及系統(tǒng)的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及計(jì)算機(jī)和電信通訊協(xié)議一致性測(cè)試,特別涉及一種通訊協(xié)議一致性測(cè)試中的底層匯聚測(cè)試方法及系統(tǒng)。
為了說明協(xié)議一致性測(cè)試方法,給出如下基本概念。
1.實(shí)體(Entity)OSI將每一層中活躍的元素稱為實(shí)體,實(shí)體既可以是硬件實(shí)體(比如一塊芯片),也可以是軟件實(shí)體(比如一個(gè)進(jìn)程)。
在不同機(jī)器上同一層內(nèi)的實(shí)體叫做同層實(shí)體或?qū)Φ葘訉?shí)體。
2.服務(wù)訪問點(diǎn)SAP(Service Access Point)分層的網(wǎng)絡(luò)協(xié)議體系結(jié)構(gòu)中,每一層都要為上一層提供一定的服務(wù),并把這些服務(wù)是如何實(shí)現(xiàn)的細(xì)節(jié)對(duì)上一層加以屏蔽,服務(wù)是在服務(wù)訪問點(diǎn)SAP提供給上層的。
3.控制觀察點(diǎn)PCO(Points of Control and Observation)測(cè)試系統(tǒng)和IUT之間的通信點(diǎn)。測(cè)試系統(tǒng)通過PCO訪問IUT,通過控制觀察點(diǎn),測(cè)試系統(tǒng)既可以對(duì)通信進(jìn)行初始化,也可以觀察通信結(jié)果??刂朴^察點(diǎn)一般定義在服務(wù)訪問點(diǎn)SAP上。
4.協(xié)議數(shù)據(jù)單元PDU(Protocol Data Unit)在協(xié)議棧的層與層之間的接口上,n+1層實(shí)體通過SAP把一個(gè)接口數(shù)據(jù)單元IDU(InterfaceData Unit)傳遞給n層實(shí)體。IDU由服務(wù)數(shù)據(jù)單元SDU(Service DataUnit)和一些控制信息組成。SDU是將要跨過網(wǎng)絡(luò)傳遞給對(duì)等實(shí)體。然后向上交給n+1層的信息。控制信息用于幫助下一層完成任務(wù),它本身不是數(shù)據(jù)的一部分。為了傳遞SDU,n層實(shí)體可能將SDU分成幾段,每一段加上一個(gè)報(bào)頭作為獨(dú)立的協(xié)議數(shù)據(jù)單元PDU送出。
5.被測(cè)系統(tǒng)SUT(System Under Test)被測(cè)試的系統(tǒng)或者是被測(cè)系統(tǒng)的一部分。
6.被測(cè)實(shí)現(xiàn)IUT(Implemention Under Test)作為測(cè)試目標(biāo)的系統(tǒng)或者協(xié)議實(shí)現(xiàn)(Protocol Implementation),被測(cè)實(shí)現(xiàn)可以作為被測(cè)系統(tǒng)的一部分,嵌入被測(cè)系統(tǒng)中。
7.上測(cè)試器(Upper Tester)是一個(gè)測(cè)試系統(tǒng)或測(cè)試系統(tǒng)的一部分,它在被測(cè)系統(tǒng)的上層控制PCO。它通過IUT的上側(cè)SAP與IUT進(jìn)行通信。
8.下測(cè)試器(Lower Tester)是一個(gè)測(cè)試系統(tǒng)或測(cè)試系統(tǒng)的一部分,它在被測(cè)系統(tǒng)的低層控制PCO。它通過IUT的下側(cè)SAP與IUT進(jìn)行通信。下測(cè)試器同時(shí)負(fù)責(zé)給出測(cè)試判定。
9.測(cè)試協(xié)作過程(Test Coordination Procedure)包含合作規(guī)則的集合。例如,上測(cè)試器和下測(cè)試器之間的同步,不同下測(cè)試器之間的同步。
10.服務(wù)提供者(Service Provider)是測(cè)試結(jié)構(gòu)的一部分,假設(shè)被測(cè)系統(tǒng)位于網(wǎng)絡(luò)體系結(jié)構(gòu)的第N層,服務(wù)提供者為它提供N-1層的功能。服務(wù)提供者為IUT和下測(cè)試器之間提供通信環(huán)境。
協(xié)議一致性測(cè)試使用在特定點(diǎn)PCO(Point of Control and Observation)對(duì)被測(cè)實(shí)現(xiàn)的層間服務(wù)原語和協(xié)議數(shù)據(jù)單元進(jìn)行控制和觀察的原理。根據(jù)PCO的不同,在ISO9646(協(xié)議一致性測(cè)試方法和框架)中已被標(biāo)準(zhǔn)化的抽象測(cè)試方法有本地測(cè)試法和外部測(cè)試法。本地測(cè)試法適合于在產(chǎn)品內(nèi)部測(cè)試;外部測(cè)試法適合于遠(yuǎn)程的第三方測(cè)試,又可分為分布式、協(xié)調(diào)式和遠(yuǎn)程式測(cè)試。本地測(cè)試法的一個(gè)基本前提是在IUT的上下邊界都存在暴露的服務(wù)訪問接口,上下測(cè)試器控制這些訪問接口來激勵(lì)I(lǐng)UT,并觀察IUT的輸出響應(yīng)。分布式測(cè)試法的下測(cè)試器位于測(cè)試系統(tǒng)中,上測(cè)試器位于被測(cè)系統(tǒng)IUT中,下測(cè)試器和IUT是對(duì)等實(shí)體,它們之間通過提供N-1層服務(wù)的底層協(xié)議實(shí)現(xiàn)來連接,上測(cè)試器與IUT在同一個(gè)系統(tǒng)中,IUT必須有暴露的上邊界服務(wù)訪問接口。協(xié)調(diào)測(cè)試法的下測(cè)試器和IUT是對(duì)等實(shí)體,它們之間通過提供N-1層服務(wù)的底層協(xié)議實(shí)現(xiàn)來連接,上測(cè)試器與IUT在同一個(gè)系統(tǒng)中,IUT不一定有暴露的上邊界服務(wù)訪問接口,上測(cè)試器要用標(biāo)準(zhǔn)的測(cè)試管理協(xié)議(testing management protocol)與下測(cè)試器來協(xié)調(diào)完成測(cè)試實(shí)現(xiàn)。遠(yuǎn)程測(cè)試法不定義上測(cè)試器,也不需要顯式的測(cè)試協(xié)調(diào)過程在ISO9646中已被標(biāo)準(zhǔn)化的抽象測(cè)試方法,除了對(duì)端系統(tǒng)的本地測(cè)試法、分布式測(cè)試法、協(xié)調(diào)式測(cè)試法和遠(yuǎn)程式測(cè)試法外,還有兩種適用于中繼系統(tǒng)的測(cè)試方法回繞式(loop-back)測(cè)試方法和穿越式(transverse)測(cè)試方法。回繞法只需要一個(gè)測(cè)試器,但要求在被測(cè)實(shí)現(xiàn)或系統(tǒng)內(nèi)部或外部鏈路上實(shí)現(xiàn)回環(huán),而且其測(cè)試能力過于簡(jiǎn)單,因而不夠?qū)嵱茫淮┰綔y(cè)試法能夠測(cè)試中繼系統(tǒng)的全部中繼功能,但需要至少兩個(gè)測(cè)試系統(tǒng),各測(cè)試系統(tǒng)之間的協(xié)調(diào)是實(shí)現(xiàn)穿越式測(cè)試法的困難所在。
圖1和圖2分別是回繞和穿越測(cè)試法的結(jié)構(gòu)圖。在實(shí)際的中繼系統(tǒng)測(cè)試中,第三方測(cè)試一般使用回繞或穿越測(cè)試法。
為實(shí)現(xiàn)上述目的,通訊協(xié)議底層匯聚測(cè)試方法包括步驟通過匯聚器將被測(cè)中繼系統(tǒng)底層接口匯聚起來;用一臺(tái)測(cè)試器模擬實(shí)現(xiàn)多個(gè)虛擬測(cè)試器;所有的虛擬測(cè)試器都通過同一條鏈路與被測(cè)系統(tǒng)連接;測(cè)試器通過匯聚器與被測(cè)實(shí)現(xiàn)的多個(gè)下接口進(jìn)行通訊;測(cè)試器通過多個(gè)底層接口對(duì)被測(cè)實(shí)現(xiàn)進(jìn)行激勵(lì)/響應(yīng)測(cè)試。
本發(fā)明的另一目的是提供一種通訊協(xié)議一致性測(cè)試中的底層匯聚測(cè)試系統(tǒng)。
為實(shí)現(xiàn)上述目的,通信協(xié)議底層匯聚測(cè)試系統(tǒng)包括測(cè)試器、N-1層服務(wù)提供者和被測(cè)系統(tǒng),匯聚器接在被測(cè)系統(tǒng)和N-1層服務(wù)提供者之間。
本發(fā)明在一臺(tái)測(cè)試器上實(shí)現(xiàn)了對(duì)被測(cè)中繼系統(tǒng)的穿越測(cè)試,可以充分測(cè)試被測(cè)中繼系統(tǒng)的真實(shí)行為。不需要對(duì)被測(cè)中繼系統(tǒng)有任何特殊要求。僅用一臺(tái)測(cè)試器即可實(shí)現(xiàn)對(duì)被測(cè)中繼系統(tǒng)的一致性測(cè)試,避免了穿越測(cè)試法中各測(cè)試器之間復(fù)雜的測(cè)試協(xié)調(diào)過程。不用考慮各測(cè)試器之間的同步問題,消除了測(cè)試器非同步造成的誤差,使測(cè)試更可靠,更精確。
發(fā)明的實(shí)施方式下面結(jié)合附圖描述本發(fā)明。
如圖3所示,底層匯聚測(cè)試方法用一臺(tái)測(cè)試器模擬實(shí)現(xiàn)多個(gè)虛擬測(cè)試器,所有的虛擬測(cè)試器都通過同一條鏈路與被測(cè)系統(tǒng)連接,避免了多個(gè)物理測(cè)試器之間的協(xié)調(diào)問題。匯聚器可以是一臺(tái)集線器,起到匯聚被測(cè)中繼系統(tǒng)底層接口的作用,使測(cè)試器可以與被測(cè)實(shí)現(xiàn)的多個(gè)下接口進(jìn)行通訊,通過多個(gè)底層接口對(duì)被測(cè)實(shí)現(xiàn)進(jìn)行激勵(lì)/響應(yīng)測(cè)試,可以測(cè)試被測(cè)中繼系統(tǒng)實(shí)現(xiàn)的各種中繼功能。底層匯聚測(cè)試法也可以用于對(duì)端系統(tǒng)的測(cè)試,這時(shí)的匯聚器工作于透明模式,相當(dāng)于被測(cè)端系統(tǒng)的下接口直接與底層服務(wù)提供者連接。
下面用一個(gè)例子來說明底層匯聚測(cè)試法的工作原理。
在IPv6基本描述協(xié)議路由器測(cè)試中,有一個(gè)測(cè)試?yán)臏y(cè)試目的是驗(yàn)證被測(cè)路由器對(duì)路由報(bào)頭的處理是否正確。其邏輯測(cè)試結(jié)構(gòu)拓?fù)淙鐖D4所示,由兩個(gè)虛擬測(cè)試主機(jī)(TH-1/VT1,TH-2/VT2)和兩個(gè)虛擬測(cè)試路由器(TR-1/VT3,TR-2/VT4)對(duì)被測(cè)路有器RUT進(jìn)行一致性測(cè)試。
在IPv6基本描述協(xié)議中規(guī)定,帶有路由報(bào)頭的IPv6數(shù)據(jù)包,直到到達(dá)IPv6報(bào)頭中的目的地址字段所標(biāo)識(shí)的那個(gè)節(jié)點(diǎn)才對(duì)路由報(bào)頭進(jìn)行檢測(cè)和處理。在這個(gè)節(jié)點(diǎn)調(diào)用路由報(bào)頭處理模塊,并且對(duì)于路由類型0的,執(zhí)行下面的算法<pre listing-type="program-listing"><![CDATA[ if分段剩余=0{ 繼續(xù)處理包中的下一個(gè)報(bào)頭,其類型由路由報(bào)頭中″下一個(gè)報(bào)頭″ 字段所標(biāo)識(shí) } else if報(bào)頭擴(kuò)展長(zhǎng)度為奇數(shù){ 給源地址發(fā)送ICMP″參數(shù)存在問題″,編碼0的報(bào)文, 指針指向報(bào)頭擴(kuò)展長(zhǎng)度字段,并且拋棄此包 } else{ 計(jì)算出n,也就是路由報(bào)頭中的地址數(shù)量,方法是報(bào)頭擴(kuò)展長(zhǎng)度除以2 if 分段剩余比n大{ 給源地址發(fā)送一個(gè)ICMP″參數(shù)存在問題″,編碼0的報(bào)文, 指針指向分段剩余字段,并且拋棄此包 } else{ 分段剩余減一; 計(jì)算i,也就是地址向量(地址列表)中要″訪問″的下一個(gè)地址, 方法是n減分段剩余 if 地址[i] 或者IPv6目的地址是組播地址{ 拋棄此包 } else{ 交換IPv6目的地址和地址[i]if IPv6跳數(shù)限制小于等于1{ 給源地址發(fā)送一個(gè)ICMP″超時(shí)-傳輸超過跳數(shù)限制″ 的報(bào)文,并且拋棄此包 } else{ 跳數(shù)限制減一; 向IPv6模塊重新提交此包,傳給新的目的節(jié)點(diǎn) } } } }]]></pre>本測(cè)試?yán)?,測(cè)試的是上算法中斜體部分。
作為上述算法的一個(gè)例子,考慮這樣一種情況源節(jié)點(diǎn)S給目的節(jié)點(diǎn)D發(fā)送一個(gè)包,用路由報(bào)頭來使這個(gè)包經(jīng)過中間節(jié)點(diǎn)I1,I2和I3。在傳送路徑的每段中,IPv6報(bào)頭中的相關(guān)字段值以及路由報(bào)頭字段值應(yīng)為如下所述當(dāng)包從S傳到I1源地址=S 報(bào)頭擴(kuò)展長(zhǎng)度=6目的地址=I1分段剩余=3地址[1]=I2地址[2]=I3地址[3]=D當(dāng)包從I1傳到I2源地址=S 報(bào)頭擴(kuò)展長(zhǎng)度=6目的地址=I2分段剩余=2地址[1]=I1地址[2]=I3地址[3]=D當(dāng)包從I2傳到I3源地址=S 報(bào)頭擴(kuò)展長(zhǎng)度=6
目的地址=I3 分段剩余=1地址[1]=I1地址[2]=I2地址[3]=D當(dāng)包從I3傳到D源地址=S 報(bào)頭擴(kuò)展長(zhǎng)度=6目的地址=D分段剩余=0地址[1]=I1地址[2]=I2地址[3]=I3在此測(cè)試?yán)校覀冇锰摂M測(cè)試器TH-1/VT1、TH-2/VT2、TR-1/VT3、TR-2/VT4分別實(shí)現(xiàn)源節(jié)點(diǎn)S、目的節(jié)點(diǎn)D、中間節(jié)點(diǎn)I1和I3。RUT對(duì)應(yīng)中間節(jié)點(diǎn)I2,是被測(cè)路由器。
圖5是該測(cè)試?yán)臏y(cè)試序列圖。在這里不給出測(cè)試?yán)枋鑫募?,只通過圖5的測(cè)試序列圖說明底層匯聚測(cè)試法在此測(cè)試過程中的應(yīng)用。
A包是用于驗(yàn)證RUT對(duì)從TH-1向TH-2方向的數(shù)據(jù)包的路由報(bào)頭處理是否正確,B包是用于驗(yàn)證RUT對(duì)從TH-2向TH-1方向的數(shù)據(jù)包的路由報(bào)頭處理是否正確。從TH-1到TR-1的A包是在測(cè)試器內(nèi)部傳送的,TH-1的存在可以在由TR-1向RUT發(fā)送的A”包中體現(xiàn)。同樣從TR-2到TH-2的A包也是在測(cè)試器內(nèi)部傳送,TH-2的存在可以在由RUT向TR-2發(fā)送的A”包中體現(xiàn)。主要測(cè)試過程是TR-1向RUT發(fā)送的A’包;RUT發(fā)現(xiàn)A’包的路由報(bào)頭中的下一跳是TR-2,RUT就會(huì)向TR-2發(fā)送鄰居請(qǐng)求消息以發(fā)現(xiàn)TR-2的存在;TR-2回復(fù)鄰居宣告消息,RUT與TR-2之間的通訊建立;RTU轉(zhuǎn)發(fā)A包,但將路由報(bào)頭做了改動(dòng),把A”包發(fā)給TR-2,TR-2只要驗(yàn)證A”包的路由報(bào)頭內(nèi)容,即可判斷RTU對(duì)從TH-1向TH-2方向的數(shù)據(jù)包的路由報(bào)頭處理是否正確。由TR-1向RUT發(fā)送的A’包的內(nèi)容如下IPv6 HeaderVersion=6Traffic Class =0
FlowLabel=0PayloadLength=56NextHeader =43(Routing Header)HopLimit =64SourceAddress=TH-1DestinationAddress =RUT1Routing HeaderNextHeader =59(No Next Header)HeaderExtLength =6RoutingType =0SegmentsLeft =2Address[1] =TR-1Address[2] =TR-2Address[3] =TH-2由RUT向TR-2發(fā)送的A”包的內(nèi)容如下IPv6 HeaderVersion =6Traffic Class =0FlowLabel =0PayloadLength =56NextHeader=43(Routing Header)HopLimit =63SourceAddress =TH-1DestinationAddress=TR-2Routing HeaderNextHeader=59(No Next Header)HeaderExtLength =6RoutingType =0SegmentsLeft =1
Address[1] =TR-1Address[2] =RUT1Address[3] =TH-2由TR-2收到的A”包可以看出RUT對(duì)A’包的處理,RUT首先將A’的分段剩余(SegmentsLeft)減一,然后將DestinationAddress的地址與Address[2]的地址互換,再把跳數(shù)限制(HopLimit)減一,最后將A”包發(fā)給TR-2。
由圖6可以看出底層匯聚法是怎樣實(shí)現(xiàn)對(duì)RUT底層接口的匯聚。被測(cè)路由器RUT的兩個(gè)接口(這里是以太網(wǎng)口),經(jīng)過匯聚器與測(cè)試器TN相連。RUT的兩個(gè)接口的MAC地址是RUT-MAC1和RUT-MAC2,對(duì)應(yīng)的IPv6地址是RUT1和RUT2。A’包的源MAC地址是TN,目的MAC地址是RUT-MAC1,TR-2由匯聚器得到的A”包的源MAC地址是RUT-MAC2,目的MAC地址是TN。通過匯聚器和多臺(tái)虛擬測(cè)試器,實(shí)現(xiàn)了對(duì)RUT的穿越測(cè)試,而在物理上,只使用了一臺(tái)測(cè)試器TN。
對(duì)于驗(yàn)證RUT對(duì)從TH-2向TH-1方向的數(shù)據(jù)包的路由報(bào)頭處理是否正確,是上面測(cè)試過程的逆過程,只是在B’和B”中被測(cè)路由器的IPv6地址由RUT1變?yōu)镽UT2。
由圖5的測(cè)試序列圖和圖6的RUT底層接口匯聚示意圖可以看出,底層匯聚法在一臺(tái)測(cè)試器TN上實(shí)現(xiàn)了對(duì)被測(cè)中繼系統(tǒng)的穿越測(cè)試,可以充分測(cè)試被測(cè)中繼系統(tǒng)實(shí)現(xiàn)RUT的各種中繼功能,避免了穿越測(cè)試中各測(cè)試器之間復(fù)雜的測(cè)試協(xié)調(diào)過程
權(quán)利要求
1.一種通訊協(xié)議底層匯聚測(cè)試方法,包括步驟通過匯聚器將被測(cè)中繼系統(tǒng)底層接口匯聚起來;用一臺(tái)測(cè)試器模擬實(shí)現(xiàn)多個(gè)虛擬測(cè)試器;所有的虛擬測(cè)試器都通過同一條鏈路與被測(cè)系統(tǒng)連接;測(cè)試器通過匯聚器與被測(cè)實(shí)現(xiàn)的多個(gè)下接口進(jìn)行通訊;測(cè)試器通過多個(gè)底層接口對(duì)被測(cè)實(shí)現(xiàn)進(jìn)行激勵(lì)/響應(yīng)測(cè)試。
2.一種通信協(xié)議底層匯聚測(cè)試系統(tǒng),包括測(cè)試器、N-1層服務(wù)提供者和被測(cè)系統(tǒng),其特征在于匯聚器接在被測(cè)系統(tǒng)和N-1層服務(wù)提供者之間。
3.按權(quán)利要求2所述的系統(tǒng),其特征在于所述測(cè)試器實(shí)現(xiàn)多個(gè)虛擬測(cè)試器。
4.按權(quán)利要求2所述的系統(tǒng),其特征在于所述所述匯聚器是集線器。
全文摘要
一種通訊協(xié)議底層匯聚測(cè)試方法,包括步驟通過匯聚器將被測(cè)中繼系統(tǒng)底層接口匯聚起來;用一臺(tái)測(cè)試器模擬實(shí)現(xiàn)多個(gè)虛擬測(cè)試器;所有的虛擬測(cè)試器都通過同一條鏈路與被測(cè)系統(tǒng)連接;測(cè)試器通過匯聚器與被測(cè)實(shí)現(xiàn)的多個(gè)下接口進(jìn)行通訊;測(cè)試器通過多個(gè)底層接口對(duì)被測(cè)實(shí)現(xiàn)進(jìn)行激勵(lì)/響應(yīng)測(cè)試。本發(fā)明在一臺(tái)測(cè)試器上實(shí)現(xiàn)了對(duì)被測(cè)中繼系統(tǒng)的穿越測(cè)試,可以充分測(cè)試被測(cè)中繼系統(tǒng)的真實(shí)行為。不需要對(duì)被測(cè)中繼系統(tǒng)有任何特殊要求。僅用一臺(tái)測(cè)試器即可實(shí)現(xiàn)對(duì)被測(cè)中繼系統(tǒng)的一致性測(cè)試,避免了穿越測(cè)試法中各測(cè)試器之間復(fù)雜的測(cè)試協(xié)調(diào)過程。不用考慮各測(cè)試器之間的同步問題,消除了測(cè)試器非同步造成的誤差,使測(cè)試更可靠,更精確。
文檔編號(hào)H04L29/06GK1411174SQ0113609
公開日2003年4月16日 申請(qǐng)日期2001年10月8日 優(yōu)先權(quán)日2001年10月8日
發(fā)明者田軍 申請(qǐng)人:中國(guó)科學(xué)院計(jì)算技術(shù)研究所