一种LTE网络流量识别***及方法
技术领域
本发明涉及到一种LTE互联网流量识别技术,特别涉及到一种LTE网络流量识别***及方法。
背景技术
随着移动互联网的迅速发展,一方面,一些违约的协议、病毒、垃圾邮件以及网站入侵给互联网安全性带来了很大的挑战;另一方面,全球运营商每GB流量的平均营收已经从5600美元降至11美元,即每MB的营收仅有0.01美元。显然,在对互联网进行控制和管理的过程中,对流量的识别显得尤为重要。目前,现有互联网流量识别技术主要包括:深度流量监测技术DFI(deep flow inspection)和盲检测技术BLANC。DFI技术只能分析出协议类型,而且随着业务端口号不确定性的增加,其准确性也大大降低;BLANC技术也只能分析出协议类型,如果想得到准确的分析结果,需要建立庞大的特征库。显然,现有技术互联网流量识别技术存在着只能分析出协议类型、准确性较低和需要建立庞大的特征库等问题。
发明内容
为克服现有技术互联网流量识别技术存在的只能分析出协议类型、准确性较低和需要建立庞大的特征库等问题,本发明提出一种LTE网络流量识别***及方法。本发明LTE网络流量识别***,包括:采集模块、分发模块、解码模块、特征库模块和深度数据包检测模块DPI;采集模块实时采集LTE网络数据,并将采集的数据传递至分发模块;分发模块对采集的数据进行过滤和分流处理,并将分流数据发送至解码模块;解码模块对分流数据进行实时解码,为DPI提供简单解码结果数据XDR,即External Data Representation;特征库模块存放有各种数据业务的匹配规则信息和业务信息,并应用爬虫程序定期获取业务信息,更新特征库;DPI通过关联XDR与特征库信息,实现XDR的识别从而实现流量的识别。
进一步的,本发明LTE网络流量识别***采集模块采用千兆级采集卡,即H224F来进行数据采集,采集速率为1000Mbit/s,并采用S1接口作为数据采集接口;所述采集卡为二个且能够自动切换,当其中一个采集卡失效时,切换到另外一个采集卡继续进行数据采集,并发出告警。
进一步的,本发明LTE网络流量识别***采集模块通过配置文件设置采集数据的存放路径,在该路径下以当天日期为名建立文件夹,并在该文件夹下以小时为单位建立子文件夹,采集的数据以“.cap3”格式存放在子文件夹中。
进一步的,本发明LTE网络流量识别***分发模块接受采集模块传递的网络数据,对网络数据进行过滤和分发处理;所述过滤处理是指分发模块通过检测数据包UDP层端口号对该数据包是否为S1接口用户面数据进行判断,如果端口号是“2152”,则视为该数据包是S1接口用户面数据,并将其分发,如不是,则将该数据包丢弃;所述分发处理是指分发模块通过检测数据流IP层源目的端口号,将具有相同源目的IP地址的数据关联到同一个数据流并发送到解码模块进行解码,从而获取该数据流所对应的简单解码结果数据XDR。
进一步的,本发明LTE网络流量识别***解码模块调用相应的解码器进行各种协议数据的解码处理,获得S1接口业务面简单解码结果数据XDR,并将XDR存储备份,同时传递给深度数据包检测模块DPI进行处理;所述解码模块挂载有S1接口用户面协议栈所有协议的解码器,通过指针偏移定位到各个协议数据的起始位置;所述XDR包括:URL、Host、Cookie字段、HTTP版本、用户IMSI、终端IMEI、业务类型编码、流程ID、开始时间、结束时间、应用大类、应用小类、L4协议、用户端口、服务器IP、服务器端口、国家代号、网络代号、上行流量、下行流量、上行IP包数量、下行IP包数量、上行TCP乱序报文数量、下行TCP乱序报文数量、上行TCP重传报文数量和下行TCP重传报文数量等字段信息。
进一步的,本发明LTE网络流量识别***特征库模块包括特征库和爬虫程序,所述特征库设置有各种应用信息表,用于存放各种数据业务的匹配规则信息和业务信息,其中,BOOKINFO表用于存放爬虫程序爬取的业务数据,WEBSITEID表用于存放查询各种业务信息的SQL语句,MATCHRULE表用于存放各种业务的匹配规则表达式;所述爬虫程序用于定期获取WEB页面上各种业务的详细信息并实时更新特征库,所有被爬取的信息都需要与底层解码结果实现关联;所述各种业务包括实时通信、阅读、微博、导航、视频、音乐、应用商店、游戏、支付、动漫、邮箱、P2P业务、VoIP业务、彩信、浏览下载任选、财经、安全杀毒和其他业务。
进一步的,本发明LTE网络流量识别***特征库模块爬虫程序定期获取WEB页面上各种业务的详细信息,包括,分析网页,构造业务信息URL列表并将其写入程序配置文件;将业务信息URL列表从配置文件读入程序,并存入任务池;启动多个线程,完成对各个列表中的业务信息的获取并存入特征库中对应的应用信息表。
进一步的,本发明LTE网络流量识别***深度数据包检测模块DPI通过关联简单解码结果数据XDR与特征库信息,实现XDR的识别从而实现流量的识别,包括,DPI获取解码模块产生的XDR,将特征库中MATCHRULE表中的匹配规则读入集合并与XDR中的URL字符串遍历匹配,得出能与该XDR匹配的匹配规则记录,将该条记录中的KEY值取出并用该KEY值作为选择条件在特征库应用信息表进行查询,将查询到的应用信息与XDR进行关联,从而实现应用信息与用户IMSI和终端IMEI的关联,根据XDR的其他字段所携带的信息对该用户在具体时间使用的具体业务进行判断,即实现流量类型及数量的识别。
本发明LTE网络流量识别方法采用本发明LTE网络流量识别***进行流量识别,包括以下步骤:
S1、采集数据,采集模块实时采集LTE网络数据,并将采集的数据传递至分发模块;同时,采集模块通过配置文件设置采集数据的存放路径,在该路径下以当天日期为名建立文件夹,并在该文件夹下以小时为单位建立子文件夹,采集的数据以“.cap3”格式存放在子文件夹中;所述采集模块采用千兆级采集卡,即H224F来进行数据采集,采集速率为1000Mbit/s,并采用S1接口作为数据采集接口;所述采集卡为二个且能够自动切换,当其中一个采集卡失效时,切换到另外一个采集卡继续进行数据采集,并发出告警;
S2、过滤数据,分发模块通过检测数据包UDP层端口号对该数据包是否为S1接口用户面数据进行判断,如果端口号是“2152”,则视为该数据包是S1接口用户面数据,并进行下一步,如不是,则将该数据包丢弃,重新获取数据;
S3、分发数据,分发模块通过检测数据流IP层源目的端口号,将具有相同源目的IP地址的数据关联到同一个数据流并发送到解码模块进行解码;
S4、数据解码,解码模块调用相应的解码器进行各个协议数据的解码处理,获得S1接口业务面简单解码信息XDR,并将XDR存储备份,同时传递给DPI模块进行处理;
所述解码模块挂载有S1接口用户面协议栈所有协议的解码器,通过指针偏移定位到各个协议数据的起始位置;
所述XDR包括:URL、Host、Cookie字段、HTTP版本、用户IMSI、终端IMEI、业务类型编码、流程ID、开始时间、结束时间、应用大类、应用小类、L4协议、用户端口、服务器IP、服务器端口、国家代号、网络代号、上行流量、下行流量、上行IP包数量、下行IP包数量、上行TCP乱序报文数量、下行TCP乱序报文数量、上行TCP重传报文数量和下行TCP重传报文数量等字段信息;
S5、流量识别,深度数据包检测模DPI模块获取XDR,将特征库中MATCHRULE表中的匹配规则读入集合并与XDR中的URL字符串遍历匹配,得出能与该XDR匹配的匹配规则记录,将该条记录中的KEY值取出并用该KEY值作为选择条件在特征库应用信息表进行查询,将查询到的应用信息与XDR进行关联,从而实现应用信息与用户IMSI和终端IMEI的关联,根据XDR的其他字段所携带的信息对该用户在具体时间使用的具体业务进行判断,即实现流量类型及数量的识别;
所述特征库模块包括特征库和爬虫程序,所述特征库设置有各种应用信息表,用于存放各种数据业务的匹配规则信息和业务信息,其中,BOOKINFO表用于存放爬虫程序爬取的业务数据,WEBSITEID表用于存放查询各种业务信息的SQL语句,MATCHRULE表用于存放各种业务的匹配规则表达式;所述爬虫程序用于定期获取WEB页面上各种业务的详细信息并实时更新特征库,所有被爬取的信息都需要与底层解码结果实现关联;所述各种业务包括实时通信、阅读、微博、导航、视频、音乐、应用商店、游戏、支付、动漫、邮箱、P2P业务、VoIP业务、彩信、浏览下载任选、财经、安全杀毒和其他业务;所述爬虫程序定期获取WEB页面上各种业务的详细信息,包括,分析网页,构造业务信息URL列表并将其写入程序配置文件;将业务信息URL列表从配置文件读入程序,并存入任务池;启动多个线程,完成对各个列表中的业务信息的获取并存入特征库中对应的应用信息表。
进一步的,本发明LTE网络流量识别方法,特征库模块特征库构建包括以下步骤:
S101、构建BOOKINFO表,运用爬虫程序构建特征库BOOKINFO表,其具体步骤包括:分析网页,构造业务信息URL列表并将其写入程序配置文件;爬虫程序将业务信息URL列表从配置文件读入程序,并存入任务池;启动多个线程,完成对各个列表中的业务信息的获取并存入BOOKINFO表;
S102、构建WEBSITEID表,通过手动方式构建WEBSITEID表,WEBSITEID表包含websiteid字段和sql字段,其中websiteid字段存放网站ID号,每个网站有唯一的ID号,sql语句用于查询该网站下某一具体业务,SQL语句为select * from BOOKINFO where websiteid=’websiteid’ and bookid=’key’,该语句中’websiteid’的值为WEBSITEID表该条记录的网站ID号,‘key’值为XDR与MATCHRULE表匹配所得到的KEY值;
S103、构建MATCHRULE表,通过手动方式构建MATCHRULE表,MATCHRULE表用于匹配用户行为以及提取业务的BOOKID和WEBSITEID,这两个值将被WEBSITEID表SQL语句作为查询的条件,其中,MATCHRULE表包含PREFIX、REGUX、BEHAVIOR、PREFIX_REGUX和WEBSITEID等5个字段,PREFIX字段用于存放浏览业务介绍URL以及使用业务URL的前缀,REGUX字段是获取BOOKID号的正则表达式,BEHAVIOR字段用于存放与PREFIX匹配的用户的行为信息,PREFIX_REGUX字段用于各个网站的URL正则表达式,其与底层解码获取的URL匹配即可实现URL与特征库的关联,WEBSITEID字段的值实现每个网站在MATCHRULE表中存在一条与该网站对应的记录。
本发明LTE网络流量识别***及方法的有益技术效果是能够实时对LTE网络中通信、阅读、微博、导航、视频、音乐、游戏和支付等18大类的业务流量的进行识别,并可对终端用户的行为实时进行识别且细化到具体业务,有利于LTE网络监控和管理。
附图说明
附图1是本发明LTE网络流量识别***结构示意图;
附图2是本发明LTE网络流量识别方法步骤流程图;
附图3是本发明LTE网络流量识别方法特征库构建步骤流程图。
下面结合附图和具体实施方式对本发明LTE网络流量识别***及方法作进一步的说明。
具体实施方式
附图1是本发明LTE网络流量识别***结构示意图,由图可知,本发明LTE网络流量识别***,包括:采集模块、分发模块、解码模块、特征库模块和深度数据包检测模块DPI;采集模块实时采集LTE网络数据,并将采集的数据传递至分发模块;分发模块对采集的数据进行过滤和分流处理,并将分流数据发送至解码模块;解码模块对分流数据进行实时解码,为DPI提供简单解码结果数据XDR,即External Data Representation;特征库模块存放有各种数据业务的匹配规则信息和业务信息,并应用爬虫程序定期获取业务信息,更新特征库;DPI通过关联XDR与特征库信息,实现XDR的识别从而实现流量的识别。
为保证网络数据速度,本发明LTE网络流量识别***采集模块采用千兆级采集卡,即H224F来进行数据采集,采集速率为1000Mbit/s,并采用S1接口作为数据采集接口;所述采集卡为二个且能够自动切换,当其中一个采集卡失效时,切换到另外一个采集卡继续进行数据采集,并发出告警。同时,本发明LTE网络流量识别***采集模块通过配置文件设置采集数据的存放路径,在该路径下以当天日期为名建立文件夹,并在该文件夹下以小时为单位建立子文件夹,采集的数据以“.cap3”格式存放在子文件夹中。
为避免网络数据的干扰,本发明LTE网络流量识别***分发模块接受采集模块传递的网络数据,对网络数据进行过滤和分发处理;所述过滤处理是指分发模块通过检测数据包UDP层端口号对该数据包是否为S1接口用户面数据进行判断,如果端口号是“2152”,则视为该数据包是S1接口用户面数据,并将其分发,如不是,则将该数据包丢弃;所述分发处理是指分发模块通过检测数据流IP层源目的端口号,将具有相同源目的IP地址的数据关联到同一个数据流并发送到解码模块进行解码,从而获取该数据流所对应的简单解码结果数据XDR。
针对不同S1接口用户面协议栈,本发明LTE网络流量识别***解码模块调用相应的解码器进行各种协议数据的解码处理,获得S1接口业务面简单解码结果数据XDR,并将XDR存储备份,同时传递给深度数据包检测模块DPI进行处理;所述解码模块挂载有S1接口用户面协议栈所有协议的解码器,通过指针偏移定位到各个协议数据的起始位置;所述XDR包括:URL、Host、Cookie字段、HTTP版本、用户IMSI、终端IMEI、业务类型编码、流程ID、开始时间、结束时间、应用大类、应用小类、L4协议、用户端口、服务器IP、服务器端口、国家代号、网络代号、上行流量、下行流量、上行IP包数量、下行IP包数量、上行TCP乱序报文数量、下行TCP乱序报文数量、上行TCP重传报文数量和下行TCP重传报文数量等字段信息。
为区分不同类型的网络数据,本发明LTE网络流量识别***特征库模块包括特征库和爬虫程序,所述特征库设置有各种应用信息表,用于存放各种数据业务的匹配规则信息和业务信息,其中,BOOKINFO表用于存放爬虫程序爬取的业务数据,WEBSITEID表用于存放查询各种业务信息的SQL语句,MATCHRULE表用于存放各种业务的匹配规则表达式;所述爬虫程序用于定期获取WEB页面上各种业务的详细信息并实时更新特征库,所有被爬取的信息都需要与底层解码结果实现关联;所述各种业务包括实时通信、阅读、微博、导航、视频、音乐、应用商店、游戏、支付、动漫、邮箱、P2P业务、VoIP业务、彩信、浏览下载任选、财经、安全杀毒和其他业务。
为保证特征库网络数据详细信息的实时更新,本发明LTE网络流量识别***特征库模块爬虫程序定期获取WEB页面上各种业务的详细信息,包括,分析网页,构造业务信息URL列表并将其写入程序配置文件;将业务信息URL列表从配置文件读入程序,并存入任务池;启动多个线程,完成对各个列表中的业务信息的获取并存入特征库中对应的应用信息表。
本发明LTE网络流量识别***深度数据包检测模块DPI通过关联简单解码结果数据XDR与特征库信息,实现XDR的识别从而实现流量的识别,包括,DPI获取解码模块产生的XDR,将特征库中MATCHRULE表中的匹配规则读入集合并与XDR中的URL字符串遍历匹配,得出能与该XDR匹配的匹配规则记录,将该条记录中的KEY值取出并用该KEY值作为选择条件在特征库应用信息表进行查询,将查询到的应用信息与XDR进行关联,从而实现应用信息与用户IMSI和终端IMEI的关联,根据XDR的其他字段所携带的信息对该用户在具体时间使用的具体业务进行判断,即实现流量类型及数量的识别。
附图2是本发明LTE网络流量识别方法步骤流程图,由图可知,本发明LTE网络流量识别方法采用本发明LTE网络流量识别***进行流量识别,包括以下步骤:
S1、采集数据,采集模块实时采集LTE网络数据,并将采集的数据传递至分发模块;同时,采集模块通过配置文件设置采集数据的存放路径,在该路径下以当天日期为名建立文件夹,并在该文件夹下以小时为单位建立子文件夹,采集的数据以“.cap3”格式存放在子文件夹中;所述采集模块采用千兆级采集卡,即H224F来进行数据采集,采集速率为1000Mbit/s,并采用S1接口作为数据采集接口;所述采集卡为二个且能够自动切换,当其中一个采集卡失效时,切换到另外一个采集卡继续进行数据采集,并发出告警;
S2、过滤数据,分发模块通过检测数据包UDP层端口号对该数据包是否为S1接口用户面数据进行判断,如果端口号是“2152”,则视为该数据包是S1接口用户面数据,并进行下一步,如不是,则将该数据包丢弃,重新获取数据;
S3、分发数据,分发模块通过检测数据流IP层源目的端口号,将具有相同源目的IP地址的数据关联到同一个数据流并发送到解码模块进行解码;
S4、数据解码,解码模块调用相应的解码器进行各个协议数据的解码处理,获得S1接口业务面简单解码信息XDR,并将XDR存储备份,同时传递给DPI模块进行处理;
所述解码模块挂载有S1接口用户面协议栈所有协议的解码器,通过指针偏移定位到各个协议数据的起始位置;
所述XDR包括:URL、Host、Cookie字段、HTTP版本、用户IMSI、终端IMEI、业务类型编码、流程ID、开始时间、结束时间、应用大类、应用小类、L4协议、用户端口、服务器IP、服务器端口、国家代号、网络代号、上行流量、下行流量、上行IP包数量、下行IP包数量、上行TCP乱序报文数量、下行TCP乱序报文数量、上行TCP重传报文数量和下行TCP重传报文数量等字段信息;
S5、流量识别,深度数据包检测模DPI模块获取XDR,将特征库中MATCHRULE表中的匹配规则读入集合并与XDR中的URL字符串遍历匹配,得出能与该XDR匹配的匹配规则记录,将该条记录中的KEY值取出并用该KEY值作为选择条件在特征库应用信息表进行查询,将查询到的应用信息与XDR进行关联,从而实现应用信息与用户IMSI和终端IMEI的关联,根据XDR的其他字段所携带的信息对该用户在具体时间使用的具体业务进行判断,即实现流量类型及数量的识别;
所述特征库模块包括特征库和爬虫程序,所述特征库设置有各种应用信息表,用于存放各种数据业务的匹配规则信息和业务信息,其中,BOOKINFO表用于存放爬虫程序爬取的业务数据,WEBSITEID表用于存放查询各种业务信息的SQL语句,MATCHRULE表用于存放各种业务的匹配规则表达式;所述爬虫程序用于定期获取WEB页面上各种业务的详细信息并实时更新特征库,所有被爬取的信息都需要与底层解码结果实现关联;所述各种业务包括实时通信、阅读、微博、导航、视频、音乐、应用商店、游戏、支付、动漫、邮箱、P2P业务、VoIP业务、彩信、浏览下载任选、财经、安全杀毒和其他业务;所述爬虫程序定期获取WEB页面上各种业务的详细信息,包括,分析网页,构造业务信息URL列表并将其写入程序配置文件;将业务信息URL列表从配置文件读入程序,并存入任务池;启动多个线程,完成对各个列表中的业务信息的获取并存入特征库中对应的应用信息表。
附图3是本发明LTE网络流量识别方法特征库构建步骤流程图,由图可知,本发明LTE网络流量识别方法,特征库模块特征库构建包括以下步骤:
S101、构建BOOKINFO表,运用爬虫程序构建特征库BOOKINFO表,其具体步骤包括:分析网页,构造业务信息URL列表并将其写入程序配置文件;爬虫程序将业务信息URL列表从配置文件读入程序,并存入任务池;启动多个线程,完成对各个列表中的业务信息的获取并存入BOOKINFO表;
S102、构建WEBSITEID表,通过手动方式构建WEBSITEID表,WEBSITEID表包含websiteid字段和sql字段,其中websiteid字段存放网站ID号,每个网站有唯一的ID号,sql语句用于查询该网站下某一具体业务,SQL语句为select * from BOOKINFO where websiteid=’websiteid’ and bookid=’key’,该语句中’websiteid’的值为WEBSITEID表该条记录的网站ID号,‘key’值为XDR与MATCHRULE表匹配所得到的KEY值;
S103、构建MATCHRULE表,通过手动方式构建MATCHRULE表,MATCHRULE表用于匹配用户行为以及提取业务的BOOKID和WEBSITEID,这两个值将被WEBSITEID表SQL语句作为查询的条件,其中,MATCHRULE表包含PREFIX、REGUX、BEHAVIOR、PREFIX_REGUX和WEBSITEID等5个字段,PREFIX字段用于存放浏览业务介绍URL以及使用业务URL的前缀,REGUX字段是获取BOOKID号的正则表达式,BEHAVIOR字段用于存放与PREFIX匹配的用户的行为信息,PREFIX_REGUX字段用于各个网站的URL正则表达式,其与底层解码获取的URL匹配即可实现URL与特征库的关联,WEBSITEID字段的值实现每个网站在MATCHRULE表中存在一条与该网站对应的记录。
显然,本发明LTE网络流量识别***及方法的有益技术效果是能够实时对LTE网络中实时通信、阅读、微博、导航、视频、音乐、应用商店、游戏、支付、动漫、邮箱、P2P业务、VoIP业务、彩信、浏览下载任选、财经、安全杀毒和其他业务等18大类的业务流量的进行识别,并可对终端用户的行为实时进行识别且细化到具体业务,有利于LTE网络监控和管理。