一种基于对等网络的协议识别与控制系统的实现方法

文档序号:7804731阅读:682来源:国知局
专利名称:一种基于对等网络的协议识别与控制系统的实现方法
技术领域
本发明是一种针对对等网络服务的协议识别与控制系统,主要用来解决对等网络的协议识别与控制问题,属于对等网络领域。
背景技术
近几年来Peer-to-Peer应用发展迅速并以迅雷不及掩耳之势占领了多个应用领域以BitTorrent、Napster, eMule为代表的文件共享应用凭其自由、平等、开放的资源共享方式和高速的用户下载体验迅速成为主流的下载工具,以Skype、ICQ、MSN为代表的语音通信软件凭借其流畅清晰的通话质量、低廉的通话费用使得网络电话迅速普及,对电信业务构成巨大的冲击,以PPlive、QQ直播、PPstream为代表的流媒体应用软件凭借其清晰流畅的播放体验、丰富多彩的节目内容使得网络电视摆脱了带宽瓶颈,从而成为视频、电视节目、电影等多媒体资源新的发布平台。伴随着P2P应用的迅猛发展,其所带来的负面影响也变得不容忽视。病毒、木马借着P2P文件共享平台从而能以更快的速度扩散,造成了更大的破坏;色情、暴力等不健康内容不受限制地分发共享;盗版音乐、影视作品轻松逃避法律制约;网络带宽被大量P2P数据吞噬,非P2P用户的网络体验严重下降,企业关键应用得不到带宽保证;传统互联网非对称流量模型被打破,以此理论为基础的包月收费方式不再合理, 使互联网服务提供商的利益受到威胁。P2P应用,特别是文件共享、流媒体应用,不仅存在诸多此类问题,同时使用动态选取端口、伪装其它流量、加密数据、匿名通信等策略逃避常规流量检测机制,使得这些问题更加难以控制。据相关统计,迄今为止,P2P已经占据了互联网70%以上的流量。研究P2P流量的识别与控制也就成为目前一个比较热门的课题,而近几年所现有 P2P流量识别和控制的算法、机制、解决方案都还存在种种缺陷现有的P2P流量识别常常需要提前预知P2P协议的具体信息,然而目前的P2P网络新协议层出不穷,经常变化传输层端口进行通信,甚至于通过应用层加密来躲避检测;现有的P2P流量控制也比较滞后性,并且人为因素比较多,不能做到更智能更准确合理的分配网络带宽,因此尚有较大的改进空间。从经济效益上来说,协议识别与控制研究的成果将有着广阔的市场前景。特别是在当前P2P应用日益广泛,发展日新月异的时候,在享用P2P提供的各种内容共享服务的同时,P2P应用也给人们带来许多的负面的问题,本文的研究成果将为节省网络资源,提高带宽利用率,保证网络的动态平衡,使网络有效地运转提供有力的保障。从社会效益上来说, 协议识别与控制是当前P2P应用领域中亟待解决的热点问题,本文研究的协议识别与控制方法试图在这一问题的解决方面取得一定的突破。协议识别与控制研究可以促进目前的 P2P网络向有序的方向发展,对于网络管理者尤其是运营商来说,可以协调网络资源的合理使用,并确保用户享用稳定、有QoS保障的P2P服务。因此将本文的研究成果转化成产品将具有广阔市场前景。同时本文的研究工作有利于控制P2P流量对网络带宽的过度抢占,也有助于维护互联网的健康环境和营造一个和谐的网络社会。

发明内容
技术问题本发明的目的是提供一种基于对等网络的协议识别与控制系统的实现方法,对对等网络的协议进行识别与控制。本发明相比以往的方案,该方案具有新颖性、灵活性、易扩展性和易操作性,具有很好的市场前景。技术方案本发明是集中的、可管的、可控的。该软件的主要功能是识别和控制 P2P流量,其中内核模块实现的识别系统和PTCM机制是核心部分。使用正则表达式匹配的方法识别未加密流量,不能识别的流量采用机器学习算法做分类,同时将匹配的P2P流量进行哈希标识,这样就达到了 DPI和TLI两种方式相结合的目的,然后将分类过的流量送入 PTCM机制进行智能控制策略的生成,最后通过消息机制将控制策略发给网桥系统,网桥系统根据控制策略控制自带的TC。协议分析逻辑功能主要由以下几个部分组成非加密报文识别模块、加密报文识别模块、PTCM机制模块和报文控制功能的逻辑模块。该协议分析系统实现方法包括的步骤为步骤1).进行需求分析,对协议识别与控制系统需要完成的功能进行分析,并生成需求分析文档;步骤2).按照步骤1的分析文档设计模块,对各模块的功能进行详细分析,生成各个模块之间的逻辑关系和功能说明文档;步骤3).按照步骤2的文档,设计与实现协议识别与控制系统的非加密报文识别模块和加密报文识别模块,在协议分析系统中识别效率,影响着整个系统的工作效率,报文识别模块根据报文长度以及固定位特征字来协议识别对等网络中一些非加密的网络报文;步骤4).按照步骤2的文档,设计与实现协议识别与控制系统将识别后的非加密报文以及加密报文进行哈希,打上标签后,传送给PTCM机制模块;步骤5).按照步骤2的文档,设计与实现协议识别与控制系统的PTCM机制功能, 该模块根据识别的P2P流量进行预测,然后生成智能的流量控制策略。步骤6).按照步骤2的文档,设计与实现协议分析系统的报文控制功能,该模块实现将非加密和加密报文识别模块与PTCM机制生成的控制策略通过消息机制发往报文控制系统,从而报文控制系统根据接受到的控制策略合理分配网络带宽。有益效果本发明提取一个针对对等网络协议报文的识别与控制系统的实现方法,相比以往的方法有一些显著的优点识别效率高本发明在网络层进行报文识别,缩短报文识别路径,同时本发明只识别上行流量,对下行流量不进行处理,减轻CPU的处理压力,提高报文的识别效率。同时对加密报文和非加密报文进行分开处理,使得报文的识别准确率达到100%,不会出现漏判、 误判等情况,而传统的在路由器上进行识别的方式一般仅能达到90% 95%的识别命中率。模块化设计整个协议识别与控制系统的按照功能模块进行划分,非加密报文识别功能采用深层扫描DPI技术,根据报文的特征字来协议识别相关报文。加密报文识别功能采用机器学习分类算法进行分类识别。PTCM机制则是机器学习中的时间序列算法对P2P流量进行预测,从而生成智能的流量控制策略。报文控制功能根据流量控制策略,对网络带宽进行合理分配。良好的系统扩展性由于系统模块之间采用的是独立模块化,功能并行层次化设计,系统模块之间的通信机制完全采用层次化的结构,因此可以方便地添加新的功能,也可以很容易地升级现有的功能,所以该系统拥有良好的可扩展性。高度的可靠性和稳定性通过对协议识别与控制系统的单元测试表明该协议分析系统运行状况良好,占用系统资源少,拥有良好的容错机制以及灾难恢复能力。


图1是协议识别与控制系统的物理组网图,图2是非加密报文识别模块的流程图,图3是加密报文识别模块的原理图,图4是PTCM机制模块的原理图,
具体实施例方式体系结构非加密报文识别功能基于应用层数据检测的P2P流量识别技术是通过协议分析与还原技术,提取P2P应用层数据(即P2P载荷),通过分析P2P载荷所包含的协议特征值, 来判断是否属于P2P应用。因此,这类方法也叫做深层数据包检测技术(DPI)。在深层数据包检测技术中,通过对具体的P2P协议及其对应的P2P系统的载荷进行特征提取,建立特征库。对于流经的实时网络流,采用模式匹配算法,判断其中是否包含特征库中的特征串。如果特征匹配成功,该网络流就是P2P数据。本发明的报文识别部分即采用DPI扫描技术,根据固定位特征字来协议识别阿瑞斯特定网络服务中的哈希搜索报文以及一些相关交互报文。加密报文识别功能由于加密报文的复杂性,采用基于应用层数据检测的P2P流量识别技术已经不再有效,所以要采用机器学习中的分类算法进行报文识别,本模块首先采集数据,得到训练样本,再通过流量属性选择算法以及机器学习算法建立模型,然后导出模型,然后再通过导出模型实时地对数据报文进行识别分类,分类成功的P2P流量进行哈希标识,然后将其传送给PTCM模块;识别出的非P2P流量将丢掉不做任何处理。PTCM机制功能PTCM机制主要实现P2P流量控制策略的生成,该机制通过对识别后的P2P流量进行合理的预测,再进行流量上下门限值的计数,智能的调整最大和最小带宽,并最终将生成的智能控制策略通过消息机制发送给网桥系统,网桥系统根据控制策略智能的分配网络带宽。方法流程该部分详细说明发明内容各个部分的设计与实现非加密报文识别功能实现利用Linux netfilter里的TCP/IP协议栈的关键数据结构Socket Buffer (sk_buff),来操作流经的数据。如果是报文分片的,或是无连接数,则返回无操作。当一个报文流经第一个钩子函数NF_IP_PRE_ROUTING,会被送到内存的控制结构sk_buff中暂时存储。在这个控制结构里,有个指向网络报文的指针(如slib->nh),首先识别报文是否为TCP报文,再根据sk_bufT结构提供的网络层和传输层头部的大小,slA- > nh加上之前两者的头部长度,指针就指向了应用层数据的头部(如Appdata指针)。sk_ buff里还提供数据包的总长度,通过减去网络层和传输层头部的大小,就能得到应用层数据的长度。上述准备工作完成后,就可以通过Appdata指针来比对需要识别的ares报文, 也就是通过对报文长度和固定位进行匹配来确定。sk_buff里存储的是网络字节序,所以比对时需要用到_(30仙{3壯_社0118()或_(30仙{3壯_社0111 ()来统一网络字节序和主机字节序。本发明需要识别对等网络中的协议报文,判断是否为P2P报文,不是则不作处理。加密报文识别功能实现本发明针对加密的P2P报文,本模块首先通过采集机采集数据,得到训练样本,再通过流量属性选择算法以及机器学习算法建立模型,然后导出模型,然后再对实时的数据进行识别分类。在网络应用中,一个流通常被定义为是用一个特定的协议即TCP,UDP, ICMP中的一个,有时还有一对特定的端口在两个计算机IP地址之间进行传送一个或多个IP数据包。 这个五元组信息(源IP地址,目的IP地址,源端口,目的端口,协议类型)构成了区分一个流的标志。这些信息存在于每一个IP数据包中。流量的特征通常被认为是识别和区分未来的未知网络流量的,特征通常是通过计算大量的数据包而得到的流量的属性。比如像在一个方向上的最大或最小的包长度、流的持续时间、中间包的到达时间等一系列值。最原始的流在流量识别中是不可用的,可用的是描述流的一系列属性。这些属性包括流的源端和目标端的端口号和流量的行为特征等,这些属性可用于将不同的流量分类,但是使用全部的属性进行学习分类是非常不可取的,而是需要从众多的属性中挑选出有益于流量准确分类的属性,去除不相关的和冗余的属性,这个过程就称为属性选择。而属性选择算法可以用来选择有利于流量准确分类的属性。本文发明设计的流量属性特征计算系统Fullstats是建立在Linux环境下的。该系统通过命令行格式,可以很方便地实现从原始网络数据包到属性特征值文件的转换过程。流量属性特征的计算过程可以分为以下四步(1)用网络嗅探器抓取网络数据包;(2)将抓取的数据包按流(五元组信息相同的属同一个流)分类,每个流包含若干数据包;(3)统计每个流的属性特征,并计算出248个属性特征值;(4)将得到的属性特征值做一些格式转化,变成需要的文件格式。按照上述4个步骤,利用Linux环境下的四个软件完成了计算系统Fullstats。这四个软件分别为Tcpdemux 流的多路分离器,用于将由嗅探器抓到的数据分流,它将为每个流产生一个新文件。Tcptrace 该软件能分析被捕获流的特征,并产生丰富的统计值,即特征值。Tcpdump =Linux下优秀的嗅探器,即网络抓包工具,过滤功能也很强大。
Tcpslice 提取部分"Tcpdump文件,或粘合这些文件。前文中的步骤1由Tcpdump完成,步骤2由Tcpdemux完成,Tcpdump,Tcptrace, Tcpslice共同完成步骤3。PTCM机制功能本发明设计生成智能控制策略,建立的P2P流量控制算法主要包括时间序列模型预测、预测流量比对和根据计数器调整控制策略。1)用C编程将时间序列预测模型进行程序实现;2)设定用户的最大宽带值BS、突发流量的上限最大值uBS、下限最小值dMS、穿越上下门限值计数器uCount和dCount,其中dMS < uBS < BS ;3)根据FARIMA模型预测出P2P流量下一个Δ t时间内的流量值Q,t ;4)当第一个Δ t时刻的P2P流量的预测值产生时,计时器则开始计时;5)如果Q, t大于uBS,计数值uCount增加一;如果Q,t小于dMS,计数值dCount减 6)当在 m 个 At 时间段内,如果 uCount > dCount 时,则 uBS 提高(uCount-dCount) 个等级dn,而dMS降低(uCount-dCount)个等级dn,且满足dMS < uBS < BS ;如果uCount < dCount 时,则 uBS 下降(dCount-uCount)个等级 dn,而 dMS 上升(dCount-uCount)个等
,BS-dMS
级dn,且满足dMS < uBS < BS。其中等级< =-
η
权利要求
1. 一种基于对等网络的协议识别与控制系统的实现方法,其特征在于该方法包括的步骤为步骤1).进行需求分析,对协议识别与控制系统需要完成的功能进行分析,并生成需求分析文档;步骤2).按照步骤1)的分析文档设计模块,对各模块的功能进行详细分析,生成各个模块之间的逻辑关系和功能说明文档;步骤3).按照步骤2)的文档,设计与实现协议识别与控制系统的非加密报文识别模块和加密报文识别模块,在协议分析系统中识别效率,影响着整个系统的工作效率,报文识别模块根据报文长度以及固定位特征字来协议识别对等网络中一些非加密的网络报文;步骤4).按照步骤2)的文档,设计与实现协议识别与控制系统将识别后的非加密报文以及加密报文进行哈希,打上标签后,传送给生成智能控制策略的对等网络流量控制模块 PTCM ;步骤5).按照步骤2)的文档,设计与实现协议识别与控制系统的PTCM机制功能,该模块根据识别的对等网络流量进行预测,再进行流量上下门限值的计数,智能的调整最大和最小带宽,然后生成智能的流量控制策略;步骤6).按照步骤2)的文档,设计与实现协议分析系统的报文控制功能,该模块实现将非加密和加密报文识别模块与PTCM机制生成的控制策略通过消息机制发往报文控制系统,从而报文控制系统根据接受到的控制策略合理分配网络带宽。
全文摘要
本发明的目的是提供一种基于机器学习的P2P流量识别与控制系统及其实现方法。目前P2P流量成为网络负担的问题,可以通过对P2P流量的识别进而有效地控制,可以大大降低P2P流量带来的资源带宽压力。该软件的主要功能是检测和控制P2P流量,其中内核模块实现的检测系统和PTCM机制是核心部分。使用正则表达式匹配的方法识别未加密流量,不能识别的流量采用集成学习算法做分类,同时将匹配的P2P流量进行哈希标识,这样就达到了DPI和TLI两种方式相结合的目的,然后将分类过的流量送入PTCM机制进行智能控制策略的生成,最后通过消息队列控制LINUX系统里自带的TC功能模块。
文档编号H04L29/08GK102571946SQ20111044936
公开日2012年7月11日 申请日期2011年12月28日 优先权日2011年12月28日
发明者孙力娟, 李致远, 林巧民, 王汝传, 肖甫, 赵丹, 邵星, 韩志杰, 顾翔, 黄海平 申请人:南京邮电大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1