APP下载

LTE网络测试仪中S6a接口Diameter协议监测方案研究*

2014-03-12王朝阳曹龙汉张治中

电信科学 2014年5期
关键词:信令解码消息

王朝阳,曹龙汉,张治中

(1.重庆邮电大学通信网与测试技术重点实验室 重庆 400065;2.重庆通信学院控制工程重点实验室 重庆 400035)

1 引言

中国移动LTE试验商用网已经在上海、广州、深圳等城市实现了主城区的全覆盖,LTE基站数已达到2万个左右,LTE网络也将逐渐在全国各个城市布局[1]。为了保证LTE网络的质量和稳定性,对网络的监测显得非常重要。LTE网络测试仪通过对LTE网络中各个接口信令数据的采集与分析,实现对整个LTE网络运行状况的监测。LTE网络测试仪采用分布式、模块化、可组合的架构体系,易于维护和扩展,能够针对不同的需求进行快速的个性化设计,对网络的监测更加高效、可靠、稳定[2,3]。LTE网络测试仪能够进行网络监测、故障定位和网络优化,为LTE网络的运行维护提供强大的技术支撑,从而加速LTE网络的推广和产业化发展。S6a接口Diameter协议的监测方案是LTE网络测试仪中重要的组成部分,本文重点介绍监测方案的设计,包括整体方案设计、协议解码设计、CDR合成设计,并利用LTE现网数据对监测方案进行了测试。

2 Diameter协议监测方案设计

S6a接口是 LTE网络中 MME(mobility management entity,移动性管理实体)与 HSS(home subscriber server,归宿用户服务器)之间的接口,Diameter协议是S6a接口的应用层协议,是支持基于IP技术的AAA框架的AAA协议。AAA包括认证、计费和鉴权。认证是网络系统对用户身份的确认;计费是指网络系统根据用户对资源的使用情况进行收费;鉴权是指用户在网络系统授权的情况下以特定的方式使用其资源。网络系统对特定用户资源使用情况的准确记录是依靠认证、计费、鉴权实现的,这样既保障了合法用户的权益,又保障了网络系统安全可靠地运行。Diameter协议包括基础协议、网络接入服务协议、可扩展鉴别协议等,其作用是对用户认证、计费和鉴权等相关信息进行处理[4]。

根据相关测试规范的要求,Diameter协议监测主要包括以下几个功能:Diameter协议简单解码、详细解码和CDR合成。Diameter协议监测流程如图1所示。

图1 Diameter协议监测流程

根据原始数据的不同来源,监测模式可分为实时监测模式和数据回放模式[6]。在实时监测模式下,原始数据来源于采集卡捕获的现网数据;在数据回放模式下,原始数据来源于从现网上采集并已保存的数据。原始数据经过S6a接口的筛选,将消息保存到消息缓存中。S6a接口解码模块从消息缓存中取出消息,逐跳逐层次地解码,详细解码模块获得消息每一个比特的详细信息,简单解码模块只提取消息的关键字段,如消息特征字段信息等,并把关键字段封装到CDR合成信息类中。CDR合成模块的功能是把同一用户同一业务中相关联的信息组合在一起,形成一个完整的信令流程,如认证、位置更新等。用户在界面上可以根据需要触发解码、CDR合成等流程,或检查网络运行情况。

对各个模块进行独立设计,并以动态链接库的形式进行连接,模块之间耦合度低,功能独立,从而既能防止故障扩散,又能缩短软件开发周期,并具有良好的扩展性。

3 Diameter协议监测分析及实现

3.1 Diameter协议解码

Diameter协议解码由简单解码和详细解码两部分组成。简单解码是CDR合成的基础,对信令消息进行部分解析,主要包括消息ID、消息来源、消息接收时间、消息类型等基本信息,便于界面上的消息索引;详细解码是对消息进行逐比特地解码,将Diameter消息的所有字段全部解析出来,并将解码结果反馈给显示模块用于界面呈现。解码思路是采用逐跳逐层次的方式对消息进行解析,将解码函数模块化、定义和实现相分离,从而提高代码的独立性和可移植性。

Diameter消息结构如图2所示[5],从功能上可以划分为Diameter消息头和一个或多个属性值字段——AVP(attribute value pair,属性值对)。Diameter消息头包括版本号、消息长度、命令标识位、命令字、应用ID、逐跳标识符和端对端标识符;AVP字段用于封装协议应用的信息,如路由消息、计费消息等。

图2 Diameter消息结构

图3 详细解码流程

针对Diameter消息结构的特点,设计Diameter详细解码流程如图3所示。在详细解码线程启动后,详细解码函数通过函数入参获取待解码消息的数据长度和头指针,然后函数会进行数据是否有效的判断,如Diameter的消息头占20 byte,如果数据的长度小于20 byte,那么数据无效,解码结束并返回解码数据出错的提示;如果数据有效,解码函数获取内存池句柄和显示语言的种类,同时调用diameter_fdecode函数对数据进行解码,解码函数采用逐层解析的方式,首先解析Diameter的消息头,然后解析Diameter消息体AVP字段。如果显示的语言种类为中文,将调用中文的解码函数;如果是英文,将调用英文的解码函数。

3.2 Diameter协议CDR合成

3.2.1 CDR合成算法设计

CDR合成是将消息按信令流程归类,并按照特定关系将其关联起来,还原出真实的通信流程,为流程查询、网络指标统计和故障定位等功能提供数据支撑,是信令监测中非常重要的环节[6]。

CDR合成通常采用红黑树索引合成算法,当网络中的数据量比较小时,使用此算法是高效、准确的,但随着网络的飞速发展,网络中的数据量急剧增加,继续使用此算法会导致合成效率低下,部分合成结果不准确。针对网络中数据量庞大的问题,在CDR合成时提出了高效的缓存索引算法,以空间换时间,实现了监测系统对海量数据的高效、准确处理。缓存索引算法采用以特定的key值为索引、CDRID为映射值的数据结构模式,对key值和待查找信息的存储地址建立映射关系,并且映射关系是唯一的,这样就可以通过key值直接找到其对应的存储地址,从而大大提高了合成效率。

3.2.2 CDR超时处理机制

采集数据时可能会出现分组丢失、设备故障等问题,从而有可能导致信令数据不完全等异常情况出现,信令数据不完全会导致CDR合成无法结束,最终导致CDR合成错误。针对此问题,提出了超时处理机制,原理是通过建立链表记录缓存索引中每个CDR的key值和超时时间,创建每个CDR时都在超时链表中添加一个节点,该节点的结构体包括该CDR对应的key值和预设的超时时间。每当有新的消息进入CDR合成模块时,合成模块都会调用CheckTimeCdr函数查询并处理超时链表中的超时节点。在对链表中的超时节点处理完成后,合成模块会删除链表中的超时节点,这样就消除了缓存索引表中超时的CDR。

3.2.3 CDR合成实现

根据Diameter协议的特点,S6a接口Diameter的CDR合成关键字采用目的IP地址、目的SCTP端口号、源IP地址、源SCTP端口号,四者均能唯一标识传送双方,会话ID在同一个信令流程中是相同的,因此通过这几个参数就能确定同一个信令流程。CDR合成建立在简单解码的基础上,简单解码为CDR合成提供必要的信息,如Diameter的应用ID、消息。CDR合成流程如图4所示,具体分为如下几步。

(1)简单解码结束,将合成所需的信息提交给合成模块,并触发合成。

(2)合成开始后,检查缓存中的CDR是否存在超时的情况,如果有,则对超时的CDR进行处理。

(3)从简单解码结果中提取Diameter的应用ID进行判断。

(4)根据判定的结果进入不同的应用分支并进行相应的处理,以S6a接口的合成为例进行说明。

(5)S6a合成模块从简单解码的结果中提取建立合成缓存区所需要的key值。

(6)在S6a合成模块的CDR缓存中查找是否有与当前key值对应的CDR,如果不存在,则进行第(7)步,如果存在,就进行第(8)步。

(7)在合成缓存区中插入key值,同时创建一个新的CDR,并为其分配一个CDR ID,同时将简单解码的结果填入对应的CDR属性中。

(8)在合成缓存区中找到与CDR ID对应的CDR,并利用简单解码的结果更新该CDR,更新完成后判断该CDR是否结束,如果没有结束则进行第(9)步,如果结束就进行第(10)步。

(9)设置CDR超时时间,并将其放入S6a模块的CDR缓存中,重复上述Diameter协议合成流程。

图4 合成流程

(10)关闭该CDR,删除超时节点,合成完成。

4 测试结果与分析

利用LTE网络的现网数据对监测系统进行测试,包括解码测试和CDR合成测试。LTE网络测试仪中详细解码的界面显示为用户提供了中文和英文两种语言,解码结果以树型结构呈现。一条消息的中文解码结果如图5所示,在消息列表的消息特征栏中显示这是一条位置更新消息,将Diameter协议展开,显示Diameter协议的版本号、消息分组的长度以及命令标识、命令码、应用标识、跳到跳标识、端到端标识和一系列AVP值。从请求消息标识位的值可知,该消息为update location request(即位置更新请求消息)。由解码结果的树型结构可知,协议最上层为Diameter协议,底层依次是SCTP、IP、Ethernet协议,界面上对消息中的字段名、字段值、解释及位掩码等信息进行了详细说明。通过与原始数据及协议进行对比,证实解码结果是完整、正确的。

S6a接口上一次位置更新消息的CDR流程如图6所示。首先MME向HSS发送一条认证请求消息authentication information request,合成模块提取这条消息的会话ID、源IP地址和目的IP地址、源STCP端口号和目的STCP端口号等信息,并创建CDR。HSS收到认证请求消息后,向MME回复一条认证响应消息authentication information answer,合成模块判断该消息携带的key值后,对CDR进行填充。在收到HSS发送的认证响应消息后,MME向HSS发送位置更新请求消息update location request,HSS又向MME发送位置更新响应消息update location answer。在收到位置更新响应消息后,合成模块填充了位置更新结束时间,CDR合成结束。

在此次CDR合成中,用户在HSS中注册的IMSI为404309990000002,通过消息编号查找这4条消息的详细解码结果,这4条消息的会话ID一致,再结合相关协议规范中Diameter同一个信令流程中会话ID相同的原则,证明该CDR合成正确。

图5 Diameter协议解码结果

图6 CDR合成流程

5 结束语

通过对LTE网络S6a接口Diameter协议的研究,提出了针对Diameter协议的监测方案,即协议解码和CDR合成方案。监测方案在开发时使用VS2010开发环境,利用面向对象的思想,设计了模块化的解码方案和高效的CDR合成方案。该监测方案已通过LTE现网数据的测试,取得良好的监测效果。该监测方案的设计方法对于设计LTE网络中其他协议的监测方案具有指导和推广意义。

1 黄海峰.4G为移动互联网带来变革 中国移动TD-LTE发展思路明确.通信世界,2012(21)

2 李艳,张治中.LTE网络S1AP监测方案的研究与实现.电信科学,2013,29(1):31~38

3 李丹凤,张治中.LTE网络监测系统中DHCP协议的解码方案研究.电视技术,2012,36(9):69~73

4 3GPP TS 29.272.Evolved Packet System (EPS);Mobility Management Entity(MME)and Serving GPRS Support Node(SGSN)Related Interfaces Based on Diameter Protocol(Release 12),2013

5 IETF RFC5516.Diameter Command Code Registration for Third Generation Partnership Project (3GPP)Evolved Packet System(EPS),2009

6 杨理想,张治中.GSM用户感知系统中BTSM协议监测方案研究.重庆邮电大学学报:自然科学版,2012,24(6):751~755

猜你喜欢

信令解码消息
《解码万吨站》
一张图看5G消息
解码eUCP2.0
SLS字段在七号信令中的运用
移动信令在交通大数据分析中的应用探索
NAD C368解码/放大器一体机
Quad(国都)Vena解码/放大器一体机
基于信令分析的TD-LTE无线网络应用研究
LTE网络信令采集数据的分析及探讨
消息