CN102325124B - 一种支持引流功能的应用识别设备及方法 - Google Patents
一种支持引流功能的应用识别设备及方法 Download PDFInfo
- Publication number
- CN102325124B CN102325124B CN201110135058.3A CN201110135058A CN102325124B CN 102325124 B CN102325124 B CN 102325124B CN 201110135058 A CN201110135058 A CN 201110135058A CN 102325124 B CN102325124 B CN 102325124B
- Authority
- CN
- China
- Prior art keywords
- packet
- connection
- application
- module
- belonging
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Landscapes
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明涉及一种支持引流功能的应用识别设备及方法。该设备包括连接跟踪模块、首包识别模块、引流模块。该连接跟踪模块接收来自所述终端的数据包,根据该数据包判定其是否为新建连接的首包,若是首包,则记录该新连接。该首包识别模块接收来自该连接跟踪模块的首包,并将该首包五元组中的一个或多个信息与关联表中的各表项进行匹配;如果匹配上,则提取该表项中的相应应用;其中,该关联表存储各连接的五元组信息以及相应应用。该引流模块基于来自该首包识别模块的首包、该首包所属应用以及该引流模块的内置引流策略,将该首包引流至相应链路中。本发明实现了连接的首包引流功能,能够广泛应用于各种网络设备中。
Description
技术领域
本发明涉及计算机网络,尤其涉及网络设备的引流功能。
背景技术
引流功能是指根据应用识别结果及用户策略将流量引至合适的链路。例如,用户有两条链路分别为链路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表中记录下:
表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。
表2
图2中,首包识别模块140接收来自连接跟踪模块110的首包,并将该首包的五元组信息与信息库130关联表(表2)中最新的几个表项(如最新的10个表项)进行匹配。如果匹配上某一表项,则从该表项中获取与该五元组信息对应的应用,再将该提取到的应用以及该首包发送至引流模块150。如果该首包的五元组信息与该关联表中的任意一项均没有匹配上,则直接将该数据包发送至该引流模块150。此外,该首包识别模块140还需要深入读取该首包载荷内容(具体方法可依据DPI技术),并将所读取到的内容发送至该应用识别模块120,以便该应用识别模块120根据该首包中的载荷内容以及其接收到的非首包识别出相应应用。
一个例子中,首包的源端口为32,通过上述表2可知,源端口32所对应的应用为“P2P下载”,则提取该“P2P下载”应用,而后该首包识别模块110将该“P2P下载”以及该首包发送至引流模块150。
需要说明的是,该连接跟踪模块110可以将首包的五元组信息发送至该首包识别模块140,也可以由首包识别模块120提取其接收到首包的五元组信息。
该引流模块150接收来自该首包识别模块140的信息,如果该信息包括数据包及相应应用,则该引流模块150根据其内置引流策略,将该数据包引流至相应链路。举例如,将属于聊天类应用的数据包引流至链路A,将属于P2P下载类应用的数据包引流至链路B。其中,该引流策略可配置。
该引流模块150在将该首包引入到相应链路之后,其会向该连接跟踪模块110写入该首包所属连接以及其所属应用,以便该连接跟踪模块110将该连接的后续数据包以及该应用,直接发送至该引流模块150,进而使该引流模块150根据其内置策略将该后续数据包引流至该首包的链路中。
图3是本发明一个实施例的支持引流功能的应用识别方法流程图。
在步骤210,连接跟踪模块接收来自用户终端的数据包,并根据该数据包所携带的信息识别该数据包所属连接。
具体地,该连接跟踪模块通过提取当前数据包的五元组信息,并将该五元组信息与其内置HASH表中的各表项进行匹配,从而获知该数据包所属连接是否属于为新建连接。其中,该HASH表相对应地存储连接(如连接2)及该连接的五元组信息。
如果识别出的连接是新连接,即当前数据包是新连接的首包,则在该HASH表中记录该新连接,以及该连接的五元组信息(即该数据包的五元组信息),再将该新连接以及该首包发送出去,然后执行步骤220。如果识别出的连接不是新连接,即当前数据包不是首包,则将该识别出的连接以及该数据包发送出去,然后执行步骤250。
在步骤220,首包识别模块接收来自该连接跟踪模块的首包,并提取该首包的五元组信息,再将该五元组信息与信息库所存储的关联表的各表项进行匹配。其中,该关联表相关联地存储五元组信息及应用,参见表2。
在步骤221,如果该五元组信息与该关联表中的某个表项匹配上,则该首包识别模块获取该表项中的相应应用,并将该首包以及该应用发送至引流模块,再执行步骤230。
在步骤222,如果没有匹配上,则该首包识别模块直接将该数据包发送至引流模块,以便该引流模块在不改变原链路的基础上,将该数据包发送出去。
在步骤230,该引流模块接收来自首包识别模块的首包以及相应应用,并根据该引流模块的内置引流策略对该首包进行引流。举例如,将应用为聊天的首包引流至链路A,将应用为P2P下载的首包引流至链路B。
在步骤240,该引流模块向该连接跟踪模块写入该首包所属连接以及其所属应用,以便该连接跟踪模块将该连接的后续数据包以及该应用,直接发送至该引流模块,进而通过该引流模块使得该后续数据包流入至该首包的链路中。
在步骤250,该应用识别模块接收来自该连接跟踪模块的数据包,以及接收由该连接跟踪模块识别出的该数据包所属连接,然后采用DPI技术识别出该连接所属应用,再将该连接、该连接的五元组信息、该连接所属应用存储至关联表中。
需要说明的是,该应用识别模块120可以仅提取与所要识别出的应用相关的五元组信息,即其可以仅取传输层协议(TCP/UDP)、源IP、目的IP、源端口、目的端口中的某一个或某几个信息。
此外,连接跟踪模块可以将首包的五元组信息发送至该首包识别模块,将非首包的五元组信息发送至应用识别模块;也可以由首包识别模块提取其接收到首包的五元组信息,而无需连接跟踪模块发送该五元组信息;以及由应用识别模块提取其接收到非首包的五元组信息,而无需连接跟踪模块发送该五元组信息。
显而易见,在不偏离本发明的真实精神和范围的前提下,在此描述的本发明可以有许多变化。因此,所有对于本领域技术人员来说显而易见的改变,都应包括在本权利要求书所涵盖的范围之内。本发明所要求保护的范围仅由所述的权利要求书进行限定。
Claims (11)
1.一种网络设备,其中,该设备一端与用户终端相连,另一端连接至互联网;其特征在于,该设备包括:
连接跟踪模块,接收来自所述终端的数据包,根据该数据包判定其是否为新建连接的首包,若是首包,则记录该连接;
首包识别模块,接收来自该连接跟踪模块的首包,并将该首包五元组中的一个或多个信息与关联表中的各表项进行匹配;如果匹配上,则提取该表项中的相应应用;其中,该关联表存储各连接的五元组信息以及相应应用;
引流模块,基于来自该首包识别模块的首包、该首包所属应用以及该引流模块的内置引流策略,将该首包引流至相应链路中;
所述连接跟踪模块在判定到其接收的数据包为非首包时,则识别该数据包所属连接;
所述网络设备还包括应用识别模块;
该应用识别模块接收来自该连接跟踪模块的非首包、该数据包所属连接,并识别该连接所属应用,再将该连接、该连接所属应用、该连接五元组中的一个或多个信息存储至所述关联表中。
2.如权利要求1所述的一种网络设备,其特征在于,由所述连接跟踪模块提取五元组中的一个或多个信息,并将该提取到的信息发送至所述首包识别模块和/或应用识别模块。
3.如权利要求1所述的一种网络设备,其特征在于,由所述应用识别模块提取数据包的五元组中的一个或多个信息;和/或
由所述首包识别模块提取首包的五元组中的一个或多个信息。
4.如权利要求1所述的一种网络设备,其特征在于,该设备还包括信息库,该信息库与所述应用识别模块、首包识别模块分别相连,其用于存 储所述关联表。
5.如权利要求1所述的一种网络设备,其特征在于,所述首包识别模块还读取该首包中的载荷内容,并将所读取到的内容发送至所述应用识别模块,以便该应用识别模块根据该首包载荷内容以及其他数据包识别出应用。
6.如权利要求1所述的一种网络设备,其特征在于,在所述应用识别模块识别出该连接所属应用为C-S类应用时,则将该连接、该连接的目的IP、该C-S类应用存储至所述关联表中。
7.如权利要求1所述的一种网络设备,其特征在于,在所述应用识别模块识别出该连接所属应用为基于UDP的P2P应用时,则将该连接、该连接的源端口以及该基于UDP的P2P应用存储至所述关联表中。
8.如权利要求1所述的一种网络设备,其特征在于,所述引流模块将首包引入到相应链路后,其向所述连接跟踪模块中写入该首包所属连接以及写入该连接所属应用,以便该连接跟踪模块将该连接的后续数据包直接引流至该首包流入的链路中。
9.如权利要求1所述的一种网络设备,其特征在于,所述引流模块的内置引流策略可以被配置。
10.一种网络设备支持引流功能的应用识别方法,其中,该网络设备在终端与互联网之间,包括:
步骤a,截获从该终端至互联网的数据包;
步骤b,根据该数据包判定其是否为新建连接的首包;若是首包,则记录该连接;
步骤c,接收该首包和该连接,并将该首包的五元组中的一个或多个信息与一关联表中的各表项进行匹配;如果匹配上,则提取该表项中的相应应用;其中,该关联表用于存储连接、该连接所属应用、该连接的五元组 中的一个或多个信息;
步骤e,接收所述首包、该首包所属应用,并根据引流策略,将该首包引流至相应链路中;
在所述步骤b之后包括:若所述数据包为非首包,则识别该数据包所属连接;
在所述识别步骤之后包括,接收所述非首包和该数据包所属连接,根据该数据包识别该连接所属应用,并将该连接所属应用、该连接的五元组中的一个或多个信息以及该连接存储至所述关联表中。
11.如权利要求10所述的一种支持引流功能的应用识别方法,其特征在于,在所述步骤e之后包括,写入该首包所属连接以及该连接所属应用,以便将该连接的后续数据包被直接引流至该首包流入的链路中。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201110135058.3A CN102325124B (zh) | 2011-05-23 | 2011-05-23 | 一种支持引流功能的应用识别设备及方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201110135058.3A CN102325124B (zh) | 2011-05-23 | 2011-05-23 | 一种支持引流功能的应用识别设备及方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102325124A CN102325124A (zh) | 2012-01-18 |
CN102325124B true CN102325124B (zh) | 2016-08-17 |
Family
ID=45452793
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201110135058.3A Active CN102325124B (zh) | 2011-05-23 | 2011-05-23 | 一种支持引流功能的应用识别设备及方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN102325124B (zh) |
Families Citing this family (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102761479B (zh) * | 2012-06-28 | 2015-09-09 | 华为技术有限公司 | 链路选择方法和装置 |
CN103561007B (zh) * | 2013-10-25 | 2016-10-05 | 华为技术有限公司 | 一种报文转发的方法及装置 |
CN104717101B (zh) * | 2013-12-13 | 2018-09-14 | 中国电信股份有限公司 | 深度包检测方法和系统 |
CN103825941B (zh) * | 2014-02-17 | 2017-07-28 | 深信服网络科技(深圳)有限公司 | 对等网络中业务数据的转发控制方法及装置 |
CN105471817B (zh) * | 2014-08-15 | 2019-02-12 | 华为技术有限公司 | 业务流的卸载方法、装置和系统 |
CN108234359B (zh) * | 2016-12-13 | 2020-12-04 | 华为技术有限公司 | 传输报文的系统和方法 |
CN108173705A (zh) * | 2017-11-28 | 2018-06-15 | 北京天融信网络安全技术有限公司 | 流量引流的首包识别方法、装置、设备及介质 |
CN108418758B (zh) * | 2018-01-05 | 2021-01-29 | 网宿科技股份有限公司 | 一种单包识别方法及流量引导方法 |
CN109543092A (zh) * | 2018-09-27 | 2019-03-29 | 深圳壹账通智能科技有限公司 | 金融产品推荐方法、装置、存储介质及计算机设备 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1758632A (zh) * | 2005-11-11 | 2006-04-12 | 杭州华为三康技术有限公司 | 流量选择出口链路的方法及转发流量的路由设备 |
CN101217491A (zh) * | 2008-01-04 | 2008-07-09 | 杭州华三通信技术有限公司 | 一种调整流处理单元负载分担的方法及装置 |
-
2011
- 2011-05-23 CN CN201110135058.3A patent/CN102325124B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1758632A (zh) * | 2005-11-11 | 2006-04-12 | 杭州华为三康技术有限公司 | 流量选择出口链路的方法及转发流量的路由设备 |
CN101217491A (zh) * | 2008-01-04 | 2008-07-09 | 杭州华三通信技术有限公司 | 一种调整流处理单元负载分担的方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN102325124A (zh) | 2012-01-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102325124B (zh) | 一种支持引流功能的应用识别设备及方法 | |
CN101296238B (zh) | 一种保持安全套接层会话持续性的方法及设备 | |
CN106302371B (zh) | 一种基于用户业务系统的防火墙控制方法和系统 | |
CN101364976B (zh) | 一种建立通信通道的方法、装置及数据通信系统 | |
CN108600376A (zh) | 基于LoRa的数据传输方法、装置、LoRa网关、系统及存储介质 | |
CN105471748B (zh) | 一种应用分流方法和装置 | |
CN101909077A (zh) | 一种对等业务的识别方法、装置及接入网 | |
CN102281180A (zh) | 应用于不同局域网的终端相互通讯的虚拟网卡通讯装置 | |
CN102201990B (zh) | 一种用于自治网络的业务控制方法及系统 | |
CN102438331B (zh) | 一种移动终端通过手机上网的方法及系统 | |
CN101577671A (zh) | 一种对等联网业务自动流量控制方法及系统 | |
CN101616056B (zh) | 突破PPPoE技术限制的分流方法、分流网关及其网络结构 | |
CN101345764A (zh) | 多链路无线移动工业管控一体化数据传输系统 | |
US20150127837A1 (en) | Relay apparatus and data transfer method | |
CN101800690A (zh) | 一种使用地址池实现源地址转换的方法和装置 | |
CN101369987B (zh) | 一种建立通信通道的方法及装置 | |
CN102315918B (zh) | 一种tcp连接与sctp连接互通的方法及装置 | |
CN105553712B (zh) | 一种实现双通道连接的服务器、终端、方法和系统 | |
CN105991353A (zh) | 故障定位的方法和装置 | |
CN106789878B (zh) | 一种面向大流量环境的文件还原系统以及方法 | |
EP2701358B1 (en) | Method, device, and system for implementing multimedia data recording | |
CN101102277B (zh) | 业务数据识别控制方法、系统及识别控制装置 | |
CN101621528B (zh) | 基于以太交换机集群管理的会话系统及会话通道实现方法 | |
CN106713437A (zh) | 一种用于nat网络中服务器向客户端发送消息的方法 | |
CN104780275A (zh) | 一种固话的云管理方法及系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant |