在WCDMA系統(tǒng)中,為了使得來(lái)自不同廠家的設(shè)備能夠成功地進(jìn)行通信,必須有標(biāo)準(zhǔn)化的協(xié)議,但是實(shí)現(xiàn)者對(duì)于協(xié)議的理解不同,導(dǎo)致了不同廠家的設(shè)備的協(xié)議實(shí)現(xiàn)是不一致的。所以解決設(shè)備協(xié)議非一致性問(wèn)題將成為整個(gè)系統(tǒng)演進(jìn)過(guò)程中一個(gè)不可忽略的因素。為了解決這個(gè)問(wèn)題,協(xié)議一致性測(cè)試應(yīng)運(yùn)而生。下面首先簡(jiǎn)單介紹協(xié)議一致性測(cè)試原理,WCDMA系統(tǒng)核心網(wǎng)絡(luò)協(xié)議,然后對(duì)我們?cè)赪CDMA系統(tǒng)核心網(wǎng)絡(luò)協(xié)議測(cè)試中采用的測(cè)試方法和測(cè)試系統(tǒng)結(jié)構(gòu)、得到的測(cè)試結(jié)果進(jìn)行分析。
一、協(xié)議一致性測(cè)試原理
測(cè)試是為了發(fā)現(xiàn)錯(cuò)誤而執(zhí)行程序的過(guò)程。測(cè)試方法可以分為黑盒測(cè)試和白盒測(cè)試;诋a(chǎn)品的功能來(lái)規(guī)劃測(cè)試,檢查程序各功能是否實(shí)現(xiàn),并檢查其中的錯(cuò)誤,這種測(cè)試稱(chēng)為黑盒測(cè)試或者功能測(cè)試;诋a(chǎn)品的內(nèi)部結(jié)構(gòu)來(lái)規(guī)劃測(cè)試,檢查內(nèi)部操作是否按規(guī)定執(zhí)行,各部分是否被充分利用,這種測(cè)試稱(chēng)為白盒測(cè)試。
協(xié)議是各設(shè)備之間進(jìn)行通信時(shí)應(yīng)遵守的規(guī)則,而這些規(guī)則基本上是以自然語(yǔ)言來(lái)描述,由于實(shí)現(xiàn)者對(duì)于協(xié)議的理解可能不同,這就容易導(dǎo)致不同的協(xié)議實(shí)現(xiàn),有時(shí)甚至?xí)清e(cuò)誤協(xié)議的實(shí)現(xiàn)。因此,我們需要一種有效方法對(duì)協(xié)議實(shí)現(xiàn)進(jìn)行判別,這種方法便是“協(xié)議測(cè)試”(ProtocolTesting)。協(xié)議測(cè)試是從軟件測(cè)試的基礎(chǔ)上發(fā)展來(lái)的,是一種功能測(cè)試,即黑盒測(cè)試。協(xié)議測(cè)試有三種類(lèi)型的測(cè)試:一致性測(cè)試、互操作性測(cè)試和性能測(cè)試。一致性測(cè)試是基礎(chǔ),是通過(guò)觀察具體實(shí)現(xiàn)在不同的環(huán)境和條件下的反應(yīng)行為來(lái)驗(yàn)證協(xié)議實(shí)現(xiàn)與相應(yīng)的協(xié)議標(biāo)準(zhǔn)是否一致,一致性測(cè)試只關(guān)心協(xié)議實(shí)現(xiàn)呈現(xiàn)于外部的性能。要保證不同的協(xié)議實(shí)現(xiàn)在實(shí)際網(wǎng)絡(luò)中能成功的通訊,還需要檢測(cè)某一協(xié)議實(shí)現(xiàn)與其它系統(tǒng)之間的交互過(guò)程是否正常,這是互操作性測(cè)試。另外還要對(duì)協(xié)議的性能進(jìn)行測(cè)試,如健壯性、吞吐量等。在本文中,我們只介紹協(xié)議的一致性測(cè)試。
協(xié)議一致性測(cè)試實(shí)質(zhì)上是利用一組測(cè)試序列,在一定的網(wǎng)絡(luò)環(huán)境下,對(duì)被測(cè)協(xié)議實(shí)現(xiàn)(IUT)進(jìn)行黑盒測(cè)試,通過(guò)比較IUT的實(shí)際輸出與預(yù)期輸出的異同,判定IUT在多大程度上與協(xié)議描述相一致,確立通過(guò)一致性測(cè)試的IUT在互聯(lián)時(shí)成功率的高低。協(xié)議的一致性測(cè)試過(guò)程包括以下幾個(gè)階段:根據(jù)協(xié)議的標(biāo)準(zhǔn)文本勾畫(huà)出對(duì)協(xié)議進(jìn)行測(cè)試的測(cè)試集;在一個(gè)確定的測(cè)試環(huán)境下的某一種具體實(shí)現(xiàn)上執(zhí)行測(cè)試集;對(duì)測(cè)試的結(jié)果進(jìn)行分析。
二、WCDMA系統(tǒng)中核心網(wǎng)絡(luò)協(xié)議介紹
為了第二代移動(dòng)通信技術(shù)向第三代的平滑過(guò)渡和演進(jìn),目前WCDMA系統(tǒng)核心網(wǎng)包括三個(gè)域:CS(電路交換)域、PS(分組交換)域和BC(廣播)域,分別處理電路交換業(yè)務(wù)、分組交換業(yè)務(wù)和廣播組播業(yè)務(wù)。
在PS域中SGSN是移動(dòng)核心網(wǎng)的控制中心。它具有網(wǎng)絡(luò)接入控制、路由選擇和轉(zhuǎn)發(fā)、移動(dòng)性管理、會(huì)話(huà)管理、計(jì)費(fèi)信息的收集等功能。在分組域附著時(shí),SGSN建立移動(dòng)管理(MM)上下文,包含與MS的移動(dòng)性和安全性有關(guān)的信息。在PDP(分組數(shù)據(jù)協(xié)議)上下文激活時(shí),SGSN與用戶(hù)使用的GGSN建立一條PDP上下文,用于路由目的地址的選擇。
核心網(wǎng)SGSN設(shè)備的研究開(kāi)發(fā)項(xiàng)目定位在提供基于R4架構(gòu)的R99功能的WCDMA核心網(wǎng)中SGSN功能節(jié)點(diǎn)的解決方案之上,依據(jù)這種項(xiàng)目定位,SGSN功能節(jié)點(diǎn)可以分解為四種功能實(shí)體,它們分別是SGSN-Server(即SGSN-ServerApplication),SignalingServer(SS)、分組交換媒體網(wǎng)關(guān)(PS-MGW)和信令網(wǎng)關(guān)(SGW)。MGW可以作為終結(jié)點(diǎn)處理來(lái)自電路交換網(wǎng)的承載信道或分組網(wǎng)的數(shù)據(jù)流。SGW完成基于SS7網(wǎng)絡(luò)的信令傳輸和基于IP網(wǎng)絡(luò)的信令傳輸之間的傳輸層信令轉(zhuǎn)換。SGSN項(xiàng)目開(kāi)發(fā)過(guò)程中定義了需要測(cè)試的兩個(gè)子系統(tǒng),分別是SS子系統(tǒng)、SGSN Server子系統(tǒng)。SS子系統(tǒng)測(cè)試就是驗(yàn)證Trillium協(xié)議棧是否與協(xié)議一致。在SS子系統(tǒng)測(cè)試中,SGSN-Server采用的是我們開(kāi)發(fā)的測(cè)試工具,在后面我們將詳細(xì)介紹這個(gè)測(cè)試工具。SS采用Trillium公司的協(xié)議棧,其中SS 的協(xié)議棧結(jié)構(gòu)如圖1所示。測(cè)試工具和SS分別是兩個(gè)獨(dú)立的進(jìn)程,運(yùn)行在不同的服務(wù)器上。
圖1SignalingServer 的協(xié)議棧結(jié)構(gòu)圖
TUCL(TCP/UDP Convergence Layer)是TCP/UDP匯聚層,它屏蔽了不同TCP/IP協(xié)議Socket接口(如Winsock和Berkely Socket)的差異,提供了一個(gè)統(tǒng)一的API接口,從而使Signaling Server 協(xié)議棧運(yùn)行于各種操作系統(tǒng)的TCP/IP協(xié)議上。
WCDMA/UMTS網(wǎng)絡(luò)為了兼容過(guò)去GSM/GPRS所投資的電信設(shè)備,沿用了NO.7信令作為3G網(wǎng)絡(luò)用來(lái)傳輸控制信號(hào)的通信協(xié)議。在SignalingServer協(xié)議棧中,M2UA、MTP3、SCCP、TCAP都是NO.7信令協(xié)議中支持高層信令消息和應(yīng)用部分信息傳送的部分。
MAP﹝MobileApplicationPart﹞是NO.7信令系統(tǒng)的應(yīng)用層協(xié)議。MAP的主要功能是在MSC和HLR、VLR、EIR等網(wǎng)絡(luò)數(shù)據(jù)庫(kù)之間交換與電路無(wú)關(guān)的數(shù)據(jù)和指令,從而支持移動(dòng)用戶(hù)漫游、頻道切換和用戶(hù)鑒權(quán)等網(wǎng)絡(luò)功能。
GMM/SM(GPRSMobilityManagementand Session Management)是GPRS移動(dòng)管理和會(huì)話(huà)管理,GMM支持附著、分離、安全管理及路由區(qū)更新、位置更新等移動(dòng)管理功能,用于漫游、鑒權(quán)和加密算法的選擇。SM支持PDP上下文的激活和禁用。
RANAP﹝RadioAccessNetworkApplication Protocol﹞是無(wú)線(xiàn)接入網(wǎng)絡(luò)應(yīng)用協(xié)議,它應(yīng)用在UTRAN與核心網(wǎng)絡(luò)之間的Iu接口上﹝包含電路域和分組域﹞,是傳送控制信號(hào)時(shí)所采用的通信協(xié)議。RANAP主要實(shí)現(xiàn)以下的功能:(1)封裝高層信令消息;(2)管理RNC和3G SGSN間的信令和GTP連接;(3)管理RNC和 3G MSC間的信令和電路交換連接。
三、測(cè)試方法和測(cè)試系統(tǒng)結(jié)構(gòu)
WCDMA移動(dòng)核心網(wǎng)絡(luò)協(xié)議一致性測(cè)試采用遠(yuǎn)端測(cè)試法,其測(cè)試系統(tǒng)設(shè)計(jì)如圖2所示,圖中UT和LT分別為上測(cè)試儀和下測(cè)試儀,SUT為被測(cè)系統(tǒng),IUT為被測(cè)協(xié)議實(shí)現(xiàn)體,ASP為抽象服務(wù)原語(yǔ),PDU為協(xié)議數(shù)據(jù)單元,即活動(dòng)于不同層之間和同層之間的信息單元。遠(yuǎn)端測(cè)試法是將整個(gè)測(cè)試體放于被測(cè)系統(tǒng)之外的遠(yuǎn)端,利用抽象服務(wù)原語(yǔ)(ASP)和協(xié)議數(shù)據(jù)單元(PDU),在控制和觀察點(diǎn)(PCO)對(duì)來(lái)自被測(cè)實(shí)現(xiàn)的輸出和輸入進(jìn)行控制和觀察。
圖2遠(yuǎn)端測(cè)試方法
在測(cè)試過(guò)程中,測(cè)試系統(tǒng)采用的是泰克公司的協(xié)議測(cè)試儀表K1297。K1297是便攜式多協(xié)議/多接口測(cè)試儀,特別適用于網(wǎng)絡(luò)網(wǎng)關(guān)測(cè)試,支持多種測(cè)試模式,如監(jiān)測(cè)、模擬/仿真和一致性測(cè)試(接收,性能檢驗(yàn)和兼容性)。被測(cè)系統(tǒng)SS通過(guò)信令網(wǎng)關(guān)與測(cè)試系統(tǒng)相連,被測(cè)協(xié)議實(shí)現(xiàn)體就是我們前面提到的SS中集成的Trillium協(xié)議棧。我們主要對(duì)GMM/SM,MAP和RANAP三個(gè)協(xié)議進(jìn)行測(cè)試,目的是檢驗(yàn)Trillium公司的協(xié)議實(shí)現(xiàn)是否與協(xié)議標(biāo)準(zhǔn)一致。測(cè)試組網(wǎng)圖如圖3所示。在測(cè)試時(shí),我們可以用K1297來(lái)模擬HLR,RNC或者GGSN,被測(cè)系統(tǒng)位于核心網(wǎng)中SGSN側(cè)。
在SS協(xié)議棧一致性測(cè)試階段,SGSNServerApplication采用我們自行開(kāi)發(fā)的測(cè)試工具,這個(gè)測(cè)試工具就相當(dāng)于SGSN上層應(yīng)用仿真。這個(gè)測(cè)試工具由ProcessControl和Message Handler兩大部分組成,Process Control部分是用Per語(yǔ)言編寫(xiě)的腳本程序,測(cè)試人員通過(guò)編寫(xiě)、修改部分內(nèi)容可以控制測(cè)試流程;Message Handler部分與所測(cè)試的協(xié)議棧關(guān)系密切,處理協(xié)議消息。Process Control部分通過(guò)有名管道與Message Handler部分相互交換信息。
在測(cè)試過(guò)程中,我們一共設(shè)計(jì)了三個(gè)測(cè)試集,分別是GMM/SM功能測(cè)試集,MAP功能測(cè)試集和RANAP功能測(cè)試集。每個(gè)測(cè)試集又包括若干個(gè)測(cè)試組,測(cè)試組覆蓋了每個(gè)協(xié)議的所有功能過(guò)程。其中,每個(gè)測(cè)試組中又包含若干個(gè)測(cè)試用例,測(cè)試用例覆蓋了每個(gè)過(guò)程的各種情況,也就是說(shuō)測(cè)試用例不僅包含了每個(gè)過(guò)程成功情況下的用例,還包括了每個(gè)過(guò)程各種錯(cuò)誤情況下的用例以及各種異常情況下的用例。
圖3協(xié)議棧測(cè)試組網(wǎng)圖
四、測(cè)試結(jié)果及分析
在協(xié)議棧一致性測(cè)試過(guò)程中,必須保證測(cè)試用例設(shè)計(jì)的完備性和準(zhǔn)確性以及腳本程序編寫(xiě)無(wú)誤,也就是說(shuō),測(cè)試用例不僅要覆蓋協(xié)議棧功能的各個(gè)方面,而且還要符合協(xié)議的規(guī)定,程序的設(shè)計(jì)也要符合協(xié)議規(guī)范的要求。
前文中提到我們一共設(shè)計(jì)了三個(gè)測(cè)試集,這三個(gè)測(cè)試集包含了GMM/SM、MAP和RANAP三個(gè)協(xié)議的一致性測(cè)試,其中在進(jìn)行GMM/SM,MAP協(xié)議測(cè)試時(shí),沒(méi)有發(fā)現(xiàn)協(xié)議不一致性的問(wèn)題。但是在測(cè)試RANAP協(xié)議時(shí),我們發(fā)現(xiàn)了被測(cè)的協(xié)議棧與標(biāo)準(zhǔn)協(xié)議不一致的地方。
在測(cè)試RAB建立過(guò)程時(shí),根據(jù)用例,我們的預(yù)期結(jié)果是K1297端收到SGSN側(cè)發(fā)送的RABAssignmentRequest 消息,并向SGSN側(cè)回送一個(gè)RAB Assignment Response 消息,完成RAB的建立過(guò)程。實(shí)際的測(cè)試結(jié)果是當(dāng)SGSN側(cè)向K1297端發(fā)送RAB Assignment Request 消息時(shí),K1297在接收這個(gè)消息時(shí)報(bào)“解析消息錯(cuò)誤:缺少了必選的字段值”。這種錯(cuò)誤的發(fā)生是由于雙方(協(xié)議棧和測(cè)試儀表)對(duì)消息的編碼格式不一致造成的。在確定了K1297測(cè)試儀表的消息編碼格式與協(xié)議標(biāo)準(zhǔn)相一致后,我們將錯(cuò)誤準(zhǔn)確定位在所測(cè)的SS協(xié)議棧。而SS協(xié)議棧由許多層協(xié)議組成,所以我們?nèi)孕柽M(jìn)一步確定錯(cuò)誤發(fā)生在哪層協(xié)議。從協(xié)議棧運(yùn)行結(jié)果的屏幕提示信息中,我們發(fā)現(xiàn)錯(cuò)誤發(fā)生在RANAP協(xié)議。
RANAP用于RNC與核心網(wǎng)絡(luò)的連接,是Iu接口協(xié)議。RANAP協(xié)議消息傳輸語(yǔ)法采用ASN.1語(yǔ)法格式。在RANAP層所有的消息都要以ASN.1語(yǔ)法格式進(jìn)行編碼,然后將編碼后的消息從RANAP層傳送到其它層。ASN.1(AbstractSyntaxNotationOne)是一種用于描述結(jié)構(gòu)化客體結(jié)構(gòu)和內(nèi)容的語(yǔ)言,ASN.1類(lèi)似于高級(jí)程序設(shè)計(jì)語(yǔ)言的數(shù)據(jù)描述部分,它提供若干語(yǔ)言構(gòu)件用以定義類(lèi)型和值,類(lèi)型對(duì)應(yīng)結(jié)構(gòu),值對(duì)應(yīng)內(nèi)容。
經(jīng)過(guò)詳細(xì)地分析Trillium協(xié)議棧的具體實(shí)現(xiàn),我們發(fā)現(xiàn)協(xié)議棧中消息的編碼格式與RANAP協(xié)議(3GPP25.413)中規(guī)定的ASN.1編碼格式有些不同。RANAP協(xié)議中規(guī)定,以ASN.1語(yǔ)法格式定義的"RABassignmentRequest"的消息中包含RABs To Be Setup Or Modified List信息字段,而RABs To Be Setup Or Modified List中又嵌套了兩層sequence of結(jié)構(gòu),而在Trillium公司協(xié)議棧(在RANAP層)消息結(jié)構(gòu)定義中,RABs To Be Setup Or Modified List只嵌套了一層sequence of結(jié)構(gòu)。所以出錯(cuò)的原因是Trillium協(xié)議棧中缺少一層ASN.1語(yǔ)法格式的結(jié)構(gòu),導(dǎo)致K1297不能正確的解析收到的消息。
五、結(jié)論與展望
近年來(lái),測(cè)試技術(shù)是國(guó)際上非常關(guān)注的、也是發(fā)展較快的一個(gè)研究領(lǐng)域。隨著WCDMA技術(shù)的成熟,各種WCDMA系統(tǒng)設(shè)備蜂擁而來(lái),為確保多個(gè)廠家設(shè)備的互聯(lián)成功,以及業(yè)務(wù)的正常提供,對(duì)設(shè)備進(jìn)行協(xié)議一致性測(cè)試是十分必要的。WCDMA移動(dòng)核心網(wǎng)絡(luò)協(xié)議一致性測(cè)試集的編寫(xiě)和測(cè)試軟件的開(kāi)發(fā)將為研究開(kāi)發(fā)移動(dòng)通信產(chǎn)品及運(yùn)營(yíng)網(wǎng)絡(luò)的操作維護(hù)提供理想測(cè)試。隨著對(duì)WCDMA測(cè)試規(guī)范以及測(cè)試?yán)碚摵头椒夹g(shù)的深入研究,將更進(jìn)一步地保證經(jīng)過(guò)測(cè)試以后的移動(dòng)網(wǎng)絡(luò)設(shè)備能夠達(dá)到最大的一致性。
----《通信世界》