LTE网络GTPv2协议监测技术的设计与实现*

2012-10-08 01:58方,杨力,黄建,蒲
电信科学 2012年6期
关键词:关键字解码消息

程 方,杨 力,黄 建,蒲 伟

(重庆邮电大学通信网与测试技术重点试验室 重庆 400065)

1 引言

LTE是3G项目的长期演进,是3G和4G技术之间的一个过渡[1]。目前,中国移动正在主导建设LTE-TDD,并称为TD-LTE。在2011年2月巴塞罗那举办的移动世界大会上,中国移动联合全球多家主流运营商发起了全球TD-LTE发展倡议(GTI),这一倡议旨在促进TD-LTE的多方国际合作,共同解决TD-LTE发展的关键问题,加速推动TD-LTE的规模商用,实现TD-LTE在全球的应用和部署。随着中国移动7个地市LTE规模实验网开始建设,LTE已经成为目前通信网络的大热门[2]。

对于有序排列的消息来讲,两个相邻的可选或条件性可选信元不可以是相同类型的信元,这是因为一旦其中任何一个信元不在,就无法确定另一个信元究竟是哪个参数。GTPv2协议引入了实例部分,很好地解决了这个问题:无论是信元有序还是无序,信元的定义顺序不再受类型限制[3]。GTPv2协议运用在S5/S8/S4/S11等多个EPC重要接口,因此GTPv2的研究具有深远而重要的意义。

本文的研究目的在于研究和实现一种LTE网络GTPv2协议的监测技术,该项目来源于重庆某通信技术公司的LTE网络测试仪,该测试仪采用模块化思想,使软件易于移植、维护和升级,同时降低了开发难度、测试的复杂度及开发成本,本文的工作是其中GTPv2模块的实现。论文采用了一种将消息标识、偏移量结合起来标识某个上层信息分组的数学模型,有效地解决了定位消息所属呼叫流程、高效存储CDR、原始信令消息、统计数据等问题。

2 GTPv2监测模块

2.1 GTPv2协议概述

控制面GTPv2消息头格式如图1所示[4]。

控制面GTPv2消息头采用可变长度消息头。

(1)T

TEID 标识。当 T=0时,TEID 域不存在,k=0,m=0,n=5;当 T=1 时,TEID 域存在,k=1,m=5,n=9。

(2)Version

消息的版本标识,这里的值应为“010”。

(3)P

携带消息标识符。当P=0时,无携带消息;当P=1时,本条消息紧接着存在另一条GTPv2-C消息,即为当前消息的携带消息。

(4)Spare

发送端设置为0,接收端忽略该域。

GTP负责提供所有流程及隧道管理(创建、修改、释放隧道)、位置管理消息等,UDP层协议则用于负责传送信令消息[5]。每个GTP-C消息使用的源地址和目标IP地址以及UDP端口的值,取决于消息在消息交换中的作用。这条消息可以是一个初步的消息,或触发的消息,触发消息的触发回复消息。一个初始消息包含发送方选择的序列号,发送给对等GTP实体。发送触发消息以响应初始消息。触发回复消息可能被发送,用于响应触发信息。

2.2 GTPv2协议监测模块的总体设计

由图2可知,GTPv2协议监测模块主要由GTPv2解码模块及GTPv2协议分析模块组成,通过接口提供外部需要的不同功能。现网采集卡完成对不同链路实时网络数据的捕获。采集的原始数据经过预处理后保存到数据缓存区中,并由主控模块调用GTPv2解码模块、GTPv2协议分析模块进行相应的处理。为了提高网络测试仪的处理效率,便于实现仪表功能升级,该测试仪采用模块化思想,将GTPv2与下层各承载协议分离。

GTPv2解码模块由GTPv2简单解码、GTPv2详细解码、GTPv2合成解码3个部分组成。其中,GTPv2简单解码及GTPv2合成解码指严格按照消息到达的先后顺序依次解码分析处理,可以完成分片重组,在一个流程的不同消息之间传递较多的关联信息,因此可以积累较多的信息,这些信息需要存储下来,以供CDR过滤、消息过滤、CDR流程查看使用。GTPv2详细解码由用户触发,具有随机性,可以先访问第1条消息,接着访问第70条消息。

GTPv2协议分析模块由主控触发,主要完成GTPv2消息流程的合成、统计功能以及完成多段关联。解码模块以及协议分析模块将自己相应的信息存入解码过程中的永久信息缓冲区及CDR记录缓冲区,并由应用进程通过接口调用对相应的结果进行呈现。

3 GTPV2监测系统的研究与实现

3.1 GTPv2解码功能的设计与实现

对于GTPv2的承载协议,GTPv2解码按照 GTPv2协议对应的消息类型进行解码。消息解码在整个信令优化分析系统中占据举足轻重的地位,是进行后续解析和合成的前提。对协议栈的消息进行解码依据协议栈消息结构模型进行。解码设计流程如图3如示。

简单解码的目的是根据待解码的数据,填充解码结果表,并取出上层协议的分组交给协议栈,简单解码是为消息列表显示和消息过滤时用的,外部对简单解码调用时,消息标识MSGID参数具有随机性。

合成解码的目的是根据待解码的数据,为后台CDR合成服务。外部在调用合成解码时,会逐条按顺序调用合成解码,在被调用方式上与简单解码存在不同。理论上说,在注册时,注册过的字段,如果对合成没有帮助,合成解码可以不解码,不填充;在注册时还可注册一些专门为合成解码服务的自定义字段,在简单解码时可以不填充。这也是合成解码与简单解码的区别。如果存在分片重组情况,合成解码需要进行分片重组。

详细解码用于用户详细分析一个数据分组,需要依据协议,逐字节、逐比特进行解码,并能生成解码结果与原始数据的对应关系。对于分片重组的情况,详细解码只依据合成解码分片重组处理的结果进行,如果存在重组,此时详细解码需要拼装出新的PDU,以完成解码结果与原始数据的对应。详细解码主要由用户触发,用户想查看某个消息,就对某个消息进行详细解码,因此,调用详细解码时,消息标识MSGID具有随机性。

3.2 GTPV2合成功能的设计与实现

合成的本质是对消息的处理,通过采集卡采集到核心网的消息只有时间顺序和消息编号,如何在数百万条中查找和定位与用户业务相关或与信令相关的消息成为难点。本设计采用了散列索引合成方法。对GTPv2消息来说,不同的消息流程可以通过TEID(tunnel endpoint identifier)、IP地址、端口号来区分[6]。因此,以源、目的TEID,源、目的IP地址以及源、目的端口号作为散列索引的关键字段key值,该设计采用了除留余数法的散列方式。在合成模块中,CGTPv2 CallInfor类用于提取消息的关键字段值,并提交给多段关联模块和统计出表模块,是消息过程的基本表征载体。各接口的信令流程CDR类的字段值各有所不同,但也有相同的地方。将相同的字段提取为CDR基类,记录消息的共同信息,如cdrid和各时间值等信息。再由CDR基类派生出各过程CDR子类,有助于明确各CDR所特有的字段。

对于每一条消息的分析流程如图4所示。

步骤1:首先检查消息是否超时,若超时删除对应的关键字段key值,并将该CDRID对应的信息存盘。并根据CGTPv2CallInfor传送过来的解析信息建立散列的关键字段key值。

步骤2:判断该消息是否是创建会话请求消息,并根据关键字key值查找散列表,判断CDR是否存在。若是创建会话请求消息转到步骤3,不是会话请求消息并且能找到对应的CDR,转到步骤5。

步骤3:如果没找到对应的CDR,创建新的 CDR,填写基类信息,用于记录消息的共同信息;如果找到对应的 CDR,将关键字key值删掉,并将该条信息存入 CDR缓存区。

步骤4:创建会话过程子CDR,转到步骤7。

步骤5:取出该CDR信息,根据消息类型判断是否是创建会话响应消息,如果是,修改父CDR中源、目的TEID的值。

步骤6:提取父CDR的属性值,将相对应的父CDR属性值赋给关键字段作为新的key值。

步骤7:结束本条消息的合成,进行下一条消息的合成。

3.3 GTPv2多段关联的设计与实现

LTE核心网络中GTPv2协议运用于多个接口,如何将这些接口关联是本设计的一个难点。其工作原理跟CDR合成的原理类似,负责将接收到的CDR信息进行整合。多段关联的工作原理如图5所示。

同一个流程CDR的不同消息之间存在关键的字段,不同接口的GTPv2协议中存在共同的源、目的TEID,源、目的IP地址,源、目的端口号。因此,在建立散列索引时只要将相同字段作为索引key值,每条消息到来时提取相应的key值,然后进行查询,若存在关联CDR将该CDR存储,并更新CDR状态。

4 监测系统运行结果及分析

通过与原始数据及协议进行比对,详细解码准确地对选定消息进行了逐字逐比特的分析。仪表对过程结果可以根据手机IMSI、源TEID、目的TEID等识别号进行过滤,准确、快速捕捉。

如图6所示为合成的结果,471 s SGW向PDN GW发起创建会话请求消息过程,IMSI号为460089990000015的移动台建立S5/S8接口的隧道,用于传输用户数据。而在645 s的时候,用户业务终止,又由PDN GW向MME发起删除会话消息过程,删除用户的使用隧道标志。S5/S8接口建立隧道的时长为2.94 s。通过具体分析各CDR合成流程图,证明了该合成技术的正确性与有效性。

5 结束语

本文介绍了GTPv2协议监测仪的功能设计方案,具体分析了GTPv2协议监测解码模块、协议分析模块的具体实现形式。传统的合成一般使用IP网络传输特性,使用源IP地址、目的IP地址、源端口号、目的端口号和序号来标识CDR过程,而在GTPv2协议监测消息中增加了源TEID、目的TEID关键字段,且不同的消息对应的TEID个数以及意义有所不同,GTPv2协议在LTE核心网络中应用于多个接口,因此选取关联字段、关键字段是本方案的难点。

最后将方案编程实现,得到测试结果。测试结果表明:方案能正确有效地进行协议解码、协议分析、消息合成、CDR过滤、查找、导出等,且程序稳定可靠,监测效率较高。本方案已经用于重庆中天重邮通信技术有限公司的LTE测试仪中,效果良好。

1 唐海.TD-LTE的标准化工作及进展.电信科学,2009(1)

2 林辉.LTE-Advanced的标准化情况.电信科学,2009(1)

3 黄韬,刘韵洁,张智江等.LTE/SAE移动通信网络技术.北京:人民邮电出版社,2009

4 3GPP TS 29.274 V8.4.0.Evolved General Packet Radio Service(GPRS)Tunnelling Protocol for Control plane(GTPv2-C)

5 夏鞑,雒江涛,张治中.TD-SCDMA测试仪中Iub接口CDR合成方案.重庆邮电大学学报(自然科学版),2007,19(1):35~38

6 Manjua M,Varaprasad G.Implementation of Decoders for LTE Inferface Message.Journal of Ubiquitous Systems&Pervasire Networks,2011,2(3):55~58

猜你喜欢
关键字解码消息
《解码万吨站》
履职尽责求实效 真抓实干勇作为——十个关键字,盘点江苏统战的2021
一张图看5G消息
解码eUCP2.0
成功避开“关键字”
NAD C368解码/放大器一体机
Quad(国都)Vena解码/放大器一体机
消息
消息
消息