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