首页> 中国专利> 基于传输层特征的P2P网络流量识别方法

基于传输层特征的P2P网络流量识别方法

摘要

一种基于传输层特征的P2P网络流量识别方法,通过分析P2P应用所产生的数据包特征,提取P2P应用在传输层的特征,根据传输层特征实现P2P应用识别。本方法仅利用网络流的前若干数据包的特征信息,可以在网络流建立初期实现P2P应用的高效识别,有利于实现P2P应用的控制。同时本方法仅仅用到传输层的数据包方向和数据包报文长度两个特征,简单方便,无需对数据包负载进行分析检测,系统开销小,可以实现实时在线应用。

著录项

  • 公开/公告号CN101282331A

    专利类型发明专利

  • 公开/公告日2008-10-08

    原文格式PDF

  • 申请/专利权人 西安交通大学;

    申请/专利号CN200810018164.1

  • 发明设计人 管晓宏;王平辉;秦涛;

    申请日2008-05-09

  • 分类号H04L29/06(20060101);H04L12/56(20060101);

  • 代理机构61200 西安通大专利代理有限责任公司;

  • 代理人张震国

  • 地址 710049 陕西省西安市咸宁路28号

  • 入库时间 2023-12-17 20:53:53

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2023-05-16

    未缴年费专利权终止 IPC(主分类):H04L29/06 专利号:ZL2008100181641 申请日:20080509 授权公告日:20110601

    专利权的终止

  • 2013-11-20

    专利权的转移 IPC(主分类):H04L29/06 变更前: 变更后: 登记生效日:20131104 申请日:20080509

    专利申请权、专利权的转移

  • 2011-06-01

    授权

    授权

  • 2008-12-03

    实质审查的生效

    实质审查的生效

  • 2008-10-08

    公开

    公开

说明书

技术领域

本发明涉及互联网技术领域,尤其涉及一种基于传输层特征的P2P网络流量的识别方法。

背景技术

P2P(Peer to Peer)网络结构是对等网络结构,在P2P网络中每一个节点所拥有的权利和义务都是一样的。它彻底改变了传统的客户/服务器模式,即网络以服务器为中心,各种各样的资源都集中在服务器上,客户端通过网络连到服务器上检索、下载、上传资料或请求运算。而P2P网络结构中不存在中心节点(或中心服务器),每一个节点(Peer)都同时扮演着信息消费者、信息提供者两个角色。P2P技术以其并行传输的特点,为用户提供了便捷和高质量的用户体验,新的P2P应用也在不断的涌现。

近年来P2P网络技术已经广泛应用于互联网用户之间的数据共享和下载领域,其产生的流量正在逐年上升。德国互联网调研机构ipoque称,P2P已经彻底统治了当今的互联网,其中50-90%的总流量都来自P2P应用,已经成为网络带宽的最大消费者。与此同时,由于P2P业务本身是一种难以管理的流量,从现有的应用情况看,其对带宽的侵蚀性以及本身路由的无管理性给网络带来了巨大的负担和大量的低效流量。主要表现在使得网络增量不增收,给宽带电信运营商可持续良性发展带来了较大的压力。同时由于P2P网络流量对带宽的严重侵蚀,严重的影响了传统的网络应用,使得正常业务无法高效正常进行。由此可见,有效识别P2P应用所产生的流量对于网络管理者来说至关重要,目前的识别方法主要有下面三类:(1)基于网络端口的识别技术:早期的集中式P2P应用通常有较为固定的通信网络端口号,因此只要监控各种P2P应用相应的网络端口号就可以比较容易的实现监测和控制。然而目前网络上广泛应用的P2P应用多采用动态随机网络端口号的方法,使得网络管理者无法获得P2P应用当前真正使用的网络端口号。同时有些P2P应用使用熟知网络端口号,例如80端口等,P2P网络流量将混藏在这些熟知网络端口号相应的其他网络应用的网络流量中。这些问题使得基于网络端口的识别技术失去了作用。

(2)深度数据包识别技术:即利用P2P应用数据包的数据报文特征码来标识P2P网络流量,依据这些数据报文特征码对通过网关设备的每一个数据包进行基于数据报文特征码的数据报文检测,一旦匹配上某类特征码就可以确定该数据包是P2P数据包。此方法可以很好的解决P2P应用多采用动态随机网络端口号和熟知网络端口号的问题,识别的精确度较高。但是由于需要对数据包的数据报文内容进行检测分析,效率较低,很难在大规模的网络带宽上实时在线应用。同时对于数据报文加密的P2P应用,深度数据包识别技术也将无法奏效。

(3)基于流统计特性的识别技术:由于P2P技术并行传输的特点,使得P2P应用通常伴随着大量的TCP连接和UDP流产生,因此当某台主机的TCP连接数和UDP流数大于某个设定阈值时可以判定为有P2P。该方式能够早期预警P2P网络流量的发生,但是无法区分具体的P2P应用类型,而且误报率和漏报率也较高。

发明内容

本发明的目的在于解决现有P2P网络流量识别技术中效率和准确度较低的问题,提供了一种基于传输层特征的P2P网络流量识别方法。

本发明解决其技术问题所采用的技术方案是:

步骤1:首先,建立双向网络流表,其表结构的属性包含:P2P应用类型、协议类型、源IP、源端口、目的IP、目的端口、第1个数据包的包方向、第1个数据包的数据报文长度、…、第N个数据包的包方向、第N个数据包的数据报文长度;

步骤2:其次,将各种被监控的P2P应用双向网络流传输层的特征序列存储在P2P特征模板库中;

步骤3:对接收到的数据包的包头进行解析,获得此数据包的协议类型、源IP、源端口、目的IP、目的端口和数据报文长度;

步骤4:在双向网络流表中查询相同协议类型下是否存在双向网络流记录的源IP、源端口、目的IP和目的端口与数据包中的源IP、源端口、目的IP和目的端口相同,或者双向网络流记录的目的IP、目的端口、源IP和源端口与数据包中的源IP、源端口、目的IP和目的端口相同;

步骤5:如果存在这样的双向网络流,转向步骤6;如果不存在,创建新的双向网络流记录并记录此数据包的包方向和数据报文长度载入此双向网络流记录的相应位置中,转向步骤3;

步骤6:判断此双向网络流的P2P应用类型是否已经标定,如果没有标定,在此双向网络流中记录此数据包的包方向和数据报文长度载入网络流表中;如果已经标定,转向步骤3;

步骤7:判断此网络数据流的数据包记录有没有达到设定的数据包数阈值N,如果没有,转向步骤3;如果已经达到阈值N表示此双向网络流的特征序列已经收集完毕,将此双向网络流的特征序列与P2P特征模板库中相同协议类型下的特征序列模板进行匹配,求取两者的最长公共子序列的长度,若两者最长公共子序列的长度与此特征序列模板的长度相同,则认为两者相互匹配,由此可以识别出此流的P2P应用类型;如果不存在能够匹配上的特征序列模板,则此双向网络流为被监控P2P应用外的其他网络应用的数据流,标记此双向网络流记录的P2P应用类型载入P2P特征模板库中,转向步骤3。

本发明通过分析P2P应用所产生的数据包特征,提取P2P应用在传输层的特征,根据传输层特征实现P2P应用识别。双向网络流定义为本地主机的某一端口与远端主机的某一端口之间在某种协议类型(TCP或UDP)互相通信下所产生的数据包集合,如果设定时间阈值T内无相应的数据包,则认为该双向网络流已经结束。

P2P应用的双向网络流中都包含用于控制双方网络通信的数据包,此类数据包多出现双向网络流的起始和结束阶段。这些控制数据包报文的内容比较相似,而且长度大小比较固定,因此可以通过识别此类控制数据包来实现对相应P2P应用的识别。

本发明仅利用双向网络流的前N个数据包的传输层特征信息,从而实现在P2P网络流量建立初期快速高效识别的效果。同时由于仅仅利用数据包的包头信息,高效简单,无需逐报文检测,系统开销小,可以实时在线应用。

附图说明

图1是本发明的结构框图;

图2是图1中双向网络流表的一条双向网络流记录的数据结构图;

图3是本发明基于传输层特征的P2P网络流量识别方法的流程图。

具体实施方式

下面结合附图对本发明作进一步详细说明。

参见图1,本发明的数据包获取模块用于对被监控网络数据包的获取,并对数据包按照本文双向网络流的定义将其传输层特征存储到双向网络流表中相应的双向网络流记录中。定时更新模块用于对双向网络流表进行定时更新,将超过规定时间阈值T内无数据包出入的双向网络流做相应的结果输出处理,将此双向网络流记录清除。

P2P特征模板库中存储各种被监控P2P应用双向网络流传输层的特征序列,向特征匹配模块提供特征序列模板。

参照图2,P2P应用类型记录此双向网络流的P2P应用类型,由于本发明所提出的识别方法只利用双向网络流的前若干个数据包,因此在双向网络流开始之初就可以判断此网络流的P2P应用类型了,因此,当正在处理中的数据包查询到对应双向网络流记录中的P2P应用类型已经断定时,就不需要再做任何处理了,直接转向下一个数据包的处理。

协议类型(TCP或UDP)记录此双向网络流的传输层协议类型。源IP、源端口、目的IP和目的端口对应的记录此双向网络流第一个数据包的源IP、源端口、目的IP和目的端口。

对于每一个数据包只记录数据包方向和数据报文长度两个特征。当数据包的源IP、源端口、目的IP和目的端口与对应的双向网络流的源IP、源端口、目的IP和目的端口对应相同时,数据包方向为正;当数据包的源IP、源端口、目的IP和目的端口与对应的双向网络数据流的目的IP、目的端口、源IP和源端口对应相同时,数据包方向为负。

P2P特征模板库中主要包括目前国内流行的P2P软件,其中包括迅雷、Maze、BT、PPLIVE、沸点等,其双向网络流的特征如下所示:

(1)迅雷(Thunder)特征序列:包括两个特征序列+21 -13 +0 -134和-75 +18 -0,协议类型均为TCP。

(2)Maze特征序列:包括两个特征序列-4 +0 -16 +4 -0 +8 -4 +0+4 -0 +16 -4 +0 -16 +4和+4 -0 +16 -4 +0 -8 +4 -0 -4 +0 -16 +4-0 +16 -4,协议类型均为TCP。

(3)BT特征序列:特征序列仅有一个+68,协议类型为TCP。

(4)PPLIVE网络电视特征序列:+80 -80 +95 -95,协议类型为UDP。

(5)沸点网络电视特征序列:+112 -116 +116,协议类型为UDP。

双向网络流及其传输层特征的生成。

本发明定义双向网络流第一个数据包的方向为正向,相反的方向为负向。每个数据包只记录数据包方向和数据报文长度两个特征,由于数据包的长度往往受到网络环境的影响会有所变化,所以采取数据报文长度作为特征而不采取数据包长度。因此每个数据包的特征最后可以归结为一个数x,x的正负代表数据包的方向,x的绝对值代表数据报文的大小。

当双向网络流记录的数据包数达到设定阈值N时,得到此双向网络流的传输层特征序列,即长度为N的数据序列。

将此双向网络流的传输层特征序列与P2P特征模板库中相同协议类型下的特征序列模板进行匹配,求取两者的最长公共子序列的长度。若两者最长公共子序列的长度相对特征序列模板的长度的比值超过设定阈值θ,则认为两者相互匹配,由此可以识别出此流的P2P应用类型。如果不存在能够匹配上的特征序列模板,则此双向网络流为被监控P2P应用外的其他网络应用的数据流。

参照图3,包括下面几个步骤

步骤1:首先,建立双向网络流表,其表结构的属性包含:P2P应用类型、协议类型、源IP、源端口、目的IP、目的端口、第1个数据包的包方向、第1个数据包的数据报文长度、…、第N个数据包的包方向、第N个数据包的数据报文长度;

步骤2:其次,将各种被监控的P2P应用双向网络流传输层的特征序列存储在P2P特征模板库中;

步骤3:对接收到的数据包的包头进行解析,获得此数据包的协议类型、源IP、源端口、目的IP、目的端口和数据报文长度;

步骤4:在双向网络流表中查询相同协议类型下是否存在双向网络流记录的源IP、源端口、目的IP和目的端口与数据包中的源IP、源端口、目的IP和目的端口相同,或者双向网络流记录的目的IP、目的端口、源IP和源端口与数据包中的源IP、源端口、目的IP和目的端口相同;

步骤5:如果存在这样的双向网络流,转向步骤6;如果不存在,创建新的双向网络流记录并记录此数据包的包方向和数据报文长度载入此双向网络流记录的相应位置中,转向步骤3;

步骤6:判断此双向网络流的P2P应用类型是否已经标定,如果没有标定,在此双向网络流中记录此数据包的包方向和数据报文长度载入网络流表中;如果已经标定,转向步骤3;

步骤7:判断此网络数据流的数据包记录有没有达到设定的数据包数阈值N,如果没有,转向步骤3;如果已经达到阈值N表示此双向网络流的特征序列已经收集完毕,将此双向网络流的特征序列与P2P特征模板库中相同协议类型下的特征序列模板进行匹配,求取两者的最长公共子序列的长度,若两者最长公共子序列的长度与此特征序列模板的长度相同,则认为两者相互匹配,由此可以识别出此流的P2P应用类型;如果不存在能够匹配上的特征序列模板,则此双向网络流为被监控P2P应用外的其他网络应用的数据流,标记此双向网络流记录的P2P应用类型载入P2P特征模板库中,转向步骤3。

本发明利用动态规划(Dynamic Programming)的方法来求取双向网络流传输层特征序列与P2P特征模板库中特征序列模板最长公共子序列的长度。我们定义L(m,n)为特征序列X={x1,x2,...,xm}和特征序列Y={y1,y2,...,yn}最长公共子序列的长度,动态规划算法是一个逐步迭代的过程,其迭代过程如下式所示:

在实现过程中,利用数x来代表数据包的特征,x的正负号代表数据包的方向,x的绝对值代表数据包的数据报文长度。为了避免造成+0和-0相互匹配的错误结果,可以将双向网络流传输层特征序列和P2P特征模板库中特征序列模板中的+0和-0替换成+0.5和-0.5两个数。

本发明所提出的基于传输层特征的P2P网络流量识别方法,具有以下有益效果:

1、提出基于双向网络流的传输层数据包方向和数据报文长度两个特征来实现,无需检测数据报文内容,系统开销小,识别准确度高,可以实时在线应用;

2、由于识别只利用双向网络流的前N个数据包,可以及时迅速的发现识别P2P网络流量。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号