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

文档序号:7762885阅读:354来源:国知局
专利名称:对等节点共享流量识别方法和装置的制作方法
技术领域
本发明实施例涉及网络技术领域,尤其是一种对等节点共享流量识别方法和装置。
背景技术
最近几年,对等节点(Peer to Peer,简称P2P)技术逐渐深入到信息共享、实时 通信、网络游戏、金融服务、信息检索、协同工作、普及计算和网络存储等众多领域,P2P技术 也因此日益受到计算机界的关注和青睐。然而,随着P2P业务在当前网络中的广泛应用, P2P用户抢占了大量的网络带宽,抢占带宽甚至高达60% 80%,仅将剩余带宽留给其他 用户,致使企业内部的业务无法正常运行;大量的网络带宽被P2P用户抢占也使得非P2P 用户不能得到应有的网络服务,给因特网服务提供商(Internet Service Provider,简称 ISP)造成压力,引起企业及ISP瓶颈链路的阻塞。进一步地,由于P2P业务本身是一种难以 管理的网络流量,其本身路由的无管理性给网络带来巨大负担和低效的流量,使得ISP增 量不增收,给ISP的可持续良性发展带来较大的压力。因此,为了确保其他正常网络用户的
服务,同时为了更好地发挥P2P技术的优势,P2P共享流量检测技术成为目前业内研究的一
个热点。现有技术中,采用深度报文检测(Deep Packet Inspection,简称DPI)技术识别 P2P共享流量,将事先收集到的各种P2P软件的各自标记性的字符串组成特征库,通过检查 数据包中的数据内容,将数据包中的内容与特征库里的字符串进行匹配,若能够找到与数 据包中的内容相匹配的字符串,则将该数据包判定为P2P共享流量。发明人在实施本发明的过程中发现,由于对P2P共享流量中的每个数据包均需要 进行字符串检测,因此增加了 P2P共享流量的检测时间,并且对检测系统的配置要求较高; 此外,若采用数据加密技术对P2P共享流量中的数据包进行加密处理,则根据P2P协议无法 检测加密后的数据包中的内容,从而无法获取数据包中的字符串,致使P2P共享流量检测 失败。

发明内容
本发明实施例的目的在于提供一种对等节点共享流量识别方法和装置,提高P2P 共享流量识别的效率和准确率。本发明实施例提供一种对等节点共享流量识别方法,包括获取数据报文的五元组信息,并根据所述五元组信息查找数据流表;如果在所述数据流表中不存在所述五元组信息,则将所述数据报文作为未识别的 流量,从所述五元组信息中提取所述流量的连接标识;在预设的连接特征库中查询所述流量的连接标识,所述预设的连接特征库中包括 流量的连接标识、时间戳和类型;当所述流量为用户数据包协议UDP流量时,如果在所述预设的连接特征库中查询到所述流量的连接标识,则查询其类型是否已确定,如果是且其类型为对等节点流量,则判 定所述流量为对等节点共享流量,如果否或者在所述预设的连接特征库中查询不到所述流 量的连接标识,则通过深度报文检测DPI技术对所述流量进行识别,根据识别结果确定所 述流量是否为对等节点共享流量;当所述流量为传输控制协议TCP流量时,如果在所述预设的连接特征库中查询到 所述流量的连接标识,则查询其类型是否已确定,如果是且其类型为对等节点流量,则判定 所述流量为对等节点共享流量;如果否,则查询其时间戳是否超期,如果未超期则判定所述 流量为对等节点共享流量。本发明实施例提供一种对等节点共享流量识别装置,包括查找模块,用于获取数据报文的五元组信息,并根据所述五元组信息查找数据流 表;提取模块,用于如果所述查找模块在所述数据流表中不存在所述五元组信息,则 将所述数据报文作为未识别的流量,从所述五元组信息中提取所述流量的连接标识;查询模块,用于在预设的连接特征库中查询所述流量的连接标识,所述预设的连 接特征库中包括流量的连接标识、时间戳和类型;第一识别模块,用于当所述流量为用户数据包协议UDP流量时,如果在所述预设 的连接特征库中查询到所述流量的连接标识,则查询其类型是否已确定,如果是且其类型 为对等节点流量,则判定所述流量为对等节点共享流量,如果否或者在所述预设的连接特 征库中查询不到所述流量的连接标识,则通过深度报文检测DPI技术对所述流量进行识 别,根据识别结果确定所述流量是否为对等节点共享流量;第二识别模块,用于当所述流量为传输控制协议TCP流量时,如果在所述预设的 连接特征库中查询到所述流量的连接标识,则查询其类型是否已确定,如果是且其类型为 对等节点流量,则判定所述流量为对等节点共享流量;如果否,则查询其时间戳是否超期, 如果未超期则判定所述流量为对等节点共享流量。本发明实施例提供的对等节点共享流量识别方法和装置,通过提取未识别流量的 连接标识,并根据提取到的流量的连接标识在预设的连接特征库中进行查询,根据查询结 果识别该流量是否为P2P共享流量。由于不需要将流量中的内容与特征库里的字符串进行 匹配,从而提高了检测P2P共享流量的效率;也正是由于避免了对P2P共享流量的内容进 行检测,因此当P2P共享流量为加密流量时,通过流量的连接标识仍可以检测出P2P共享流 量,因此提高了检测P2P共享流量的准确性。


为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现 有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本 发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可 以根据这些附图获得其他的附图。图1为本发明P2P共享流量识别方法一个实施例的流程示意图;图2为本发明P2P共享流量识别方法又一个实施例的流程示意图;图3为本发明P2P共享流量识别方法再一个实施例的流程示意图4为本发明P2P共享流量识别方法另一个实施例的流程示意图;图5为本发明P2P共享流量识别方法还一个实施例的流程示意图;图6为本发明P2P共享流量识别方法还再一个实施例的流程示意图;图7为本发明P2P共享流量识别方法再又一个实施例的流程示意图;图8为本发明实施例提供的P2P共享流量识别装置的第一种结构示意图;图9为本发明实施例提供的P2P共享流量识别装置的第二种结构示意图;图10为本发明实施例提供的P2P共享流量识别装置的第三种结构示意图。
具体实施例方式下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完 整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于 本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他 实施例,都属于本发明保护的范围。对于P2P文件共享应用,节点(Peer)之间一般存在两种类型的流量信令流与数 据流;其中,信令流用于交换文件信息和控制信息,数据流用于在节点之间传输文件。信令 流一般采用用户数据包协议(User DatagramProtocol,简称UDP)承载,其报文数和字节 数都比较小,目前几乎没有采用加密传输;数据流一般采用传输控制协议(Transmission Control Protocol,简称TCP)承载,报文数和字节数比较多,部分P2P文件共享协议采用 加密方式进行传输。图1为本发明P2P共享流量识别方法一个实施例的流程示意图,如图1所示,本实 施例包括如下步骤步骤101、获取数据报文的五元组信息,并根据获取到的五元组信息查找数据流表。其中,数据报文的五元组信息通常是指由源IP地址(Src_IP),源端口号(Src_ Port),目的IP地址(Dest_IP),目的端口号(Dest_Port)和传输层协议号组成的一个集合。 例如:192. 168.0. 110000TCP 121. 14. 88. 7680就构成了一个五元组。其意义是一个IP地 址为192. 168. 0. 1的终端通过端口 10000,利用TCP协议,和IP地址为121. 14. 88. 76、端口 为80的终端进行连接。由此可见,五元组信息可以唯一确定一个会话。步骤102、如果在数据流表中不存在上述获取到的数据报文的五元组信息,则将该 数据报文作为未识别流量,从五元组信息中提取该流量的连接标识。其中,由于连续的数据报文序列会不断地生成新的流量或更新已经存在的流量, 所以本步骤102中所说的未识别的流量可以是数据报文序列中新生成的流量,也可以是更 新的已经存在的流量。在规定时间内没有更新的流量,会实时或者周期性地老化。这里的规定时间可以 是用户自己配置的,也可以是传统意义下规定的64秒钟。需要说明的是,多个未识别的流量可以形成一条未识别流量的序列,可以按照顺 序对其进行P2P共享流量的识别。其中,流量的连接标识为流量的五元组信息中的一个或多个,流量的连接标识用 于表征流量的连接特征,即某一流量所连接的两端(即源端和目的端)之间所建立起来的相互关系。以P2P业务为例,TCP流和UDP流会同时存在相同的连接标识,通过连接标识来 反映连接关系;或者,也可以在流量连接的两端同时存在TCP流和UDP流等流量的连接标 识。对于步骤102需要补充说明的是,如果在数据流表中存在上述获取到的数据报文 的五元组信息,且流量类型为P2P共享流量,则可以直接判定上述数据报文属于P2P共享流量。步骤103、在预设的连接特征库中查询该流量的连接标识;其中,预设的连接特征库中,每一条记录都可以包括流量的连接标识、流量的时 间戳和流量的类型。流量的连接标识有很多种,不同的情况可以使用不同的连接标识表征 流量连接特征,流量的时间戳可以随时被更新,流量的类型可以是确定的类型,如P2P共享 流量,也可以是类型未知。步骤104、当流量为UDP流量时,如果在预设的连接特征库中查询到上述流量的连 接标识,则在相应的记录中查询该流量的类型是否已经确定;如果是,且其类型为P2P流量,则判定该流量为P2P共享流量;如果否,或者在预设的连接特征库中查询不到上述流量的连接标识,则通过DPI 技术对上述流量进行识别,并根据DPI技术的识别结果判断该流量是否为P2P共享流量。步骤105、当流量为TCP流量时,如果在预设的连接特征库中查询到该流量的连接 标识,则在相应的记录中查询该流量的类型是否已经确定;如果是,且其类型为P2P流量,则判定该流量为P2P共享流量;如果否,则在相应的记录中判断其时间戳是否超期,如果未超期则判定该流量为 P2P共享流量。本发明实施例提供的P2P共享流量识别方法,通过提取未识别流量的连接标识, 并根据提取到的流量的连接标识在预设的连接特征库中进行查询,根据查询结果识别该流 量是否为P2P共享流量。由于可以不将TCP流量中的内容与特征库里的字符串进行匹配, 从而提高了检测P2P共享流量的效率;由于可以避免对P2P共享流量的内容进行检测,因此 当P2P共享流量为加密流量时,通过流量的连接标识仍可以检测出P2P共享流量,因此提高 了检测P2P共享流量的准确性。图2为本发明P2P共享流量识别方法又一个实施例的流程示意图,本发明实施例 中的数据报文的类别具体可以为UDP信令流,如图2所示,本实施例包括如下步骤步骤201、当在数据流表中不存在已获取到的数据报文的五元组信息时,将数据报 文作为未识别的流量,提取其五元组信息中的IP地址和端口号,构成该流量的连接标识;其中,本实施例中采用五元组信息中的源IP地址和源端口号(Src-IP,Src-Port),以及目的IP地址和目的端口号(Dest-IP,Dest-Port)形成的两个(IP, Port)对作 为该UDP流量的连接标识。需要说明的是,在提取未识别的流量的连接标识之前,还可以包括这样一个可选 的步骤对该未识别的流量进行提前过滤。这种提前过滤具体指的是对于UDP信令流,如果该流量的报文数较多、字节数较 多,这种UDP信令流基本不是P2P共享流量,所以可以直接判定为非P2P共享流量,而无需提取其连接标识,也不需要在特征数据库中对这样的流量进行保存。这里所说的报文数较 多、字节数较多,可以理解为报文数超过5个、字节数超过2000字节。步骤202、根据上述UDP流量的连接特征,在预设的连接特征库中查找是否存在与 该流量的连接标识对应的匹配记录;如果存在,执行步骤204 ;如果不存在,执行步骤203。其中,连接特征库中的匹配记录可以如下所示{(IP, Port) (time_stamp, Type)}其中,IP表示该流量的IP地址,Port表示该流量的端口号,源IP地址与源端口 号为一组,目的IP地址与目的端口号为一组,time_Stamp表示使用该(IP,Port)对的流量 的最新时间戳,Type表示使用该(IP,Port)对的流量的类型。之所以连接特征库中的匹配 记录形式为上述形式,是充分利用了 P2P文件共享应用的UDP信令流和TCP数据流共享服 务端口号的特性。举例说明如下假设上述UDP流量的连接标识为(100. 100. 100. 1,1)和 (100. 100. 100. 2,2),并假设连接特征库中存在这样一条匹配记录{(100. 100. 100. 1,1), (100. 100. 100. 2,2) J2010年9月21日13点51分20秒,P2P共享流量},则可以判定,在 预设的连接特征库中存在与该流量的连接标识对应的匹配记录。步骤203、将该流量标识中的IP地址和端口号添加到连接特征库中作为一条新的 记录,并执行步骤205。步骤204、根据匹配记录中的类型确定该流量是否为P2P共享流量;如果是,则识别成功;如果否,执行步骤205。其中需要说明的是,如果(Src_IP,Src_Port)和(Dest_IP, Dest_Port)这两个 (IP,Port)对在连接特征库中不存在匹配项,或者,即使在连接特征库中存在匹配项而类型 未知,则均应执行步骤205。步骤205、对上述流量进行DPI检测,根据DPI的检测结果判断该流量是否为P2P
共享流量;如果成功识别该流量为P2P共享流量,则执行步骤206 ;如果无法成功识别该流量为P2P共享流量,则识别失败。需要说明的是,为了节约资源、提高效率,DPI检测可以仅比较UDP信令流有效载 荷(payload)的前面几个字节(具体检测的字节数可以根据具体情况而定),以避免复杂的 算法实现和昂贵的芯片成本等。步骤206、在连接特征库中更新该流量的时间戳和类型。通过将流量的时间戳和类型在连接特征库中进行更新,避免了该流量在连接特征 库中被老化。本发明实施例提供的P2P共享流量识别方法,通过获取包括有(Src_IP,Src_ Port)和(Dest_IP,Dest_Port)形成的两个(IP,Port)对的流量的连接标识,并在预设的 连接特征库中查找是否存在该两个(IP,Port)对所对应的匹配记录,根据匹配记录的时间 戳、类型确定该流量是否为P2P共享流量。由于不需要将数据报文的内容与特征库里的关 键字进行匹配,从而提高了检测P2P共享流量的效率;由于避免了对P2P共享流量的内容进行检测,因此当P2P共享流量为加密流量时,通过流量的连接标识仍可以检测出P2P共享流 量,因此提高了检测P2P共享流量的准确性。图3为本发明P2P共享流量识别方法再一个实施例的流程示意图,本发明实施例 中的数据报文的类别具体可以为TCP数据流,如图3所示,本实施例包括如下步骤步骤301、当在数据流表中不存在已获取到的数据报文的五元组信息时,将数据报 文作为未识别的流量,提取其五元组信息中的IP地址和端口号,构成流量的连接标识;其中,本实施例中采用源IP地址和源端口号(Src_IP,Src_Port),以及目的IP地 址和目的端口号(Dest_IP,Dest_P0rt)形成的两个(IP,Port)对作为该TCP流量的连接标 识。步骤302、根据上述TCP流量的连接标识,在预设的连接特征库中查找是否存在与 该流量的连接标识对应的匹配记录;如果存在,执行步骤303 ;如果不存在,本次识别失败。其中,连接特征库中的匹配记录可以如下所示{(IP, Port) (time_stamp, Type)}其中,IP表示该流量的IP地址,Port表示该流量的端口号,源IP地址与源端口号 为一组,目的IP地址与目的端口号为一组,time_Stamp表示使用该(IP,Port)对的流量的 最新时间戳,Type表示使用该(IP,Port)对的流量的类型。之所以连接特征库中的匹配记 录形式为上述形式,是充分利用了 P2P文件共享应用的UDP信令流和TCP数据流共享服务 端口号的特性。步骤303、根据匹配记录中的类型确定该流量是否为P2P共享流量;如果是,识别成功;如果否,执行步骤304。步骤304、检测该匹配记录中的时间戳是否超期;如果时间戳超期,识别失败;如果时间戳未超期,执行步骤305。步骤305、在连接特征库中更新该流量的时间戳和类型,识别成功;通过将流量的时间戳和类型在连接特征库中进行更新,避免了该流量在连接特征 库中被老化。本发明实施例提供的P2P共享流量识别方法,通过获取包括有(Src_IP,Src_ Port)和(Dest_IP,Dest_Port)形成的两个(IP,Port)对的流量的连接流量,并在预设的 连接特征库中查找是否存在该两个(IP,Port)对所对应的匹配记录,根据匹配记录的时间 戳、类型确定该流量是否为P2P共享流量。由于不需要将数据报文的内容与特征库里的关 键字进行匹配,从而提高了检测P2P共享流量的效率;由于避免了对P2P共享流量的内容进 行检测,因此当P2P共享流量为加密流量时,通过流量的连接标识仍可以检测出P2P共享流 量,因此提高了检测P2P共享流量的准确性。图4为本发明P2P共享流量识别方法另一个实施例的流程示意图,本发明实施例 中的数据报文的类别具体可以为UDP信令流,如图4所示,本实施例包括如下步骤步骤401、当在数据流表中不存在已获取到的数据报文的五元组信息时,将数据报文作为未识别的流量,提取其五元组信息中的IP地址,构成该流量的连接标识;其中,本实施例中采用UDP流量五元组信息中的源IP地址和目的IP地址(IP1, IP2)作为该UDP流量的连接标识。其中,IPl表示源IP地址时,IP2表示目的IP地址;IPl 表示目的IP地址时,IP2表示源IP地址。需要说明的是,在提取未识别的流量的连接标识之前,还可以包括这样一个可选 的步骤对该未识别的流量进行提前过滤。这种提前过滤具体指的是对于UDP信令流,如果该流量的报文数较多、字节 数较多,这种UDP信令流基本不是P2P共享流量,所以可以直接判定为非P2P共享流量, 而无需提取其连接标识,也不需要在特征数据库中对这样的流量进行保存。这里所说 的报文数较多、字节数较多,可以理解为报文数超过5个、字节数超过2000字节。这种 提前过滤还可以指的是排除域名系统(Domain Name System,简称为DNS)、网络基本 输入输出系统(NetworkBasic Input Output System,简称为NETBI0Q、网络时间协 议(Network TimeProtocol,简称为NTP)、互联网安全关联和密钥管理协议Qnternet SecurityAssociation and Key Management Protocol, fH 禾尔 % JSAKMP) > Wi M Μ, (streaming)、互联网中继聊天(Internet Relay Chat,简称为 IRC)、堵塞(gaming)等流
fio步骤402、根据上述UDP流量的连接标识,在预设的连接特征库中查找是否存在与 该流量的连接标识对应的匹配记录;如果存在,执行步骤404 ;如果不存在,执行步骤403。其中,连接特征库中的匹配记录可以如下所示{(IP1, IP2) :(UTS, TTS, Type)}其中,UTS表示该UDP流量的最新时间戳,TTS表示与该UDP流量同时存在的TCP 流量的最新时间戳,Type表示该UDP流量的类型。之所以连接特征库中的匹配记录形式为 上述形式,是充分利用了 P2P节点之间在相对比较短的时间之内一般会同时存在TCP连接 和UDP会话的特性。步骤403、将该流量标识中的源IP地址和目的IP地址添加到连接特征数据库中作 为一条新的记录,执行步骤405。步骤404、根据匹配记录中的类型确定该流量是否为P2P共享流量;如果是,识别成功;如果否,执行步骤405。其中需要说明的是,如果(IP1,IP2)在连接特征库中不存在匹配记录,或者,即使 在连接特征库中存在匹配记录而类型未知,则均应执行步骤405。步骤405、对上述流量进行DPI检测,根据DPI的检测结果判断该流量是否为P2P
共享流量;如果成功识别该流量为P2P共享流量,则执行步骤406 ;如果无法成功识别该流量为P2P共享流量,则识别失败。需要说明的是,为了节约资源、提高效率,DPI检测可以仅比较UDP信令流有效载荷(payload)的前面几个字节(具体检测的字节数可以根据具体情况而定),以避免复杂的 算法实现和昂贵的芯片成本等。步骤406、在连接特征库中更新该流量的时间戳和类型。通过将流量的时间戳和类型在连接特征库中进行更新,避免了该流量在连接特征 库中被老化。步骤406、将该五元组信息中的IPl和IP2添加到连接特征库中,识别成功。本发明实施例提供的P2P共享流量识别方法,通过获取包括有IPl和IP2的流量 的连接标识,并在预设的连接特征库中查找是否存在IPl和IP2所对应的匹配记录,根据匹 配记录的时间戳、类型确定该流量是否为P2P共享流量。由于不需要将数据报文的内容与 特征库里的关键字进行匹配,从而提高了检测P2P共享流量的效率;由于避免了对P2P共享 流量的内容进行检测,因此当P2P共享流量为加密流量时,通过流量的连接标识仍可以检 测出P2P共享流量,因此提高了检测P2P共享流量的准确性。图5为本发明P2P共享流量识别方法还一个实施例的流程示意图,本发明实施例 中的数据报文的类别具体可以为TCP信令流,如图5所示,本实施例包括如下步骤步骤501、当在数据流表中不存在已获取到的数据报文的五元组信息时,将数据报 文作为未识别的流量,提取其五元组信息中的IP地址,构成该流量的连接标识;其中,本实施例采用TCP流量五元组信息中的源IP地址和目的IP地址(IPl,IP2) 作为该TCP流量的连接标识。其中,IPl表示源IP地址时,IP2表示目的IP地址;IPl表示 目的IP地址时,IP2表示源IP地址。步骤502、根据上述TCP流量的连接标识,在预设的连接特征库中查找是否存在与 该流量的连接标识对应的匹配记录;如果存在,执行步骤503 ;如果不存在,识别失败。其中,连接特征库中的匹配记录可以如下所示{(IP1, IP2) :(UTS, TTS, Type)}其中,UTS表示与该TCP流量同时存在的UDP流量的最新时间戳,TTS表示该TCP 流量的最新时间戳,Type表示与该TCP流量同时存在的UDP流量的类型。之所以连接特征 库中的匹配记录形式为上述形式,是充分利用了 P2P节点之间在相对比较短的时间之内一 般会同时存在TCP连接和UDP会话的特性。步骤503、检测该匹配记录中的时间戳是否超期;如果时间戳超期,识别失败;如果时间戳未超期,执行步骤504。步骤504、在连接特征库中更新该TCP流量对应的时间戳,识别成功。通过将TCP流量对应的时间戳在连接特征库中进行更新,避免了该TCP流量在连 接特征库中被老化。本发明实施例提供的P2P共享流量识别方法,通过获取包括有IPl和IP2的流量 的连接标识,并在预设的连接特征库中查找是否存在IPl和IP2所对应的匹配记录,根据匹 配记录的时间戳、类型确定该流量是否为P2P共享流量。由于不需要将数据报文的内容与 特征库里的关键字进行匹配,从而提高了检测P2P共享流量的效率;由于避免了对P2P共享流量的内容进行检测,因此当P2P共享流量为加密流量时,通过流量的连接标识仍可以检 测出P2P共享流量,因此提高了检测P2P共享流量的准确性。图6为本发明P2P共享流量识别方法还再一个实施例的流程示意图,本发明实施 例中的数据报文的类别具体可以为TCP报文中的同步报文(简称TCP同步报文),本实施例 主要应用在边界接入路由器如宽带远程接入服务器(Broadband Remote Access Server, 简称为BRAS)或企业边界路由器等。如图6所示,本实施例包括如下步骤步骤601、获取该TCP同步报文中提供文件共享服务的节点的IP地址和Port号构 成该流量的连接标识;其中,本实施例采用TCP同步报文中提供文件共享服务的节点的IP地址和Port 号作为该TCP同步报文流量的连接标识。其中,提供文件共享服务的节点的IP地址和Port号可以从内部网络IP发出的 ACK+SYN (应答+握手)报文中获得。步骤602、根据上述TCP同步报文流量的连接标识,在预设的连接特征库中查找是 否存在与该流量的连接标识对应的匹配记录;如果存在,执行步骤604 ;如果不存在,执行步骤603。其中,连接特征库中匹配项可以如下所示{(Serv_IP, Serv_Port) :(Type, [(IP, Port, TS)])}其中,Serv_IP和krV_Port表示提供文件共享服务的节点的IP地址和端口 (Port)号,Type表示该服务端口提供的服务类型;(IP、Port、TS)分别表示与该关键字 (Serv_IP, Serv_Port)相连接的客户节点的IP地址、端口(Port)号、最新的时间戳。步骤603、将该提供服务的节点的IP地址和Port插入到连接特征库中作为一条新 的记录。步骤604、更新连接特征库中的该流量对应的IP地址和Port号。步骤605、根据匹配记录中该提供服务的节点的类型确定该流量是否为P2P共享
流量;如果是,识别成功;如果否,执行步骤606。步骤606、判断该流量的连接标识是否具备P2P文件共享业务的服务特征;如果具备服务特征,则识别成功;如果不具备服务特征,则识别失败。其中,P2P文件共享业务的服务特征为P2P文件共享业务特有的一种特征,可以有 效区分P2P文件共享业务与其他类型文件共享业务。本实施例提供的P2P共享流量识别方法,利用P2P文件共享应用的另外一个连接 标识,即与提供服务的(IP,Port)相连接的IP地址和Port号基本相等构造连接特征库; 本实施例描述了内网发出的TCP同步报文的处理流程,该处理流程用于生成连接特征库并 判断P2P业务类型。需要说明的是在实际的网络部署中,为了降低P2P文件共享业务识别 的误识别率,还需要将一些类似特征的业务排除掉,例如简单邮件传输协议(Simple Mail jTransferProtocol,简称为SMTP)服务、DNS 服务、Gaming 和恶意代码(malware)。
图7还给出了普通的TCP/UDP报文的识别流程,该识别流程比较简单,直接用流报 文的内网(IP,Port)查询连接数据库即可,由于与图6所示的流程相近似,此处不做赘述。图8为本发明实施例提供的P2P共享流量识别装置的一种结构示意图,如图8所 示,该P2P共享流量识别装置包括查找模块801、提取模块802、查询模块803、第一识别模 块804和第二识别模块805。其中,查找模块801,用于获取数据报文的五元组信息,并根据 五元组信息查找数据流表;提取模块802,用于如果查找模块801在数据流表中不存在五元 组信息,则将数据报文作为未识别的流量,从五元组信息中提取流量的连接标识;查询模块 803,用于在预设的连接特征库中查询流量的连接标识,预设的连接特征库中包括流量的连 接标识、时间戳和类型;第一识别模块804,用于当流量为用户数据包协议UDP流量时,如果 在预设的连接特征库中查询到流量的连接标识,则查询其类型是否已确定,如果是且其类 型为对等节点流量,则判定流量为对等节点共享流量,如果否或者在预设的连接特征库中 查询不到流量的连接标识,则通过深度报文检测DPI技术对流量进行识别,根据识别结果 确定流量是否为对等节点共享流量;第二识别模块805,用于当流量为传输控制协议TCP流 量时,如果在预设的连接特征库中查询到流量的连接标识,则判断其类型是否已确定,如果 是且其类型为对等节点流量,则判定流量为对等节点共享流量;如果否,则判断其时间戳是 否超期,如果未超期则判定流量为对等节点共享流量。图9为本发明实施例提供的P2P共享流量识别装置的第二种结构示意图,如图9 所示,该P2P共享流量识别装置还包括判定模块806,用于如果查找模块801在数据流表中存在五元组信息,且类型为对 等节点共享流量,则判定数据报文属于对等节点共享流量。如上所述的对等节点共享流量识别装置,一种实施方式下,提取模块802包括第一单元,用于提取五元组信息中的源IP和目的IP ;相应的,预设的连接特征库中包括流量的源IP和目的IP,流量中UDP流量的最新 时间戳、流量中TCP流量的最新时间戳和流量中UDP流量的类型。如上所述的对等节点共享流量识别装置,一种实施方式下,提取模块802包括第二单元,用于提取五元组信息中的源IP、源端口号以及目的IP、目的端口号;相应的,预设的连接特征库中包括流量的源IP、源端口号以及目的IP、目的端口 号、流量的最新时间戳和流量的应用类型。如上所述的对等节点共享流量识别装置,另一种实施方式下,提取模块802包括第三单元,用于当流量为TCP同步报文时,提取流量中的提供共享服务节点的IP 地址和端口号;相应的,预设的连接特征库中包括提供共享服务节点的IP地址和端口号、服务端 口提供的服务类型以及与该提供共享服务节点的IP地址、端口号相连接的客户节点IP地 址、端口号和最新时间戳。如上所述的对等节点共享流量识别装置,第一识别模块804还包括添加单元,用于在利用深度报文检测DPI技术对流量进行识别之前,将流量的连 接标识作为新的记录添加到预设的连接特征库中。图10为本发明实施例提供的P2P共享流量识别装置的第三种结构示意图,如图10 所示,该P2P共享流量识别装置还包括
更新模块807,用于根据第一识别模块804和/或第二识别模块805的识别结果更 新预设的连接特征库。本发明实施例提供的P2P共享流量识别装置,通过提取流量的连接特征,并根据 提取到的流量的连接标识在预设的连接特征库中进行查询,根据查询结果识别该流量是否 为P2P共享流量,由于不需要将TCP流量中的内容与特征库里的字符串进行匹配,从而提高 了检测P2P共享流量的效率;由于避免了对P2P共享流量的内容进行检测,因此当P2P共享 流量为加密流量时,通过包含有流量的连接标识仍可以检测出P2P共享流量,因此提高了 检测P2P共享流量的准确性。本发明的各种实施例可以单独实施,也可以组合起来实施,或者作为其他业务识 别引擎的补充。所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的 系统、设备、模块和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不 再赘述。本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过程序 指令相关的硬件来完成,前述的程序可以存储于一计算机可读取存储介质中,该程序在执 行时,执行包括上述方法实施例的步骤;而前述的存储介质包括R0M、RAM、磁碟或者光盘 等各种可以存储程序代码的介质。最后应说明的是以上实施例仅用以说明本发明的技术方案,而非对其限制;尽 管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解其依然 可以对前述各实施例所记载的技术方案进行修改或者对其中部分技术特征进行等同替换; 而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和 范围。
权利要求
1.一种对等节点共享流量识别方法,其特征在于,包括获取数据报文的五元组信息,并根据所述五元组信息查找数据流表;如果在所述数据流表中不存在所述五元组信息,则将所述数据报文作为未识别的流 量,从所述五元组信息中提取所述流量的连接标识;在预设的连接特征库中查询所述流量的连接标识,所述预设的连接特征库中包括流量 的连接标识、时间戳和类型;当所述流量为用户数据包协议UDP流量时,如果在所述预设的连接特征库中查询到所 述流量的连接标识,则查询其类型是否已确定,如果是且其类型为对等节点流量,则判定所 述流量为对等节点共享流量,如果否或者在所述预设的连接特征库中查询不到所述流量的 连接标识,则通过深度报文检测DPI技术对所述流量进行识别,根据识别结果确定所述流 量是否为对等节点共享流量;当所述流量为传输控制协议TCP流量时,如果在所述预设的连接特征库中查询到所述 流量的连接标识,则查询其类型是否已确定,如果是且其类型为对等节点流量,则判定所述 流量为对等节点共享流量;如果否,则查询其时间戳是否超期,如果未超期则判定所述流量 为对等节点共享流量。
2.根据权利要求1所述的对等节点共享流量识别方法,其特征在于,所述从所述五元 组信息中提取所述流量的连接标识,包括提取所述五元组信息中的源IP地址和目的IP地址;相应的,所述预设的连接特征库中包括流量的源IP地址和目的IP地址,流量中UDP流 量的最新时间戳、流量中TCP流量的最新时间戳和流量中UDP流量的类型。
3.根据权利要求1所述的对等节点共享流量识别方法,其特征在于,所述从所述五元 组信息中提取所述流量的连接标识,包括提取所述五元组信息中的源IP地址、源端口号以及目的IP地址、目的端口号;相应的,所述预设的连接特征库中包括流量的源IP地址、源端口号以及目的IP地址、 目的端口号、流量的最新时间戳和流量的类型。
4.根据权利要求1所述的对等节点共享流量识别方法,其特征在于,所述从所述五元 组信息中提取所述流量的连接标识,包括当所述流量为TCP报文中的同步报文时,提取所述流量中的提供共享服务节点的IP地 址和端口号;相应的,所述预设的连接特征库中包括提供共享服务节点的IP地址和端口号、服务端 口提供的服务类型以及与该提供共享服务节点的IP地址、端口号相连接的客户节点IP地 址、端口号和最新时间戳。
5.根据权利要求1所述的对等节点共享流量识别方法,其特征在于,所述通过深度报 文检测DPI技术对所述流量进行识别之前,还包括将所述流量的连接标识作为新的记录添加到所述预设的连接特征库中。
6.根据权利要求1至5中任一项所述的对等节点共享流量识别方法,其特征在于,还包括根据识别结果更新所述预设的连接特征库。
7.一种对等节点共享流量识别装置,其特征在于,包括查找模块,用于获取数据报文的五元组信息,并根据所述五元组信息查找数据流表;提取模块,用于如果所述查找模块在所述数据流表中不存在所述五元组信息,则将所 述数据报文作为未识别的流量,从所述五元组信息中提取所述流量的连接标识;查询模块,用于在预设的连接特征库中查询所述流量的连接标识,所述预设的连接特 征库中包括流量的连接标识、时间戳和类型;第一识别模块,用于当所述流量为用户数据包协议UDP流量时,如果在所述预设的连 接特征库中查询到所述流量的连接标识,则查询其类型是否已确定,如果是且其类型为对 等节点流量,则判定所述流量为对等节点共享流量,如果否或者在所述预设的连接特征库 中查询不到所述流量的连接标识,则通过深度报文检测DPI技术对所述流量进行识别,根 据识别结果确定所述流量是否为对等节点共享流量;第二识别模块,用于当所述流量为传输控制协议TCP流量时,如果在所述预设的连接 特征库中查询到所述流量的连接标识,则查询其类型是否已确定,如果是且其类型为对等 节点流量,则判定所述流量为对等节点共享流量;如果否,则查询其时间戳是否超期,如果 未超期则判定所述流量为对等节点共享流量。
8.根据权利要求7所述的对等节点共享流量识别装置,其特征在于,所述提取模块包括第一单元,用于提取所述五元组信息中的源IP地址和目的IP地址; 相应的,所述预设的连接特征库中包括流量的源IP地址和目的IP地址,流量中UDP流 量的最新时间戳、流量中TCP流量的最新时间戳和流量中UDP流量的类型。
9.根据权利要求7所述的对等节点共享流量识别装置,其特征在于,所述提取模块包括第二单元,用于提取所述五元组信息中的源IP地址、源端口号以及目的IP地址、目的 端口号;相应的,所述预设的连接特征库中包括流量的源IP地址、源端口号以及目的IP地址、 目的端口号、流量的最新时间戳和流量的类型。
10.根据权利要求7所述的对等节点共享流量识别装置,其特征在于,所述提取模块包括第三单元,用于当所述流量为TCP报文中的同步报文时,提取所述流量中的提供共享 服务节点的IP地址和端口号;相应的,所述预设的连接特征库中包括提供共享服务节点的IP地址和端口号、服务端 口提供的服务类型以及与该提供共享服务节点的IP地址、端口号相连接的客户节点IP地 址、端口号和最新时间戳。
11.根据权利要求7所述的对等节点共享流量识别装置,其特征在于,所述第一识别模 块还包括添加单元,用于在利用深度报文检测DPI技术对所述流量进行识别之前,将所述流量 的连接标识作为新的记录添加到所述预设的连接特征库中。
12.根据权利要求7至11中任一项所述的对等节点共享流量识别装置,其特征在于,还 包括更新模块,用于根据第一识别模块和/或第二识别模块的识别结果更新所述预设的连 接特征库。
全文摘要
本发明实施例涉及一种对等节点共享流量识别方法和装置,方法包括获取数据报文的五元组信息,并根据五元组信息查找数据流表;如果在数据流表中不存在五元组信息,则将数据报文作为未识别的流量,提取流量的连接标识;在预设的连接特征库中查询流量的连接标识;当为UDP流量时,如果在连接特征库中查询到流量的连接标识,则判断其类型是否已确定,如果否或者在预设的连接特征库中查询不到流量的连接标识,则通过DPI对流量进行识别;当为TCP流量时,如果在连接特征库中查询到流量的连接标识,则判断类型是否已确定,如果否,则判断其时间戳是否未超期,如果是则判定流量为P2P共享流量。
文档编号H04L12/56GK102148854SQ20101051653
公开日2011年8月10日 申请日期2010年10月19日 优先权日2010年10月19日
发明者夏忠其, 詹翀, 陈洪飞, 马塞尔·瓦德佛格, 龚钧 申请人:华为数字技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1