对等节点流量的识别方法和装置的制作方法

文档序号:7665668阅读:153来源:国知局
专利名称:对等节点流量的识别方法和装置的制作方法
技术领域
本发明涉及通信领域,特别涉及一种对等节点流量的识别方法和装置。
背景技术
P2P (Peer to Peer,对等节点)技术能够提供快速高效的文件共享,以及提供低成本高可 用的计算或存储资源共享,而且具有强大的网络连通性,能够进行更直接更灵活的信息沟通。 最近几年,P2P技术逐渐深入到信息共享、实时通信、网络游戏、金融服务、信息检索、协 同工作、普及计算和网络存储等众多领域,P2P技术也因此日益受到计算机界的关注和青睐。 然而,随着P2P业务在当前网络中的应用越来越广泛,它为各企业和ISP (Internet Service Provider,因特网服务提供商)带来了很多的问题,P2P传输速度高,且P2P应用的数据交换 具有一对多、突发性和分布式等特性,P2P用户抢占了大量的网络带宽,有时抢占60%_80% 的带宽,仅将剩余带宽留给非P2P用户,使得企业内部的业务无法正常运行,或者,使得网 络上非P2P用户不能得到应有的服务,给ISP造成压力,容易引起企业及ISP瓶颈链路的阻 塞等等。因此,为了确保其他正常网络用户的服务,同时为了更好地发挥P2P技术的优势, P2P流量检测技术成为目前业内研究的一个热点。
现有技术提供了一种深层数据包检测(DPI, Deep Packet Inspection)方法,用以识别P2P 流量,该方法通过考虑当前流行的多种P2P软件都有各自标记性的关键字。在检测前先收集 到各种软件的关键字,组成一个特征库;通过检查数据包的数据内容,找到特定P2P协议的 关键字,将数据包中的关键字与特征库里已收集到的关键字进行匹配,如果能够找到匹配的 关键字,则该数据包为P2P流量。
在实现本发明的过程中,发明人发现深层数据包检测方法至少存在以下问题
1) 只能检测已知P2P协议的P2P流量,不能检测各种各样新型的P2P协议流量,适用范 围不易扩展;
2) 对每一个数据包的内容进行关键字检测比较费时,为了不影响正常的通讯,需要系统 的配置比较高;
3) 有些P2P协议使用了数据加密技术,导致无法检测其数据包内容,从而也无法获取到该数据包的关键字,导致P2P流量检测失败;
4)基于数据包内容的P2P流量检测技术需要对数据包的具体内容进行研究,有可能涉及 机密或隐私问题,不利于实际推广应用。
现有技术还提供了一种基于伪参与技术的P2P流量识别方法,该方法用一台或多台实验主 机主动参与到P2P网络中,通过与P2P用户进行数据包交换获取该P2P用户的IP地址等信息。 进行P2P流量检测时,通过分析数据包中的IP地址信息,判断该数据包是否为P2P流量。
在实现本发明的过程中,发明人发现基于伪参与技术的P2P流量识别方法至少存在以下 问题
实验主机在参与文件共享时可能违反文件的使用版权,另外,该只能识别真正与实验主 机进行数据包交换的P2P用户,不能识别其它P2P用户,漏检率比较高,实用性比较差。

发明内容
为了使能够有效地识别P2P流量,本发明实施例提供了一种对等节点流量的识别方法和
装置。所述技术方案如下
一种对等节点流量的识别方法,所述方法包括
统计预设统计时长内两节点间传输的信令流与数据流交替出现的次数; 判断所述两节点间传输的信令流与数据流交替出现的次数是否大于预设次数; 如果是,所述两节点间传输的流量为对等节点流量。
本发明实施例还提供了一种对等节点流量的识别装置,所述装置包括
统计模块,用于统计预设统计时长内两节点间传输的信令流与数据流交替出现的次数;
判断模块,用于判断所述统计模块所统计的两节点间传输的信令流与数据流交替出现的
次数是否大于预设次数;
流量识别模块,用于当所述判断模块判断的结果为所述两节点间传输的信令流与数据流
交替出现的次数大于预设次数时,所述两节点间传输的流量为对等节点流量。 本发明实施例提供的技术方案的有益效果是
通过统计一段时间内两节点间传输的数据包中的信令流与数据流交替出现的次数,当交 替出现的次数大于预设次数时,两节点间传输的流量为P2P流量,这种P2P流量识别技术提 高了识别的效率和准确度,同时,易于实现,比较适合使用。


图1是本发明实施例提供的P2P流量统计示意图2是本发明实施例提供的非P2P流量统计示意图3是本发明实施例1提供的P2P流量的识别方法流程图4是本发明实施例1提供的流量信息统计序列示意图5是本发明实施例2提供的P2P流量的识别方法流程图6是本发明实施例2提供的滑动窗口示意图7是本发明实施例3提供的对等节点流量的识别装置示意图。
具体实施例方式
为使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明实施方式作进 一歩地详细描述。
本发明实施例通过统计预设统计时长内两节点间传输的信令流与数据流交替出现的次
数,判断这两节点间的传输的信令流和数据流交替出现的次数是否达到预设次数;如果是, 则这两个节点间的流量为P2P流量。
其中,信令流指用于节点(主机)之间连接时传输的控制信息;数据流指节点(主机) 连接后真正需要交互的数据内容,例如下载电影时真正包含电影内容的数据包。
P2P流量是通过P2P软件下载数据实现的,而P2P软件下载数据之前要先在服务器上注 册节点的信息,下载时先要和很多节点(主机)建立连接,这个过程需要传输信令才能完成, 下载过程中也需要实时地发送很多的控制信息(例如探测、通告或其他目的类型的数据包) 到不同的节点(主机),这些控制信息也属于信令流,因此P2P软件运行时会传送很多信令流。
信令流和传输内容的数据包的大小相差很大,为了更好地识别出P2P流量,先定义出信
令流和数据流的区分规则
设置数据包长度阈值A,该阈值人应该保证能够有效地区分所组成信令流、数据流的数 据包,例如1000字节左右,因为一般传输下载文件过程中,主要用于传输文件数据的数据
包长度均在1000字节以上,而用于交互、控制的数据包长度相对较小, 一般为几十、几百字 节,都集中在1000在字节以下;设监测到的数据包长度为a ,如果a大于1000字节,则该 数据包为数据流,如果a小于等于1000字节,则该数据包为信令流。
P2P软件下载数据的过程中,信令流和数据流会交替出现,呈现出流量大小不断的抖动 的现象,参见图l,为P2P流量统计示意图,以数据包长度阈值人=1000为例,其中,横坐标对应统计过程中信令流、数据流统计的次序,即出现信令流与数据流的先后顺序,纵坐标 为数据包的长度(单位为字节bytes),由图1可知,信令流和数量流交替出现的频率比较高, 流量大小的抖动范围比较大。
非P2P流量是通过非P2P软件下载数据实现的,而非P2P软件下载数据之前也会有信令 流的传输,例如建立TCP连接时需要传输信令流,但建立TCP连接之后,就不会传输信 令流,非P2P软件下载数据的过程中只传输数据流,因此流量大小相对稳定,不会有信令流 和数据流不断交替的现象。参见图2,为非P2P流量统计示意图,以数据包长度阈值A =1000 为例,其中,横坐标对应统计过程中信令流、数据流统计的次序,纵坐标为数据包的长度(单 位为字节bytes),由图2可知,信令流和数据流交替出现的次数很少,传输过程中数据包的 长度几乎都大于1000字节,即传输的数据包为数据流,流量大小比较稳定,很少出现抖动。
实施例1
本实施例提供了一种对等节点流量的识别方法,参见图3,本实施例提供的P2P流量的 识别方法包括
步骤101:监测两节点间传输的数据包;
本实施例以路由器进行监测数据包为例,通常路由器只会监测自身负责的局域网中的节 点是否正在使用P2P软件,路由器收到数据包后,査看数据包的源地址和目的地址,判断源 地址和目的地址对应的两节点是否为预监测的节点,如果是,采集此数据包;否则,不处理。
步骤102:获取监测到的数据包的长度,判断该数据包的长度是否大于设置的数据包长 度阈值,如果是,执行步骤103;否则,执行步骤104。
步骤103:该数据包为数据流。 歩骤104:该数据包为信令流。
步骤105:判断监测的时长是否大于预设统计时长,如果是,执行步骤106;否则,返回
步骤101。
预设统计时长为预先根据需要设置的统计时间,例如为20分钟。
其中步骤101至步骤105是对两节点间传输的数据包的监测过程,该监测过程用于更好 地识别两节点间传输的数据包是否为P2P流量,不作为对识别方法的限制,识别P2P流量也 可以通过其它方式获取信令流与数据流的统计数据。
歩骤106:统计预设统计时长内信令流和数据流交替出现的次数;
在信令流、数据流区分过程中存在着连续的信令流以及连续的数据流的情况。在这里, 为了便于根据信令流、数据流统计特征对流量进行识别,将连续的信令流仅记为一组信令流。例如,信令流、数据流区分过程中出现"信令流一信令流一信令流一数据流一数据流一数据 流一信令流一信令流一数据流一信令流"的流量,那么在统计的过程中则记为"信令流一数 据流一数据流一数据流一信令流一数据流一信令流",此时,信令流和数据流交替出现的次数 为4次。
歩骤107:判断统计出的次数是否大于预设交替次数,如果是,执行歩骤108;否则,执 行歩骤109;
其中,预设交替次数为预先设置,可以设置为3次。
步骤108:上述两节点间传输的流量为P2P流量,结束; 步骤109:上述两节点间传输的流量为非P2P流量,结束。
为了便于流量的识别,本实施例以O代表流量统计信息中的信令流,1代表流量统计信
息中的数据流,在此基础上,定义以下识别规则
如果在规定时间内,监测流量的信令流、数据流统计信息中存在下片段
信令一数据一[数据Xn] —信令一数据 的形式时,也就是0—l一[lXn] — 0—l的形式,便将其判定为P2P流量; 其中,[数据Xn]表示一个或多个连续的数据流。
例如,当识别过程中出现图4所示的流量信息统计序列,便可以根据规则将该监测流量 判定为P2P流量。
当路由器识别出两节点间传输的流量为P2P流量时,将会得知这两个节点正在使用P2P 软件,根据需要,可以对其中的某一个节点进行管理,例如限制其使用的带宽,如果管理 一段时间后,发现此节点不再使用P2P软件后,将解除管理。
本实施例通过统计一段时间内两节点间的流量特征,可以识别出两节点间传输的流量是 否为P2P流量,这种方法不需要解析数据包查看载荷的内容,避免了对加密数据包的应用层 解析,识别率比较高;同时,该方法实现容易,识别所花费的时间比较短。
实施例2
本实施例提供了一种对等节点流量的识别方法,本实施例的信令流和数据流的区分规则 同实施例l一样,不再详述。为了使识别结果更为准确,减小网络流量统计时的数据抖动对 识别结果的影响,在信令流和数据流统计的过程查看每段时间内的数据包的平均长度,以每 段时间内的数据包的平均长度作为判断流量特征的依据,根据数据包的平均长度将此段时间 传输的流量划分为信令流或数据流。
参见图5,本实施例提供的P2P流量的识别方法包括
9步骤201:监测两节点间传输的数据包;
歩骤202:获取预设时长内监测到的数据包的平均长度,判断该平均长度是否大于设置 的数据包长度阈值,如果是,执行步骤203;否则,执行歩骤204;
本实施例中的预设时长可以通过滑动窗口的机制实现,首先设置一定大小的时间间隔,
称为单位窗口,窗口大小单位为时间,如ms(毫秒)等, 一个滑动窗口可以包含N (N=3或者 其它合适的数值)个单位窗口, 一个滑动窗口代表一个预设时长。参见图6,其中加粗的窗 口即为滑动窗口,箭头代表移动方向,窗口内的每个小格子就是单位窗口,滑动窗口最前面 的打阴影的格子代表当前最新的流量。例如预设统计时长为20分钟,单位窗口的大小为l 分钟,滑动窗口的大小为3分钟,则先统计第一分钟到第三分钟内监测到的数据包的平均长 度,然后统计第二分钟到第四分钟内监测到的数据包的平均长度,依次类推,直到统计出第 18分钟到第20分钟内监测的数据包的平均长度。
因为信令的传输时间很短,为了能捕捉到信令的信息又不浪费时间,时间滑动窗口的时 间最好设置为平均信令传输时间的1/2 1/3。
歩骤203:该段预设时长内传输的数据包为数据流;
步骤204:该段预设时长内传输的数据包为信令流;
步骤205:判断监测的时长是否达到预设统计时长,如果是,执行步骤206;否则,返回
步骤201;
根据实际流量所对应的通信节点双方交互的特点,在检测过程中,发现连续较长数据包 (属于数据流)后,则在以后的统计过程中只记录与这些较长数据包同方向的数据包,即数 据包的源IP地址、目的IP地址均与这些长数据包中的源IP地址、目的地址相同,以达到监 测固定的两个节点间的流量的目的。
其中歩骤201至步骤205是对两节点间传输的数据包的监测过程,该监测过程用于更好 地识别两节点间传输的数据包是否为P2P流量,不作为对识别方法的限制,识别P2P流量也 可以通过其它方式获取信令流与数据流的统计数据。
步骤206:统计预设统计时长内信令流和数据流交替出现的次数;
歩骤207:判断统计出的次数是否大于预设交替次数,如果是,执行步骤208;否则,执
行步骤209;
歩骤208:上述两节点间传输的流量为P2P流量;
步骤209:上述两节点间传输的流量为非P2P流量。
本实施例也可以采用实施例1中提供的识别规则,即用o代表流量统计信息中的信令流,用1代表流量统计信息中的数据流,通过统计出的流量序列,判断流量是否为P2P流量,这 里不再详述。
本实施例通过查看每段时间内数据包的平均长度判断该段时间内的数据包类型(信令流 或数据流),这样既保证使用了实时的新数据,又考虑到近期的旧数据,能有效的防止统计数 据抖动对计算结果的影响,使结果更加准确;这种方法不仅可以识别出两节点间传输的流量 是否为P2P流量,而且,这种方法不需要解析数据包查看载荷的内容,避免了对加密数据包 的应用层解析,识别率比较高;同时,该方法实现容易,识别所花费的时间比较短。
实施例3
参见图7,本实施例提供了一种对等节点流量的识别装置,包括
统计模块,用于统计预设统计时长内两节点间传输的信令流与数据流交替出现的次数; 判断模块,用于判断统计模块所统计的两节点间传输的信令流与数据流交替出现的次数 是否大于预设次数;
流量识别模块,用于当判断模块判断的结果为两节点间传输的信令流与数据流交替出现 的次数大于预设次数时,两节点间传输的流量为对等节点流量。 进一歩地,该装置还包括
监测模块,用于监测预设统计时长内两节点间传输的数据包,根据数据包的长度确定数 据包为信令流或数据流。
其中,监测模块有两种实现方式,第一种实现方式为监测模块包括
监测单元,用于监测两节点间传输的数据包;
长度获取单元,用于获取监测单元所监测到的数据包的长度;
类型判断单元,用于判断长度获取单元获取的数据包的长度是否大于预设的长度阈值, 如果是,数据包为数据流;否则,数据包为信令流;
时长判断单元,用于判断监测单元的监测时长是否达到预设统计时长,如果是,停止监 测;否则,通知监测单元继续监测。
第二种实现方式为监测模块包括
监测单元,用于监测两节点间传输的数据包;
平均长度获取单元,用于获取预设时长内监测单元所监测到的两节点间传输的数据包的
平均长度;
类型判断单元,用于判断平均长度获取单元获取的数据包的平均长度是否大于预设的长 度阈值,如果是,预设时长内两节点间传输的数据包为数据流;否则,预设时长内两节点间
11传输的数据包为信令流;
时长判断单元,用于判断监测单元的监测时长是否达到预设统计时长,如果是,停止监 测;否则,通知监测单元继续监测。
本实施例提供的装置通过统计两节点间传输的数据包中的信令流与数据流交替出现的次 数,根据统计出的交替出现次数判断两节点间的流量是否为P2P流量,识别率比较高;同时,
识别所花费的时间比较短,容易实现。
并且,监测模块的第二种实现方式通过査看每段时间内数据包的平均长度,根据数据包 的平均长度判断该段时间内的数据包类型(信令流或数据流),既保证使用了实时的新数据, 又考虑到近期的旧数据,能有效的防止统计数据抖动对计算结果的影响,使识别结果更加准 确。
以上实施例通过统计一定时间段内流量中的信令流、数据流交替出现次数,通过交替出 现的次数的多少确定此流量是否为P2P流量,提高了识别P2P流量的效率和准确度,同时, 易于实现,比较适合使用。
以上实施例提供的技术方案中的全部或部分内容可以通过软件编程实现,其软件程序存 储在可读取的存储介质中,存储介质例如计算机中的硬盘、光盘或软盘。
以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之 内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
权利要求
1. 一种对等节点流量的识别方法,其特征在于,所述方法包括统计预设统计时长内两节点间传输的信令流与数据流交替出现的次数;判断所述两节点间传输的信令流与数据流交替出现的次数是否大于预设次数;如果是,所述两节点间传输的流量为对等节点流量。
2. 如权利要求1所述的对等节点流量的识别方法,其特征在于,所述统计预设统计时长 内两节点间传输的信令流与数据流交替出现的次数的步骤之前还包括监测预设统计时长内两节点间传输的数据包,根据所述数据包的长度确定所述数据包为 信令流或数据流。
3. 如权利要求2所述的对等节点流量的识别方法,其特征在于,所述监测预设统计时长 内两节点间传输的数据包,根据所述数据包的长度确定所述数据包为信令流或数据流的步骤 包括监测两节点间传输的数据包; 获取所述数据包的长度;判断所述数据包的长度是否大于预设的长度阈值,如果是,所述数据包为数据流;否则, 所述数据包为信令流;判断监测的时长是否达到预设统计时长,如果是,停止监测;否则,继续监测。
4. 如权利要求2所述的对等节点流量的识别方法,其特征在于,所述监测预设统计时长 内两节点间传输的数据包,根据所述数据包的长度确定所述数据包为信令流或数据流的步骤 包括监测两节点间传输的数据包;获取预设时长内所述两节点间传输的数据包的平均长度;判断所述数据包的平均长度是否大于预设的长度阈值,如果是,所述预设时长内两节点 间传输的数据包为数据流;否则,所述预设时长内两节点间传输的数据包为信令流; 判断监测的时长是否达到预设统计时长,如果是,停止监测;否则,继续监测。
5. 如权利要求4所述的对等节点流量的识别方法,其特征在于,所述预设时长的长度小 于信令平均传输时长。
6. 如权利要求4所述的对等节点流量的识别方法,其特征在于,当预设时长内监测到多 个连续的信令流时,将所述多个连续的信令流记为一组信令流。
7. —种对等节点流量的识别装置,其特征在于,所述装置包括统计模块,用于统计预设统计时长内两节点间传输的信令流与数据流交替出现的次数; 判断模块,用于判断所述统计模块所统计的两节点间传输的信令流与数据流交替出现的次数是否大于预设次数;流量识别模块,用于当所述判断模块判断的结果为所述两节点间传输的信令流与数据流交替出现的次数大于预设次数时,所述两节点间传输的流量为对等节点流量。
8. 如权利要求7所述的对等节点流量的识别装置,其特征在于,所述装置还包括 监测模块,用于监测预设统计时长内两节点间传输的数据包,根据所述数据包的长度确定所述数据包为信令流或数据流。
9. 如权利要求8所述的对等节点流量的识别装置,其特征在于,所述监测模块包括 监测单元,用于监测两节点间传输的数据包;长度获取单元,用于获取所述监测单元所监测到的数据包的长度;类型判断单元,用于判断所述长度获取单元获取的数据包的长度是否大于预设的长度阈 值,如果是,所述数据包为数据流;否则,所述数据包为信令流;时长判断单元,用于判断所述监测单元的监测时长是否达到预设统计时长,如果是,停 止监测;否则,通知所述监测单元继续监测。
10. 如权利要求8所述的对等节点流量的识别装置,其特征在于,所述监测模块包括 监测单元,用于监测两节点间传输的数据包;平均长度获取单元,用于获取预设时长内所述监测单元所监测到的两节点间传输的数据 包的平均长度;类型判断单元,用于判断所述平均长度获取单元获取的数据包的平均长度是否大于预设的长度阈值,如果是,所述预设时长内两节点间传输的数据包为数据流;否则,所述预设时 长内两节点间传输的数据包为信令流;时长判断单元,用于判断所述监测单元的监测时长是否达到预设统计时长,如果是,停 止监测;否则,通知所述监测单元继续监测。
全文摘要
本发明公开了一种对等节点流量的识别方法和装置,属于通信领域。所述方法包括统计预设统计时长内两节点间传输的信令流与数据流交替出现的次数;判断所述两节点间传输的信令流与数据流交替出现的次数是否大于预设次数;如果是,所述两节点间传输的流量为对等节点流量。所述装置包括统计模块、判断模块和流量识别模块。本发明通过统计一段时间内两节点间传输的数据包中的信令流与数据流交替出现的次数,当交替出现的次数大于预设次数时,两节点间传输的流量为P2P流量,这种P2P流量识别技术提高了识别的效率和准确度,同时,易于实现,比较适合使用。
文档编号H04L12/26GK101459546SQ20071017922
公开日2009年6月17日 申请日期2007年12月11日 优先权日2007年12月11日
发明者凯 卜, 孙知信, 宁 安, 峰 李, 梁丽娟, 陈松乐 申请人:华为技术有限公司;南京邮电大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1