一种支持引流功能的应用识别设备及方法

文档序号:7674702阅读:147来源:国知局
专利名称:一种支持引流功能的应用识别设备及方法
技术领域
本发明涉及计算机网络,尤其涉及网络设备的引流功能。
背景技术
引流功能是指根据应用识别结果及用户策略将流量引至合适的链路。例如,用户有两条链路分别为链路A和链路B,链路A延迟小但带宽也小,链路B延迟大但带宽也大; 用户设置的策略是将重要业务流量引至链路A,如将视频会议引至链路A,将不重要的业务流量引至链路B,如将P2P下载流量引至链路B,以提高工作效率和网络资源利用率。由此可见,对业务流量进行引流首先要识别出该流量的具体应用,即首先要对流量进行应用识别。也就是说,只有识别出流量的应用,如识别出视频会议或P2P下载等应用,才能够将相应流量引入到链路A或链路B中。然而,对于任意一种应用,如视频会议、P2P下载等应用,必须在连接的首包实现引流。否则将中断连接,进而导致相应的应用功能不可能,这将极大地降低用户的满意度。如果要实现首包引流,就必须在首包识别出连接的相应应用,只有在该连接所属应用被确定的情况下,才能够在首包到来时切换到相应链路,从而完成引流功能。对于TCP连接来说,传统的DPI应用识别方法至少要在第四个包才能够识别出应用。原因是前面的三步握手包没有应用层数据,而DPI识别依赖的正是应用层数据。对于 UDP连接来说,传统的DPI应用识别方法,只能实现部分应用的首包识别,原因是可用特征某些情况下不在第一个数据包上,而是在后续的数据包上。因此,现有技术还不能保证各连接的首包识别,也就不能在连接的首包实现引流, 从而不能确保在不中断连接的前提下实现引流功能。

发明内容
本发明提供了一种能解决以上问题的支持引流功能的应用识别设备及方法。在第一方面,本发明提供了一种网络设备。该设备一端与用户终端相连,另一端连接至互联网。该设备包括连接跟踪模块、首包识别模块、引流模块。该连接跟踪模块接收来自所述终端的数据包,根据该数据包判定其是否为新建连接的首包,若是首包,则记录该新连接。该首包识别模块接收来自该连接跟踪模块的首包,并将该首包五元组中的一个或多个信息与关联表中的各表项进行匹配;如果匹配上,则提取该表项中的相应应用;其中,该关联表存储各连接的五元组信息以及相应应用。该引流模块基于来自该首包识别模块的首包、该首包所属应用以及该引流模块的内置引流策略,将该首包引流至相应链路中。在第二方面,本发明提供了一种网络设备支持引流功能的应用识别方法。其中,该网络设备在终端与互联网之间。首先截获从该终端至互联网的数据包。根据该数据包判定其是否为新建连接的首包;若是首包,则记录该新连接。接收该首包和该新连接,并将该首包的五元组中的一个或多个信息与一关联表中的各表项进行匹配;如果匹配上,则提取该匹配表项中的相应应用;其中,该关联表用于存储连接、该连接所属应用、该连接的五元组中的一个或多个信息。接收所述首包、该首包所属应用,并根据引流策略,将该首包引流至相应链路中。本发明实现了连接的首包识别,从而实现了首包的引流功能,即本发明能够在首包到来时切换相应链路。因此,本发明的引流功能能够保证连接不中断,也能够保证相应应用不中断,从而使用户体验更佳。


下面将参照附图对本发明的具体实施方案进行更详细的说明,在附图中图1图是本发明一个实施例的支持引流功能的应用识别设备的网络环境示意图;图2是本发明一个实施例的支持引流功能的应用识别设备框图;图3是本发明一个实施例的支持引流功能的应用识别方法流程图。
具体实施例方式图1是本发明一个实施例的支持引流功能的应用识别设备的网络环境示意图。图1中,来自用户终端的网络流量,经交换机传输至应用识别设备(即本实施例的支持引流功能的应用识别设备)。该应用识别设备识别出该流量所对应的网络应用,如识别出该网络应用为,通过即时通信软件进行聊天或者P2P下载等。该应用识别设备根据该网络应用以及其内置引流策略,将该网络流量引流至相应链路中。最后该网络流量经过路由器传输到互联网上。需要说明的是,该应用识别设备不仅可以以单独设备存在,也可以以模块的形式存在于交换机或路由器中。目前,用户通过其终端发起的一个网络应用往往需要通过建立多条连接来实现。 然而,引流功能必须在一个连接的首包中完成,否则就会中断该连接,从而中断用户的相应应用(如中断P2P下载)。基于此,本发明在一个应用的一个(或几个)连接中识别出相应应用,并在该应用的此后某个连接中实现首包的引流功能。下面进行详细阐述。图2是本发明一个实施例的支持引流功能的应用识别设备框图。该支持引流功能的应用识别设备包括连接跟踪模块110、应用识别模块120、信息库130、首包识别模块140、 引流模块150。该连接跟踪模块110接收来自用户终端的数据包,并根据该数据包所携带的信息识别出该数据包所属连接(如连接1或连接2、。如果该数据包所属连接为新建连接,也就是说,如果该数据包属于一新连接的首包,则该连接跟踪模块110将该数据包发送至首包识别模块140,否则将该数据包发送至应用识别模块120。具体地,该连接跟踪模块110提取其接收数据包的五元组信息,即提取传输层协议(TCP/UDP)、源IP、目的IP、源端口、目的端口中的一个或多个信息。然后将其提取的信息 (五元组中的一个或多个信息)与一 HASH表(该HASH表一一对应地存储各连接以及与连接相关的五元组信息)中的各个表项进行匹配。如果该提取到的信息与该HASH表中的所有表项均不匹配,则说明该数据包所属连接为新建连接,即该数据包为该新连接的首包。因此,该连接跟踪模块110在该HASH表中记录该新连接以及由该首包得到的五元组信息。例如,在该HASH表中记录下
连接五元组传输协议源IP目的IP源端口目的端口连接2TCP192. 168. 1. 3表 1如果该连接跟踪模块110提取到的信息与该HASH表中的某个表项相匹配,则说明该数据包为非首个数据包。因此,该连接跟踪模块110从所匹配的表项中提取相应连接(如连接1),并将该连接以及其接收的数据包发送至应用识别模块120。一个例子中,该连接跟踪模块110将其得到的五元组信息发送至应用识别模块 120。另一个例子中,该应用识别模块120提取其接收到数据包的五元组信息,而连接跟踪模块110无需向该应用识别模块120发送五元组信息。该应用识别模块120接收来自该连接跟踪模块110的非首包(某连接的非首个数据包),以及接收由连接跟踪模块110得到的相应连接(如连接1),并且采用 DPI技术识别出该连接所属应用。例如,该应用识别模块120识别出该连接所属应用为 C-S (Client-Server,客户发-服务器)类应用或P2P类应用。而后该应用识别模块120再将该连接、其所识别出的应用,以及五元组信息发送至信息库130。需要说明的是,该应用识别模块120可以仅提取与所要识别出的应用相关的五元组信息,即其可以仅取传输层协议(TCP/UDP)、源IP、目的IP、源端口、目的端口中的某一个或某几个信息。举例如,对于C-S类应用,其目的IP往往是固定的,如登陆即时通信软件时, 目的IP是固定的;因此,对于C-S类应用,仅根据识别出的应用(如登录即时通信软件)以及五元组中的目的IP,就能够确认引流至哪个链路。再如,对于基于UDP流量的P2P应用, 源端口一致的连接往往属于相同应用;因此,对于基于UDP流量的P2P应用,仅根据识别出的应用(即基于UDP流量的P2P下载类应用)以及五元组中的源端口,就能够确认引流至哪个链路。该信息库130通过关联表的方式,存储应用识别模块120所发送的信息,具体存储方式参见表2。
权利要求
1.一种网络设备,其中,该设备一端与用户终端相连,另一端连接至互联网;其特征在于,该设备包括连接跟踪模块,接收来自所述终端的数据包,根据该数据包判定其是否为新建连接的首包,若是首包,则记录该新连接;首包识别模块,接收来自该连接跟踪模块的首包,并将该首包五元组中的一个或多个信息与关联表中的各表项进行匹配;如果匹配上,则提取该表项中的相应应用;其中,该关联表存储各连接的五元组信息以及相应应用;引流模块,基于来自该首包识别模块的首包、该首包所属应用以及该引流模块的内置引流策略,将该首包引流至相应链路中。
2.如权利要求1所述的一种网络设备,其特征在于,所述连接跟踪模块在判定到其接收的数据包为非首包时,则识别该数据包所属连接。
3.如权利要求2所述的一种网络设备,其特征在于,所述网络设备还包括应用识别模块;该应用识别模块接收来自该连接跟踪模块的非首包、该数据包所属连接,并识别该连接所属应用,再将该连接、该连接所属应用、该连接五元组中的一个或多个信息存储至所述关联表中。
4.如权利要求3所述的一种网络设备,其特征在于,由所述连接跟踪模块提取五元组中的一个或多个信息,并将该提取到的信息发送至所述首包识别模块和/或应用识别模块。
5.如权利要求3所述的一种网络设备,其特征在于,由所述应用识别模块提取数据包的五元组中的一个或多个信息;和/或由所述首包识别模块提取首包的五元组中的一个或多个信息。
6.如权利要求3所述的一种网络设备,其特征在于,该设备还包括信息库,该信息库与所述应用识别模块、首包识别模块分别相连,其用于存储所述关联表。
7.如权利要求3所述的一种网络设备,其特征在于,所述首包识别模块还读取该首包中的载荷内容,并将所读取到的内容发送至所述应用识别模块,以便该应用识别模块根据该首包载荷内容以及其他数据包识别出应用。
8.如权利要求3所述的一种网络设备,其特征在于,在所述应用识别模块识别出该连接所属应用为C-S类应用时,则将该连接、该连接的目的IP、该C-S类应用存储至所述关联表中。
9.如权利要求3所述的一种网络设备,其特征在于,在所述应用识别模块识别出该连接所属应用为基于UDP的P2P应用时,则将该连接、该连接的源端口以及该基于UDP的P2P 应用存储至所述关联表中。
10.如权利要求1所述的一种网络设备,其特征在于,所述引流模块将首包引入到相应链路后,其向所述连接跟踪模块中写入该首包所属连接以及写入该连接所属应用,以便该连接跟踪模块将该连接的后续数据包直接引流至该首包流入的链路中。
11.如权利要求1所述的一种网络设备,其特征在于,所述引流模块的内置引流策略可配置。
12.—种网络设备支持引流功能的应用识别方法,其中,该网络设备在终端与互联网之间,包括步骤a,截获从该终端至互联网的数据包;步骤b,根据该数据包判定其是否为新建连接的首包;若是首包,则记录该新连接; 步骤c,接收该首包和该新连接,并将该首包的五元组中的一个或多个信息与一关联表中的各表项进行匹配;如果匹配上,则提取该匹配表项中的相应应用;其中,该关联表用于存储连接、该连接所属应用、该连接的五元组中的一个或多个信息;步骤e,接收所述首包、该首包所属应用,并根据引流策略,将该首包引流至相应链路中。
13.如权利要求12所述的一种网络设备支持引流功能的应用识别方法,其特征在于, 在所述步骤b之后包括若所述数据包为非首包,则识别该数据包所属连接。
14.如权利要求13所述的一种网络设备支持引流功能的应用识别方法,其特征在于, 在所述识别步骤之后包括,接收所述非首包和该数据包所属连接,根据该数据包识别各连接所属应用,并将该连接所属应用、该连接的五元组中的一个或多个信息以及该连接存储至所述关联表中。
15.如权利要求12所述的一种支持引流功能的应用识别方法,其特征在于,在所述步骤e之后包括,写入该首包所属连接以及该连接所属应用,以便将该连接的后续数据包被直接引流至该首包流入的链路中。
全文摘要
本发明涉及一种支持引流功能的应用识别设备及方法。该设备包括连接跟踪模块、首包识别模块、引流模块。该连接跟踪模块接收来自所述终端的数据包,根据该数据包判定其是否为新建连接的首包,若是首包,则记录该新连接。该首包识别模块接收来自该连接跟踪模块的首包,并将该首包五元组中的一个或多个信息与关联表中的各表项进行匹配;如果匹配上,则提取该表项中的相应应用;其中,该关联表存储各连接的五元组信息以及相应应用。该引流模块基于来自该首包识别模块的首包、该首包所属应用以及该引流模块的内置引流策略,将该首包引流至相应链路中。本发明实现了连接的首包引流功能,能够广泛应用于各种网络设备中。
文档编号H04L29/06GK102325124SQ201110135058
公开日2012年1月18日 申请日期2011年5月23日 优先权日2011年5月23日
发明者刘林, 梁志勇, 陈鑫 申请人:北京网康科技有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1