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