基于DPI的LTE网络用户行为感知系统的设计与实现

2014-02-28 06:18:20张治中骆云龙
电信科学 2014年7期
关键词:爬虫报文特征

王 建,张治中,骆云龙

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

1 引言

随着国内4G牌照的相继发放,各大运营商加速了LTE网络的部署。基于LTE技术特征的高带宽、高质量的宽带网络业务服务为广大客户提供高速率、低时延的优质体验的同时,也给运营商网络运营支撑和管理带来了巨大压力[1]。借鉴移动互联网营销模式,结合用户自身的业务需求、上网习惯等综合考虑,实现对业务的精细识别和准确统计,增强客户感知,打造移动互联网智能管道成为了运营商当务之急。

传统的业务面监测技术基础是基于IP五元组的业务识别技术和针对上层协议消息头的xDR(call/transactiondetail record,xDR)合成技术。一方面,基于IP五元组的识别技术只能识别出常见的应用层协议,如HTTP、SMTP、FTP等,基于P2P技术的应用也往往采用隐藏或假冒端口号来躲避监管,另一方面,基于上层协议消息头的xDR合成技术无法细粒度地反映出用户的行为偏好。随着智能手机和数据业务的爆发增长,新一代客户感知网络监测体系具有广阔的发展需求和市场空间。在国内,华为推出的SmartCare是一个旨在服务于高端细分市场的网络监测解决方案,该方案帮助运营商解决端到端的业务质量提升和保障、用户体验和满意度提升及保障的问题[2]。面对这一发展趋势,中兴通讯提出一种基于云计算架构的用户体验应用解决方案——ZSmart CEMS。该方案采用大数据分布式以及并行处理架构,实现计算资源的动态调配以及利用率。通过DPI(deep packet inspection,DPI)技术识别业务类型,与业务质量、用户数据、终端信息相关联,实现对现网业务的实时监测[3]。

但是这些产品往往价格昂贵,或是应用范围局限,后台维护成本较高,无法满足LTE网络多业务大流量的监测需求。因此,实现一套完整且价格低廉的用户感知系统仍然是任重道远。

基于这一出发点,本文重点研究了LTE网络S1接口业务中用户行为习惯的精确感知与监测,在传统检测系统基础上,运用DPI技术和网络爬虫技术,实现了一套具有自学习功能的用户行为识别与分析系统。

2 系统设计

DPI技术对业务识别的应用已较为成熟,目前在一些网络入侵检测系统如BRO[4]和Snort[5]中得到了运用。对于业务流的识别来说,DPI是一种重要的识别手段,即通过对业务流中的特定数据报文中的“指纹”加以检测,并与特征信息库匹配,能确定业务流承载的具体信息。

在当前移动互联网(GPRS/EDGE/HSDPA)环境下,大部分业务由HTTP承载。伴随着3G、4G网络以及智能终端的发展,自有协议也登上了移动互联网的大舞台。

·对于以HTTP承载的报文一般采用HTTP报头的URL关键字段与user-agent组合识别的方式进行识别。通过对URL特征字符串的提取,识别出移动互联网用户具体的操作。如用户在iTunes手机客户端下 载 “铁 路12306” 订 票 软 件,user-agent为“iTunes-iPhone/5.1.1”,host为:“a*.phobos.apple.com”,用户浏览该应用特征字符串为“mzl.ihlxdfje.*.jpg”,用户下载该应用的特征字符串为“mzl.ihlxdfje.*.jpg?downloadKey=”(“*”表示通配符,匹配多个字符)。

·对于自有协议(如微信、QQ、米聊等即时通信软件)和部分P2P应用中采用非密文传输的报文,需要对传输层及以上的数据进行分析,提取出具体业务的特征指纹,这些指纹可能是指定的端口号、指定的字符串以及比特序列。如对微信的协议报文总结归类提取比特序列特征,其中“0xed 0xed”是报文结尾特征字段,“0x02”表示用户发送文字,“0x09”表示用户发送图片,“0x38/0x39”表示摇一摇功能。

特征库的信息健全程度是衡量整个系统业务识别能力的标准。针对HTTP承载的报文,需要结合网络爬虫,从PC端获取业务信息。对于自有协议的报文,则可以通过Wireshark工具分析业务报文,手动录入“指纹”信息到特征信息库。

如图1所示,S1接口是LTE的网络中演进的通用陆地无线接入网 (evolved universal terrestrial radio access network,E-UTRAN)和演进分组核心网 (evolved packet core,EPC)的通信桥梁,是LTE网络的核心节点。S1接口作为一个逻辑接口,它分为控制面和业务面两个部分,其中S1-MME接口是信令面接口,用于传送会话和移动性管理等控制信息;S1-U是业务面接口,用于传输用户数据业务[6]。本方案选取业务面接口——S1-U接口作为数据采集点,通过对该接口的协议栈解码和xDR合成获取用户某次操作的特征标识。

用户行为感知系统主要包括数据采集模块、S1接口协议栈解析模块、数据存储模块、特征分析/网络爬虫模块、DPI业务识别模块和可视化业务统计模块。总体实现框架如图2所示。

各模块功能设计如下:

(1)数据采集模块实现对现网S1接口数据实时采集,将数据交给协议栈解析模块;

(2)协议栈解析模块实现对S1-U接口协议栈解码、xDR合成,提供基础数据,并为DPI模块接口提供关键字段;

(3)数据存储模块采用关系型数据库,对用户基础数据、特征数据、用户行为数据等进行关联存储;

(4)网络爬虫模块根据一定的业务主题对Web网站的数据进行内容级别上的爬取、提炼,并将数据信息写入数据仓库;

(5)实时DPI和二次DPI模块是保障系统性能的关键,实时DPI主要用于完成业务类型识别,二次DPI模块将完成业务内容的识别,获取行为标识的内容信息;

(6)可视化业务统计模块根据不同维度、需求进行识别结果统计,并提供可视化界面显示。

3 系统实现

3.1 S1-U接口协议栈解析模块

S1-U接口协议栈解析采用模块化设计思想。子功能模块包括原始数据分组、协议栈解码、xDR合成和实时DPI识别。协议栈解码模块针对各层协议,自下往上逐层对协议进行解码,并将解码结果保存到链表结构体中。xDR合成应用散列索引和超时检测机制将同一呼叫流程的消息关联在一起,完成上下行流量统计、呼损统计等功能[7]。该模块解码结果和TCP分组或UDP分组的负载净荷作为DPI识别模块的数据。图3是S1-U接口协议栈解析实现框架。

其中,GTP-U(GPRS tunnel protocol-user plane,GPRS通道协议—用户面)是一组基于IP,用于GSM、UMTS和LTE网络以支持GPRS的用户面通信协议。它以GTP为基础,并采用一种通用的隧道封装方法,能对各种类型的分组数据进行透明封装传输。

在感知系统中,对自有协议的识别需要将传输层以上的载荷码流实时处理,故将这部分协议的识别整合到实时的解码模块中。为了进一步满足实时DPI模块高性能要求,该模块的设计充分利用分级思想,采用二维嵌套链表结构,其中二维表只保存特征首字符,当命中特征后,再转入链表结构匹配其他特征字符。常用的业务识别方法包括IP/端口号关联识别技术、流量识别技术和比特位识别技术等,参考文献[8]和参考文献[9]已经对业务识别方法做了深入研究。

图2 用户行为感知系统整体框架

图3 S1-U接口协议栈解析实现框架

出于LTE网络流量大的考虑,本方案提出一种自学习方法,即根据已识别的记录学习五元组和三元组信息,并对该类记录采用超时淘汰机制,对后来的待识别记录优先匹配五元组或三元组索引信息。该方法不仅能大幅度减轻服务器压力,同时也提升了分组识别速率和识别成功率。实时DPI识别流程如图4所示。

(1)模块检测到一条xDR记录,若该报文承载协议不是HTTP,依次根据五元组、三元组、host、user-agent和比特流特征匹配特征库,直到成功识别业务转到步骤(2)。否则识别下一条记录。

(2)识别成功,判断该条记录是否已存在五元组或三元组特征,如果不存在,则学习该匹配特征,并更新特征库。

(3)查看该业务是否存在子功能特征,如果存在,则提取子功能比特识别码匹配负载比特流,成功则记录该子功能名称,否则该条记录识别结束。

3.2 特征分析/网络爬虫模块

前面提到针对不同的业务,其特征结构或策略可能都不同,因此必须对业务特征进行分析。对于自有协议的报文,运用Wireshark抓取分组进行分析,遍历应用所有的子功能,确保信息完整性,确定该功能的“指纹”,并将“指纹”和关联信息插入到DPI特征库;对HTTP承载的报文采用聚类爬虫及技术从PC端提取相关的特征信息保存到信息特征库。

图4 实时DPI识别流程

聚类爬虫是一个按照既定的规则在传统PC互联网端自动获取网页信息的程序。它通过对内容特征进行分析,提取既定的网页元数据,为专题分析提供特定主题的数据资源[10]。爬虫程序是在PC端获取信息。因此,对于移动互联网端的业务请求链接,必须能够找到一种映射关系与特征库中的数据进行关联,并将这种移动互联网与PC互联网中信息关联的特征字符串作为DPI特征信息库的特征key值。图5是爬虫工作流程。

爬虫程序采用多线程多任务的设计方式,通过UI控制界面对多个爬虫任务进行管理,定时启动爬虫任务。每个爬虫任务负责完成某一个网站的信息采集任务。为了防止重复提取信息,爬虫任务启动时应该将已爬取的信息key值映射到散列表中,并且每次成功抓取一条记录都应在散列字典中记录。对那些实时更新的网站,爬虫程序需要定时自动重启策略。

3.3 DPI业务识别模块

高效的匹配算法是衡量DPI识别引擎性能优劣的关键。综合比较各匹配算法性能[11~13],本系统选择基于确定的有限状态机(deterministic finite automaton,DFA)引擎的正则表达式识别业务特征,并选择散列字典作为数据在内存中的存储容器。DFA引擎每次匹配都能得到一个确定的状态,它不要求回溯,具有线性时间复杂度。散列算法是一种高效的信息索引算法,理论时间复杂度接近O(1)。二次DPI识别流程如图6所示。

二次DPI模块工作流程如下。

(1)程序启动时导入特征数据库到内存中,并在系统闲时定期更新,其中DPIdataID作为域名字典和DPI信息字典关联标识。

(2)根据host信息查询域名字典,获取业务名称(如“AppStore”)、DPIdataID和行为识别表达式,如果为空则登记此host。

(3)由步骤(2),根据行为识别表达式匹配行为关键字如“浏览”、“下载”等,若匹配失败,则记录应用类型,识别下一条URL;若匹配成功,则查看是否存在多级信息,如果存在则循环匹配多级DPI查询字典,直到没有ChildID为止,获取该业务标识的key(“指纹”)匹配表达式。

(4)根据key匹配表达式匹配URL,如果获取key值成功,则根据key值查询此DPIdataID关联的信息字典,获取该记录具体信息,否则,只记录应用类型。

(5)key值映射信息成功,则记录本次HTTP请求对应的信息,如“AppStore—下载-12306铁路客户端—版本:×××—开发商:×××”,否则只记录本次用户动作,如“AppStore-下载”。

(6)将识别到的信息与用户IMSI关联,并将本次记录插入应用专题数据库中。

4 结果统计

本系统将现网S1-U接口采集到的测试数据,经解码/合成和实时DPI业务识别处理后,再转给二次DPI匹配模块进行业务内容识别,最后交付给统计模块,按不同专题或维度进行业务统计。

图7是业务识别结果出表的一段截图,其中B、C字段分别代表主类型和子类型(如主类型“1”表示应用商城,子类型“3”表示苹果Appstore);D、E、F、G分别表示服务端IP、服务端端口号、客户端IP、客户端端口号;字段H和字段I分别表示host和URL;K列表示user-agent信息;L和M分别表示上下行流量。

将业务面出表数据做IMSI关联,即可确定某用户具体的上网信息。如图8所示,以苹果AppStore为例,统计用户访问AppStore的详细信息。如图9所示,将业务归类,统计出某一时间段内全网用户上网偏好趋势。

图7 业务识别出表

图8 AppStore用户访问详细信息

图9 某一时段内全网用户上网偏好

5 结束语

本文提出了一种基于LTE网络的用户行为分析系统的解决方案,分析了智能网络趋势下用户行为感知的必要性,在传统协议栈解码的基础上,结合DPI技术和网络爬虫技术,实现了一种自学习功能的移动互联网用户行为感知系统。该方案弥补了传统业务识别方案的不足,大幅提升了业务识别的精确度和识别效率。经现网数据测试,本方案不仅能够对LTE网络用户行为进行有效的识别,而且能够针对不同的业务专题实施策略统计。本方案为完善移动互联网“智能管道”具有很高的实践价值。

1 张海峰,张杰.TD-LTE数据业务发展趋势.互联网天地,2013(4)

2 Huawei SmartCare CEM解决方案.http://www.huawei.com/cn/services/hw-u_256372.htm#.U5UM qI1h6jU,2014-06-09

3 客户体验管理系统CEMS.http://www.zte.com.cn/cn/solutions/anyservice/oss_bss/201212/t2012124_372546.html,2014-06-09

4 Paxson V.BRO:a system for detecting network intruders in real-time.Computer Networks,1999,31(23):2435~2463

5 Roesch M.Snort:lightweight intrusion detection for networks.Proceedingsof13th Systems Administration Conference,Washington,USA,1999

6 3GPP TS36.401.E-UTRAN Architecture Description,2010

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

8 张应.基于综合特征的P2P流量识别与控制系统研究.复旦大学硕士学位论文,2009

9 Chen H,Hu Z,Ye Z,et al.A new model for P2P traffic identification based on DPI and DFI.Information Engineering and Computer Science,2009(ICIECS 2009),Wuhan,China,2009

10 刘建明.垂直搜索引擎中的主题爬虫技术研究.广东工业大学硕士学位论文,2013

11 Chaudhary A,Sardana A.Software based implementation methodologies for deep packet inspection.ICISA 2011,Jeju Island,Korean,2011

12 Guo L,Wang Y,Yao Q,et al.A fast regular expression matching algorithm for deep packet inspection.ICITIS 2010,Beijing,China,2010

13 Yu F,Chen Z,Diao Y,et al.Fast and memory-efficient regular expression matching for deep packet inspection.Proceedings of the 2006 ACM/IEEE Symposium on Architecture for Networking and Communications Systems,San Jose,California,USA,2006

猜你喜欢
爬虫报文特征
基于J1939 协议多包报文的时序研究及应用
汽车电器(2022年9期)2022-11-07 02:16:24
利用网络爬虫技术验证房地产灰犀牛之说
基于Python的网络爬虫和反爬虫技术研究
CTCS-2级报文数据管理需求分析和实现
如何表达“特征”
浅析反驳类报文要点
中国外汇(2019年11期)2019-08-27 02:06:30
不忠诚的四个特征
当代陕西(2019年10期)2019-06-03 10:12:04
利用爬虫技术的Geo-Gnutel la VANET流量采集
电子测试(2018年1期)2018-04-18 11:53:04
抓住特征巧观察
大数据环境下基于python的网络爬虫技术
电子制作(2017年9期)2017-04-17 03:00:46