WCDMA系统移动核心网络协议栈的测试( 三 )


前文中提到我们一共设计了三个测试集,这三个测试集包含了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协议栈的具体实现,我们发现协议栈中消息的

推荐阅读