CN1703890A - 数据网络中识别和分析协议的方法 - Google Patents

数据网络中识别和分析协议的方法 Download PDF

Info

Publication number
CN1703890A
CN1703890A CNA038202700A CN03820270A CN1703890A CN 1703890 A CN1703890 A CN 1703890A CN A038202700 A CNA038202700 A CN A038202700A CN 03820270 A CN03820270 A CN 03820270A CN 1703890 A CN1703890 A CN 1703890A
Authority
CN
China
Prior art keywords
protocol
title
connection
data structure
kernel
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.)
Granted
Application number
CNA038202700A
Other languages
English (en)
Other versions
CN1703890B (zh
Inventor
塞尔日·弗迪达
戈蒂埃·阿梅尔
埃里克·奥尔莱特
居伊·皮若尔勒
热罗姆·托莱
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Kos Moss Technologies
Original Assignee
Qosmos
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Qosmos filed Critical Qosmos
Publication of CN1703890A publication Critical patent/CN1703890A/zh
Application granted granted Critical
Publication of CN1703890B publication Critical patent/CN1703890B/zh
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/18Multiprotocol handlers, e.g. single devices capable of handling multiple protocols
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/18Protocol analysers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/02Network architectures or network communication protocols for network security for separating internal from external traffic, e.g. firewalls
    • H04L63/0227Filtering policies
    • H04L63/0254Stateful filtering
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/14Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
    • H04L63/1408Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic by monitoring network traffic
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/02Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/22Parsing or analysis of headers

Abstract

本发明方法使用信息网络,提供一种根据为所检测的连接上发送的数据加上的名称识别其决定数据的协议自识别机制,并提供一种称为子协议的可用协议名称的空或非空列表,该协议名称与称为父协议的每个可用协议名称相关。信息系统内核使每个检测到的连接与一个数据结构相关联,设置该数据结构使得包括所用协议名称的排序序列。该内核通过在与所述排序序列的最后名称相关的列表中检索(2001,2006)子协议名称,建立(2000)数据结构。相关的自识别机制在传输的数据中识别(2002,2007)决定数据,在该识别过程中,自识别机制在排序序列的尾部添加检索到的子协议名称,并且尽可能地重新开始检索(2000)相关的自识别机制在传输的数据中识别决定数据的子协议名称。

Description

数据网络中识别和分析协议的方法
技术领域
本发明涉及数据网络的控制。
背景技术
数据网络中传播的业务的分类使根据其分类决定对每个业务流要采用的行为成为可能。
例如,在防火墙中,安全系统的设置通常取决于对协议属性的识别,以便阻止某些传榆。
再例如,管理服务质量的设备根据描述脚本的复杂规则给数据分配优先权。在连接中传送的这些脚本和数据包之间的通信使用了对这些连接进行分类的技术。
再例如,网络监控设备生成统计数字,用于测量和控制特定点处网络的状态。这需要对流经该点的各种流进行分类和识别。
再例如,各种数据流的分类对计费服务是有用的,因为其成本取决于这些服务是属于音频、视频、电子消息还是数据库查询类型。而且,为了保证其计费,正确识别这些服务的用户经常是非常重要的。
这样,控制和管理网络的操作需要对各种通过网络产生数字数据流的发射器和接收器之间的连接进行分类,而这便需要强大而可靠的分类方法。
根据现有的已知技术,将数据包观察任务分配给网络的节点例如代理服务器,通过该代理服务器传递产生这些数据包的连接。
专利申请WO 0101272公开了一种用于监控网络中的业务的过程和设备。应用于所分析的数据包的预定域的模式识别技术(也称为模式匹配)使识别连接协议栈中预先识别的协议之后的协议成为可能,只要该预先识别的协议有可能确定其中要识别的域、模式或数值以便识别之后的协议。
在这样的显性协议中,有以太网协议,其数据包报头规定协议栈中之后的协议是否为诸如可能带有版本号的LLC协议或IP协议。同样,IP协议下的数据包报头规定协议栈中之后的协议是否为诸如TCP、UDP或ICMP协议。
这里就出现了一个隐性协议的识别问题。当协议不能由协议栈中排在它前面的协议报头以明确的方式显明地识别出时,该协议称为隐性协议。许多像Pointcast或Kazaa这样的应用层协议便属于这样的情况,这些协议在连接的协议栈中的使用取决于通常由在连接中传播的数据包的优先协商所建立的连接的前后关系,该优先协商很难和跟随流的实时扫描一同汇集。
现在一些像HTTP、Telnet、FTP这样的已知协议受到显性协议和隐性协议的限制。当TCP协议报头中注明的预留端口号给出目的地标志、使得对传输中的协议以明确的方式进行识别成为可能时,这些协议可认为是显性协议。举例而言,号80对应于HTTP协议,号23对应于Telnet协议,号21对应于FTP协议。例如,在TCP协议下,工作站通过给同等连接分配动态端口号,使用端口号80建立和服务站的HTTP查询连接,该同等连接允许服务站对工作站进行响应。需要注意的是,与该查询连接的前后关系相关的端口号的动态分配削弱了通过同等连接来传送服务站对工作站响应的HTTP协议的显性性质。而且,现有技术不能阻止工作站和服务站对端口号截然不同于HTTP查询连接的号80进行预先协商,在这种情况下,HTTP协议便成为隐性的而不是显性的。其它的协议也是这样。而且,FTP协议下的查询连接以已知方式引起了其它的文件实际传输的动态连接、查询连接和用于传输控制的同等连接。在该动态连接或引起的连接中,端口号并不能使显明地识别FTP协议成为可能。在TCP协议下,对端口号的域应用过滤器并不能使识别以明确方式传输的协议成为可能。
这里出现了另一个问题,即对于其实现不仅因使用结构而且因新协议的不断产生而发生变化的协议的识别问题。
例如,通过对Ethernet、IP、TCP、Telnet协议排序序列的堆栈而使用Telnet协议的常规结构是已知的。其它通过对Ethernet、IP、TCP、HTTP、Telnet协议或对Ethernet、IP、IP、TCP、HTTP、Telnet协议排序序列的堆栈来管理漫游的结构,也是可能的。
现有技术中的系统很难在这些系统基于模式识别的情况下,在由相关性链接确认的域中,通过修改现存或新协议之间的这些相关性链接,提供结构的协议修改来识别所用协议。对于任何与根据不定期协议结构建立的连接的对抗,均需要重建硬件系统以提高效率,这一缺陷尤其明显。
发明内容
本发明的目的在于提供一种方法,用于借助于计算系统对使用协议的通信网络中的发射器与接收器之间检测到的连接进行分类,每个协议由可用协议名称命名。该方法的显著性在于在上述计算系统中:
—设计协议自识别机制与每个可用协议名称相关联,以便从检测到的连接中传输的信息中对由这个名称所命名协议的确定信息进行识别,
—所谓的子协议可用协议名称的非空或空列表与每个所谓的父协议可用协议名称相关联,
—计算内核使每个检测到的连接与第一数据结构相关联,设计该数据结构以便包含用所谓的Base协议名称初始化的所用协议名称的排序序列,
—对于每个检测到的连接,计算内核建立第一数据结构。在该建立过程中,计算内核通过在与排序序列的最后名称相关联的子协议名称列表中搜索相关的自识别机制从传输的信息中识别出决定信息的子协议名称,并且当找到时把该子协议名称添加到排序序列的尾部,只要有可能在与排序序列最后名称相关联的子协议名称列表中找到相关自识别机制在传输信息中识别出决定信息的子协议名称,便重新开始搜索,
—当不再可能在与排序序列最后名称相关联的子协议名称列表中找到相关自识别机制在传输信息中识别出决定信息的子协议名称时,计算内核声明已经完成对检测到的连接的分类。
分别与可用协议相关的可用协议名称和可用协议列表所相关联的自识别机制提供了一种模块化,使得让上述方法适应于任何结构的修改成为可能。当存在一种在父协议与子协议间创建出新的可能相关性链接的结构时,把子协议名称添加到与父协议名称相关联的列表中就已足够。当存在一种新的可用协议时,把与该新的可用协议名称相关的新的自识别机制添加到系统中就已足够。对连接的分类可能会受到所用协议的排序序列顺序建立的影响,在该建立的每个步骤中最后的协议构成一个父协议。当不再可能为已成为排序序列中最后协议的父协议找到所用的子协议时,分类终止。
为了方便对其特性为隐性的子协议名称的搜索,计算内核把传输的信息提交给每个与子协议名称列表中的名称相关的自识别机制,直至自识别机制之一声明已识别到决定信息或没有自识别机制能够声明识别到决定信息为止。
自识别机制由于设置有与其相关的子协议的语言规则,所以能够容易地验证出是否所提交的信息属于该语言。
而且为了方便对其特性为显性的子协议名称的搜索,计算内核把传输的信息提交给与排序序列的最后名称相关联的自识别机制,以此使得该自识别机制在父协议的决定信息中找到子协议名称。
自识别机制由于设置有与其相关的父协议的语言规则,所以能够容易地从所提交的信息中找出哪个指定了子协议。
当排序序列直到应用层完成时,与其相关的连接由该应用层的类型进行分类。这允许例如防火墙对任何文件传榆类型的连接进行阻挡,或允许网络管理人员测量基于浏览器类型的网络连接的流量(WWW表示万维网)。
在特殊的方式下,计算内核通过把传输的信息的全部或部分提交给至少一个与上述排序序列中低等级名称之一相关的自识别机制,为每个检测到的连接生成当前签名,以此使得该自识别机制在决定信息中找到由计算内核结合到上述当前签名中的源和目的标志。
在构成协议栈图像的排序序列中,低等级通常对应于物理层、网络层和传输层。上述签名使区分每个连接成为可能。这种对同一应用类型的连接的区分允许例如防火墙对于任何从/至计算机设备的特定部分的文件传输类型连接进行阻挡。该区分还允许例如网络管理人员测量基于浏览器类型的由用户端设备发起的或为服务器端设备特定部分指定的网络连接的流量。
更特别地,计算内核通过建立每个第一数据结构和为相关连接生成的当前签名之间的第一连带对应关系,在第一数据表中对每个第一数据结构进行编目。
上述签名提供的附加技术效果是,当传输的信息根本不同时,在数据结构的建立过程中,允许计算内核涉及同一连接而不需要附助机制对它们进行编组。
事实上,截然不同的连接可能属于同一语义流。例如对于同等连接和/或动态连接便属于这种情况。
在一种特别有利的方式下,计算内核在上述第一数据表中,建立在每个当前签名和同等签名之间的第二连带对应关系,该同等签名的源标志是当前签名的目的标志,并且该同等签名的目的标志是当前签名的源标志。
在一种特别有利的方式下:
—计算内核在其建立的数据结构中遍历排序序列的所用协议名称,以便对每个动态连接协议名称进行检测,
—对于检测到的每个动态连接协议名称,计算内核把传输的信息提交给与检测到的名称相关联的自识别机制,以此来确定是否存在随后的动态连接。并且如果存在随后的连接,就与第二数据结构相关联,设计该第二数据结构以便包含以所谓的Base协议名称开始的潜在协议名称的排序序列。
上述第二连带对应关系和/或第二数据结构使甚至在检测同一语义流的连接之前对其进行通知成为可能,也使在同样语义流中检测到的连接一个中传输的信息基础上,完成对同一语义流的几个连接的分类。
在一种更特别有利的方式下,计算内核通过建立每个第二数据结构和由与检测到的名称相关的自识别机制生成的潜在签名之间的连带对应关系,在第二数据表中对每个第二数据结构进行编目。
在又一种更特别有利的方式下,计算内核进一步通过以下方式建立第一数据结构:
—搜索其中包括所用协议名称的排序序列的潜在协议名称的排序序列,以及
—当存在其潜在签名对应于当前签名的潜在协议名称排序序列时,借助于第二数据结构完成第一数据结构。
为了实时地执行操作,以便允许其它使用所述分类的系统作出更好的反应,并且/或者减少执行所述方法的计算系统的存储器资源的必要容量,对连接进行分类的方法的改进在于:
—计算内核在将要检测的连接内的通过计算系统的数据包中,收集传输的有用信息以便生成签名,只要传输的该有用信息足够,就生成当前签名,
—计算内核使用如此实时生成的当前签名对连接进行检测,通过在数据包中收集传输的有用信息以便建立第一数据结构,在上述第一数据表中搜索与当前签名相对应的第一数据结构,当不存在与当前签名相对应的第一数据结构时,使一个新的第一数据结构和检测到的连接相关联,并且当存在与当前签名相对应的第一数据结构时,开始或继续建立第一数据结构。
如果大数据包被分裂为若干较小的数据包,可能会发生一个数据包中收集的有用信息不足以生成签名的情况。
根据上述的方法的附加改进方案,计算内核通过建立有用信息间的连带对应关系,在第二数据表中对有用信息进行编目,直至有用信息足以生成当前签名,该有用信息包括全体成员对同一连接的链接。
附图说明
通过阅读优选实施例的描述,将更好地理解本发明。该描述是参照附图进行的,其中:
图1示出了协议图表存储器的可能表达方式;
图2和图3示出了根据本发明的方法的流程图。
具体实施方式
参照图1,列102中标的是可用协议的名称,阵列101包含001到021的数字,而不限制行号。对应的行中表示和列102中的各可用协议名称相关联的列表,所以称列102中的各可用协议名称为父协议。在不限制列号的列105至110中,这里通过阵列行的指针建立各列表,所以称列102中注明的协议名称为子协议。
例如,标示001的行包含一名称Base,该名称识别所谓的基协议,除特殊的情况以外,基协议实际上不是连接的可用协议,而是可用来开始一个由所有子协议列表渐进串联组成的协议图表遍历树的根协议。这里与名称Base相关联的子协议名称列表包含协议名称:Ethernet、ATM和PPP,这些协议都是物理层协议,是实际上可用于连接的第一类协议。这样,列105中的指针指向行002,列106中的指针指向行003,列107中的指针指向行004。
在标示002的行中,与名称Ethernet相关联的子协议名称列表包含协议名称LLC、Ipv6和Ipv4,其每个由分别位于列105、106和107中的指针分别指向行005、007和008。
在标示005的行中,与名称LLC相关联的子协议名称列表包含协议名称STP和Ipv4,其每个由分别位于列105、和106中的指针分别指向行006和008。
在标示006的行中,与名称STP相关联的子协议名称列表为空。协议名称STP在协议图表的叶上,即该父协议不存在子协议。
在标示007的行中,与名称Ipv6相关联的子协议名称列表包含协议名称Ipv6、Ipv4、TCP、UDP和ICMP,其每个由分别位于列105、106、107、108和109中的指针分别指向行007、008、009、010和011。需要注意的是,名称Ipv6既是父协议的名称也是子协议的名称。这表明,在同样协议的网络层之上放置一个网络层来通过创建网络通道以已知方式管理漫游是有可能的。也可以在网络层之上放置不同协议的网络层以便管理网络间兼容性的差异,例如,通过兼容的Ipv4网络可以传递Ipv6连接。
列103中包含一个对于各协议名称的标志,该标志表明指示协议是显性的还是隐性的,也就是说,作为子协议的协议是否及时地由父协议加以规定。作为例外,名称为Base的协议在列103中的标志为根类型,因为其没有父协议。
列104中包含另一个对于各协议名称的标志,该标志表明该协议是否可以生成动态连接。例如,行012中的FTP协议和行013中的http协议便属于这一情况。
列102中注明的每个可用协议名称均和一个自识别机制相关联。每个自识别机制设计成由计算内核借助于与其相关联的协议名称来激活,每个自识别机制包括过滤器,该过滤器在优选方式下设计成遵照协议语言的规则的形式,该协议的名称与自识别机制相关联。借助于推理引擎,自识别机制被设计成从由计算内核提交过来的数据包中检索出那些满足用于响应计算内核要求的规则的数据。在已知的方式中,规则包括前提部分和动作部分,当规则被激活并且前提部分满足时,动作部分便产生响应。自识别机制的推理引擎被设计为可逐渐满足和计算内核连续提交的数据包一起过来的规则前提,这样,动作部分就可以分别根据前提部分的不满足、部分满足或全部满足针对每次提交产生消极型响应、可能型响应或者积极型响应。
参照图2,在步骤1000中激活上述方法,用于计算系统在物理级上将每个数据包从网络转移。在物理级上,所有将要检测的连接在物理上通过例如Ethernet型(IEEE 802标准)、ATM型(异步传输模式)、PPP型(点对点协议)或任何其它类型物理级的计算系统的耦合器。在该物理级上,计算系统配备有物理上构成数据包的比特字符串。
在步骤1001中,计算内核通过把数据包的内容提交给与接收数据包的物理耦合器所用协议相关的自识别机制,从该数据包中提取出签名。计算内核要求自识别机制为其返回源标志、目的标志和传输协议的名称。自识别机制配备有设计成识别数据包中源标志和目的标志的过滤器,例如该源标志和目的标志在Ethernet型物理耦合器的情况下是MAC地址,在ATM型物理耦合器的情况下是虚拟电路标识符(VCI)和虚拟路径标识符(VPI),在PPP型物理耦合器的情况下是主叫电话号码和被叫电话号码。需要注意的是,在物理级上,目的地标志和计算系统耦合器的物理地址相对应。物理层协议通常具有显性,自识别机制也配备有设计成识别传输的协议的过滤器。
计算内核从自识别机制接收到源标志和目的标志后,产生包含源标识符和目的标识符的物理级签名。
计算内核借助于由物理级自识别机制返回的传输协议的名称,把数据包中的数据提交给相关的自识别机制,并要求该自识别机制为其返回源标志和目的标志,可能的情况下还返回传输协议的名称。自识别机制配备有设计成识别数据包中源标志和目的标志的过滤器,如在IP协议情况下该源标志和目的标志为IP地址。网络层协议通常具有显性,其自识别机制也配备有设计成识别传输的协议的过滤器。
计算内核从自识别机制接收到源标志和目的标志后,产生包含源标识符和目的标识符的网络级签名。
计算网络借助于由网络级自识别机制返回的传输协议的名称,把数据包中的数据提交给相关的自识别机制,以便产生上述相应级的签名,并重复上述操作,直至自识别机制发出信号表示它不能再给出任何传输协议的名称为止。
计算内核把每个层级产生的签名进行串接,以便获得数据包所在连接的特定全局签名。
有一些协议执行分裂操作,也就是说把数据包分割成大小与较低层协议相兼容的几个数据包。例如,较高层级的协议对大于可包含在物理帧中的最大数据容量(MTU表示最大传输单元)的数据包执行上述分裂操作。需要注意的是,在同一数据包的片段中,原来的数据头并不在所有的片段上完全再生。这样,事实上发现的数据包仅构成数据包的一个片段,它并没有必要包含能产生特定连接签名的所有信息。例如,在IP协议的UDP情况下,一个UDP片段可能发现并不包含UDP头,特别是允许签名计算的源和目的端口。
每个与能执行分裂操作协议的名称相关的自识别机制都配备有至少一个上述的过滤器,以便识别比当前数据包大的完整数据包的大小指示,并且/或识别完整数据包的复原标识符,该复原标识符通常是由源分配给每个数据包片段的序号。然后,自识别机制把分裂信号发给计算内核和复原标识符。计算内核使用一个相关性数据表,该数据表把每个可根据片段层级进行计算的签名与完整数据包的全局签名进行匹配。这样,当满足该相关数据表条件的数据包或数据包片段出现时,计算内核便把相应的全局签名直接和数据包或数据包片段结合。
在本发明方法的实施中,上述计算内核使用从步骤1001中提取出的签名,创建步骤1000中数据包入口检测到的连接的第一数据结构。
在步骤1002中,如果存在与步骤1001中提取出的全局签名的对应关系,计算内核通过相关性数据表1搜索当前连接。为了有助于该搜索,计算内核以一种已知的方式借助于散列表对全局签名应用散列函数来计算出散列键,该散列键以一对一的方式标注了相关性数据表1的行。
如果计算内核在相关性数据表1中找到一个对应关系,就激活步骤1005,否则就激活步骤1003。这样,计算内核在步骤1002中验证提取出签名的数据包是否属于已经在当前连接的相关性数据表中完成编目的现存连接。
在步骤1003中,计算内核通过建立检测到的连接与步骤1001中提取出的全局签名的对应关系,创建相关性数据表1的行。对于该检测到的连接,计算内核运用以协议名称Base开始的已使用协议名称的排序序列,在所创建的行内初始化第一数据结构。且该第一数据结构包括每个分配给列105之前阵列101的列的二进制变量字符串。为了对该二进制变量字符串进行初始化,计算内核读取阵列101的每个单元格,这些单元格位于列105之前的列与阵列101的行的交汇点,其中在列102中包含有排序序列的最后协议名称。对于非空单元格,计算内核把相应级的二进制变量设为1,来表示该单元格标注的协议名称使用的概率不为零。对于空单元格,计算内核把相应级的二进制变量设为零,来表示该单元格标注的协议名称使用的概率为零。同时,计算内核计算同等连接签名,使每个同等连接签名的源标志等于全局签名中注明的相应级目的标志,并以此使每个同等连接签名的目的标志等于全局签名中注明的相应级源标志。然后计算内核通过相关性数据表1搜索是否存在与同等连接签名的对应关系。
如果计算内核在相关性数据表1中找到与同等连接签名的对应关系,那么计算内核在包含与当前全局签名的对应关系的行和包含与同等连接签名的对应关系的行之间建立交叉参考。如果计算内核在相关性数据表1中没有找到与同等连接签名的对应关系,那么计算内核通过建立与同等连接签名的同等连接对应关系创建相关性数据表1中的行,并且然后,计算内核在包含与当前全局签名的对应关系的行和包含与同等连接签名的对应关系的行之间建立交叉参考。
步骤1003之后,计算内核激活步骤1004。
在步骤1005中,计算内核在包含与全局签名的所检测连接对应关系的相关性数据表1的行中查看,确定是否该连接被标记成已分类状态。
如果检测到的连接被标记成已分类状态,那么计算内核激活步骤1006,否则,计算内核激活步骤1004。
在步骤1004中,计算内核通过执行下面参照图3所描述的步骤继续建立第一数据结构。
在步骤2000中,计算内核一方面指向在步骤1002中找到或在步骤1003中创建的相关性数据表1的行,而另一方面指向在步骤1000中接收到的数据包。计算内核读取位于所指行的所用协议排序序列的尾部的所用协议名称,把该协议名称作为父协议名称。
计算内核搜索第一数据结构,来找到上述二进制变量字符串是否包含非零值的二进制变量。如果所有的二进制变量为零,计算内核便激活步骤2010。如果存在至少一个非零二进制变量,计算内核便激活步骤2001。
在步骤2001中,计算内核查看阵列101的列103,来确定父协议是否属于隐性类型。如果父协议属于隐性类型,计算内核就激活步骤2004,否则,即如果父协议属于显性类型,计算内核就激活步骤2002。
在步骤2002中,计算内核把数据包的内容发送给与父协议名称相关的自识别机制,并要求自识别机制为其返回子协议名称。父协议的自识别机制对包含在所发送数据包中的数据,应用子协议识别规则,并且如果数据足以满足所有的前提,就返回一个包含子协议名称的响应给计算内核,或如果数据不足以满足所有的前提,则返回一个等待补足数据的待命响应。
计算内核接收到自机识别机制的响应信号时,如果该响应属于等待补足数据的待命类型,计算内核就终止步骤1004,如果该响应包含子协议名称,计算内核就激活步骤2003。
在步骤2003中,计算内核把子协议名称添加到所用协议名称排序序列中,并重新激活步骤2000,然后在步骤2000中,已在步骤2003中所添加的最后子协议名称构成一个父协议名称。正如前面所述,第一数据结构包括一个二进制变量的字符串,每个变量被分配给列105之前阵列101的一个列。在重新激活步骤2000之前,计算内核读取阵列101的每个单元格,这些单元格位于列105之前的列与阵列101的行的交汇点,其中在列102中包括有排序序列的最后协议名称。对于非空单元格,计算内核把相应级的二进制变量设为1,来表示该单元格标注的协议名称使用的概率不为零。对于空单元格,计算内核把相应级的二进制变量设为0,来表示该单元格标注的协议名称使用的概率为零。
正如前面所述的,如果父协议属于隐性类型,便激活步骤2004,也就是说,并不以明确的方式识别传输的协议。在步骤2004中,计算内核搜索第二相关性数据表2,来找到当前签名与协议名称的第二排序序列之间是否存在对应关系,该第二排序序列包含在第一相关性数据表1中编目的协议名称第一排序序列。如果计算内核在表2中找到这样的第二排序序列,那么就激活步骤2005,否则,计算内核激活步骤2006。
在步骤2005中,计算内核从第二排序序列中检索在保持其排序的同时位于父协议名称后面的协议名称。此后,计算内核把第二排序序列从相关性数据表2中删除,并且然后激活步骤2003。
在步骤2003中,计算内核在保持排序的同时,把子协议名称添加到所用协议名称的第一排序序列中。在重新激活步骤2000之前,计算内核为添加到所用协议名排序序列中的最后的协议名称设置二进制变量字符串中的变量。
在步骤2006中,计算内核从第一数据结构中,以第一个非零二进制变量开始,相继读取二进制变量字符串中的非零变量。从与非零二进制变量相应层级的阵列101的单元格中,计算机内核推演出所谓的可能子协议名称。计算内核把数据包提交给与可能子协议名称相关的自识别机制,同时向该自识别机制询问提交给它的数据包是否允许它以明确的方式识别子协议为已使用的协议。当计算内核接收到来自自识别机制的响应时,激活步骤2007。
在步骤2007中,如果自识别机制响应子协议已经使用,计算内核就激活步骤2003;如果自识别机制响应子协议未被使用,计算内核就激活步骤2008;如果自识别机制响应子协议可能被使用,计算内核就激活步骤2012。
在步骤2008中,计算内核把当前二进制变量设置为零,来表示子协议名称不是所用协议的子协议名称。此后计算内核激活步骤2012。
在步骤2012中,计算内核查看二进制变量字符串,来确定在引起先前步骤2006被激活的二进制变量之后是否存在非零二进制变量。如果存在非零二进制变量,计算内核为在步骤2012中检测到的新的非零二进制变量激活步骤2006;如果不存在非零二进制变量,计算内核激活步骤2009。
在步骤2009中,计算内核要确定二进制变量字符串是否仅包括零值。如果二进制变量字符串仅包括零值,则计算内核激活步骤2010,否则,即如果二进制变量字符串包含至少一个非零值,则计算内核激活步骤2011。
在步骤2010中,计算内核在第一数据结构中标记已分类连接的状态,并且然后激活步骤2011。
在步骤2011中,计算内核通过运用所用协议名称的排序序列和包含在第一数据结构中的与当前连接相关的二进制变量字符串,完成与同等连接相关的第一数据结构,更新同等连接,然后计算内核终止步骤1004。
在步骤1004之后,计算内核激活步骤1006,现在参照图2描述步骤1006。
在步骤1006中,计算内核从名称Base后面的协议名称开始相继考虑所用协议名称排序序列中的协议名称。计算内核查看列104来确定所考虑的协议名称是否和产生动态连接的协议相对应。如果所考虑的协议名称和产生动态连接的协议不相对应,则计算内核激活步骤1010。如果所考虑的协议名称和产生动态连接的协议名称相对应,则计算内核激活步骤1008。
在步骤1008中,计算内核把数据包提交给与所考虑的协议名称相关联的自识别机制,以便向自识别机制询问它是否在提交的数据包中检测到动态连接产生,并且如果自识别机制检测到动态连接产生,则返回所产生的动态连接的预定协议名称以及源和目的标识符。如果自识别机制返回动态连接的预定协议名称以及源和目的标识符,则计算内核激活步骤1009。否则,即如果自识别机制响应检测到动态连接未产生,则计算内核激活步骤1010。
在步骤1009中,计算内核通过使用与当前连接相关的第一数据结构并且通过使用自识别机制在步骤1008中返回的响应,向第二相关性数据表2中添加与未来连接相关的第二数据结构。
在步骤1010中,计算内核要确定在所用协议名称排序序列中是否存在一个后续的协议名称。如果在所用协议名称排序序列中存在一个后续的协议名称,计算内核为该后续协议名称重新激活步骤1006。否则,即如果在所用协议名称排序序列中不存在后续协议名称,计算内核丢弃在步骤1000中接收到的数据包,从而使该数据包得以继续传输直至它的下一个目的地。
对于每个在步骤1000中接收到的数据包都反复执行以上所述方法。

Claims (11)

1.一种借助于计算系统对在使用协议的通信网络中的发射器与接收器之间所检测到的连接进行分类的方法,每个所述协议由可用的协议名称命名,其特征在于,在所述计算系统中:
—设计协议自识别机制与每个可用协议名称相关联,以便从检测到的连接中传输的信息中对由该名称命名的协议的决定信息进行识别,
—所谓的子协议可用协议名称的非空或空列表与每个所谓的父协议可用协议名称相关联,
—计算内核使每个检测到的连接与第一数据结构相关联(1002,1003),设计所述第一数据结构以便包含用所谓的Base协议名称初始化的所用协议名称的排序序列,
—对于每个检测到的连接,所述计算内核生成(1004)所述第一数据结构,在该生成过程中,所述计算内核通过与所述排序序列的最后名称相关联的子协议名称列表,对所述相关联的自识别机制从所传输的信息中识别(2002,2007)出决定信息的子协议名称进行搜索(2000),并且当找到该名称时所述计算内核把所述子协议名称添加(2003)到所述排序序列的尾部,然后,只要在与所述排序序列的最后名称相关联的子协议名称列表中有可能找到(2009)所述相关联的自识别机制从所传输的信息中识别出决定信息的子协议名称,那么所述计算内核就重新开始搜索,
—当不再可能在与所述排序序列的最后名称相关联的子协议名称列表中找到所述相关联的自识别机制从所传输的信息中识别出决定信息的子协议名称时,所述计算内核声明(2010)完成对检测到的连接的分类。
2.按照权利要求1所述的对连接进行分类的方法,其特征在于,为了搜索子协议名称,所述计算内核把传输的信息提交(2006)到每个与子协议名称列表中的名称相关联的自识别机制,直至自识别机制之一声明(2007)识别到决定信息或没有自识别机制能声明识别(2012)到决定信息为止。
3.按照权利要求1所述的对连接进行分类的方法,其特征在于,为了搜索子协议名称,所述计算内核把传输的信息提交(2002)到与所述排序序列的所述最后名称相关联的所述自识别机制,以此使得该自识别机制在所述父协议的所述决定信息中找到所述子协议名称。
4.按照上述权利要求之一所述的对连接进行分类的方法,其特征在于,所述计算内核通过把传输的信息的全部或部分提交给至少一个与所述排序序列中低等级名称之一相关联的自识别机制,为每个检测到的连接生成(1001)当前签名,以此使得该自识别机制在所述决定信息中找到由所述计算内核结合到所述当前签名中的源和目的标志。
5.按照权利要求4所述的对连接进行分类的方法,其特征在于,所述计算内核通过建立每个第一数据结构和为所述相关联连接生成(1001)的所述当前签名之间的第一连带对应关系,在第一数据表(1)中对每个第一数据结构进行编目。
6.按照权利要求5所述的对连接进行分类的方法,其特征在于,所述计算内核在所述第一数据表(1)中,建立每个当前签名和同等签名之间的第二连带对应关系,所述同等签名的源标志是当前签名的目的标志,并且所述同等签名的目的标志是所述当前签名的源标志。
7.按照权利要求5和6之一所述的对连接进行分类的方法,其特征在于:
—所述计算内核在将要检测的连接内的通过所述计算系统的数据包中,收集(1000)传输的有用信息以便生成签名,以便任何时候只要传输的有用信息足够就可以生成(1001)所述当前签名,
—所述计算内核使用如此实时产生的所述当前签名对连接进行检测,通过在所述数据包中收集(1000)传输的所述有用信息以便建立第一数据结构,在所述第一数据表(1)中搜索(1002)与所述当前签名相对应的所述第一数据结构,当不存在与所述当前签名相对应的第一数据结构时,使新的第一数据结构和检测到的所述连接相关联(1003),并且当存在与所述当前签名相对应(1002)的第一数据结构时,开始或继续(2000)建立第一数据结构。
8.按照权利要求7所述的对连接进行分类的方法,其特征在于,当数据包中收集的所述有用信息不足以生成签名时,所述计算内核通过建立所述有用信息之间的连带对应关系,在第二数据表中对所述有用信息进行编目,直至所述有用信息足以生成所述当前签名,所述连带对应关系包括全体成员对一个和同一连接的链接。
9.按照上述权利要求之一所述的对连接进行分类的方法,其特征在于:
—所述计算内核在其生成的所述数据结构中遍历(1006)所述排序序列的所用协议名称,以便检测(1007)每个动态连接协议名称,
—对于检测到的每个动态连接协议名称,所述计算内核把传输的信息提交(1008)给与检测到的所述名称相关联的所述自识别机制,以便确定是否存在随后的动态连接,如果存在随后的连接,就与第二数据结构相关联(1009),设计所述第二数据结构以便包含以所谓的Base协议名称开始的潜在协议名称的排序序列。
10.按照权利要求5或9所述的对连接进行分类的方法,其特征在于,所述计算内核通过建立每个第二数据结构和由与检测到的所述名称相关联的所述自识别机制生成的潜在签名之间的连带对应关系,在第二数据表(2)中对每个第二数据结构进行编目(1009)。
11.按照权利要求10所述的对连接进行分类的方法,其特征在于,所述计算内核进一步通过以下方式建立所述第一数据结构:
—搜索(2004)其中包括所用协议名称的排序序列的潜在协议名称的排序序列,以及
—当存在(2005)其潜在签名与当前签名对应的潜在协议名称的排序序列时,借助于所述第二数据结构完成(2003)所述第一数据结构。
CN038202700A 2002-07-29 2003-07-04 数据网络中识别和分析协议的方法 Expired - Lifetime CN1703890B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
FR0209599A FR2842970B1 (fr) 2002-07-29 2002-07-29 Procede de reconnaissance et d'analyse de protocoles dans des reseaux de donnees
FR02/09599 2002-07-29
PCT/FR2003/002075 WO2004017595A2 (fr) 2002-07-29 2003-07-04 Procede de reconnaissance et d'analyse de protocols dans des reseaux de donnees

Publications (2)

Publication Number Publication Date
CN1703890A true CN1703890A (zh) 2005-11-30
CN1703890B CN1703890B (zh) 2010-05-12

Family

ID=30011563

Family Applications (1)

Application Number Title Priority Date Filing Date
CN038202700A Expired - Lifetime CN1703890B (zh) 2002-07-29 2003-07-04 数据网络中识别和分析协议的方法

Country Status (9)

Country Link
US (1) US7522530B2 (zh)
EP (1) EP1574000B1 (zh)
JP (1) JP4203012B2 (zh)
KR (1) KR100957827B1 (zh)
CN (1) CN1703890B (zh)
AU (1) AU2003267510A1 (zh)
ES (1) ES2408158T3 (zh)
FR (1) FR2842970B1 (zh)
WO (1) WO2004017595A2 (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101577704A (zh) * 2008-05-08 2009-11-11 北京东华合创数码科技股份有限公司 一种网络应用层协议识别方法和系统
CN105407077A (zh) * 2012-05-23 2016-03-16 趣斯特派普有限公司 用于检测关注的网络活动的系统和方法
CN114024868A (zh) * 2022-01-06 2022-02-08 北京安博通科技股份有限公司 流量统计方法、流量质量分析方法及装置

Families Citing this family (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050065915A1 (en) * 2003-09-23 2005-03-24 Allen Wayne J. Method and system to add protocol support for network traffic tools
US7519718B2 (en) * 2004-02-27 2009-04-14 International Business Machines Corporation Server-side protocol configuration of accessing clients
CN100367722C (zh) * 2004-12-10 2008-02-06 中兴通讯股份有限公司 一种通信协议一致性测试系统
ES2323244T3 (es) * 2005-05-13 2009-07-09 Qosmos Analisis del trafico en redes de alta velocidad.
US8793390B2 (en) * 2006-05-23 2014-07-29 Blue Coat Systems, Inc. Systems and methods for protocol detection in a proxy
US8108844B2 (en) * 2006-06-20 2012-01-31 Google Inc. Systems and methods for dynamically choosing a processing element for a compute kernel
FR2925807B1 (fr) 2007-12-20 2010-02-19 Inst Nat Rech Inf Automat Moniteur de systeme de communication par messages ameliore
US8284786B2 (en) * 2009-01-23 2012-10-09 Mirandette Olivier Method and system for context aware deep packet inspection in IP based mobile data networks
FR2961985B1 (fr) 2010-06-23 2013-06-28 Qosmos Dispositif de collecte de donnees pour la surveillance de flux dans un reseau de donnees
US8724473B2 (en) 2010-07-16 2014-05-13 Ixia Locating signatures in packets
FR2973188B1 (fr) 2011-03-25 2013-04-19 Qosmos Procede et dispositif d'extraction de donnees
US8873753B2 (en) * 2012-08-27 2014-10-28 Verizon Patent And Licensing Inc. Analysis of network operation
DE102014201234A1 (de) * 2014-01-23 2015-07-23 Siemens Aktiengesellschaft Verfahren, Verwaltungsvorrichtung und Gerät zur Zertifikat-basierten Authentifizierung von Kommunikationspartnern in einem Gerät
CN104023018A (zh) * 2014-06-11 2014-09-03 中国联合网络通信集团有限公司 一种文本协议的逆向解析方法和系统
FR3083659B1 (fr) * 2018-07-06 2020-08-28 Qosmos Tech Identification de protocole d'un flux de donnees
FR3126830A1 (fr) * 2021-09-07 2023-03-10 Nano Corp Procede et système d’analyse de flux de données

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5802065A (en) * 1995-10-23 1998-09-01 Kawasaki Steel Corporation Data receiving device
US5793954A (en) * 1995-12-20 1998-08-11 Nb Networks System and method for general purpose network analysis
FI105985B (fi) * 1997-12-18 2000-10-31 Nokia Networks Oy Menetelmä tunnistaa ilmarajapinnan verkkokerroksen protokollatietoyksikkö solukkoradioverkossa
US6157955A (en) * 1998-06-15 2000-12-05 Intel Corporation Packet processing system including a policy engine having a classification unit
CN1293478C (zh) * 1999-06-30 2007-01-03 倾向探测公司 用于监控网络流量的方法和设备
US6598034B1 (en) * 1999-09-21 2003-07-22 Infineon Technologies North America Corp. Rule based IP data processing
US7006452B2 (en) * 2001-05-22 2006-02-28 Intel Corporation Matching DSL data link layer protocol detection
US7289498B2 (en) * 2002-06-04 2007-10-30 Lucent Technologies Inc. Classifying and distributing traffic at a network node

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101577704A (zh) * 2008-05-08 2009-11-11 北京东华合创数码科技股份有限公司 一种网络应用层协议识别方法和系统
CN105407077A (zh) * 2012-05-23 2016-03-16 趣斯特派普有限公司 用于检测关注的网络活动的系统和方法
CN105407077B (zh) * 2012-05-23 2019-04-26 伊万X有限责任公司 用于检测关注的网络活动的系统和方法
CN114024868A (zh) * 2022-01-06 2022-02-08 北京安博通科技股份有限公司 流量统计方法、流量质量分析方法及装置

Also Published As

Publication number Publication date
FR2842970A1 (fr) 2004-01-30
ES2408158T3 (es) 2013-06-18
US7522530B2 (en) 2009-04-21
CN1703890B (zh) 2010-05-12
WO2004017595A2 (fr) 2004-02-26
AU2003267510A1 (en) 2004-03-03
JP2005537705A (ja) 2005-12-08
WO2004017595A3 (fr) 2005-08-11
AU2003267510A8 (en) 2004-03-03
US20060106583A1 (en) 2006-05-18
JP4203012B2 (ja) 2008-12-24
EP1574000B1 (fr) 2013-03-20
EP1574000A2 (fr) 2005-09-14
KR100957827B1 (ko) 2010-05-13
KR20050033637A (ko) 2005-04-12
FR2842970B1 (fr) 2005-03-18

Similar Documents

Publication Publication Date Title
CN1703890A (zh) 数据网络中识别和分析协议的方法
CN101421991B (zh) 针对拒绝服务攻击的硬件过滤支持
CN1188991C (zh) 用于可靠的和低时延的分组传输的通信设备和方法
CN1826591A (zh) 反向路径转发保护
CN1150725C (zh) 减少存储器访问次数的网络包发送查询的方法和装置
CN1354578A (zh) 动态负载平衡器
EP3016329A1 (en) Service path allocation method, router and service execution entity
US20040028046A1 (en) Logarithmic time range-based multifield-correlation packet classification
CN101123614B (zh) 一种处理地址解析协议报文的方法及通信装置
CN1625160A (zh) 可控制数据包传送的交换器及相关方法
CN1943190A (zh) 洪泛抑制方法
EP2604006B1 (en) Method and apparatus for packet processing and a preprocessor
CN1552139A (zh) 利用链路状态信息发现ip网络拓扑结构
CN1838636A (zh) 用于使数据包穿越网络地址转换装置的方法和装置
JP2006180162A (ja) パケット交換装置およびパケット交換方法
CN108600107B (zh) 一种可自定义内容字段的流匹配方法
CN1362820A (zh) 在路由设备中为分组选择路由的方法
CN1426239A (zh) 路由器、终端设备、通信系统以及路由方法
CN1684432A (zh) 信息处理设备和信息处理方法
CN101741745A (zh) 识别对等网络应用流量的方法及其系统
CN101888303B (zh) 网络流量信息的记录方法以及相关装置
KR101344398B1 (ko) 애플리케이션 인지와 트래픽 제어를 위한 라우터 장치 및 그 방법
CN103581020B (zh) 一种报文转发的方法、装置及系统
WO2002051077A1 (en) A method and system for distinguishing higher layer protocols of the internet traffic
CN1464703A (zh) 一种提高ip报文转发速度的方法

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
CP01 Change in the name or title of a patent holder
CP02 Change in the address of a patent holder

Address after: Paris France

Patentee after: QOSMOS

Address before: The French city of Amiens

Patentee before: Qosmos

TR01 Transfer of patent right

Effective date of registration: 20170419

Address after: Paris France

Patentee after: Kos Moss technologies

Address before: Paris France

Patentee before: Qosmos

TR01 Transfer of patent right
CX01 Expiry of patent term

Granted publication date: 20100512

CX01 Expiry of patent term