识别p2p数据的方法和装置的制作方法

文档序号:7653552阅读:136来源:国知局
专利名称:识别p2p数据的方法和装置的制作方法
技术领域
本发明涉及通信技术,特别涉及识别P2P数据的方法和装置。
背景技术
网络平台迅速发展的今天,P2P技术以其特有优势赢得了越来越广泛的应用。 P2P有两种相近含义,一是作为peer-to-peer的缩写,表示“对等联网”的意思;二是作为 point-to-point的缩写,表示“点对点”下载的意思。一个P2P连接建立后,一个客户机终 端下载另一个服务器终端(相当于)的数据时,该客户机终端同时作为服务器终端的服务 器,也提供资源供服务器终端下载,实现对等联网下的点对点下载。这种信息共享技术,执 行下载业务的终端机越多,速度越快。正是这种独特功能给用户带来了极大便利。但是,由于P2P用户共享的文件大多是最新或最流行的信息,下载这些信息的用 户往往在某时刻迅猛增加,导致很大一部分网络带宽资源被P2P流量占用,从而严重影响 到其他用户正常使用WEB、Email以及视频点播等业务。因此,实时地对P2P数据流采取限 流措施极为必要。限流的前提是从网络传输的众多数据流中识别出P2P数据。现有技术中 识别P2P数据的方法如附图1所示,该方法通过将接受数据与P2P数据预设识别特征进行 匹配的方式截获P2P数据,这些预设识别特征是通过统计分析现有P2P软件收发的P2P数 据的共同特征获得的。然而,P2P软件种类丰富、更新周期短,P2P数据的共同特征不断发生 变化,识别P2P数据的P2P数据识别特征往往不能及时随之更新,这导致具有新特征的P2P 数据被大量“漏检”,降低了 P2P数据的识别率,进而影响了 P2P数据流的限流效果。

发明内容
有鉴于此,本发明提供了一种在P2P数据识别特征没有及时更新的情况下实现 P2P数据识别的方法,该方法通过记录P2P数据的地址的方式识别出那些改变了特征的P2P 数据,提高了 P2P数据的识别率,从而有利于改善对P2P数据流的限流效果。本发明提供的一种识别P2P数据的方法包括接收数据;A判断步骤判断所述数据是否符合P2P数据预设识别特征,如果是,则将该数据 判定为P2P数据,并将该数据的目的地址记录到地址池,返回接收数据的步骤;如果否,则 进入B判断步骤;B判断步骤判断所述地址池是否为空,如果是,则返回接收数据的步骤;如果否, 则进入C判断步骤;C判断步骤判断所述A判断步骤未判定为P2P数据的数据目的地址是否记录于 地址池,如果是,则判定为P2P数据,结束流程;如果否,则返回接收数据的步骤。优选地,所述将接收的数据判定为P2P数据并将该数据的目的地址记录到地址池 后进一步包括判断所述P2P数据是否包含源地址,如果是,则将该数据的源地址记录到地址池,返回接收数据的步骤;如果否,则向所述P2P数据的目的地址终端发送查询源地址请求以 便获取所述P2P数据的源地址,获得所述源地址后将该源地址记录到地址池,返回接收数 据的步骤;所述源地址在所述P2P数据的目的地址终端向所述P2P数据的源地址终端发送 的数据中将作为目的地址。优选地,所述将接收的数据判定为P2P数据并记录该数据目的地址后进一步包 括将所述P2P数据的端口号记录到端口池,则B判断步骤为所述判断地址池和/或端口池是否为空,如果是,则返回接收数据的步骤;如果 否,则判断所述端口号是否记录于端口池,若是,则进入C判断步骤,若否,则返回接收数据 的步骤。优选地,所述地址包括IP地址或物理地址。本发明提供的一种识别P2P数据的装置包括数据接收单元、A判断单元、B判断单元和C判断单元,其中所述数据接收单元,用于接收数据;所述A判断单元,用于判断所述数据是否符合P2P数据预设识别特征,如果是,则 将该数据判定为P2P数据,并将该数据的目的地址记录到地址池,并触发所述数据接收单 元;如果否,则触发所述B判断单元;所述B判断单元,用于判断所述地址池是否为空,如果是,则触发所述数据接收单 元;如果否,则触发第三判断单元;所述C判断单元,用于判断所述A判断单元未判定为P2P数据的数据目的地址是 否被记录,如果是,则判定为P2P数据,结束流程;如果否,则触发所述数据接收单元。优选地,所述装置还包括D判断单元,用于在所述A判断单元将接收的数据判定 为P2P数据并将该数据的目的地址记录到地址池后,判断所述P2P数据是否包含源地址, 如果是,则将该数据的源地址记录到地址池,并触发所述数据接收单元;如果否,则向所述 P2P数据的目的地址终端发送查询源地址请求以便获取所述P2P数据的源地址,获得所述 源地址后将该源地址记录到地址池,并触发所述数据接收单元;所述源地址在所述P2P数 据的目的地址终端向所述P2P数据的源地址终端发送的数据中将作为该数据的目的地址。优选地,所述装置还包括记录单元,用于在所述A判断单元将接收的数据判定为 P2P数据并记录该数据目的地址后,将所述P2P数据的端口号记录到端口池;则所述B判断单元用于判断地址池和/或端口池是否为空,如果是,则触发所述数 据接收单元;如果否,则判断所述端口号是否记录于端口池,若是,则触发所述C判断单元, 若否,则触发所述数据接收单元。优选地,所述地址包括IP地址或物理地址。本发明提供的另一种识别P2P数据的方法包括接收数据;第一判断步骤判断所述数据的目的地址是否记录于地址池,如果是,则判定为 P2P数据,返回接收数据的步骤;如果否,则进入第二判断步骤;第二判断步骤判断所述地址池是否为空,如果是,则返回接收数据的步骤;如果 否,则进入第三判断步骤;
第三判断步骤判断所述第一判断步骤未判定为P2P数据的数据是否符合P2P数 据预设识别特征,如果是,则将该数据判定为P2P数据,并将该数据的目的地址记录到地址 池,结束流程;如果否,则返回接收数据的步骤。本发明提供的另一种识别P2P数据的装置包括数据接收单元、第一判断单元、第二判断单元和第三判断单元,其中所述数据接收单元,用于接收数据;第一判断单元,用于判断所述数据的目的地址是否记录于地址池,如果是,则判定 为P2P数据,触发所述数据接收单元;如果否,则触发所述第二判断单元;第三判断单元,用于判断所述地址池是否为空,如果是,则触发所述数据接收单 元;如果否,则触发所述第三判断步骤;第三判断单元,用于判断所述第一判断单元未判定为P2P数据的数据是否符合 P2P数据预设识别特征,如果是,则将该数据判定为P2P数据,并将该数据的目的地址记录 到地址池,结束流程;如果否,则触发所述数据接收单元。本发明在利用P2P数据识别特征识别出P2P数据后,记录该P2P数据的目的地址 以用于判断后续数据是否同样是发送给该目的地址的数据,如果是,则识别为P2P数据,进 而更多地识别出P2P数据,提高了 P2P数据的识别率。


图1为现有技术中识别P2P数据的方法流程图2为P2P连接建立与通信的时令图3为本发明的方法实施例1的流程图4为本发明的方法实施例1的P2P数据的报文格式示意图
图5为本发明的方法实施例2的数据流向示意图6为本发明的方法实施例2的流程图7为本发明的方法实施例3的流程图8为本发明的方法实施例4的流程图。
图9为本发明的方法实施例5的流程图10为本发明的装置实施例6的组成框图11为本发明的方法实施例7的流程图12为本发明的装置实施例8的组成框图。
具体实施例方式
本发明的主要思想是通过记录P2P数据的目的地址的方式识别出那些改变了特 征的P2P数据,从而提高P2P数据的识别率。P2P数据是P2P连接建立后由一个终端发送给 另一个终端的信息。附图2所示为P2P连接建立与通信的时令图。第一终端向第二终端发 送建立P2P连接请求,第二终端监测到该请求后予以应答;第一移动终端随后发送配置请 求帧(configure-request),用于协商双方的配置事项,第二终端接收到该配置请求后完成 配置事项,并向第一终端发送配置确认帧(configure-ack);双方成功建立连接后,链路即 可进行数据通信的打开状态;通信结束后,双方释放链路,回归终止状态。P2P连接建立过程中每个终端的地址均被对方记录,因此,为减小数据长度,在双方发送的数据中可能仅有 目的地址。本发明所称的P2P数据识别特征是通过统计分析现有P2P软件收发的P2P数据 的共有特征得到的,这些特征依据不同标准可作不同分类根据特征所处结构层级不同,可 分为应用层特征、运输层特征、网络层特征以及数据链路层特征;根据特征数量分为单包特 征和多包特征,前者指通过一个报文的信息即可识别P2P数据的特征,后者指必须通过多 个报文信息的组合才能识别P2P数据的特征;根据特征种类可分为端口特征、长度特征、固 定内容特征、滑动内容特征、对等特征、运算特征、排除特征等等。P2P数据识别时可单独使 用某一识别特征,也可几个特征复用。实施例一附图3为本发明的方法实施例1的流程图。本实施例中,P2P数据识别特征为 “GET/armoimce”,该特征为应用层特征、单包特征,它位于报文首部,信息数据位于数据部 分。报文首部除P2P数据识别特征外,还包括P2P数据发送到指定主机(接收端)的IP地 址(目的IP地址),有些P2P数据报文中还包括数据发送端的IP地址(源IP地址)。该 数据报文的格式如附图4(a)所示。由于新P2P软件层出不穷,新P2P软件发送的数据报文 中有些仍然包含“GET/armoimce”的P2P数据识别特征,有些数据报文的首部可能已写入新 的特征,比如“GET/data”,如附图4 (b)所示,如果仍然采用原来的P2P数据识别特征进行 P2P数据识别,将无法识别出包含“GET/data”特征的P2P数据报文。本实施例给出的识别 P2P数据的方法既能识别带旧有特征的P2P数据,又能一定程度上识别出具有新特征的P2P 数据。该方法包括如下步骤步骤101 接收数据;步骤102 判断所述数据是否包含P2P数据预设识别特征“GET/armoimce”特征, 如果是,则执行步骤102(a)判定为P2P数据,将该数据向下传递到网络层组装成IP数据 报,并将所述IP数据报首部的目的IP地址记录到地址池,返回步骤101 ;如果否,进入步骤 103 ;步骤103 判断所述地址池是否为空,如果是,则返回步骤101 ;若否,则执行步骤 103(a)将该数据向下传递到网络层组装成IP数据报,进入步骤104 ;步骤104 判断步骤102未判定为P2P数据的数据报文首部的目的IP地址是否已 记录于地址池,如果是,则执行步骤104 (a)判定为P2P数据,结束流程;如果否,返回步骤 101。本实施例从具有P2P数据识别特征的数据报文中提取出目的终端的IP地址,利用 该IP地址识别出那些发送给同一终端但不具有P2P数据预设识别特征的P2P数据。与现 有技术相比,本实施例可识别出更多的P2P数据,提高了 P2P数据识别率,进而可以针对这 些被识别出来的P2P数据采取限流措施,实现更好地流量控制。实施例二由上述实施例的描述可知,虽然按照该实施例的方法能够识别出更多的P2P数据 进而提高P2P数据的识别率,但是这种识别仅是单向识别,即仅能识别出由发送端主机发 向接收端主机的数据报文。对于P2P连接而言,最大的特点在于双向互为服务器,也就是说 在发送端主机向接收端主机(第一方向)发送P2P数据报文时,同时所述接收端主机作为 服务器也在向发送端(第二方向)发送P2P数据报文,采用上述实施例的方式将无法识别出第二个方向的P2P数据。因此,为尽可能多地识别出P2P数据,本发明优选对P2P连接的 两个终端的IP地址均予以记录。如果P2P数据报文包含发送端主机IP地址(源主机IP 地址),则可直接记录该IP地址,如果P2P数据报文中不包含发送端主机IP地址(源主机 IP地址),则向接收端发送IP地址请求报文,请求接收端传送与其建立P2P连接的终端的 IP地址,然后记录该IP地址,将该IP地址用于对第二方向传输的P2P数据报文进行识别。 参见附图5和6,该实施例所述方法包括的步骤如下步骤201:接收数据;步骤202 判断所述数据是否包含P2P数据预设识别特征“GET/armoimce”特征, 如果是,则执行步骤202(a)判定为P2P数据,将该数据向下传递到网络层组装成IP数据 报,并将所述IP数据报首部的目的IP地址记录到地址池,进入步骤203 ;如果否,进入步骤 204 ;步骤203 判断所述数据报文的首部是否包含源地址,如果是,则执行步骤 203(a)将该数据的源IP地址记录到地址池,返回步骤201 ;如果否,则执行步骤203(b) 向所述P2P数据的目的IP地址终端发送查询所述数据报文源IP地址请求以便获取所述 P2P数据的源IP地址,获得所述源IP地址后将该源IP地址记录到地址池,返回步骤201 ;步骤204:判断所述地址池是否为空,若是,则进入步骤201 ;若否,则执行步骤 204(a)将该数据向下传递到网络层组装成IP数据报,进入步骤205 ;步骤205 判断步骤202未判定为P2P数据的数据报文首部的目的IP地址是否已 记录于地址池,如果是,则执行步骤205(a)判定为P2P数据,结束流程;如果否,返回步骤 201。本实施例中通过记录目的IP地址和源IP地址,既可利用地址池记录的目的IP地 址识别由发送端发送给接收端的P2P数据,又可利用地址池记录的源IP地址识别出由接收 端作为服务器向发送端发送的P2P数据,从而实现双向识别,进一步提高了 P2P数据的识别 率,进而有利于采取双向限流措施,改善限流效果。实施例三上述实施例中的P2P数据预设识别特征是应用层特征、单包特征,实际上,本发明 并不限定P2P数据的识别特征,只要能够将P2P数据从网络传输的数据流中识别出来的特 征均可实现本发明目的。本实施例优选运输层特征、单包特征的端口特征作为识别P2P数 据的预设识别特征,识别出P2P数据后,记录下P2P数据的IP地址,进而利用该IP地址去 识别其他P2P数据。端口是应用层的各种进程与运输实体进行交互的接口,端口的作用是让应用层的 各种应用进程能将其数据通过端口向下交付给运输层,以及让运输层知道应当将其报文段 中的数据向上通过端口交付给应用层相应的进程,由此可见,端口具有标识应用程序进程 的作用。端口通常分为两类,一类是由ICANN(因特网指派名字和号码公司)负责分配的常 用应用层程序使用的“熟知端口,,;一类是用于随时分配给请求通信的客户进程一般端口。 P2P软件更新后,为与其他应用进程建立通信,必须使用“熟知端口 ”,否则其他应用进程将 无法识别。但是该通信链路一旦建立后,传送数据时则可根据需要使用“熟知端口 ”,也可固 定使用某一个“一般端口”。因此,有些P2P数据带有原有端口号(熟知端口),而有些P2P 数据可能已经使用新端口号(一般端口),对于这些带有新端口号的P2P数据仍然使用原端口号作为P2P数据识别特征,将无法成功识别,进而无法限流。参见附图7,本实施例给出的 使用端口号作为P2P数据预设识别特征的识别步骤包括步骤301 接收运输协议数据单元,所述运输协议数据单元包括UDP用户数据报或 TCP报文段;步骤302 判断所述运输协议数据单元的首部是否包含P2P数据预设端口号,如果 是,则执行步骤302 (a)判定为P2P数据,将该运输协议数据单元向下传递到网络层组装成 IP数据报,并将所述IP数据报首部的目的IP地址记录到地址池,返回步骤301 ;如果否,进 入步骤303 ;步骤303 判断所述地址池是否为空,若是,则返回步骤301 ;若否,执行步骤 303(a)将所述运输协议数据单元向下传递到网络层组装成IP数据报,进入步骤304 ;步骤304 判断步骤302未判定为P2P数据的数据报文首部的目的IP地址是否已 记录于地址池,如果是,则执行步骤304(a)判定为P2P数据,结束流程;如果否,返回步骤 301。本实施例使用运输层的端口特征作为识别P2P数据的预设识别特征,从具有P2P 数据识别特征的数据报文中提取出目的终端的IP地址,利用该IP地址识别出那些发送给 同一终端但不具有P2P数据预设识别特征的P2P数据。与现有技术相比,本实施例可识别 出更多的P2P数据,提高了 P2P数据识别率,进而可以针对这些被识别出来的P2P数据采取 限流措施,实现更好地流量控制。实施例四上述实施例中,通过识别出的P2P数据记录该数据的IP地址的方式可以实现识别 那些改变了特征的P2P数据,但是这种识别有可能出现识别错误,因为接收到的具有相同 IP地址的数据并不一定就是P2P软件发送的数据,还可能是该IP地址终端的其他应用进 程发送的数据。为解决该问题,本实施例同时利用记录IP地址与端口地址,即可避免上述 问题的发生。由于IP地址具有标识数据终端的作用,而端口具有如实施例四所述的标识应 用程序进程的作用,在判断接收的数据具有地址池记录的地址后,增加判断该数据的端口 是否已被记录,这样即可排除那些虽然由同一终端发送但并不是由P2P软件发送的其他数 据,进而可以更精确地识别P2P数据,提高识别的准确性。参见附图8,本实施例给出的识别 P2P数据的方法包括如下步骤步骤401 接收数据;步骤402 判断所述数据是否包含P2P数据预设识别特征“GET/armoimce”特征, 如果是,则执行步骤402(a)判定为P2P数据,进入步骤403 ;如果否,进入步骤404 ;步骤403 将所述数据向下传递到运输层组装成运输协议数据单元,并将该运输 协议数据单元首部的端口号记录到端口池;将所述运输协议数据单元向下传递到网络层组 装成IP数据报,并将所述IP数据报首部的目的IP地址记录到地址池,返回步骤401 ;步骤404 判断所述地址池和端口池是否为空,如果是,则进入步骤401 ;如果否, 执行步骤404(a)将该数据向下传递到运输层组装成运输协议数据单元,进入步骤405 ;步骤405 判断所述运输协议数据单元首部的端口号是否已记录于端口池,如果 是,则执行步骤405(a)将所述运输协议数据单元向下传递到网络层组装成IP数据报,进 入步骤406 ;如果否,返回步骤401。
步骤406 判断步骤402未判定为P2P数据的数据报文首部的目的IP地址是否已 记录于地址池,如果是,则执行步骤406 (a)判定为P2P数据,结束流程;如果否,返回步骤 401。当P2P软件更新后,其收发数据可能使用某个“熟知端口 ”,也可能使用某个“一般 端口”,但是,这种端口利用的方式在同一 P2P数据连接的始终均是固定的。因此同样可以 使用本实施例的方法进行预设特征为端口特征的P2P数据识别。本实施例将IP地址与端口地址关联起来,唯一地标识出终端主机上的P2P软件进 程,进而可以准确地识别出那些具有新特征的P2P数据,提高了 P2P数据识别的准确性。实施例五实际上,上述实施例中通过记录IP地址识别P2P数据的方式建立在P2P数据的 发送接收终端可由IP地址标识的基础之上,然而,本发明并不限定记录的地址为IP地址, 也可以是物理地址,因为物理地址也能表示P2P数据终端。物理地址固化在网卡上的ROM 中,又称硬件地址,是数据链路层使用的地址,而IP地址是网络层和以上各层使用的地址, 在发送数据时,数据从高层下到低层,然后才到通信链路上传输,使用IP地址的IP数据报 一旦交给数据链路层,就被封装成MAC帧,MAC帧传送时使用的源地址和目的地址即为硬件 地址,硬件地址位于MAC帧的首部。参见附图9,本实施例识别P2P数据的方法包括步骤如 下步骤501 接收数据;步骤502 判断所述数据是否包含P2P数据预设识别特征“GET/armoimce”特征, 如果是,则执行步骤502 (a)判定为P2P数据,将该数据向下传递到数据链路层组装成MAC 帧,并将所述MAC帧首部的目的物理地址记录到地址池,返回步骤501 ;如果否,进入步骤 503 ;步骤503 判断所述地址池是否为空,如果是,则返回步骤501 ;如果否,则执行步 骤503 (a)将该数据向下传递到数据链路层组装成MAC帧,进入步骤504 ;步骤504 判断步骤502未判定为P2P数据的MAC帧首部的目的IP地址是否已 记录于地址池,如果是,则执行步骤504 (a)判定为P2P数据,结束流程;如果否,返回步骤 501。本实施例中通过记录P2P数据的终端物理地址,用于判断下一个数据是否是来自 于该物理地址终端,如果来自该物理地址终端,则判定为P2P数据,进而提高P2P数据的识 别效率。本实施例所述方法特别适用于小型局部网,小型局域网中可能不包括路由器,各主 机的识别主要靠物理地址而非IP地址进行终端识别,因此,通过记录物理地址能较好地识 别P2P数据,提高识别效率,从而改善限流效果。实施例六本实施例给出了一种识别P2P数据的装置。参见附图10,本实施例的装置600包 括数据接收单元601、A判断单元602、B判断单元603和C判断单元604,其中数据接收单元601,用于接收数据;A判断单元602,用于判断所述数据是否符合P2P数据预设识别特征,如果是,则将 该数据判定为P2P数据,并将该数据的目的地址记录到地址池,触发数据接收单元601 ;如 果否,则触发B判断单元603 ;
B判断单元603,用于判断所述地址池是否为空,如果是,则触发数据接收单元 601 ;如果否,则触发C判断单元604 ;C判断单元604,用于判断判断单元未判定为P2P数据的数据目的地址是否记录于 所述地址池,如果是,则判定为P2P数据,结束流程;如果否,则触发数据接收单元601。本装置的工作过程是数据接收单元601接收数据后,将数据传递给A判断单元 602,由该单元判断所述数据是否为P2P数据,如果该数据符合P2P数据预设识别特征,则被 判定为P2P数据,并将该数据的目的地址记录到地址池后触发数据接收单元601,继续接收 数据;如果否,则触发B判断单元603。B判断单元603被触发后进行所述地址池是否为空 的判断,如果是,则触发数据接收单元601,继续接收数据;如果否,则触发C判断单元604。 C判断单元604被触发后进行所述数据的目的地址是否记录于地址池的判断,如果是,则判 定为P2P数据,结束流程;如果否,则触发数据接收单元601,继续接收数据。上述实施例中,所述装置还可以包括D判断单元605,该单元用于在所述A判断 单元602将接收的数据判定为P2P数据并将该数据的目的地址记录到地址池后,判断所述 P2P数据是否包含源地址,如果是,则将该数据的源地址记录到地址池,并触发数据接收单 元601 ;如果否,则向所述P2P数据的目的地址终端发送查询源地址请求以便获取所述P2P 数据的源地址,获得所述源地址后将该源地址记录到地址池,并触发数据接收单元601 ;所 述源地址在所述P2P数据的目的地址终端向所述P2P数据的源地址终端发送的数据中作为 目的地址。通过获取源地址,可以进行双向的P2P数据识别。数据接收单元601接收的数 据也可以是双向数据,即如果本次判定为P2P数据是由第一终端发送给第二终端的,所述 第一终端为该P2P数据的源地址端,第二终端为P2P数据的目的地址终端,下一次来的数据 如果是第二终端发送给第一终端的,那么这次数据的目的地址(第一终端地址)刚好是上 一次记录的源地址(第一终端地址),这次数据的源地址(第二终端地址)刚好是上一次记 录的目的地址(第二终端地址),由此可以识别两个方向的数据。上述实施例中,所述装置还可以包括记录单元606,用于在所述A判断单元602将 接收的数据判定为P2P数据并记录该数据目的地址后将所述P2P数据的端口号记录到端口 池;相应地B判断单元603用于判断地址池和/或端口池是否为空,如果是,则触发数据接收 单元601,如果否,则判断所述端口号是否记录于端口池,若是,则触发所述C判断单元,若 否,则触发所述数据接收单元601。本实施例提供的识别P2P数据的装置600通过A判断单元判断出数据接收单元接 收的数据是P2P数据后,将该数据的目的地址记录到地址池中,当数据接收单元接收到的 下一个数据被A判断单元不直接判定为P2P数据时,触发C判断单元判断该数据的目的地 址是否已记录到地址池中,如果已记录,则认为该数据为P2P数据,这样使得不仅具有旧有 P2P数据识别特征的P2P数据能被识别出来,即使那些具有新特征的P2P数据也能被识别出 来,提高了 P2P数据的识别率,进而改善限流效果。实施例七实施例1进行P2P数据识别过程是先进行数据是否符合预设识别特征的判断,并 从那些符合P2P预设识别特征的数据中提取出目的地址,进而利用该目的地址进行下一个 不具有P2P预设识别特征的数据的识别。实际上,这种P2P数据识别过程中的“先后”顺序
11并非只能固定如此,即便先进行目的地址的判断,再进行预设识别特征的判断也是可以实 现本发明的目的。参见附图11所示,本实施例提供的识别P2P数据的又一种方法包括步骤701 接收数据;步骤702 判断所述数据的目的IP地址是否记录于地址池,如果是,则执行步骤 702 (a)判定为P2P数据,返回步骤701 ;如果否,进入步骤703。步骤703 判断所述地址池是否为空,如果是,则返回步骤701 ;若否,则执行步骤 703(a)将该数据向上传递到应用层,进入步骤704 ;步骤704 判断所述步骤702未判定为P2P数据的数据是否包含P2P数据预设识 别特征“GET/armoimce”特征,如果是,则执行步骤704(a)判定为P2P数据,将该数据向下 传递到网络层组装成IP数据报,并将所述IP数据报首部的目的IP地址记录到地址池,结 束流程;如果否,返回步骤701。本实施例先进行IP地址是否记录于地址池的判断,如果没有被记录,则进一步进 行是否符合预设识别特征的判断,符合预设特征则被识别为P2P数据,并记录IP地址,进而 利用该IP地址进行下一个数据的判定。与现有技术相比,本实施例可识别出更多的P2P数 据,提高了 P2P数据识别率,进而可以针对这些被识别出来的P2P数据采取限流措施,实现 更好地流量控制。同样地,该实施例中的P2P数据识别特征不限于上述应用层特征,还可以是其他 层特征;不仅可以是如上的单包特征,还可以是多包特征。不仅可以如上所述仅仅记录目的 地址进行单方向的数据识别,还可以通过记录源地址进行双方向的数据识别;不仅可以如 上所述使用IP地址进行判断,还可以使用硬件地址进行判断;不仅可以仅仅采用IP地址的 方式进行识别,还可以将IP地址与端口特征结合在一起进行识别。这些方式与前所的实施 例类似,为了简便起见,这里不再重复叙述。实施例八与实施例七所述方法相对应,本发明还提供了又一种识别P2P数据的装置。参见 附图12,本实施例的装置800包括数据接收单元801、第一判断单元802、第二判断单元 803和第三判断单元804,其中数据接收单元801,用于接收数据;第一判断单元802,用于判断所述数据的目的地址是否记录于地址池,如果是,则 判定为P2P数据,触发数据接收单元801 ;如果否,则触发所述第二判断单元;第二判断单元803,用于判断所述地址池是否为空,如果是,则触发数据接收单元 801 ;如果否,则触发第三判断单元;第三判断单元804,用于判断所述第一判断单元未判定为P2P数据的数据是否符 合P2P数据预设识别特征,如果是,则将该数据判定为P2P数据,并将该数据的目的地址记 录到地址池,结束流程;如果否,则触发数据接收单元801。本装置800的工作过程与前述实施例6所述装置相似,这里不予重复。同样地,本装置可以有更加优选的变形实施例,这些变形实施例与实施例6所述 的各种优选方式大致相同,此处不予赘述。以上所述的本发明实施方式,并不构成对本发明保护范围的限定。任何在本发明 的精神和原则之内所作的修改、等同替换和改进等,均应包含在本发明的权利要求保护范围之内。
权利要求
1.一种识别P2P数据的方法,其特征在于,该方法包括接收数据;A判断步骤判断所述数据是否符合P2P数据预设识别特征,如果是,则将该数据判定 为P2P数据,并将该数据的目的地址记录到地址池,返回接收数据的步骤;如果否,则进入B 判断步骤;B判断步骤判断所述地址池是否为空,如果是,则返回接收数据的步骤;如果否,则进 入C判断步骤;C判断步骤判断所述A判断步骤未判定为P2P数据的数据目的地址是否记录于地址 池,如果是,则判定为P2P数据,结束流程;如果否,则返回接收数据的步骤。
2.根据权利要求1所述的方法,其特征在于,所述将接收的数据判定为P2P数据并将该 数据的目的地址记录到地址池后进一步包括判断所述P2P数据是否包含源地址,如果是,则将该数据的源地址记录到地址池,返回 接收数据的步骤;如果否,则向所述P2P数据的目的地址终端发送查询源地址请求以便获 取所述P2P数据的源地址,获得所述源地址后将该源地址记录到地址池,返回接收数据的 步骤;所述源地址在所述P2P数据的目的地址终端向所述P2P数据的源地址终端发送的数 据中将作为该数据的目的地址。
3.根据权利要求1所述的方法,其特征在于,所述将接收的数据判定为P2P数据并记录 该数据目的地址后进一步包括将所述P2P数据的端口号记录到端口池,则B判断步骤为 判断所述地址池和/或端口池是否为空,如果是,则返回接收数据的步骤;如果否,则判断 所述端口号是否记录于端口池,若是,则进入C判断步骤,若否,则返回接收数据的步骤。
4.根据权利要求1至3中任何一项所述的方法,其特征在于,所述地址包括IP地址或 物理地址。
5.一种识别P2P数据的装置,其特征在于,该装置包括数据接收单元、A判断单元、B判断单元和C判断单元,其中所述数据接收单元,用于接收数据;所述A判断单元,用于判断所述数据是否符合P2P数据预设识别特征,如果是,则将该 数据判定为P2P数据,并将该数据的目的地址记录到地址池,触发所述数据接收单元;如果 否,则触发所述B判断单元;所述B判断单元,用于判断所述地址池是否为空,如果是,则触发所述数据接收单元; 如果否,则触发所述C判断单元;所述C判断单元,用于判断所述A判断单元未判定为P2P数据的数据目的地址是否记 录于所述地址池,如果是,则判定为P2P数据,结束流程;如果否,则触发所述数据接收单兀。
6.根据权利要求5所述的装置,其特征在于,所述装置还包括D判断单元,用于在所述A判断单元将接收的数据判定为P2P数据并将该数据的目的 地址记录到地址池后,判断所述P2P数据是否包含源地址,如果是,则将该数据的源地址记 录到地址池,并触发所述数据接收单元;如果否,则向所述P2P数据的目的地址终端发送查 询源地址请求以便获取所述P2P数据的源地址,获得所述源地址后将该源地址记录到地址 池,并触发所述数据接收单元;所述源地址在所述P2P数据的目的地址终端向所述P2P数据的源地址终端发送的数据中将作为该数据的目的地址。
7.根据权利要求5所述的装置,其特征在于,所述装置还包括记录单元,用于在所述A判断单元将接收的数据判定为P2P数据并记录该数据目的地 址后,将所述P2P数据的端口号记录到端口池;则所述B判断单元用于判断地址池和/或端口池是否为空,如果是,则触发所述数据 接收单元;如果否,则判断所述端口号是否记录于端口池,若是,则触发所述C判断单元,若 否,则触发所述数据接收单元。
8.根据权利要求5至7中任何一项所述的装置,其特征在于,所述地址包括IP地址或 物理地址。
9.一种识别P2P数据的方法,其特征在于,该方法包括 接收数据;第一判断步骤判断所述数据的目的地址是否记录于地址池,如果是,则判定为P2P数 据,返回接收数据的步骤;如果否,则进入第二判断步骤;第二判断步骤判断所述地址池是否为空,如果是,则返回接收数据的步骤;如果否, 则进入第三判断步骤;第三判断步骤判断所述第一判断步骤未判定为P2P数据的数据是否符合P2P数据预 设识别特征,如果是,则将该数据判定为P2P数据,并将该数据的目的地址记录到地址池, 结束流程;如果否,则返回接收数据的步骤。
10.一种识别P2P数据的装置,其特征在于,该装置包括数据接收单元、第一判断单元、第二判断单元和第三判断单元,其中 所述数据接收单元,用于接收数据;第一判断单元,用于判断所述数据的目的地址是否记录于地址池,如果是,则判定为 P2P数据,触发所述数据接收单元;如果否,则触发所述第二判断单元;第二判断单元,用于判断所述地址池是否为空,如果是,则触发所述数据接收单元;如 果否,则触发所述第三判断单元;第三判断单元,用于判断所述第一判断单元未判定为P2P数据的数据是否符合P2P数 据预设识别特征,如果是,则将该数据判定为P2P数据,并将该数据的目的地址记录到地址 池,结束流程;如果否,则触发所述数据接收单元。
全文摘要
本发明提供了识别P2P数据的方法与装置。该方法利用P2P数据预设识别特征,判断出接收的数据为P2P数据后,记录该数据的目的地址,并使用该目的地址对下一次接收的不具有P2P数据预设识别特征的数据进行判断,如果该数据包含所述目的地址,则判定为P2P数据。本发明还提供了一种识别P2P数据的装置。本发明通过记录P2P数据的目的IP地址并利用该目的地址对新接收的数据进行P2P数据判断,提高了P2P数据的识别率,进而有利于改善限流效果。
文档编号H04L29/08GK102130974SQ201110110178
公开日2011年7月20日 申请日期2011年4月29日 优先权日2011年4月29日
发明者李晗, 马德晓 申请人:北京网御星云信息技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1