基于DPI技术的LTE_S1接口流量识别系统设计与实现

2016-05-14 09:09宫向阳
软件导刊 2016年7期
关键词:应用层解码数据包

宫向阳

摘要:针对传统流量识别系统性能低、可扩展性差等问题,提出一种以多叉树作为深度包检测(deep packet inspection, DPI)技术的模式匹配方法。通过对现行长期演进(long term evolution, LTE)网络S1接口用户面数据进行解析,采用层次化、模块化设计思想,实现一套以协议解析、流量识别、数据存储为基础的流量识别系统。经测试,系统在实现对用户行为监测的基础上,达到单机4~5Gb/s的处理速度,对大数据流量识别系统的设计具有重要参考意义。

关键词关键词:多叉树;长期演进(LTE);S1接口;深度包检测(DPI);层次化;模块化

DOIDOI:10.11907/rjdk.161295

中图分类号:TP393文献标识码:A文章编号文章编号:16727800(2016)007016604

0引言

随着4G网络的普及,移动互联网时代已经到来,在为用户提供高速网络体验的同时,运营商也面临巨大挑战。据统计,移动互联网数据量迅猛增长的同时,却没有实现业务利润的快速增长,通过对业务流量的识别和分类,实现对用户的精确营销,对运营商而言至关重要。传统的流量监测技术是基于IP 数据中的底层数据(会话五元组),但对于种类繁多的应用层流量仍然无能为力。目前,DPI即深度包监测技术被广泛应用,然而,随着智能手机和数据业务的爆发增长,传统的流量识别系统无论在业务还是性能方面均不能满足需求,新一代客户感知网络流量体系迫在眉睫。在国内,华为提出的SmartCare是一个旨在服务于高端细分市场的网络监测解决方案,该方案帮助运行商解决端到端的业务质量提升,保障用户体验;中兴通讯提出一种基于云计算架构的用户体验应用解决方案——ZSmart CEMS,该方案采用大数据分布式以及并行处理架构,实现计算资源的动态调配以及利用率。通过DPI技术识别业务类型,与业务质量、用户数据、尽一步通信效率;⑨当以太网络交换机E-HUB采用直流以太网络交换机时,其本身会传输电源信号,当该电源信号的功能满足或经电路变换后满足控制单元CU的电源供电要求时,可以采用以太网络交换机E-HUB的电源信号替代单路CU电源线PWL为控制单元CU供电,可进一步减少布线;⑩以太网络通信速率高,可达每秒100MB/1 000MB以上。

终端信息相关联,实现对现网业务的实时检测。但是这些产品往往价格昂贵,或是应用范围有限,后台维护成本较高,无法满足LTE 网络多业务大流量的监测需求。因此,实现一套完整且价格低廉的用户感知系统仍然任重道远。本文以LTE网络S1-U接口用户面数据作为系统数据源,设计并实现了一套扩展性好、性能高的网络流量识别系统。1系统设计

S1接口是LTE eNodeB(基站)与 EPC(分组核心网)之间的通讯接口。它沿袭了承载和控制分离的思想,又分为两个接口,一个用于控制面(S1-MME),一个用于用户面(S1-U)(见图1)。控制平面接口S1-MME主要完成S1接口的无线接入承载控制、接口专用的操作维护等功能。用户平面接口S1-U则主要用于传送用户数据,本方案选取用户面接口S1-U接口作为数据采集点,通过对该接口的协议栈解码获取用户的上网数据,作为DPI识别模块的输入变量。

图1S1接口示意图

本系统主要包括数据采集模块、协议栈解析模块、DPI业务识别模块和业务统计模块。总体实现框架如图2所示,各模块功能设计如下:

图2系统框架

(1)数据采集模块实现对现网S1-U接口数据的实时采集,将采集到的数据交给协议解析模块。

(2)协议解析模块将从S1-U接口得到的实时数据进行基本解析,获取IP及其底层数据,并将链路信息进行缓存,然后调用子模块(快速DPI),根据识别结果调用相应的应用层协议解码模块,应用层协议解码模块通过对传输层负载的解析获取关键字段。

(3)流量识别模块实现对业务内容的识别,输入为应用层协议的关键字段,输出为具体业务标识信息。

(4)数据存储模块的功能是将相关数据录入数据库。

(5)扩展模块以订阅的方式获取需要进行深度识别的数据。

(6)业务模块实现用户对流量的统计功能。

2系统实现

2.1协议解码模块

协议解码模块分为基本解码、快速DPI和应用层解码3个子模块。基本解码模块的功能是解析数据包的基本信息,缓存链路信息。针对各层协议,自下向上逐层对协议进行解码,并将解码结果及相关指标信息保存到链表结构体中。

为了将分片的数据包重新组合成完整的数据包,必须进行链路缓存,系统使用key-value方式保存链路信息,key为通信五元组,value包含一些通用信息(五元组、协议类型、时间戳等)以及应用层解码模块指针。当一个数据包到达解码模块后,先对其进行TCP/IP解码得到通信五元组,以五元组作为key,去索引value,如果索引失败,则说明是一个新的会话,为其创建一个session对象并添加到hashtable中,如果索引成功,判断数据包是否携带链路断开的信息(如:TCP的FIN标识),如果有,则从hashtable中将此会话的对象删除,然后判断该数据包的传输层协议是否被解析出来;如果没有,则将传输层的负载数据传递给快速DPI模块作解析,快速DPI根据自己的知识库判断此数据包属于什么协议,然后将结果存入value中。判定应用层协议类型后,需要判断数据是否为分片的数据包,如果不是,则将其直接传递给流量识别模块;否则,根据已有的链路信息进行组包操作,如果组合后的数据包是完整的,则将其传入流量识别模块,否则进行链路信息缓存 应用层协议类型众多(包括私有协议),所以系统必须具有可扩展的功能。系统采用模块化思想为每一种协议类型设计一个接口相同但功能不同的解码器。当系统启动时,将所有的应用层解码器注册到系统,数据包被基本解码后,根据解码出的信息以及应用层负载数据特征进行快速DPI,如果判断出数据包的协议类型,则调用与之对应的应用层协议解码模块,否则,失败。2.3流量识别模块

高效的匹配算法是衡量DPI识别引擎性能优劣的关键。目前,正则表达式匹配技术广泛应用于网络入侵检测和防御系统,作为深度数据包检测的核心算法来进行非法内容检测、恶意代码检测、入侵检测、协议分析等,正则表达式通常采用非确定性有限自动机

参考文献:

王行仁.飞行实时仿真系统及技术.北京:北京航空航天出版社,2000.

宋云燕.基于面向对象技术的电站仿真支撑系统的设计与实现.北京:华北电力大学,2012.

刘新顺,闫建国.VxWorks环境下无人机半物理仿真模型机数据通信与采集[J].现代电子技术,2012,35(1):79.

徐海,崔连虎,徐光耀.RTX环境下时统信息实时采集方法研究[J].舰船电子工程,2012(4):5961.

MICHAEL J DONAHOO,KENNETH L CALVERT.TCP/IP sockets in C:practical guide for programmers.2nd Edition.San Francisco:Morgan Kaufmann Publishers,2009.

顾颖彦.反射内存网实时通信技术的研究[J].计算机工程,2002(7):143144.

何波玲,张志春,徐坤.规模硬件模块化智能控制方法及其应用[J].兰州理工大学学报,2014(3):106109.

何波玲,张志春.设备密集型仿真系统硬件控制接口模式及系统[J].兰州理工大学学报,2014(6):9095.

何波玲.嵌入式TCP/IP驱动设备的可复用群控驱动引擎[J].软件导刊,2015(4):126128.

何波玲,张志春.一种软硬件并行开发无缝集成的规范化方法[J].软件导刊,2015(5):4951.

何波玲,张志春,徐坤.基于外部配置文件的硬件检测软件生成方法[J].软件导刊,2015(6):2829.

猜你喜欢
应用层解码数据包
《解码万吨站》
解码eUCP2.0
NAD C368解码/放大器一体机
Quad(国都)Vena解码/放大器一体机
SmartSniff
基于分级保护的OA系统应用层访问控制研究
新一代双向互动电力线通信技术的应用层协议研究
Current advances in neurotrauma research: diagnosis, neuroprotection, and neurorepair
视觉注意的数据包优先级排序策略研究
移动IPV6在改进数据包发送路径模型下性能分析