一种对等网络应用的监控方法与系统的制作方法

文档序号:8005694阅读:238来源:国知局
一种对等网络应用的监控方法与系统的制作方法
【专利摘要】本发明提供了一种对等网络应用的监控方法及系统;所述方法包括:利用行为特征识别出所述局域网中的对等网络P2P节点;对于所识别出的P2P节点收发的TCP/UDP数据包,利用行为特征或载荷特征识别出P2P应用的网络数据包;根据预定策略,放行或阻断所识别出的P2P应用的网络数据包。本发明能够有效地监控局域网中的P2P应用。
【专利说明】—种对等网络应用的监控方法与系统
【技术领域】
[0001]本发明涉及信息【技术领域】,具体涉及一种局域网中对等网络应用的监控方法与系统。
【背景技术】
[0002]目前,随着网络的快速发展,P2P (对等网络)应用已经成为互联网的主要应用之一,P2P的模式也成为许多新型业务的首选模式,P2P技术被广泛应用于文件共享、网络视频、网络电话等领域,以分布式资源共享和并行传输的特点,为用户提供了更多的资源、更高的可用带宽以及更好的服务质量,同时,P2P应用带来以下问题:
[0003](I) P2P应用已经超过Web应用占用了 50%以上的网络带宽,造成了网络阻塞,影响了用户上网体验;
[0004](2) P2P应用抢占网络资源,使得局域网中的其他应用无法得到应有的带宽,造成了重要服务无法得到保证。

【发明内容】

[0005]本发明要解决的技术问题是如何有效地监控局域网中的P2P应用。
[0006]为了解决上述问题,本发明提供了一种对等网络应用的监控方法,包括:
[0007]利用行为特征识别出所述局域网中的对等网络P2P节点;
[0008]对于所识别出的P2P节点收发的TCP/UDP数据包,利用行为特征或载荷特征识别出P2P应用的网络数据包;
[0009]根据预定策略,放行或阻断所识别出的P2P应用的网络数据包。
[0010]可选地,所述利用行为特征识别出所述局域网中的P2P节点的步骤包括:
[0011]对于所述局域网中的一个或多个节点,统计预定长度的时间内各节点的连接成功率或广播包个数;
[0012]将所述连接成功率满足第一预定条件或所述广播包个数满足第二预定条件的节点识别为P2P节点。
[0013]可选地,所述对于所识别出的P2P节点收发的TCP/UDP数据包,利用行为特征或载荷特征识别出P2P应用的网络数据包的步骤包括:
[0014]对于所识别出的P2P节点收发的各TCP/UDP数据包,记录该TCP/UDP数据包的五元组,计算该TCP/UDP数据包载荷中前32字节的熵值;
[0015]当TCP/UDP数据包的熵值小于预定的熵值阈值时,如果该TCP/UDP数据包的载荷匹配预定模式,则该TCP/UDP数据包为P2P应用的网络数据包;
[0016]当TCP/UDP数据包的熵值大于或等于预定的熵值阈值时,如果所记录的五元组中,IP地址数与端口数的比值小于预定的比值阈值,则该TCP/UDP数据包为P2P应用的网络数据包。
[0017]可选地,所述熵值阈值为0.35,所述比值阈值为2.0。[0018]可选地,所述根据预定策略,放行或阻断所识别出的P2P应用的网络数据包的步骤包括:
[0019]计算所述局域网中P2P应用的网络数据包的流量,以及该局域网出入口的总流量;
[0020]当所述总流量大于第一流量阈值,或所述P2P应用的网络数据包的流量大于第二流量阈值时,阻断所识别出的P2P应用的网络数据包。
[0021]本发明还提供了一种对等网络应用的监控系统,包括:
[0022]节点识别模块,用于利用行为特征识别出所述局域网中的P2P节点;
[0023]应用识别模块,用于对于所识别出的P2P节点收发的TCP/UDP数据包,利用行为特征或载荷特征识别出P2P应用的网络数据包;
[0024]应用控制模块,用于根据预定策略,放行或阻断所识别出的P2P应用的网络数据包。
[0025]可选地,所述节点识别模块利用行为特征识别出所述局域网中的P2P节点是指:
[0026]所述节点识别模块对于所述局域网中的一个或多个节点,统计预定长度的时间内各节点的连接成功率或广播包个数;将所述连接成功率满足第一预定条件或所述广播包个数满足第二预定条件的节点识别为P2P节点。
[0027]可选地,所述应用识别模块对于所识别出的P2P节点收发的TCP/UDP数据包,利用行为特征或载荷特征识别出P2P应用的网络数据包是指:
[0028]所述应用识别模块对于所识别出的P2P节点收发的各TCP/UDP数据包,记录该TCP/UDP数据包的五元组,计算该TCP/UDP数据包载荷中前32字节的熵值;当TCP/UDP数据包的熵值小于预定的熵值阈值时,如果该TCP/UDP数据包的载荷匹配预定模式,则该TCP/UDP数据包为P2P应用的网络数据包;当TCP/UDP数据包的熵值大于或等于预定的熵值阈值时,如果所记录的五元组中,IP地址数与端口数的比值小于预定的比值阈值,则该TCP/UDP数据包为P2P应用的网络数据包。
[0029]可选地,所述熵值阈值为0.35,所述比值阈值为2.0。
[0030]可选地,所述应用控制模块根据预定策略,放行或阻断所识别出的P2P应用的网络数据包是指:
[0031]所述应用控制模块计算所述局域网中P2P应用的网络数据包的流量,以及该局域网出入口的总流量;当所述总流量大于第一流量阈值,或所述P2P应用的网络数据包的流量大于第二流量阈值时,阻断所识别出的P2P应用的网络数据包。
[0032]本发明的技术方案能够解决P2P抢占网络资源造成网络堵塞、影响其它网络应用的问题,使用户能够高效地获取信息,提高用户上网体验。
【专利附图】

【附图说明】
[0033]图1是实施例一的P2P应用的监控方法的流程示意图;
[0034]图2是实施例一的例子中P2P节点识别的流程图;
[0035]图3是实施例一的例子中中P2P应用识别的流程图;
[0036]图4是实施例一的例子中中P2P应用控制的流程图;
[0037]图5是实施例二的P2P应用的监控系统的架构示意图;[0038]图6是实施例二的P2P应用的监控系统的组网示意图;
[0039]图7是实施例二的例子中P2P应用的监控系统的主流程图。
【具体实施方式】
[0040]下面将结合附图及实施例对本发明的技术方案进行更详细的说明。
[0041]需要说明的是,如果不冲突,本发明实施例以及实施例中的各个特征可以相互结合,均在本发明的保护范围之内。另外,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
[0042]实施例一、一种P2P应用的监控方法,如图1所示,包括:
[0043]S101、利用行为特征识别出所述局域网中的P2P节点;
[0044]S102、对于所识别出的P2P节点收发的TCP (传输控制协议)/UDP (用户数据报协议)数据包,利用行为特征或载荷特征识别出P2P应用的网络数据包;
[0045]S103、根据预定策略,放行或阻断所识别出的P2P应用的网络数据包。
[0046]本实施例通过行为特征识别局域网P2P节点,通过行为特征或载荷特征识别P2P应用的流量,从而进一步控制P2P应用,本实施例能够有效地管理局域网中的P2P应用,使网络带宽能够得到合理占用。
[0047]本实施例的一种实施方式中,所述步骤S104具体可以包括:
[0048]对于所述局域网中的一个或多个节点,统计预定长度的时间内各节点的连接成功率或广播包个数;
[0049]将所述连接成功率满足第一预定条件或所述广播包个数满足第二预定条件的节点识别为P2P节点。
[0050]本实施方式中,可以在收到监控指令后统计预定长度的时间内各节点的连接成功率或广播包个数,也可以周期性或持续地记录近期各节点的连接成功率或广播包个数。可以周期性识别P2P节点,也可以在收到监控指令后进行识别。
[0051]本实施方式中,可以通过所述网络数据包中SYN (握手)消息或ACK (确认)消息的个数计算所述连接成功率。本实施方式的一种备选方案中,满足第一预定条件是指连接成功率小于0.8 ;其它备选方案中也可以另行设置该第一预定条件。
[0052]本实施方式中,可以通过ICMP (Internet控制报文协议)包个数与TTL (生存时间)的比较值计算所述广播包个数。本实施方式的一种备选方案中,满足第二预定条件是指广播包个数大于5个且相邻广播包TTL差值为I ;其它备选方案中也可以另行设置该第二预定条件。
[0053]该实施方式的一个具体例子如图2所示,该例子中是周期性识别P2P节点,包括以下步骤201?208。
[0054]步骤201:每当拦截到一个局域网与互联网之间传输的网络数据包,解析该网络数据包并判断是否为SYN或ACK消息,如果是则执行步骤202 ;如果不是则判断是否为ICMP包,如果是则执行步骤205,如果不是则返回步骤201。
[0055]步骤202:将局域网中相应节点收/发SYN及ACK消息的个数加一。
[0056]步骤203:获取当前时间,并计算与本识别周期中开始统计的时间的差值,判断是否到达识别周期,若到达则执行步骤204 ;若未到达则返回步骤201。[0057]步骤204:计算局域网中各节点的连接成功率,分别识别各节点是否为P2P节点,执行步骤208。
[0058]步骤205:将局域网中相应节点收/发ICMP包的个数加一,判断TTL值(生存时间)是否已保存过,如果没有则保存该TTL值。
[0059]步骤206:获取当前时间,并计算与本识别周期中开始统计的时间的差值,判断是否到识别周期,若到达则执行步骤204,若未到达则返回步骤201。
[0060]步骤207:计算局域网中各节点的ICMP包个数与TTL比较值,分别识别各节点是否为P2P节点,执行步骤208。
[0061]步骤208:将识别出的P2P节点的IP地址与端口存储到P2P节点表中;所述P2P节点信息表可以包括表名、IP地址、端口与创建时间字段等。结束本识别周期的识别,将统
计值清零。
[0062]本实施例的一种实施方式中,所述步骤S102具体可以包括:
[0063]对于所识别出的P2P节点收发的各TCP/UDP数据包,记录该TCP/UDP数据包的五元组,计算该TCP/UDP数据包载荷中前32字节的熵值;
[0064]当TCP/UDP数据包的熵值小于预定的熵值阈值时,如果该TCP/UDP数据包的载荷匹配预定模式,则该TCP/UDP数据包为P2P应用的网络数据包;
[0065]当TCP/UDP数据包的熵值大于或等于预定的熵值阈值时,如果所记录的五元组中,IP地址数与端口数的比值小于预定的比值阈值,则该TCP/UDP数据包为P2P应用的网络数据包。
[0066]本实施例的一种备选方案中,所述熵值阈值可以但不限于为0.35,所述比值阈值可以但不限于为2.0 ;其它备选方案中也可以另行设置所述熵值阈值及所述比值阈值;所述预定模式可以根据统计情况或经验设置为P2P应用载荷常见的一种或多种模式。
[0067]该实施方式的一个具体例子如图3所示,对P2P应用的识别包括以下步骤301?306。
[0068]步骤301:对于识别出的P2P节点,每当拦截到一个局域网与互联网之间传输的网络数据包,解析该网络数据包,并存储该网络数据包的五元组(源IP地址、目的IP地址、源端口、目的端口、协议),判断该网络数据包是否包含TCP/UDP包,如果包含则执行步骤302,如果不包含则结束。
[0069]步骤302:将该网络数据包的源IP地址与源端口、目的IP地址与目的端口存储到P2P连接信息表中;所述P2P连接信息表可以包括表名、源IP地址、目的IP地址、源端口、目的端口与创建时间字段等。
[0070]步骤303:计算该网络数据包载荷前32字节的熵值;判断该熵值是否大于熵值阈值,如果大于则执行步骤304,如果小于则执行步骤305 ;如果等于则可以设置为执行步骤304,305中任一个。
[0071]步骤304:计算IP地址数与端口数的比值;如果比值小于比值阈值则进行步骤306 ;如果不小于比值阈值则结束。
[0072]步骤305:对该网络数据包的载荷进行模式匹配,如果匹配成功则进行步骤306,如果匹配不成功则结束。
[0073]步骤306:将该网络数据包识别为P2P应用的网络数据包,结束。[0074]本实施例的一种实施方式中,所述步骤S103具体可以包括:
[0075]计算所述局域网中P2P应用的网络数据包的流量,以及该局域网出入口的总流量;
[0076]当所述总流量大于第一流量阈值,或所述P2P应用的网络数据包的流量大于第二流量阈值时,阻断所识别出的P2P应用的网络数据包。
[0077]本实施方式的一种备选方案中,所述第一流量阈值可以但不限于为所述局域网出入口总带宽的80%,第二流量阈值可以但不限于为所述总流量的80%。其它备选方案中也可以根据需要另行设置所述第一、第二流量阈值。
[0078]该实施方式的一个具体例子如图4所示,对P2P应用的网络数据包的控制包括以下步骤401?404。
[0079]步骤401:当网络数据包被识别为P2P应用的网络数据包时,进行步骤402 ;
[0080]步骤402:统计所述局域网出入口的总流量与P2P应用的网络数据包的流量(后文简称P2P流量);
[0081]步骤403:若总流量与P2P流量都小于相应的阈值,则放行该网络数据包。
[0082]步骤404:若总流量与P2P流量中至少一个大于相应的阈值,则阻断该网络数据包。
[0083]实施例二、一种P2P应用的监控系统,如图5所示,包括:
[0084]节点识别模块,用于利用行为特征识别出所述局域网中的P2P节点;
[0085]应用识别模块,用于对于所识别出的P2P节点收发的TCP/UDP数据包,利用行为特征或载荷特征识别出P2P应用的网络数据包;
[0086]应用控制模块,用于根据预定策略,放行或阻断所识别出的P2P应用的网络数据包。
[0087]本实施例的一种实施方式中,所述监控系统还可以包括:
[0088]存储模块,包括一信息库,用于存储P2P节点信息表和P2P连接信息表;P2P节点信息表包括表名、IP地址、端口与创建时间字段;P2P连接信息表包括表名、源IP地址、目的IP地址、源端口、目的端口与创建时间字段。
[0089]管理模块,用于管理P2P应用的监控策略并保存到信息库中;可用于设置各阈值等;
[0090]通信模块,用于拦截局域网与互联网之间传输的网络数据包,以及当所述P2P应用控制模块放行网络数据包时,转发该网络数据包。
[0091]本实施例的一种实施方式中,所述节点识别模块利用行为特征识别出所述局域网中的P2P节点具体可以是指:
[0092]所述节点识别模块对于所述局域网中的一个或多个节点,统计预定长度的时间内各节点的连接成功率或广播包个数;将所述连接成功率满足第一预定条件或所述广播包个数满足第二预定条件的节点识别为P2P节点。
[0093]本实施方式中,可以通过所述网络数据包中SYN (握手)消息或ACK (确认)消息的个数计算所述连接成功率。本实施方式的一种备选方案中,满足第一预定条件是指连接成功率小于0.8 ;其它备选方案中也可以另行设置该第一预定条件。
[0094]本实施方式中,可以通过ICMP (Internet控制报文协议)包个数与TTL (生存时间)的比较值计算所述广播包个数。本实施方式的一种备选方案中,满足第二预定条件是指广播包个数大于5个且相邻广播包TTL差值为I ;其它备选方案中也可以另行设置该第二预定条件。
[0095]本实施例的一种实施方式中,所述应用识别模块对于所识别出的P2P节点收发的TCP/UDP数据包,利用行为特征或载荷特征识别出P2P应用的网络数据包具体可以是指:
[0096]所述应用识别模块对于所识别出的P2P节点收发的各TCP/UDP数据包,记录该TCP/UDP数据包的五元组,计算该TCP/UDP数据包载荷中前32字节的熵值;当TCP/UDP数据包的熵值小于预定的熵值阈值时,如果该TCP/UDP数据包的载荷匹配预定模式,则该TCP/UDP数据包为P2P应用的网络数据包;当TCP/UDP数据包的熵值大于或等于预定的熵值阈值时,如果所记录的五元组中,IP地址数与端口数的比值小于预定的比值阈值,则该TCP/UDP数据包为P2P应用的网络数据包。
[0097]本实施例的一种备选方案中,所述熵值阈值可以但不限于为0.35,所述比值阈值可以但不限于为2.0 ;其它备选方案中也可以另行设置所述熵值阈值及所述比值阈值;所述预定模式可以根据统计情况或经验设置为P2P应用载荷常见的一种或多种模式。
[0098]本实施例的一种实施方式中,所述应用控制模块根据预定策略,放行或阻断所识别出的P2P应用的网络数据包具体可以是指:
[0099]所述应用控制模块计算所述局域网中P2P应用的网络数据包的流量,以及该局域网出入口的总流量;当所述总流量大于第一流量阈值,或所述P2P应用的网络数据包的流量大于第二流量阈值时,阻断所识别出的P2P应用的网络数据包。
[0100]本实施方式的一种备选方案中,所述第一流量阈值可以但不限于为所述局域网出入口总带宽的80%,第二流量阈值可以但不限于为所述总流量的80%。其它备选方案中也可以根据需要另行设置所述第一、第二流量阈值。
[0101]图6所示为本实施例的监控系统的组网示意图。
[0102]所述局域网包括网络设备、网络安全设备、主机与终端等;其中网络设备可以包括路由器与交换机等;网络安全设备可以包括防火墙、VPN、网络防病毒系统及入侵检测系统等;主机可以包括Web服务器、邮件服务器及文件服务器等;终端可以包括用户计算机及自助终端等。
[0103]Internet (互联网),可以包括路由器,用于传送和路由网络流量。
[0104]所述监控系统连接在所述互联网与要监控的局域网之间,可以拦截到局域网与互联网之间传输的网络数据包。
[0105]本实施例的一个具体例子如图7所示,所述监控系统的工作流程包括以下步骤601 ?607。
[0106]步骤601:进行初始化,在管理模块中设置P2P应用监控策略并储存到存储模块的
信息库中。
[0107]步骤602:在通信模块中接收P2P数据包。
[0108]步骤603:在节点识别模块中利用行为特征识别局域网P2P节点。
[0109]步骤604:在应用识别模块中利用行为特征或载荷特征识别P2P应用的网络数据包;对于是P2P应用的网络数据包,执行步骤605。
[0110]步骤605:在应用控制模块中,决策阻断或放行P2P数据包。[0111]步骤606:相应进行阻断或放行。
[0112]步骤607:对于放行动作,通信模块转发P2P应用的网络数据包。
[0113]本领域普通技术人员可以理解上述方法中的全部或部分步骤可通过程序来指令相关硬件完成,所述程序可以存储于计算机可读存储介质中,如只读存储器、磁盘或光盘等。可选地,上述实施例的全部或部分步骤也可以使用一个或多个集成电路来实现。相应地,上述实施例中的各模块/单元可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。本发明不限制于任何特定形式的硬件和软件的结合。
[0114]当然,本发明还可有其他多种实施例,在不背离本发明精神及其实质的情况下,熟悉本领域的技术人员当可根据本发明作出各种相应的改变和变形,但这些相应的改变和变形都应属于本发明的权利要求的保护范围。
【权利要求】
1.一种对等网络应用的监控方法,包括: 利用行为特征识别出所述局域网中的对等网络P2P节点; 对于所识别出的P2P节点收发的TCP/UDP数据包,利用行为特征或载荷特征识别出P2P应用的网络数据包; 根据预定策略,放行或阻断所识别出的P2P应用的网络数据包。
2.如权利要求1所述的方法,其特征在于,所述利用行为特征识别出所述局域网中的P2P节点的步骤包括: 对于所述局域网中的一个或多个节点,统计预定长度的时间内各节点的连接成功率或广播包个数; 将所述连接成功率满足第一预定条件或所述广播包个数满足第二预定条件的节点识别为P2P节点。
3.如权利要求1所述的方法,其特征在于,所述对于所识别出的P2P节点收发的TCP/UDP数据包,利用行为特征或载荷特征识别出P2P应用的网络数据包的步骤包括: 对于所识别出的P2P节点收发的各TCP/UDP数据包,记录该TCP/UDP数据包的五元组,计算该TCP/UDP数据包载荷中前32字节的熵值; 当TCP/UDP数据包的熵值小于预定的熵值阈值时,如果该TCP/UDP数据包的载荷匹配预定模式,则该TCP/UDP 数据包为P2P应用的网络数据包; 当TCP/UDP数据包的熵值大于或等于预定的熵值阈值时,如果所记录的五元组中,IP地址数与端口数的比值小于预定的比值阈值,则该TCP/UDP数据包为P2P应用的网络数据包。
4.如权利要求3所述的方法,其特征在于: 所述熵值阈值为0.35,所述比值阈值为2.0。
5.如权利要求1所述的方法,其特征在于,所述根据预定策略,放行或阻断所识别出的P2P应用的网络数据包的步骤包括: 计算所述局域网中P2P应用的网络数据包的流量,以及该局域网出入口的总流量;当所述总流量大于第一流量阈值,或所述P2P应用的网络数据包的流量大于第二流量阈值时,阻断所识别出的P2P应用的网络数据包。
6.一种对等网络应用的监控系统,其特征在于,包括: 节点识别模块,用于利用行为特征识别出所述局域网中的P2P节点; 应用识别模块,用于对于所识别出的P2P节点收发的TCP/UDP数据包,利用行为特征或载荷特征识别出P2P应用的网络数据包; 应用控制模块,用于根据预定策略,放行或阻断所识别出的P2P应用的网络数据包。
7.如权利要求6所述的系统,其特征在于,所述节点识别模块利用行为特征识别出所述局域网中的P2P节点是指: 所述节点识别模块对于所述局域网中的一个或多个节点,统计预定长度的时间内各节点的连接成功率或广播包个数;将所述连接成功率满足第一预定条件或所述广播包个数满足第二预定条件的节点识别为P2P节点。
8.如权利要求6所述的系统,其特征在于,所述应用识别模块对于所识别出的P2P节点收发的TCP/UDP数据包,利用行为特征或载荷特征识别出P2P应用的网络数据包是指:所述应用识别模块对于所识别出的P2P节点收发的各TCP/UDP数据包,记录该TCP/UDP数据包的五元组,计算该TCP/UDP数据包载荷中前32字节的熵值;当TCP/UDP数据包的熵值小于预定的熵值阈值时,如果该TCP/UDP数据包的载荷匹配预定模式,则该TCP/UDP数据包为P2P应用的网络数据包;当TCP/UDP数据包的熵值大于或等于预定的熵值阈值时,如果所记录的五元组中,IP地址数与端口数的比值小于预定的比值阈值,则该TCP/UDP数据包为P2P应用的网络数据包。
9.如权利要求8所述的系统,其特征在于: 所述熵值阈值为0.35,所述比值阈值为2.0。
10.如权利要求6所述的系统,其特征在于,所述应用控制模块根据预定策略,放行或阻断所识别出的P2P应用的网络数据包是指: 所述应用控制模块计算所述局域网中P2P应用的网络数据包的流量,以及该局域网出入口的总流量;当所述总流量大于第一流量阈值,或所述P2P应用的网络数据包的流量大于第二流量阈值时 ,阻断所识别出的P2P应用的网络数据包。
【文档编号】H04L29/06GK103428295SQ201310381658
【公开日】2013年12月4日 申请日期:2013年8月28日 优先权日:2013年8月28日
【发明者】陈俊 申请人:北京永信至诚科技有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1