首页> 中国专利> 互联网通信架构、网络设备及执行数据包内容分析的方法

互联网通信架构、网络设备及执行数据包内容分析的方法

摘要

本发明涉及带有网络设备和终端设备的互联网架构,用于根据载荷与空间相关模板的比较结果支持数据包路由和引导,其中网络设备和终端设备包括服务模块管理器和服务模块。支持对到达数据包进行内容分析的网络设备,包括多个分组交换接口电路,用户接口电路,包括服务模块管理器软件和多个本地服务模块的本地存储器,以及处理电路。处理电路运行服务模块管理器,然后分析数据包内容并利用数据包应用一个或多个选定的本地服务模块处理。服务模块管理器为了进行比较,包括报头模板、空间相关载荷触发模板和空间相关载荷补充模板。空间相关模板试图确切地识别目标数据。处理电路通过应用选定服务模块对目标数据数据包采取一个或多个动作。

著录项

  • 公开/公告号CN101068205A

    专利类型发明专利

  • 公开/公告日2007-11-07

    原文格式PDF

  • 申请/专利权人 美国博通公司;

    申请/专利号CN200710102956.2

  • 发明设计人 詹姆士·D·贝内特;

    申请日2007-04-29

  • 分类号H04L12/56;H04L12/46;

  • 代理机构深圳市顺天达专利商标代理有限公司;

  • 代理人蔡晓红

  • 地址 美国加州尔湾市奥尔顿公园路16215号92618-7013

  • 入库时间 2023-12-17 19:16:00

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2015-06-17

    未缴年费专利权终止 IPC(主分类):H04L12/56 授权公告日:20110316 终止日期:20140429 申请日:20070429

    专利权的终止

  • 2011-03-16

    授权

    授权

  • 2008-01-02

    实质审查的生效

    实质审查的生效

  • 2007-11-07

    公开

    公开

说明书

技术领域

本发明涉及通信系统,尤其涉及支持数据包载荷内容分析的互联网通信架构、网络设备、分组交换机及执行数据包内容分析的方法。

背景技术

互联网迅速得到广泛应用,因为它可高速传输音频、视频和数据包。互联网架构通常包括交换设备,例如路由器、交换机、分组交换机,接入点和互联网服务提供商网络(ISPN)、互联网通信路径和终端设备。终端设备包括个人电脑或笔记本电脑、服务器、机顶盒、手持数据/通信设备和其它客户端设备。所有这些位于远程位置的终端设备通过可利用的互联网通信路径交换音频、视频和数据包。

传统终端设备可获得与通信数据相关的各种远程和本地服务。一般地,终端设备分析接收到的数据以判断能否保证该服务。在对分组接收数据进行分析之前,终端设备首先重构这些数据包(分段)并在本地保存该重构数据。如果对重构数据的分析表明可以得到保证,则终端设备将把重构数据转发到本地或远程服务——这一过程通常需要再分段或重传(对于远程服务而言)数据。该过程通常会导致浪费通信、本地存储、本地处理和路由架构资源。此外,即使终端设备可完成这样的分析和传输,也没必要这么做来阻碍非常期望的服务。这将应用到源和目的终端设备,例如,源和目的终端设备可以是客户端设备和服务器。

一般地,除了网络设备将数据包从源终端设备路由到一个或多个目的终端设备,通过互联网的音频、视频和数据包交换不包括对数据包的任何内部控制。换言之,互联网架构中通常的数据包流是无限制的。尽管这些数据包自由流一般是有益的,但是仍然有一些数据包有意或无意地包含一些破坏性内容(如,病毒、蠕虫或其它恶意软件)、非授权内容(如,视频、音频文本或程序代码的盗版)、有害内容(如,色情或成人主题)或不适当的内容(如,由于风俗习惯、区域局限或语言限制等对特定区域不宜的内容)。传统终端设备必须担负限制这些破坏性、非授权、有害和不适当的内容的责任。然而,这些终端设备往往无法完成。例如,即使激活了恶意代码防护软件,终端设备往往还是会受感染。即使安装了屏蔽软件,色情内容仍然会显示在孩子面前。其它屏蔽这类内容的过滤器也经常会失败,出现不想要的结果。

由于数据包的长度不定,通过分析分段后数据包的载荷部分并不能轻易地从带有任意上述目标数据或文件的数据包中识别出目标数据。

通过与本发明的系统进行比较后,现有和传统的手段的其它局限和缺点对本领域的技术人员来说是很明显的。

发明内容

本发明提供一种操作装置和方法,结合至少一幅附图给出了充分地显示和/或描述,并更完整地在权利要求中阐明。

根据本发明提出的一种带有网络设备和终端设备的互联网架构,用于根据载荷与空间相关模板的比较结果支持数据包路由和引导,其中网络设备和终端设备包含服务模块管理器和服务模块。该架构包括多个用于接收和发送数据(包括目标数据)的终端设备、多个交换设备。交换机包括多个端口,用于接收数据包,执行数据包的载荷分析、封装和服务模块引导,以及沿着至少一个端口转发。交换设备在进行数据包分析时,将数据包的载荷部分与多个空间相关载荷触发模板相比较。也就是说,通过将载荷模板分段为多个空间相关载荷触发模板,交换设备试图确切地识别通过交换设备传送的目标数据,而不管目标数据分段。根据比较过程中的匹配情况,交换设备应用触发逻辑、封装和服务模块引导。

根据本发明提出的一种带有多个端口的网络设备,包括多个分组交换接口电路、用户接口电路、包括服务模块管理器和多个本地服务模块的本地存储器,以及处理电路。服务模块管理器分析数据包内容,通过分析数据包内容,服务模块管理器可将数据包载荷部分与多个空间相关载荷模板相比较。根据比较过程中的匹配情况,服务模块管理器应用触发逻辑、封装和服务模块引导。

根据本发明的一方面,提供了一种互联网通信架构,其中包括:

带有唯一标识符的第一终端设备;

第二终端设备,其使用所述唯一标识符将目标数据打包成多个数据包,该目标数据具有至少一个目标比特序列,且打包目标数据包括对目标数据进行分段;

服务模块,其接收至少一个指示,该指示说明正在试图进行目标数据的交换;

交换设备,包括处理电路、存储器、第一端口、第二端口;其中,所述第一端口与到达第一终端设备的第一路径通信连接,所述第二端口与从第二终端设备出发的第二路径通信连接;

存储器,其中包含第一模板和第二模板,第一模板对应于至少一个目标比特序列的第一部分,第二模板对应于至少一个目标比特序列的第二部分,第一模板和第二模板空间相关以对打包目标数据的分段进行补偿;

处理电路,用于通过第二端口接收多个数据包中的至少一个并执行第一比较,如果第一比较失败则执行第二比较,其中第一比较包括试图将多个数据包中的至少一个数据包与第一模板相匹配,而第二比较包括试图将多个数据包中的至少一个数据包与第二模板相匹配;以及

处理电路在成功完成第一比较或第二比较之后,将至少一个指示传送到服务模块,该指示说明正在试图进行目标数据的交换。

优选地,上述交换设备为路由器。

优选地,上述交换设备为接入点。

优选地,上述第一模板和第二模板对应于目标数据的非重叠按序连续部分。

优选地,上述服务模块由处理电路执行。

优选地,上述互联网通信架构进一步包括用于执行服务模块的服务器。

优选地,上述处理电路通过第一端口和第一路径将多个数据包中的至少一个传送到第一终端设备。

根据本发明的一方面,提供一种网络设备,用于在分组交换网络中接收或转发信息,该信息包括对应于多个目标数据中第一目标数据的分段部分的数据包,多个目标数据中的每一个对应于多个可标识比特序列中的一个,该网络设备包括:

多个分组交换接口电路,多个分组交换接口电路中的第一接口电路接收数据包;

本地存储器,包括第一模板、第二模板和多个本地服务模块,多个本地服务模块的每一个均针对多个目标数据中的对应一个目标数据,第一模板对应于多个可识别比特序列中第一比特序列的第一部分,第二模板对应于多个可识别比特序列中第一比特序列的第二部分,第一模板和第二模板空间相关以对第一目标数据的分段进行补偿;

处理电路,其与多个分组交换接口和本地存储器通信连接,用于将数据包与第一模板和第二模板相比较,且根据该比较结果,判断是否要运行多个本地服务模块中的选定的第一服务模块。

优选地,上述网络设备为路由器。

优选地,上述网络设备为接入点。

优选地,上述第一模板和第二模板根据有序关系相互组合在一起。

优选地,上述处理电路通过多个分组交换接口电路中的第二接口电路中断数据包的转发。

根据本发明的一方面,提供一种支持数据包内容分析的分组交换机,该分组交换机包括:

多个互连交换机;

主处理电路;

线卡电路,其中包括网络接口、交换机接口和次处理电路;

所述次处理电路执行数据包的第一内容分析,并在第一内容分析成功的基础上,所述次处理电路将数据包转发到主处理电路;

所述主处理电路执行数据包的第二内容分析,并根据该第二内容分析,主处理电路或者通过多个互连交换机转发数据包,或者使相关服务操作得以执行;且

所述第一内容分析包括将数据包与多个空间相关模板相比较。

优选地,上述主处理电路通过选择和运行本地服务模块使相关服务操作得以执行。

优选地,上述主处理电路通过与执行相关服务操作的远程系统通信使相关服务操作得以执行。

优选地,上述分组交换机为路由器。

优选地,上述分组交换机为接入点。

根据本发明的一方面,提供一种由服务模块管理器执行的数据包内容分析方法,该方法包括:

接收包含路由信息和内容的数据包;

将数据包的路由信息与路由模板相比较,并将数据包内容与多个空间相关模板相比较;且

至少部分地根据比较结果,选择性地中断路由处理以应用服务操作。

优选地,应用服务操作通过从多个服务模块中选择一个服务模块并将数据包引导到多个服务模块中所选定的那个服务模块来实现。

优选地,多个服务模块中所选定的那个服务模块位于第一网络节点,而服务模块管理器位于第二网络节点。

优选地,多个服务模块中所选定的那个服务模块和服务模块管理器位于同一个网络节点。

根据后续结合附图对本发明具体实施例的详细介绍,本发明的特征和优点可以显而易见。

附图说明

图1是根据本发明带有网络设备和终端设备的互联网架构的示意图,用于支持具有载荷分析的数据包路由,其中载荷分析包括空间相关载荷模板比较、封装和服务模块引导;

图2是根据本发明图1所示实施例构造的网络设备(交换机/路由器/ISPN/AP)的方框示意图;

图3是根据本发明图1所示实施例构造的分组交换机的方框示意图;

图4是根据本发明图1所示实施例构造的终端设备(服务器和/或客户机)的方框示意图;

图5是根据本发明图1所示实施例构造的接入点、集线器和网关的方框示意图;

图6是集成到图2和图4所示的服务模块管理器(SMM)中的触发逻辑、报头触发模板和载荷触发模板一实施例的示意图;

图7是图6所示的触发逻辑、报头触发模板和载荷触发模板另一实施例的示意图;

图8是集成到图3和图5所示的主和次服务模块管理器(SMM)中的触发逻辑、内容模板实施例的示意图;

图9a和9b是空间相关载荷触发模板构造的示意图,该模板用于确切地识别目标数据;

图10是空间相关载荷触发模板构造的另一实施例的示意图;

图11是服务模块(SM)一般功能流的流程图;

图12是包含空间相关触发模板的服务模块管理器的具体事件流程图;

图13是SMM利用和接收数据包一起接收到的补充信息判断是否已指明数据包路由和进一步分析的另一流程图;

图14是图13中由SMM完成的进一步分析处理的另一流程图;

图15是图3和图5所示的服务模块管理器(SSMM和PSMM)的具体功能流程图;

图16是服务模块管理器功能实施例的流程图,其中在对数据包载荷和空间相关载荷触发模板(SRPTT)进行比较过程中发现部分匹配;

图17是服务模块管理器功能另一实施例的流程图,其中使用了伪随机分段空间相关载荷触发模板(SRPTT)。

具体实施方式

图1是根据本发明带有网络设备和终端设备的互联网架构的示意图,用于支持具有载荷分析的数据包路由,其中载荷分析包括空间相关载荷模板比较、封装和服务模块引导(vectoring)。互联网架构105一般包括互联网骨干网121,用于将数据包从源终端设备路由到目的终端设备。互联网骨干网121包括分组交换机(PSE)107-112,如有指示,PSE分析数据包内容、进行封装并完成服务模块引导,且将数据包转发到下一PSE或互联网服务提供商网络(ISPN)125、127、129或171中。数据包内容分析包括如下文所述的利用空间相关载荷触发模板识别目标数据。目标数据可能有意或无意地包含一些隐藏的破坏性代码,如病毒、蠕虫或木马。在此,SMM中的包括非相关和空间相关比特序列的非相关和空间相关触发模板试图增加识别破坏性代码的可能性。可选地,目标数据的分段数据包包括独立请求,促使SMM采取特定的预定义动作,如不允许目标数据到达特定区域和位置。来自ISPN 125、127、129或171的数据包通过接入点(AP)135、137、139或173进一步路由到目的终端设备151、153、155、157、159或161。此外,任一终端设备151、153、155、157、159或161也可以是发送数据包的源设备。互联网架构105还包括与ISPN 125、127、129或171相连的服务器165、167或169,数据包可在服务器中发起或终止。

根据本发明,PSE 107-112,ISPN 125、127、129和171,AP 135、137、139和173,以及某些服务器165、167和169中的每一个在不同程度上(invarious capacities)集成了服务模块管理器(SMM)和服务模块(SM)。互联网架构105的路由和交换设备中的SMM在将数据包转发到下一设备或丢弃之前,通过比较数据包和空间相关载荷模板和报头触发模板,对数据包进行分析并应用一个或多个SM处理。SMM进一步包含触发逻辑,该逻辑是用于判断选择适当SM的条件语句。

空间相关载荷模板是分段为两个或更多个触发模板的载荷触发模板。一组空间相关载荷模板包括多个比特序列,这样一个相关模板中的比特序列与下一比特序列之间是连续的。例如,一组空间相关载荷模板包括来自目标数据中的比特序列,目标数据被分段为两个或更多个连续比特序列。也就是说,一组空间相关载荷模板中的第一模板可能包括来自目标数据的128比特,而第二模板可能包括目标数据中连续的另一128比特的序列。通过将大载荷触发模板分段为更小的空间相关模板,SMM试图能更确切地识别。这是因为数据包的载荷部分大小是事先未知的,而当大载荷触发模板与较小的数据包载荷部分相比较时,不可能出现触发。因此,通过比较数据包载荷部分和更小的第一空间相关载荷模板,可能出现触发。当第一模板出现这样的触发时,SMM对序列的载荷部分和第二空间相关载荷模板相比较,依此类推。SMM中所包含的触发逻辑、报头模板、非相关和空间相关载荷模板的实施例将结合图6、7和8进行说明,这些触发逻辑、报头模板、非相关和空间相关载荷模板可应用到互联网数据包上。

有时候,比较数据包载荷部分和第一空间相关载荷模板时,部分匹配可出现触发。出现这种情况是因为考虑到数据包是目标数据中的不定长的比特序列,第一空间相关载荷模板可能无法正好包含一模一样的比特序列,但可能至少包含部分比特序列。随后,根据该部分匹配,SMM再次比较数据包的载荷部分和第二空间相关载荷模板,其中出现由于确切识别目标数据的精确匹配。出现部分匹配时,SMM的功能可参见关于图16的说明。出现部分和全部匹配时,用于与数据包载荷部分比较的第一空间相关载荷模板的伪随机选择将结合图17进行解释。根据本发明的空间相关载荷触发模板的构造实施例将结合图9a、9b和10进行说明。

一旦SMM完成非相关和空间相关载荷比较且应用了触发逻辑之后,SMM应用触发逻辑中指明的一个或多个SM处理。根据触发逻辑和模板中的指示为给定数据包选择特定SM处理。如果数据包中指明了独立请求,则SMM也可在包含SMM和SM的任何设备中对数据包应用SM处理。如果触发逻辑中指明的SM无法在设备中获得,则中断数据包路由以采用外部SM,并将数据包副本发送到可能包含所需SM的另一设备。SM的功能流可参见关于图11的说明。

典型PSE、路由器、交换机、ISPN、AP、服务器或终端设备包括处理电路、网络接口和本地存储器。这些电路实施例将结合图2、3、4和5进行说明。存储器包括一个或多个服务模块管理器(SMM)和本地服务模块(本地SM)。如果与任何一个触发模板比较时出现匹配,该触发逻辑将指示一个或多个SM处理应用到数据包上。如果没有合适的本地SM可用,则可使用另一网络设备上的外部SM。

在数据包到达时,处理电路根据与触发模板和非相关及空间相关载荷触发模板的比较结果执行SMM,并通过运行适当的触发逻辑,利用该数据包应用一个或多个SM处理(applies one or more SM processing using the packet)。通过应用SM处理,处理电路可采取SM的多个选项中的一个,诸如中断路由器转发处理并将数据包返回到发送方。可选地,如果没有发现匹配,处理电路将简单地执行路由处理并将数据包转发到下一网络设备。另一方面,处理电路可执行路由处理,将数据包转发到下一网络设备,同时还生成数据包副本并将该副本转发到另一SMM以做进一步分析。

通过处理电路执行的简单数据包分析(例如通过利用到达的被引导数据包执行SMM)是将IPv6数据包的报头信息与触发列表进行比较。如果发现匹配,处理电路检查触发逻辑,如果有多个匹配或多个触发逻辑,处理电路还将进行协调。如果没有必要进行进一步的分析,如所处理的是时间敏感的VoIP音频和/或视频数据包,处理电路在不进行数据包分析的情况下执行路由处理并转发数据包。如果时间敏感性不是特别因素,则处理电路建立全部或部分载荷关联。在此,处理电路试图使载荷和签名模板相互关联。如果还是没有发现匹配,则路由并转发该数据包。如果在任何一个模板比较中,处理电路发现部分或完全匹配,则数据包被引导(vectored)到本地和/或远程服务模板。

例如,客户端设备157试图从服务器165中下载文件。数据包(即要下载的文件)一般会选择经过ISPN 127、PSE 108、PSE 111、ISPN 171、AP 173的路径并最终到达客户端157。数据包(来自下载文件)可包括对ISPN 127(或者,PSE 108或111)的SMM的附加独立请求以应用某些SM处理。例如,如果与ISPN 171相连的客户端设备157来自特定区域或特定组织,或者因为某些特定目的,将丢弃该数据包(或将其发送回服务器165)或应用一些其它的特定SM处理。这种情况可发生在下载文件由于区域风俗习惯、其它区域局限或语言问题等不是该特定区域所想要的。或者,客户端157请求的文件可能不适用于该特定组织。对于利用互连网架构传送的不适当的和破坏性的数据,诸如病毒和成人主题节目等,进行数据包分析时应进行类似考虑。

图2是根据本发明图1所示实施例构造的网络设备207(交换机/路由器/ISPN/AP)的方框示意图。网络设备电路207可以是路由数据包的任意设备电路,该电路可部分或全部集成到图1所示任一网络设备中。特别地,网络设备电路207可为PSE 107-112,ISPN 125、127、129和171,AP 135、137、139和173,以及服务器165、167和169一部分中的任意一个或者任何其它节点装置(图中未示出)。网络设备电路207一般包括处理电路209、本地存储器211、管理员接口217和网络接口223。这些部件通过系统总线、专用通信路径或其他直接或间接通信路径中的一种或多种实现相互间的通信连接。在各实施例中,处理电路209可为微处理器、数字信号处理器、状态机、专用集成电路、现场可编程门阵列或其他处理电路。

本地存储器211可为随机存取存储器、只读存储器、闪存、硬盘、光驱或用于保存计算机指令和数据的其它类型的存储器。本地存储器包括本发明所述的SMM(服务模块管理器)247和本地SM(服务模块)245。SMM进一步包括触发逻辑255、报头模板241和空间相关载荷模板251。报头模板241和空间相关载荷模板251一般为内容模板,在其它实施例中可能在反映数据包形式上不尽相同。本地存储器211还包括路由规则257,用于控制数据包流。

进一步地,网络接口223包括有线和无线分组交换接口227、有线和无线电路交换接口229。此外,网络接口223还包括内置或独立接口处理电路225。网络接口223允许网络设备与其他网络设备通信,并允许处理电路在该SM无法在本地存储器获得时利用其它网络设备的外部SM。管理员接口217包括显示器和键盘接口。这些管理员接口允许网络交换机一侧的用户控制触发模板、触发逻辑和服务模块的各方面。在其它实施例中,本发明的网络设备207与图中所示的相比,可以包括更少或更多部件以及提供更少或更多功能。换言之,图中示出的网络设备只是作为本发明功能和构造的一个实施例。图3和图5分别针对PSE和AP描述了其它可能的网络设备实施例。网络设备207通过网络285与外部网络设备(如设备271)实现通信连接。外部设备271也包括本发明各部件,诸如外部处理电路273、外部存储器275和外部服务模块277。

SMM 247将数据包报头内容与报头模板241相比较,同时将数据包的载荷字段和空间相关载荷模板251相比较。如果出现匹配,则SMM 247运行对应模板中指明的触发逻辑255。这些触发逻辑255条件语句指示处理电路209运行合适的本地SM 245。如果无法获得合适的本地SM 245,将采用外部(远程)SM。例如,数据包将被封装并转发到外部网络设备271中,封装后的数据包中包括需要执行该外部SM 277的独立请求。外部处理电路273运行外部SM 277,并再次封装该数据包,然后发送回网络设备207中。可选地,如果在外部SM 277中指明,可将数据包返回到发送方或者丢弃。请注意,触发逻辑还包括分析数据包所需的程序。

与空间相关载荷模板的比较包括与一组空间相关载荷模板中的第一空间相关载荷模板的比较,且如果出现匹配(也就是说,如果发现匹配),则与第二空间相关载荷模板进行比较,依此类推。每一个随后的触发应确保可识别目标数据,最后,运行触发逻辑并应用所选定的SM处理。与当前图示相关的触发模板和触发逻辑的具体功能描述可参见关于图6、7、9a、9b和10的说明。

图3是根据本发明图1所示实施例构造的分组交换机307的方框示意图305。分组交换机电路307可以是图1所示的PSE 107-112中的任一个。PSE电路307一般包括路由器375,其中包括主处理卡355、交换机309和多个线卡315-381。在某些情况下,线卡315-381可能各不相同。此外,PSE 307还包括外部设备371,诸如存储单元或用户接口(图中未示出)。另外,外部设备还包括外部服务模块372。

第一线卡315包括网络接口325,用于与有线和无线网络交互,例如10M比特、1000M比特以太网和3G比特DWDM(密集波分复用)光纤网。第一线卡315还包括交换机接口345,以允许该线卡与互连交换机309交互。此外,第一线卡315包括次处理电路335,用于在互连交换机309转发数据包之前对该数据包进行预处理。次处理电路335包括转发引擎337和次服务模块管理器(SSMM)341。SSMM 341还包括触发模板,诸如非相关和空间相关触发模板342。SSMM 341还可包括非相关和空间相关补充模板343。

主处理卡355进一步包括用于路由数据包的路由管理359和主服务模块管理器(PSMM)363。主处理卡355还包括本地主服务模块(PSM)361。将SMM分离为主SMM363和次SM 341,有助于加速数据包处理和路由。PSMM还包括内容触发模板(如报头触发模板,未示出),非相关和空间相关补充模板365,以及非相关和空间相关载荷触发模板367。

SSMM 341通过将数据包内容与触发模板相比较对数据包进行预处理。如果发现可通过应用SMM 341处理来迅速解决的匹配,则该解决方案可由次处理电路315本身完成。接着,数据包可转发到另一PSE或ISPN。如果需要进一步分析,利用PSMM 363和本地SM 361处理该数据包。关于PSE 307的触发模板和触发逻辑的具体功能描述可参见图8的说明。

在比较过程中,SSMM 341将接收数据包与一组中的非相关及第一空间相关触发模板相比较。如果出现触发,将该数据包与第二空间相关触发模板相比较,依此类推,直到与所有空间相关模板比较完毕。因此,不管目标数据的数据包如何分段,可利用到达PSE 307的单个数据包识别目标数据。

图4是根据本发明图1所示实施例构造的终端设备(服务器和/或客户机)407的方框示意图。服务器/客户机电路407可认为是发起和/或终止数据包的任何设备电路,该电路可部分或全部集成到图1所示的任何终端设备中。特别地,服务器/客户机电路407可为图1所示的终端设备151、153、155、157、159或161中的任一设备。

服务器/客户机电路407一般包括处理电路409、本地存储器411、用户接口417和网络接口423。这些部件通过系统总线、专用通信路径或其他直接或间接通信路径中的一种或多种实现相互间的通信连接。在各实施例中,处理电路409可为微处理器、数字信号处理器、状态机、专用集成电路、现场可编程门阵列或其他处理电路。

此外,网络接口423包括有线和无线分组交换接口427、有线和无线电路交换接口429。网络接口423还包括内置或独立接口处理电路425。网络接口423允许终端设备与所有其它终端设备通信,并在本地存储器无法获得某SM时允许处理电路利用其它网络设备的外部SM。用户接口417包括显示器和键盘接口。用户接口417允许终端设备的用户在与终端设备的其它普通用户交互间控制触发模板、触发逻辑和服务模块的各方面。终端设备407通过网络455与外部网络设备(如设备437)通信连接。外部网络设备437也包括本发明部件,如SMM 439。SMM 439进一步包括触发逻辑441、报头模板443、非相关及空间相关载荷触发模板447、非相关及空间相关补充模板449。

本地存储器411可为随机存取存储器、只读存储器、闪存、硬盘、光驱或用于保存计算机指令和数据的其它类型的存储器。本地存储器411包括本发明所述的SMM(服务模块管理器)413和本地SM(服务模块)415,尽管SMM和SM可以简单形式存在。SMM 413进一步包括一些触发逻辑和内容模板。在另一实施例中,本发明的网络设备407与图中所示的相比,可以包括更少或更多部件,以提供更少或更多功能。换言之,示出的终端设备电路只是作为本发明功能和构造的一个实施例。

服务器可采用SMM 413将数据包内容与内容模板相比较,如果发现匹配,则SMM 413运行该匹配中指明的触发逻辑。这些触发逻辑条件语句指示处理电路409运行合适的本地SM 415。如果无法获得合适的本地SM 415,将采用外部SM。请注意,触发逻辑还可包括分析数据包所需的特定程序。集成到客户机/服务器电路407中的SMM 413允许在数据包进入互联网经受进一步SM处理之前对数据包进行预先筛分。可选地,客户机电路可以没有SMM,但可具有一些服务模块,以便驻存于服务器或网络设备中的外部SMM在需要的时候能够获取。

图5是根据本发明图1所示实施例构造的接入点、集线器或网关575的方框示意图505。接入点、集线器或网关电路575可为图1所示的AP、集线器或网关135、139、137或173中的任一个。AP、集线器或网关电路575一般包括多个通信路径电路515、581,核心主处理电路555和交换机509。在某些情况下,通信路径电路515-581可能各不相同。第一通信路径电路515包括用于与有线和无线网络交互的有线和/或无线网络接口525,用于允许该卡与互连交换机509交互的交换机接口545,以及次处理电路535。

次处理电路535在互连交换机509路由数据包之前对该数据包进行预处理。次处理电路535进一步包括转发引擎537、次服务模块管理器(SSMM)539和次服务模块(SSM,图中未示出)。此外,SSMM 539包括多个触发模板,如报头模板(未示出)、空间相关载荷触发模板(SRPTT)541,空间相关载荷补充模板(SRPST)543和非相关载荷触发模板(未示出)。核心主处理电路555进一步包括用于路由数据包的路由管理559,主服务模块管理器(PSMM)561以及主SM(本地PSM)565。此外,PSMM 561包括多个触发模板,如报头模板(未示出)、空间相关载荷触发模板(SRPTT)563,空间相关载荷补充模板(SRPST)569和非相关载荷触发模板(未示出)。将SMM和SM分离为主SMM 561、次SMM 539和主SM 565、次SM,有助于加速数据包处理和路由。

如关于图3的说明一样,SSMM 539通过将数据包内容与触发模板相比较,对数据包进行预处理。对于该预处理,SSMM 539采用SRPTT 541。各组SRPTT541中的第一模板与载荷比较,如果指示部分和全部匹配,则比较各组中的第二模板,依此类推。如果组中所有SRPTT 541均确认匹配,则应用SSM处理。此外,如果有指示,该数据包被引导到PSMM 561并与SRPST 563比较,且如果指示有匹配,则应用PSM 565处理。

换言之,如果在次处理电路535发现匹配,该匹配可通过应用SMM(未示出)处理来迅速解决,则该解决方案可由次处理电路535本身完成。接着,数据包可转发到另一网络设备。如果需要进一步分析,利用PSMM 561和本地PSM565处理该数据包。关于AP 575的触发模板和触发逻辑的具体功能描述可参见图8的说明。当前电路的功能细节,特别是SSMM 539、SMM(未示出)、PSMM561和本地PSM 565,可参见关于图15和17的说明。

图6是集成到图2和图4所示的服务模块管理器(SMM)中的触发逻辑、报头触发模板和载荷触发模板的实施例的方框示意图。在该实施例中,SMM 600包含触发逻辑601、报头触发模板621、空间相关载荷触发模板614、报头补充模板671和空间相关载荷补充模板685。

触发逻辑601包括参考标识符(ID)字段602和服务逻辑603。报头触发模板621包括Ref-ID(参考标识符)622、字段ID 623、比较模板624、操作符625和触发逻辑参考ID(TL-Ref ID)626。类似地,报头补充模板671包含参考ID 672、字段ID 673、比较模板674和操作符675。此外,空间相关载荷触发模板614包括参考ID 615、比较模板616、操作符617和TL-Ref ID618。类似地,空间相关载荷补充模板685包括参考ID 686、比较模板687和操作符688。

Ref-ID 602允许SMM 600从多个可用服务逻辑中识别各服务逻辑603(条件语句)。类似地,模板中的参考ID 622、615、672和686允许SMM 600从报头触发模板621、空间相关载荷触发模板614、报头补充模板671和空间相关载荷补充模板685中的可用模板之间识别出各模板。报头触发模板621和报头补充模板671中的字段ID 623和673允许SMM 600识别数据包报头中的字段。例如,典型IPv6报头和扩展报头包括在其它字段中的源地址、目的地址和QoS(服务质量)字段。比较模板624、616、674和687允许SMM 600识别需要比较的载荷关键字或报头关键字。操作符625、617、675和688是比较操作符,告知SMM 600如何将称为数据包特定内容的字段ID与比较模板进行比较。例如,操作符625、617、675和688可以是等于、否(不等于)、大于或小于。触发逻辑、报头触发模板、报头补充模板、空间相关载荷触发模板和空间相关载荷补充模板的功能实例将结合图7进行说明。

图7是图6所示的触发逻辑、报头触发模板和载荷触发模板实施例的另一方框示意图。图6所示的SMM 600包括触发逻辑601、报头触发模板621和671,以及空间相关载荷触发模板651和685。在该图示中,只显示了少量服务逻辑和少量模板,尽管事实上,可以有多得多的服务逻辑和模板。此外,事实上,根据数据包内容即数据包字段和需识别的目标数据的不同,触发逻辑、报头逻辑和载荷逻辑可各不相同。

触发逻辑701包括三个服务逻辑705、707和709,分别标识为TL-1到TL-3704、706和708。报头触发模板(HTT)721包括Ref-ID,即HT-1 728,字段ID 729,比较模板730,操作符字段731,以及TL-Ref字段732。类似地,报头补充模板(HST)771包括Ref-ID,即HS-1 776,字段ID,即服务质量(QoS)777,比较模板即目标QoS字778和操作符字段779。此外,空间相关载荷触发模板(SRPTT)741包括四个空间相关模板,包括Ref-ID,即PT-1到PT-4 746、750、756和760,比较模板747、751、757和761,操作符字段748、752、758和762,以及TL-Ref字段,即TL-2到TL-5 749、753、759和763。类似地,空间相关载荷补充模板(SRPST)785包括三个空间相关模板,其中包含Ref-ID,即PS-1到PS-3 786、790和796,比较模板787、791和797,以及操作符字段788、792和798。

该实施例的SMM 700功能实例中,考虑在载荷中包含目标数据(限制信息)而其它方面都没有问题的数据包。SMM 700首先验证在报头触发模板721中是否有匹配。在该实例中,由于报头信息是没有问题的,所以在将数据包报头内容与标识为728的模板相比较过程中都不会发现匹配。    

随后,SMM 700比较空间相关载荷触发模板741。运行标识为PT-1 746的模板时,SR组A:将第一比特序列模板747(例如识别限制信息的关键字)与数据包载荷内容相比较。操作符字段748包括“等于”,也就是说,SR组A:第一比特序列747需要与数据包的载荷字段内容匹配。假设SR组A模板747和751是识别其它一些目标数据的模板,而SR组B模板757和762用于识别所讨论的目标数据。数据包载荷部分与模板747的上述比较过程不会出现部分或全部匹配,因此,也没有必要与模板751比较。

接着,SMM 700将数据包的载荷部分与标识为PT-3 756的空间相关载荷触发模板相比较。可能与SR组B:第一比特序列模板757部分或全部匹配,从而出现触发。在此情况下,SR组B:第一比特序列模板757与载荷内容部分匹配,进而发生触发。然后,SMM 700将数据包载荷部分与SR组B:第二比特序列模板761相比较,且同样出现匹配。然后按照TL-Ref字段763的指示,SMM 700转到服务逻辑TL-3 709。SMM 700随后运行TL-3 708条件语句,也就是服务逻辑709。条件语句709是“{{If NOT(PS_1 OR PS_2 OR PS_3)thenRemote_SM_8}}”,也就是说,如果PS_1或PS_2或PS_3未在匹配中指示,则运行外部服务模块SM_8。因此,SMM 700将数据包副本发送到外部网络设备、服务器或终端设备,以利用该数据包运行SM-8服务模块。上述实例只是一个可能情况,其中只有一个触发出现,但还有无数种其它情况,其中发生与上述实例类似的触发和操作。

图8是集成到图3和图5所示的主次服务模块管理器(SMM)中的触发逻辑、内容模板实施例的又一示意图。在该实施例中,PSMM 800包括触发逻辑801、非相关及空间相关补充模板805。类似地,SSMM 870包括非相关及空间相关触发模板882,且可选地包含触发逻辑871、非相关及空间相关补充模板891。

触发逻辑801包括参考标识符(ID)字段802和服务逻辑803。非相关及空间相关补充模板805包括Ref-ID 806、字段ID 807、比较模板808和操作符809。类似地,非相关及空间相关触发模板882包括Ref-ID 883、字段ID 884、比较模板885、操作符886和TL-Ref 887。此外,触发逻辑871包括参考标识符(ID)字段872和服务逻辑873。最后,非相关及空间相关补充模板891包括参考ID 892、字段ID 893、比较模板894和操作符895。类似情况下,图6和图7的说明在此也适用。

图9a和9b是空间相关载荷触发模板构造的示意图,其中该模板用于确切地识别目标数据。如图9a所示,目标数据在通过网络设备发送到目的终端设备之前,被源终端设备分段为多个载荷数据包,如911、913、915和917。网络设备可包括接入点、集线器、网关、分组交换机、路由器、互联网服务提供商网络等。根据本发明,这些网络设备中的至少一部分集成了SMM,而SMM包括非相关及空间相关触发模板,以及非相关及空间相关补充模板。这些非相关及空间相关触发模板,或者非相关及空间相关补充模板的构造实施例将结合目标数据919进行说明,其中还添加了比较模板部分TA 921和TB 923。

例如,目标数据的两个分段可能是第21个载荷数据包913和第22个载荷数据包915。比较模板TA 921包括部分目标数据,但与数据包913或数据包915相比都没有完全包括这两个数据包中的内容。在这种情况下,比较TA 921和数据包915时出现部分匹配,随后,与TB 923比较时出现完全匹配。因此,不管目标数据是如何分段为数据包的,只要有至少一个载荷数据包即可确保识别目标数据。

接下来,在图9b中,给出了非相关及空间相关触发模板,或者非相关及空间相关补充模板的另一可能构造。在此,目标数据被源终端设备分段为载荷数据包,如931、933、935和937。非相关及空间相关触发模板,或者非相关及空间相关补充模板的构造实施例将结合目标数据941进行说明,其中还添加了比较模板部分TA 943和TB 945。确切识别目标数据的比较模板分布在数据包分段949中。该图也说明了两个比较模板并不需要连续。

图10是空间相关载荷触发模板构造的另一实施例的示意图。所示的目标数据被分段为数据包,如图示上方的第1载荷数据包1011、第85载荷数据包1013、第86载荷数据包1014、第87载荷数据包1015和第N载荷数据包1017,以及图示下方的第1载荷数据包1041、第21载荷数据包1043、第22载荷数据包1045和第N载荷数据包1047。图示中间,添加到目标数据1021上的是比较模板TY 1023、TZ 1025、T1 1027、T2 1029和T3 1031。比较模板TY 1023和TZ 1025交互重叠,而模板T1 1027、T2 1029和T3 1031是空间相关的非连续比特序列。

图11是服务模块(SM)一般功能流的流程图1105。在步骤1111中,SM从本地或远程SMM接收被引导数据包和补充信息。在下一步骤1113中,SM根据与引导数据包一起的补充信息,判断要对数据包执行的预定义动作集合。本流程图给出了四个这样的操作,分别在步骤1115、1117、1119和1121中执行,而实际上,SM可采取的还有许多其它的动作。

在步骤1115中,在可能的情况下,不丢弃数据包,SM从目标数据的分段数据包中取出恶意代码。也就是说,如果SMM识别出目标数据包含隐藏的破坏性代码,如病毒、蠕虫或木马。在这种情况下,随附的补充信息可能包含去除恶意代码或如果不能去除则丢弃数据包的指令。在步骤1117中,SM将目的地址更换为另一目的地。当执法部门需要监控这些社会不接受文件或网页数据或数据包的无限制数据流来源时,则有必要这么做。在此情况下,数据包可被转发到执法部门使用的终端设备中。

在步骤1119中,SM将目的地址更改为发送方地址。也就是说,数据包将被返回到发送方。这种情况发生在目标数据不被特定区域接受时。在步骤1021中,SM执行针对目标数据的其它预定义功能。接着,在下一步骤1123中,如有指示,SM转发数据包以进行路由处理。

图12是包含空间相关触发模板的服务模块管理器中的具体事件流程图1205。在步骤1211中,SMM接收到达的数据包并将数据包载荷部分与非相关及空间相关触发列表进行比较。如果在下一步骤1215中没有出现触发,则在下一步骤1217中SMM进行路由处理。

如果出现触发,在下一步骤1219中,SMM检查触发逻辑并应用合适的触发逻辑。步骤1219的触发逻辑中所指明的各种可能动作在步骤1221、1223和1225中示出。在步骤1221中,触发逻辑指出了本地补充关联。如果已指出本地补充关联,在下一步骤1227中SMM将数据包载荷部分与非相关和/或空间相关补充模板相比较。接着,返回到步骤1219中,SMM再次检查并应用对应触发逻辑。

在步骤1223中,触发逻辑指出了远程补充关联。在此情况下,SMM将数据包和补充信息发送到远程SMM中以备在下一步骤1229中进行进一步处理。在步骤1225中,触发逻辑指出了不需要进一步的本地或远程补充关联。最后,如果符合逻辑则在下一步骤1231中,SMM将数据包发送到本地和/或远程SM,且如有指示,则生成数据包副本并转发数据包以进行路由处理。如果在步骤1225中不符合逻辑,且如果逻辑指明则在下一步骤1233中执行路由处理。

图13是SMM利用与接收数据包一起接收到的补充信息判断是否已指明路由数据包或进行进一步分析的另一流程图。利用补充信息的流程开始于开始步骤1307。在下一步骤1309中,SMM从次SMM或远程SMM处接收数据包和补充信息。在下一步骤1311中,SMM从补充信息中判断是否需要将数据包立即发送到一个或多个本地或远程SM,或者是否需要执行进一步分析。

在下一步骤1315中,指出了需要将数据包立即发送到一个或多个本地或远程SM中。因此,在下一步骤1319中,SM将数据包发送到本地和/或远程SM中。接着,该流程结束于下一步骤1321。另一方面,如果在步骤1313中要求进一步分析,则在下一步骤1317中,SMM执行进一步分析。SMM执行的进一步分析流程可参见关于图14的说明。接着,该流程结束于下一步骤1321。

图14是说明图13中由SMM完成的进一步分析处理的另一流程图1405。进一步分析处理开始于步骤1411。在下一步骤1413中,SM识别并对接收数据包应用进一步逻辑/模板。也就是说,如果有则从接收补充信息中提取出进一步的逻辑/模板,和/或从接收补充信息引用的本地逻辑/模板存储器中提取出进一步的逻辑/模板。识别并应用进一步逻辑/模板的成功或失败分别在步骤1417、1429中示出。

如果在步骤1429中SMM无法识别并应用进一步逻辑/模板,则在下一步骤1431中,如果接收补充信息有要求,SMM构造失败结果数据包并将其发送到发送方。此外,如果补充信息有要求,在下一步骤1423中SMM继续数据包路由且该处理结束于下一步骤1425。

可选地,如果在步骤1417中成功识别并应用进一步逻辑/模板,则在下一步骤1419中,如果接收补充信息有要求,SMM构造成功结果数据包并将其发送到发送方。接着,在下一步骤1421中,SMM将数据包及所接收的和附加补充信息发送到接收补充信息中指出的一个和多个本地和/或远程服务模块。接着,如果补充信息有要求,在下一步骤1423中SMM继续数据包路由且该处理结束于下一步骤1425。

图15是根据本发明图3和图5所示的服务模块管理器(SSMM和PSMM)的具体功能流程图。在此说明的方法涉及特定实施例,当考虑其它实施例时可能有所不同。该方法开始于开始步骤1507。在下一步骤1509中,次处理电路通过网络接口接收被引导数据包并将其引导到SSMM。在下一步骤1511中,SSMM检查该数据包并利用内容触发模板运行SSMM。也就是说,将数据包各字段与SSMM中的内容触发模板相比较。内容触发模板可包括报头模板、空间相关载荷触发模板和空间相关载荷补充模板。

接着,在下一判断步骤1513中,SSMM验证比较中是否有精确匹配,随后在另一判断步骤1515中,验证比较中是否有部分匹配。在下一步骤1517中,如果在步骤1513和1515中有部分或精确匹配,SSMM按照SSMM的触发逻辑中的指示运行一个或多个次服务模块(SSM),并根据SSM的指示采取适当的行动。如果SSMM中没有触发逻辑,该数据包可引导到PSMM做进一步分析。此外,在步骤1517中,在特定情况下,SSM处理精确匹配和部分匹配可能有所区别。如果在判断步骤1513和1515中既没有精确匹配也没有部分匹配,则在下一步骤1521中,次处理电路利用转发引擎和交换机执行路由处理并将数据包转发到下一节点。该方法结束于下一结束步骤1537。

在步骤1519中,如已在SSM指明,则采取的其中一个动作是返回到发送方。接着,该处理结束于结束步骤1537。在步骤1523中,采取的另一动作是生成副本或者不生成副本而将数据包引导到远程网络设备以应用远程SM处理。该数据包可从远程网络设备直接转发到目的地,或者返回到设备做进一步处理。接着该方法结束于结束步骤1537。一旦在步骤1517中完成了适当的SSM操作,在步骤1521中,SSMM采取另一动作,即利用转发引擎和交换机执行路由处理并将数据包转发到下一节点。接着,该方法结束于结束步骤1537。可采取的一种动作是在下一步骤1525中,如果有指示则将数据包引导到PSMM作进一步处理。进一步处理包括与PSMM中的报头模板、空间相关载荷触发模板和空间相关载荷补充模板进行比较。

接着,在下一判断步骤1527中,PSMM验证是否与报头、扩展报头和/或内容补充触发模板有部分或全部匹配。如果没有发现全部或部分匹配,则在下一步骤1529中,PSMM利用转发引擎和交换机执行路由处理并将数据包转发到下一节点。该方法结束于结束步骤1537。在下一步骤1531中,如果在步骤1527中发现部分或全部匹配,PSMM运行一个或多个PSMM触发逻辑所指明的主服务模块(PSM),并根据PSM或触发逻辑的指示采取适当的动作。

在步骤1533中,如已在PSM指明,则采取的其中一个动作是返回到发送方。接着,该处理结束于结束步骤1537。在步骤1535中,采取的另一动作是生成副本或者不生成副本,将数据包引导到远程网络设备以应用远程SM处理。该数据包可从远程网络设备直接转发到目的地,或者返回到原设备作进一步处理。接着该方法结束于结束步骤1537。一旦在步骤1531中完成了适当的PSM处理,在步骤1529中,主处理电路可采取另一动作,即利用转发引擎和交换机执行路由处理并将数据包转发到下一节点。接着,该方法结束于结束步骤1537。

图16是服务模块管理器功能实施例的流程图,其中在数据包载荷和空间相关载荷触发模板(SRPTT)比较过程中发现部分匹配。在该实施例中,SMM考虑了数据包载荷部分中左端部分或右端部分与后续空间相关载荷触发模板比较中出现的成功部分匹配。在步骤1611中,SMM通过本地或远程服务分析接收被引导数据包。接着,在下一步骤1613中,进行报头模板比较。接着,在下一步骤1615中,SMM将数据包载荷部分与SRPTT相比较,且从第一组的第一模板开始比较。

在下一步骤1619中,出现部分匹配。在步骤1621中如果部分匹配是左端部分,也就是说匹配出现在数据包载荷部分的开始处,则在下一步骤1627中,进行比较的后续空间相关载荷触发模板是右SRPTT。可选地,如果在步骤1623中部分匹配是右端部分,也就是说匹配出现在数据包载荷部分的结束处,则在下一步骤1625中,进行比较的后续空间相关载荷触发模板是左SRPTT。

在下一步骤1629中,SMM根据触发逻辑中指出的独立请求、报头信息、签名模板匹配和/或载荷选择服务模块。接着,在下一步骤1631中,利用数据包和任何随附请求应用所选中的本地或远程SM处理。接着,如有指示则在下一步骤1633中,SMM继续数据包路由。可选地,如果在下一步骤1617中出现精确匹配,则与后续SRPTT中的每一个进行比较,接着转到步骤1629、1631和1633。

图17是服务模块管理器功能另一实施例的流程图1705,其中使用了伪随机分段空间相关载荷触发模板(SRPTT)。在该实施例中,SMM考虑了数据包载荷部分中左端部分或右端部分与伪随机空间相关载荷触发模板比较中出现的成功部分匹配。在步骤1711中,SMM通过本地或远程服务分析接收被引导数据包。接着,在下一步骤1713中,进行报头模板比较。接着,在下一步骤1715中,SMM将数据包载荷部分和伪随机选中的SRPTT相比较,且从一组的第一模板开始比较。

在下一步骤1719中,出现部分匹配。在步骤1721如果部分匹配是左端部分,也就是说匹配出现在数据包载荷部分的开始处,则在下一步骤1727中,进行比较的后续空间相关载荷触发模板是右SRPTT。可选地,如果在步骤1723中部分匹配是右端部分,也就是说匹配出现在数据包载荷部分的结束处,则在下一步骤1725中,进行比较的后续空间相关载荷触发模板是左SRPTT。

在下一步骤1729中,SMM根据触发逻辑中指出的独立请求、报头信息、签名模板匹配和/或载荷选择服务模块。接着,在下一步骤1731中,利用数据包和任何随附请求应用所选中的本地或远程SM处理。接着,如有指示则在下一步骤1733中,SMM继续数据包路由。可选地,如果在下一步骤1717中出现精确匹配,则与后续SRPTT中的每一个进行比较,接着转到步骤1729、1731和1733。

本领域普通技术人员可知,本申请中所使用的短语“通信连接”包括有线的和无线的、直接的连接和通过其它组件、元件或模块的间接连接。本领域普通技术人员还可知,推定连接(即推定一个部件与另一个部件连接)包括两个部件之间与“通信连接”方式相同的无线的和有线的、直接的和间接的连接。

本发明通过借助方法步骤展示了本发明的特定功能及其关系。所述方法步骤的范围和顺序是为了便于描述任意定义的。只要能够执行特定的功能和顺序,也可应用其它界限和顺序。任何所述或选的界限或顺序因此落入本发明的范围和精神实质。    

本发明还借助功能模块对某些重要的功能进行了描述。所述功能模块的界限和各种功能模块的关系是为了便于描述任意定义的。只要能够执行特定的功能,也可应用其它的界限或关系。所述其它的界限或关系也因此落入本发明的范围和精神实质。

本领域普通技术人员还可知,本申请中的功能模块和其它展示性模块和组件可实现为离散组件、专用集成电路、执行恰当软件的处理器和前述的任意组合。

此外,尽管以上是通过一些实施例对本发明进行的描述,本领域技术人员知悉,本发明不局限于这些实施例,在不脱离本发明的精神和范围的情况下,可以对这些特征和实施例进行各种改变或等效替换。本发明的保护范围仅由本申请的权利要求书来限定。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号