通信业务分析系统以及检查网络通信业务流的方法转让专利

申请号 : CN200680016510.1

文献号 : CN101176306B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 戈蒂埃·阿梅尔埃里克·霍尔洛伊特热罗姆·托莱

申请人 : 科斯莫斯公司

摘要 :

本发明提供了一种通信链路上的通信业务分析系统,具有通过多个链路彼此连接的分析器电路,其中每一个所述分析器电路的数据速率均低于所述通信链路的数据速率,并且所述多个分析器电路适于对数据包分别执行不同级的分析。将从第一分析器电路在第一级分析中分析的所述数据包中提取的信息转发到在第二级分析器电路中执行的第二级分析,并且所述第二级分析器电路执行的附加分析依赖于由所述第一分析器电路执行的所述分析。这种系统和相关方法可允许对计算机网络进行有效、实用、且改进的通信业务流分析,用以对高速且繁重的通信业务流进行估计,并可允许用于新兴技术的改进协议分析。

权利要求 :

1.一种通信业务分析系统(10),用于对连接多个网络的通信链路(200′)上的数据包进行通信业务分析,所述系统包括:-多个分析器电路(310、320a-320n、330i-330j),其通过多个链路(202a-202n)彼此连接,所述多个分析器电路中的每一个的数据速率均低于所述通信链路的数据速率;以及-其中所述多个分析器电路适于对沿所述通信链路传播的数据包分别执行不同级的分析,其中将从第一分析器电路在第一级分析中分析的数据包中提取的信息转发到第二分析器电路执行的第二级分析,所述第二分析器电路包括至少两个被配置以执行并行分析的分析器(320a-320n),并且所述第二分析器电路执行的附加分析依赖于所述第一分析器电路执行的所述第一级分析,所述第一和第二分析器电路适于分别执行不同级别的分析,所述第一分析器电路包括较低级的分析器电路,所述第二分析器电路包括较高级的分析器电路,其中所述较低级的分析器电路适合执行显式级分析,而所述较高级的分析器电路适合执行隐式级分析,所述隐式级分析包括识别一种协议的存在,该种协议是不易于由协议栈中在该协议之前的协议报头明确识别的协议,而所述显式级分析包括识别另一种协议的存在,该另一种协议是易于由协议栈中在该协议之前的协议报头明确识别的协议。

2.如前述权利要求的任一项所述的系统,其中适于分别执行不同级的分析的所述第一和第二分析器电路包括用于接收状态信息的共用内存(400),所述状态信息由所述第一和第二分析器电路执行的分析提供。

3.如权利要求1所述的系统,其中所述显式级分析适合识别协议,所述数据包的报头足以识别用于所述协议的有用信息以配制数据包签名。

4.如权利要求1所述的系统,进一步包括聚集了初等处理器(510a-510x)的网络处理器(500);内存(600);以及存储模块(700),所述网络处理器(500),内存(600)和存储模块(700)通过通信总线(900)相连接。

5.如权利要求4所述的系统,所述网络处理器包括并行的处理架构。

6.一种用于检查网络通信业务流的方法,所述方法通过在连接多个网络的通信链路(200′)上执行数据包的分析来实现,并包括:-在通信业务分析系统(10)内设置连续级的分析,所述系统包括适于在不同的层分别执行不同级的分析的多个分析器电路(310、320a-320n、330i-330j),所述多个分析器电路通过多个链路(202a-202n)彼此连接,所述多个分析器电路中的每一个的数据速率均低于所述通信链路的数据速率;

-转发由所述多个分析器电路分析的所述数据包,其中将从第一分析器电路在第一级分析中分析的数据包中提取的信息转发到在第二分析器电路中执行的第二级分析,所述第二分析器电路包括至少两个被配置以执行并行分析的分析器(320a-320n),以此类推;以及-使用所述第一分析器电路执行的分析用于所述第二分析器电路执行的分析,所述第一和第二分析器电路适于分别执行不同级别的分析,所述第一分析器电路包括较低级的分析器电路,所述第二分析器电路包括较高级的分析器电路,其中所述较低级的分析器电路适合执行显式级分析,而所述较高级的分析器电路适合执行隐式级分析,所述隐式级分析包括识别一种协议的存在,该种协议是不易于由协议栈中在该协议之前的协议报头明确识别的协议,而所述显式级分析包括识别另一种协议的存在,该另一种协议是易于由协议栈中在该协议之前的协议报头明确识别的协议。

7.如权利要求6所述的方法,其中设置连续级的分析包括:

通过对所述数据包进行分类而定义所述第一分析器电路执行的所述第一级分析,所述分类通过对所述数据包的源地址或签名进行散列编码而实现;以及将经分类的数据包转发到所述第二级分析中的所述第二分析器电路。

8.如权利要求6或7所述的方法,其中所述方法进一步包括:基于由所述第一和第二分析器电路执行的分析,提供所述通信业务流的语义识别。

9.如权利要求6或7所述的方法,其中所述方法进一步包括:

-通过初等处理器(510a-510x)中的至少一个,对到达所述通信链路的输入端(205)的输入数据包(1000)进行分析;

-将所述数据包拷贝(220)到内存中;以及

-利用用于分析所述数据包的处理器对存储在所述内存中的所述数据包进行处理(240),并且将状态信息写入(250)存储模块中;以及-对于所有所述输入数据包并行地进行所述分析,所述分析独立于所述拷贝、复制、和处理步骤。

10.如权利要求8所述的方法,其中所述方法进一步包括:

-通过初等处理器(510a-510x)中的至少一个,对到达所述通信链路的输入端(205)的输入数据包(1000)进行分析;

-将所述数据包拷贝(220)到内存中;以及

-利用用于分析所述数据包的处理器对存储在所述内存中的所述数据包进行处理(240),并且将状态信息写入(250)存储模块中;以及-对于所有所述输入数据包并行地进行所述分析,所述分析独立于所述拷贝、复制、和处理步骤。

11.如权利要求9所述的方法,其中所述方法进一步包括将所述数据包复制(230)到所述通信链路的输出链路(215)。

12.如权利要求10所述的方法,其中所述方法进一步包括将所述数据包复制(230)到所述通信链路的输出链路(215)。

说明书 :

技术领域

本发明涉及计算机网络,特别地,涉及高速连接链路上的通信业务流分析。

背景技术

检查通信业务流可占据大量的处理时间和功率以对其进行监控和分类,并且通信业务数据(尤其是因特网的通信业务数据)的数量和速度正在快速增加。由于需要进行各种类型的大量处理以得到语义的、可靠有用的网络通信业务的分类和处理,因此,所述用于通信业务流分析的系统往往会在通信业务流通道的层上遇到一些障碍。
通过对数据网络周围传播的通信业务进行分类,使得能够根据其分类确定要对每个通信业务流采取的行为。也就是,在数据包能够被充分处理之前,对通信业务流进行分类可允许网络组件根据该数据包的各种特征以及包含在数据包中的信息对该数据包进行分类。因此,准确而有效的数据处理主要依赖可靠的数据包分类方法。数据包经分类之后,网络组件可以确定如何适当地对该数据包进行操作和处理。
例如,在防火墙中,安全系统设置一般依靠协议性质的识别来防止某些传输。在用于管理服务质量的装置中,这种装置根据用于描述各种场景的规则的复杂性,对数据分配优先级。使用用于对这些连接进行分类的技术来保证这些场景和在连接内传送的数据包之间的一致性。
此外,用于控制和管理网络的操作需要对各种在这些网络上产生数字数据流的发送器和接收器之间的连接进行分类。这需要强大且可靠的分类方法,因而需要进行通信业务分析。
此外,数据包的分析和分类往往包含构造协议属性的复杂任务,即,确定用在数据语义流中使用的协议名称以及由协议携带的参数名称的有序序列。因为数据包通讯网络中使用的越来越多的新协议、协议修改和新的相关性链接,所以建立这种图表或知识库以识别不同协议是非常繁重的任务。
一般地,将数据包的观测任务分配到产生数据包的网络节点,例如通过其形成连接的代理服务器。因而,现有的通信业务流分析可在例如图1所示出的计算机网络系统中执行。一种用于分析各计算机之间的高速通信业务(例如数据包或数据报)的通信业务分析系统,包括通过通信链路200连接于第二网络110的第一网络100。通信链路200由分析器300分析,分析器300对第一网络100和第二网络110之间、双向或任一单向的通信业务流进行测量和分析。在商业网络中,第一网络100和第二网络110间的通信业务通常为1 Gbps,但是在操作员的网络的核心中能够高达几十Gpbs。
如上所述,在通信业务繁重的网络中,以准确并且精确的方式对所有通信业务进行连续的分析是一种苛求。分析器300的分析和测量能力由同时发生的通信业务流的数量N(例如,通信业务流的大小)以及每一通信业务流的吞吐量T(例如,通信业务流的速度)决定。N直接影响管理登记的应用的环境所需的内存量,而T直接影响在没有重大数据包损失的情况下进行分析所需的处理功率。T限定了将在一段时间内处理的数据包的数量,并且因此限定了可分配到每一数据包的处理量。
在公知的系统中,在每个数据包均参与决定通信业务流的状态,并因而形成大小与N相关的数据结构的情况下,处理量随通信业务流N的增加成比例增加。因而,很显然特定材料的基础设施将呈现与其固有性能和配置相关的性质,从而可通过减少D来增加N,或者通过减少N来增加D。换句话说,N×D几乎保持常数。
然而,现有计算机网络的现实和进展是N和T同时成比例地增加。即,网络通信业务的大小和速度不再成反比,而是N和T都在增加。除此之外,待监控和分析的通信业务流还很巨大且复杂。
因此,将需要开发一种新的方法和系统来对用于计算机网络进行有效、实用、且改进的通信业务流分析,用以对高速且大量的通信业务流进行估计,并对例如VoIP(网络电话)应用的新兴技术进行改进协议分析。

发明内容

因此,本发明的目标在于提供一种通信业务分析系统,用于在通信链路上进行通信业务分析,所述系统具有通过多个链路彼此连接的分析器电路,其中每一个分析器电路的数据速率均低于所述通信链路的数据速率,并且所述分析器电路适于对数据包执行各不同级的分析。将从第一分析器电路在第一级分析中分析的所述数据包中提取的信息转发到在第二分析器电路上实现的第二级分析,并且由所述第二分析器电路实现的附加分析依赖于由所述第一分析器电路执行的所述分析。
本发明还可包括下述特征中的一个或多个。
在本发明的一个方面,适于分别执行不同级的分析的所述第一和第二分析器电路包括共用内存,用于接收由所述第一和第二分析器电路实现的所述分析所提供的状态信息。
在另一方面,适于分别执行不同级的分析的所述第一和第二分析器电路分别包括较低级和较高级的分析器电路,其中所述较低级的分析器电路适合执行显式级分析,而所述较高级别的分析器电路适合执行隐式级分析。
在另一方面,所述显式级分析适合识别协议,数据包报头足以识别该协议的有用信息以配制数据包签名。
此外,本发明还提供了一种方法,用于通过在连接各种网络的通信链路上进行数据包分析来检查网络通信业务流,其中所述方法在通信业务分析系统内设置连续级的分析,所述系统具有适于在不同级分别执行不同级的分析的分析器电路,所述分析器电路通过多个链路彼此连接,每一个所述分析器电路的数据速率均低于所述通信链路的数据速率。本方法还转发由分析器电路分析的所述数据包,其中将从由第一分析器电路在第一级分析中分析的所述数据包中提取的信息转发到在第二级分析器电路执行的第二级分析,等等,并且本方法将由所述第一分析器电路执行的所述分析用于由所述第二分析器电路执行的所述分析。
通过以下的说明、附图,改进的系统和方法的以上和其它特征将显而易见。

附图说明

图1是通常的流量分析系统的示意图;
图2是根据本发明的第一实施方式的示意图;以及
图3是本发明的另一实施方式的示意图。

具体实施方式

参见图2,流量分析系统10包括分级分析器310,其代替图1中流量分析系统的分析器300。
分级分析器310用于对通过第一网络100′和第二网络110′之间的通信链路200′的通信业务流进行连续级的分析。因此,分级分析器310对通信业务流执行第一级分析,由分析器320a-320n执行第二级分析,并且由分析器330i-330j执行第三级分析。通信业务分析系统10可按需要具有足够多级的分析器,以根据通信链路200′上的数据包的流量大小和速度对通信业务进行充分的分析和分类。
分级分析器310和320a-320n通过链路202a-202n连接,并且通过通信链路200′的数据包的数量大于通过链路202a-202n的数据包的数量。
例如,在第一级分析中,分级分析器310执行第一级分类,即,执行第一操作以根据数据包的类型、报头标识等对数据包进行分类。同样,分级分析器310可执行显式(explicit)类型的协议分析,例如模式识别技术或模式匹配。
这些显式协议的中的一种是以太网协议,其中,以太网数据包报头指定协议栈中接下来的协议是否为(例如)具有其版本的逻辑链路控制(LLC)协议或IP协议。同样,IP协议下的数据包报头指定协议栈中接下来的协议是否为传输控制协议(TCP)、用户数据报协议(UDP)、或网间控制报文协议(ICMP)。尽管第一级分析可属于显式类型的协议分析,但不是必须限制于此。
当由分级分析器310在较低级执行第一级分析之后,第二级分析器,即,分析器320a-320n则可根据由第一级的分级分析器310完成的在先分类而进一步检查数据包。换句话说,分析器320a-320n将在较高级执行隐式(implicit)类型的分析,也就是识别隐式协议的存在。当协议不易于由协议栈中在协议之前的协议报头明确识别时,将该协议称为隐式协议。例如PointCast或Kazaa的大量应用层协议就是这样,连接协议栈中协议的使用依赖于通常由先前协商(prior negotiation)建立的连接环境,所述先前协商难以用沿着在所述连接的周围传播的数据包流的实时扫描进行编译。举例来说,如超文本传输协议(HTTP)、远程登录协议(Telnet)、文件传输协议(FTP)的某些公知的协议介于显式和隐式协议之间。当TCP协议报头中包括的保留端口号给出目的指示符,从而能确定地识别被传送的协议时,可将这些协议看作显式协议,例如端口号80对应于HTTP协议,端口号23对应于Telnet协议,端口号21对应于FTP协议。例如在TCP下,客户站通过将动态端口号分配到允许服务器站响应客户站的同级(peer)连接,使用端口号80建立与服务器站的HTTP查询连接。通过动态分配与查询连接的环境相关的端口号,在用于将服务器的响应传递给客户站的同级连接上的HTTP协议的显式本质减少。此外,不能阻止客户站预先与服务器站协商不同于用于HTTP查询连接的端口号80。在这种情况下,HTTP协议更倾向于隐式,而非显式。这对于其它协议同样如此,并且所述技术能够应对这种情况。
其后,第二级分析丰富了由第一级分析提供的知识,等等。随后,增加例如第三级分析器330i-330j的附加级分析器,分析器330i-330j利用先前的第二级分析中执行的分析,并且在先前的第二级加入了其自身的附加分析。
此外,作为第一级分析的另一实施例,我们可以设想:由第一级的分级分析器310通过计算在IP源上的散列关键字、IP目的地址、传送代码、源通道和目的地通道来实现第一级分析;将数据包转发至用于第二级分析的分析器320a-320n,其中通过应用端口实现分类;由分析器330i-330j实现与通信业务流的语义识别相关的第三级分类。例如,如WO 2004/017595所述,通信业务流的语义识别可包括利用与协议相关的协议图和模块化自我识别机制从通信业务中获得重要的数据包元素。
仍然参见图2,通信业务分析系统10中的所有分析器都可共享存储与执行的分析相关的状态信息的共用内存400。例如,在上述情况中,对于分析器320a-320n和分析器330i-330j来说将有必要共享共用内存400。事实上,分析器310、320a-320n和330i-330j、以及来自不同的后续级的全部分析器有必要共享相同的内存400。一个实施例是当分析任务的拆分依赖于来自每个传感器的资源的使用统计时。
参见图3,其示出了另一个通信业务分析系统20,其中使用独立的处理单元实现分级的分析,例如,通过结合例如个人电脑的多个中央处理器(CPU)、通过利用例如网络处理器的并行处理架构、或者更普遍地,通过利用允许连续级的分析的组织并共享相关数据的任何类型的机制。
图3示出了通信链路200″上通过网络处理器500的双向数据通信业务,网络处理器500聚集了初等处理器510a-510x,并通过高性能的通信总线900连接到内存600、存储模块700以及传统的微处理器800。
如图3进一步示出的,当对双向数据通信业务进行分级分析时,通信链路200″在其输入端205接收输入数据包1000。在步骤(210)中,这些输入数据包1000首先由初等处理器510a-510x中之一执行分析。然后在步骤(220)中,将输入数据包1000拷贝到内存600中。例如,如果必要的话,在步骤(230)中,在通信链路200″的输出端215将输入数据包1000复制到通信链路200″。例如,当进行被动分析用于监控目的时,就是这种情况,但对于如防火墙应用的其它应用则不是这种情况。并行地,对其它的数据包进行同样的步骤。然后,在步骤(240)中,由传统的微处理器800处理存储在内存600中的数据包1000,在步骤(250),微处理器800将对数据包进行分析并将状态信息写入存储模块700中。这部分的分析不涉及所有的数据包,而只涉及其中的一部分。此外,对所有输入数据包1000进行的分析可为并行的,并独立于利用传统的微处理器800对数据包进行的拷贝、复制、和处理。
举例来说,传统的微处理器800可进行与分析不同协议及分析不同协议环境中的数据包相关的分析,例如,隐式协议vs显式协议,以快速识别数据包并在通信业务流上提取有用的语义信息,例如通过改进使用协议的有序序列构造实现的网络连接分类。