a一级爱做片免费观看欧美,久久国产一区二区,日本一二三区免费,久草视频手机在线观看

新聞中心

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

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

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

引言

隨著第三代移動通信系統相關技術在中國飛速發展,基于該標準的及終端設備已經研制成功,并已能滿足商用要求?,F階段,測試設備是最薄弱的環節,一方面,這直接影響到產業鏈的完整性;另一方面,也影響到電信運營商對設備的部署與檢測,基于這樣的現實,具有自主知識產權的TD-SCDMA測試儀的研制具有重要意義。

TD-SCDMA網絡測試儀中的信令分析,針對的是接入網(UTRAN)和核心網(CN)的協議棧[1],其中包含一系列的傳輸層和層協議。儀表協議分析的基礎是要能夠實現對所接收到的網絡數據進行譯碼解析,在此功能準確無誤的基礎上,儀表才可以進行更高級的統計追蹤功能。在進行協議分析時,鑒于協議之間消息格式和處理機制的不同,以及軟件模塊化的實現要求,采取以單個協議進行模塊封裝的辦法是更有效的,其好處在于能夠忽略協議間功能和格式的細微差別,對單個協議的分析方法也能在很大程度上推廣到其他協議。以UT-RAN內部的協議棧為例,從下至上分為信令適配層、傳輸層和網絡層[2],其中信令適配層和傳輸層的協議在標準中都有

明確的消息結構,而無線網絡層的協議是采用ASN1(abstract syntax notation)語法進行描述[3],導致消息封裝的方法有所不同,進而帶來方式上的差異。

我們在本文中研究的主要內容是TD-SCDMA的CN以及UTRAN協議棧中信令連接控制部分協議(signalling connection control part,SCCP)消息的分析,一方面描述如何根據協議標準中規定的協議消息結構進行;另一方面結合實際情況探討上層PDU的獲取方法。

1、消息概述

是7號信令用戶部分的一種補充功能級,SCCP協議位于消息傳輸部分協議(message transfer part,MTP)之上,為MTP提供附加功能。

在TD-SCDMA的CN以及UTRAN的協議棧中,都包含有SCCP協議,該協議位于協議棧的無線網絡控制平面中[3],如圖1所示。

Iu接口無線網絡控制平面的協議棧

圖1 Iu接口無線網絡控制平面的協議棧

SCCP協議處于無線協議無線接入網絡應用部分(radio access network application part,RANAP)以下,ATM適配層協議以上,位于傳輸層,對于網絡的數據傳輸起著相當重要的作用。

ITU-T在不改變原有MTP功能的基礎上,增加了SCCP,目的就是在信令網中建立邏輯信令連接,以傳送與電路無關的消息。因為隨著通信網和通信新業務的不斷發展,越來越多的業務需要和遠端網絡節點直接傳送控制消息,這些消息和呼叫連接的電路無關,甚至根本與呼叫無關,如現在通信網中開放的智能網業務、移動電話的漫游業務、數據庫以及網絡的運行、管理和維護等,而這些業務僅僅用MTP已無法滿足要求。[3]

SCCP能提供4類業務,2類無連接業務,2類面向連接業務。無連接業務類似于分組交換網中的數據報業務;面向連接業務類似于分組交換網中的虛電路業務。

無連接業務不需要預先建立連接就可以在信令網中傳送信令消息。無連接業務又分為基本無連接業務和有序的無連接業務,也稱為0類業務和1類業務。0類業務不保證消息的順序傳輸,各個消息被獨立地進行傳送,相互不發生關系,因而在這種情況下,不能保證按照發送的順序把消息送到目的地信令點;1類業務給來自同一消息流的數據信息附上了同一信令鏈路選擇SLS,即經由同一信令鏈路傳送,因此可以保證按照發送的順序把消息送到目的地信令點。

面向連接業務在傳送消息之前,需要在源點和目的點之間建立一條消息傳送路徑,即邏輯連接。這種方式適合傳送大批量的數據。面向連接業務又分為基本面向連接業務和帶流量控制的面向連接業務,即2類業務和3類業務。它們共同的特點是保證消息發送和接收的順序一致。此外,3類業務具有流量控制功能、消息丟失及錯序的檢測功能等。在2類業務中,由于各個數據信息沒有順序號,因此不能完成順序控制和流量控制。

SCCP是在不改變原有MTP功能的基礎上增加的,它對MTP的改進主要有以下功能:①能夠傳送各種與電路無關的信令消息;既支持無連接業務,又支持面向連接業務;②具有增強的尋址功能,擴大了業務范圍;③具有地址翻譯功能,可以在全球互連的不同7號信令網之間實現信令的直接傳輸;④具有管理功能,可以管理SCCP子系統狀態。

根據ITU-T Q.713,SCCP主要的消息類型[4]如表1所示。


表1 SCCP消息類型

 SCCP消息類型

一條完整SCCP消息包含以下4部分,消息類型、必選固定部分、必選可變長部分以及可選部分,結構如圖2所示。

SCCP消息整體結構

圖2 SCCP消息整體結構

Message type字段的長度為1個字節,位于SCCP消息的開始,任何對SCCP消息的分析都要以判斷消息類型作為第一步。

SCCP協議是7號信令中的重要協議,處于無線接入網的Iu接口以及核心網接口中。網絡接口的協議之間是以協議棧的方式進行組合的,而信令數據也是按照協議棧的分層關系進行封裝的,由于SCCP層處于協議棧的中間,它上層協議的數據將作為SCCP的凈荷數據封裝在SCCP消息中,而SCCP消息整體又作為其下層協議消息的凈荷封裝進整條二進制數據。在實際的過程中,正是要按照協議棧由底向上的順序對數據進行分析。以Iu接口為例,無線網絡層RANAP協議處于SCCP層以上,因此,RANAP消息被裝入SCCP的DATA數據中,SCCP消息則作為MTP3B協議消息的凈菏繼續被下層協議封裝?;谶@種不同協議間數據的封裝關系,以解碼為基礎的信令分析還有另外一個需求,即定位和提取上層協議的數據。協議分析進行模塊劃分決定了解碼是每個協議自身完成的任務,而數據總是由下層提供,也就是說每個協議層應該有2個基本的功能,一個是解碼,另一個就是定位和提取上層數據。

2、SCCP協議消息的解碼分析

SCCP協議消息的詳細結構如圖3所示。

SCCP消息詳細結構

圖3 SCCP消息詳細結構

圖3中,給出了SCCP協議消息的詳細消息結構,從圖3中可以看出每條消息是由4部分構成:消息類型+必選固定部分+必選可變部分+可選部分。下面對這4部分規則分別進行解釋。

●Message type code:消息類型字段只有一個字節,該字段是所有SCCP消息必須包含,SCCP協議的消息類型已經在前面的表格中有了說明。

●Mandatory fixed part:必選固定部分參數是指那些在消息中必須存在的并且位置、參數長度以及出現順序都由消息類型確定好的參數。因為這些參數的出現位置和長度都是固定的,因此在消息中并不需要額外的字段用來表示它們的類型和長度,只需在相應的位置提供參數內容即可。

●Mandatory variable part:必選可變部分參數是指那些在消息中必須存在的但是參數長度可變的參數,每個必選可變部分參數都有一個指針指向該參數內容開始的位置,在不同的消息中,必選可變部分參數指針的順序在消息中是固定排列好的,因此對于必選可變部分參數,也不需要提供參數類別,雖然必選可變部分參數的指針順序是固定的,但是其內容順序有可能與指針順序不同,另外,因為這種參數的長度可變,所以每個參數內容中都包含1個或2個字節用來表示參數長度。

●Optional part:可選部分參數是指那些在消息中定義了的可能出現也可能不出現的參數,整個可選部分的起始位置由必備可變部分參數的最后一個指針來指明,該指針指示的是可選部分第一個參數開始位置的指針。如果消息類型指示沒有可選部分參數存在,那么這個指針將不存在,如果消息類型指示有可選部分存在,但對于一條具體消息時并不包含這些可選參數,那么該指針所在字段應該全為0??蛇x部分可以包含固定長度參數或者可變長度參數。另外,可選部分參數在消息中的發送順序是不受限制的,比如一條SCCP消息3個可選部分參數,這3個參數出現的順序和協

議標準中描述的順序可以不同,協議標準中只是說明這3個是可選的參數,并沒有規定其出現的順序。鑒于以上描述的可選部分參數的特點,任何一個可選部分參數都必須包括參數名,參數內容,如果參數長度可變,還必須包括參數長度。

●End of optional parameters octet:在可選部分參數的最后,有一個長度為1字節,內容為全0的end of parameters參數,這個參數用來表示可選部分參數的結束,該參數只有當可選部分參數在消息中存在的時候才出現。

1)消息內容的發送順序:在SCCP消息中,所有的參數都包含整數個字節,參數的格式都是按照字節棧的形式,在實際消息的傳送過程中,先發送的是協議標準中描述的位于棧頂的低序號字節,最后發送的是位于棧底的高序號字節。

2)長度參數的解碼規則:長度參數字段被解碼為二進制值,用來表示參數內容字段的長度,長度參數字段的值不包括參數名稱和參數長度占用的2個字節。

3)指針的解碼規則:指針的二進制值表示了該指針的高位字節與該指針所指的參數之間相隔的字節數。

在SCCP協議中,消息都是遵循上面描述的固定結構。對某一條具體的消息,比如CR(conneetion qequest),在Q.713協議中對消息中包含的參數做了規定[5],如表2所示。


表2 SCCP CR消息參數表

 SCCP CR消息參數表

SCCP消息中消息類型,必選固定部分參數和必選可變部分參數都是按照固定的順序規定好的,而可選部分參數的情況并不固定,消息中只規定了可能包含的可選參數,但對可選參數在實際消息中是否出現以及出現的順序并沒有說明。

在編寫解碼函數的程序時,由于SCCP協議最底層的解碼單位是參數級別,即像Message type,Source local reference和Protocol class等參數,各自都有對應的參數解碼函數,因此對于消息類型參數,必選固定部分參數,必選可變部分參數,只要按照順序調用參數解碼函數就可以完成解碼,真正復雜的是對可選參數的處理,因為消息定義中的可選參數在實際消息中是否出現以及參數出現的順序是不固定的,唯一確定的是,可以通過可選部分參數指針找到可選部分參數開始的位置,然后通過消息總長度減去固定部分長度得到可選部分長度,最后再根據可選參數部分的結構通過循環處理的方式進行解碼,每次循環處理的過程是先判斷可選參數的類型,然后調用相應的參數解碼函數。下面用一個流程圖來說明CR消息的解碼過程,此過程可以推廣到所有其他SCCP消息的解碼,如圖4所示。

SCCP協議CR消息的解碼流程圖

圖4 SCCP協議CR消息的解碼流程圖



評論


相關推薦

技術專區

關閉