新聞中心

EEPW首頁 > 手機與無線通信 > 設計應用 > TD-SCDMA網絡測試儀中SCCP協議解碼(下)

TD-SCDMA網絡測試儀中SCCP協議解碼(下)

——
作者:魏輝 張治中 時間:2007-05-15 來源:重慶郵電學院學報 收藏

(接上)

3、實際測試中的SCCP消息組裝問題

中的SCCP消息長度一般在100個字節(jié)內,SCCP消息需要封裝上層RANAP或者RNSAP的數據,而上層數據通常不會很長,一條SCCP消息完全可以容納,但在少數情況下,上層數據需要分段由幾條SCCP消息中傳輸,而多條SCCP消息再分散在底層的ATM信元中傳送。這個現象從邏輯上是容易理解的,但從數據分析的角度,尤其是從數據接收端的角度來看,處理就要復雜很多,因為盡管數據分段的情況相對較少,但是信令分析注重消息解析的準確性和信令流程的連貫性,為了達到這2個要求,就要保證接收端能夠準確完成數據的組裝,在此基礎上,對SCCP層的分析以及更高層如RANAP協議的分析才能夠保證。

的消息中,絕大部分都包含data或longdata參數,這2個參數表示SCCP的用戶數據(service data unit,SDU),也叫做SCCP上層協議的協議數據單元(protocol olata unit,PDU)。SCCP的大多數消息都包含數據參數,從而加大了獲取PDU的難度,另外,消息類型的不同導致獲取的方法也不同,包含Data參數的消息分類如表3所示。


表3 包含Data參數的消息分類表

包含Data參數的消息分類表

當調用模塊的獲取上層PDU函數時,首先判斷消息類型,如果不在

以上消息類型中,則不存在用戶數據,那么僅僅完成即可;如果是以上消息類型中的一種,那么就需要調用相應的函數進行獲取SDU的操作。由于包含用戶數據的消息比較多,為了處理方便和邏輯清晰,在模塊實現時為表3中的消息定義了各自的函數。

表3中有兩列內容分別是輔助參數和它們的存在性。輔助參數是指在相應消息中對于獲取SDU有幫助的參數,而存在性就表示該輔助參數在相應消息中的存在可能,F和V表示一定存在,0表示可能存在。輔助參數的作用主要是用來告知消息中包含的Data是完整的還是需要分段傳送的,如果完整,那么取得數據后函數就把PDU數據返回;否則要對來自多條SCCP消息的多個Data進行組裝。在表3中用A,B,C,D對消息處理進行了分類,每個類型代表一種處理的復雜程度如表4所示。


表4 獲取SDU分析表a

獲取SDU分析表a

根據獲取Data數據的復雜程度,把相應函數分為4類。每類函數根據處理的復雜程度,都需要輔助函數的支持,例如,類型2中對DT1和DT2的處理,這2條消息中都有參數包含more data indicator字段,其作用是指示本條數據消息后面是否有屬于同一個SDU的數據,因此該參數是DT1和DT2消息獲取數據的重要操作依據。對于其他類型的函數,輔助參數起著同樣的作用,另外個別輔助參數本身是可選的,如類型4函數中的輔助參數segments,因此在類型4函數處理時需要判斷的條件就很多,首先需要知道segments參數是否存在,存在的話才有組裝的可能,不存在的話說明數據不需要組裝。4類函數對參數的需要性如表5所示。

表5 獲取SDU分析表b

獲取SDU分析表b

在實際的SCCP消息中,大多都是用DT1消息來承載上層數據,獲取DT1消息的函數屬于表5中的第2類,下面就以該消息為例來說明獲取上層PDU的方法,DT1的格式[5]如表6所示。

表6 DT1消息結構

DT1消息結構

第1個參數(Message type)表示消息類型,根據消息類型表格可知,DT1消息類型為OX0000 0110即6;第2個參數(Destination local reference)是目的地本地參考,表示目的地地址信息;第3個參數(Segmenting/reassembling)叫做分割/組裝,長度是1個字節(jié),格式如圖5所示。

Segmenting/reassembling參數結構

圖5 Segmenting/reassembling參數結構

該參數長度為一個字節(jié),最低位是信息字段M,為0表示消息后面沒有分段的數據;為1則表示有。圖6表示在模擬真實的環(huán)境,以DT1數據的傳輸為例,說明所有可能的情況。

DT1數據在網絡中傳送的可能情況示意圖

圖6 DT1數據在中傳送的可能情況示意圖

DT1消息在網絡中的傳送共4種可能,每種類型中右邊的表示本條DT1消息,圖6左邊的表示上條DT1消息,兩消息中都有M指示,下面分別說明。

類型1:本條DT1數據和前面的DT1是連續(xù)的,另外本條DT1數據后面還有連續(xù)的數據,在此情況下,應該把本條DT1數據串接在前面的D

T1后面,并且繼續(xù)等待后面的包含同類內容的數據。

類型2:本條DT1數據和前面的DT1是連續(xù)的,另外本條DT1數據后面沒有連續(xù)的數據,在此情況下,應該把本條DT1數據串接在前面的DT1后面,構成一個完整的上層數據PDU交給上層處理。

類型3:本條DT1數據和前面的DT1不是連續(xù)的,另外本條DT1數據后面有連續(xù)的數據,在此情況下,應該把本條DT1數據保存起來等待后面同類數據進行組裝。

類型4:本條DT1數據和前面的DT1不是連續(xù)的,另外本條DT1數據后面沒有連續(xù)的數據,在此情況下,應該用本條DT1數據作為上層PDU。

下面用流程圖的形式來說明獲取DT1消息上層數據的程序處理過程,如圖7所示。

獲取DT1消息上層PDU函數流程圖

圖7 獲取DT1消息上層PDU函數流程圖

在真實的網絡環(huán)境中,在使用CR消息建立完SCCP連接后,SCCP協議出現最多的就是DT1,SCCP層的主要作用是封裝層的信令數據,而上層數據才是對分析網絡以及應用最有價值的信息?;谶@樣的現實,分析DT1消息有重要意義,盡管在SCCP協議中還有其他消息也包含數據信息,但在實際信令中出現的情況并不多。

5、結束語

通過對SCCP協議和獲取上層數據的分析,一方面為模塊實現提供了設計方案,另一方面可以把SCCP協議的分析方法推廣到標準協議棧中其他傳輸層的協議分析中。在網絡分析儀的軟件模塊中,采用面向對象編程方法[7]對SCCP部分進行了實現,該模塊在儀表測試的過程中表現穩(wěn)定,通過實踐論證了設計方案的正確性。

參考文獻:

[1] KAMMERLANDER K.Benefits and implementation of [EB/OL].(2000-04-12)[2006-11-28].http://IEEExplore.ieee.org/ie15/7138/1922l/00890848.pdf?isnurnber=&arnumber=890848.

[2] 3GPP TS25.401V3.10.0.UTRAN overall description [EB/OL].(2002-06-06)[2006-11-23].http://www.3gpp.org/ftp/Specs/archlye/25_series/25.401.

[3] 李小文.李貴勇.TD-SCDMA第三代移動通信系統(tǒng)、信令及實現[M].北京.人民郵電出版社,2003.

[4] 羅進文.信令網技術教程[M].北京.人民郵電出版社,2003.9.

[5] ITU-T Q.713.Signalling connection control part for mats and Codes[EB/OL].(2002-01-01)[2006-11-23].http://electronics.ihs.com/document/abstract/NROVWAAAAAAAAAA.

[6] MIRSA R,BAIER P W.A test system for evaluation of the WCDMA technology[J].IEEE Trans.Commum,2004,(8):16-20.

[7] 錢能.c++程序設計教程[M].北京:清華大學出版社.2001.6.



評論


相關推薦

技術專區(qū)

關閉