微波EDA网,见证研发工程师的成长!
首页 > 测试测量 > 测试测量技术文库 > TD-SCDMA网络测试仪中SCCP协议解码

TD-SCDMA网络测试仪中SCCP协议解码

时间:08-18 来源:3721RD 点击:

age type,Source local reference和Protocol class等参数,各自都有对应的参数解码函数,因此对于消息类型参数,必选固定部分参数,必选可变部分参数,只要按照顺序调用参数解码函数就可以完成解码,真正复杂的是对可选参数的处理,因为消息定义中的可选参数在实际消息中是否出现以及参数出现的顺序是不固定的,唯一确定的是,可以通过可选部分参数指针找到可选部分参数开始的位置,然后通过消息总长度减去固定部分长度得到可选部分长度,最后再根据可选参数部分的结构通过循环处理的方式进行解码,每次循环处理的过程是先判断可选参数的类型,然后调用相应的参数解码函数。下面用一个流程图来说明CR消息的解码过程,此过程可以推广到所有其他SCCP消息的解码,如图4所示。

图4 SCCP协议CR消息的解码流程图

3、实际测试中的SCCP消息组装问题

网络中的SCCP消息长度一般在100个字节内,SCCP消息需要封装上层RANAP或者RNSAP的数据,而上层数据通常不会很长,一条SCCP消息完全可以容纳,但在少数情况下,上层数据需要分段由几条SCCP消息中传输,而多条SCCP消息再分散在底层的ATM信元中传送。这个现象从逻辑上是容易理解的,但从数据分析的角度,尤其是从数据接收端的角度来看,处理就要复杂很多,因为尽管数据分段的情况相对较少,但是信令分析注重消息解析的准确性和信令流程的连贯性,为了达到这2个要求,就要保证接收端能够准确完成数据的组装,在此基础上,对SCCP层的分析以及更高层如RANAP协议的分析才能够保证。

在SCCP协议的消息中,绝大部分都包含data或longdata参数,这2个参数表示SCCP的用户数据(service data unit,SDU),也叫做SCCP上层协议的协议数据单元(protocol olata unit,PDU)。SCCP的大多数消息都包含数据参数,从而加大了获取PDU的难度,另外,消息类型的不同导致获取的方法也不同,包含Data参数的消息分类如表3所示。

表3 包含Data参数的消息分类表

  当调用SCCP协议模块的获取上层PDU函数时,首先判断消息类型,如果不在以上消息类型中,则不存在用户数据,那么仅仅完成解码即可;如果是以上消息类型中的一种,那么就需要调用相应的函数进行获取SDU的操作。由于包含用户数据的消息比较多,为了处理方便和逻辑清晰,在模块实现时为表3中的消息定义了各自的函数。

表3中有两列内容分别是辅助参数和它们的存在性。辅助参数是指在相应消息中对于获取SDU有帮助的参数,而存在性就表示该辅助参数在相应消息中的存在可能,F和V表示一定存在,0表示可能存在。辅助参数的作用主要是用来告知消息中包含的Data是完整的还是需要分段传送的,如果完整,那么取得数据后函数就把PDU数据返回;否则要对来自多条SCCP消息的多个Data进行组装。在表3中用A,B,C,D对消息处理进行了分类,每个类型代表一种处理的复杂程度如表4所示。

表4 获取SDU分析表a

根据获取Data数据的复杂程度,把相应函数分为4类。每类函数根据处理的复杂程度,都需要辅助函数的支持,例如,类型2中对DT1和DT2的处理,这2条消息中都有参数包含more data indicator字段,其作用是指示本条数据消息后面是否有属于同一个SDU的数据,因此该参数是DT1和DT2消息获取数据的重要操作依据。对于其他类型的函数,辅助参数起着同样的作用,另外个别辅助参数本身是可选的,如类型4函数中的辅助参数segments,因此在类型4函数处理时需要判断的条件就很多,首先需要知道segments参数是否存在,存在的话才有组装的可能,不存在的话说明数据不需要组装。4类函数对参数的需要性如表5所示。

表5 获取SDU分析表b

在实际的SCCP消息中,大多都是用DT1消息来承载上层数据,获取DT1消息的函数属于表5中的第2类,下面就以该消息为例来说明SCCP协议获取上层PDU的方法,DT1的格式[5]如表6所示。

表6 DT1消息结构

第1个参数(Message type)表示消息类型,根据消息类型表格可知,DT1消息类型为OX0000 0110即6;第2个参数(Destination local reference)是目的地本地参考,表示目的地地址信息;第3个参数(Segmenting/reassembling)叫做分割/组装,长度是1个字节,格式如图5所示。

图5 Segmenting/reassembling参数结构

该参数长度为一个字节,最低位是信息字段M,为0表示消息后面没有分段的数据;为1则表示有。图6表示在模拟真实的网络环境,以DT1数据的传输为例,说明所有可能的情况。

图6 DT1数据在网络中传送的可能情况示意图

DT1消息在网络中的传送共4种可能,每种类型中右边的表示本条DT1消息,图6左边的表示上条DT1消息,两消息中都有M指示,

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top