用于高吞吐量基于签名的网络应用的集成电路设备和方法技术

技术编号:2929857 阅读:193 留言:0更新日期:2012-04-11 18:40
一种允许对于基于签名的网络应用有显著的性能改进的集成电路设备的结构和方法。在各种实施例中,该结构允许以线速度同时进行把分组高吞吐量地分类成网络流,对这种流进行分组重新装配,对这种流进行过滤和预处理,对这种流的报头和有效负荷内容进行模式匹配,和根据用于多个网络应用的基于法则的策略来进行动作执行。与现有技术设计相比,本发明专利技术在性能、灵活性和模式数据库大小上被改进。

【技术实现步骤摘要】
【国外来华专利技术】
本专利技术涉及计算机联网安全应用。更具体地,本专利技术包括用于以线速度(wire-speed)作用于网络分组和流数据的、基于签名的网络应用的设备的集成电路实施方案。按照具体的实施例,本专利技术包括用于以下功能的设备和方法,即,以线速度同时进行将分组高吞吐量地流分类成网络流、对这种流进行重新分组装配(在想要的场合下)、过滤和预处理这种流(在想要的场合下,包括协议译码)、对这种流的报头(header)和有效负荷内容进行模式(pattern)匹配、和根据用于多个网络应用的基于法则的策略(policy)来进行动作执行。仅仅作为例子,本专利技术被应用于分布在局域网、广域网、和世界范围的网络中的联网设备。
技术介绍
随着世界的进步,计算机网络互连对于用于企业、通信系统、国家和世界的基础结构变成很重要的。在计算机之间的数据流在载送的内容和传递的及时性方面变得越来越重要。通过计算和联网的技术进展,大的数据库现在是可得到的,并且由处在地球的相对侧的双方使用。通过诸如互联网的网络,数据在计算机之间以通常被称为分组的小的数量被载送。在数据量太大而不适合于单个分组(它的大小典型地由分组流过的网络的特性来规定)的场合下,使用一系列分组来把数据从通信信道的一端载送到另一端。这个序列,或通常被称为流,然后在接收端从各个分组被重新装配成原始的数据。分组是通过使用允许计算机和网络设备决定分组应当沿哪条路径发送到达它的最后目的地的专门开发的算法而在计算机之间路由的。这些算法检查分组报头(典型地是分组的固定大小的部分,其包含被加到要输送的有效负荷的诸如分组的源和目的地址的信息),以作出路由决定。所述算法需要检查分组,并非常快速地作出决定,从而允许大量分组以非常小的延时进行发送。除了检查报头以外,还可以检查分组的内容,找到有助于作出关于给予分组的路径和优先级的决定的信息;然而,数据的这个检查加上附加开销,这会限制吞吐量和由检查数据的设备施加的延时--典型地,要搜索的数据越多,由于搜索它而引起的延时越长。不断地,当分组从它们的源发送到它们的目的地时,它们被检查来不仅仅帮助进行路由决定而且也用于其它目的。通过网络以一系列分组发送的一个电子邮件可被检查来查看它是否是不想要的电子邮件消息(通常被称为“垃圾邮件(spam)”);这种检查常常希望查看消息的内容,这是在载送电子邮件时牵涉的分组的有效负荷部分。同样地,可以扫描电子邮件,查看它是否包含计算机病毒。也可以检查分组,寻找版权侵犯、诸如计算机‘黑客’或共同侦察的非法活动,或只是分析使用情况以提供良好的服务质量。通过检查网络中的分组,现在提供新的应用,并且可以合理地预期,将继续开发基于分组检查的新的网络应用。专门化的网络设备能够非常快速地检查分组报头(具有它们的小的总的大小、设置的协议和固定的布局)。然而,检查不总是很好地构建的分组的数据有效负荷是复杂的,并且在对于处理每个分组可用的小的时间窗中很难完成。当在数据结构和协议方面必须经常分析这个有效负荷时,以及甚至面对由高技巧的攻击者恶意地作出的模糊时,这个问题被复杂化。典型地,诸如电子邮件网关、侵入检测系统和通用内容保护设备的设备以软件搜索网络数据,该软件虽然常常是灵活的和很优化的,但当接近达到想要的速度时,在总的吞吐量或延时方面,将是不顶用的。设备还可以使用被严格限制成检查报头的专门化的路由硬件。而且,这些软件和硬件设备典型地对于可以搜索什么数据和可被同时匹配的不同的模式的数目施加相当严格的限制。网络设备在几个约束条件下也能工作;分组从进入接口到外出接口所花费的总的时间需要保持为最小值。分组经过通信设备或信道所花费的时间被称为等待时间。由设备引起的等待时间不但必须保持为最小值,而且也必须保持为相对恒定的;等待时间的改变被称为抖动。实际上,抖动有害地影响多媒体流。对于当前的基于软件的网络应用,抖动很难控制,因为软件通常与由不对实时处理提供支持的最通用的操作系统所混合的许多其它处理过程共享单个CPU。结果,软件应用交互作用可导致对于网络性能的很大的有害影响。随着网络运行越来越快,这种影响被复杂化。许多网络协议对分组在通信网上的载送进行组织的方法意味着,与载送给定的流有关的分组可能不总是以正确的次序到达,而且,分组可能由于各种原因而结束分段。为了处理这些情形,流的终端接收机需要通过使用联网算法重新构建分段的分组,并且从这些分组重新装配流,而不管它们到达的次序。然而,这对于设备或应用施加另外的要求,所述设备或应用希望就其全部上下文来检查属于流的数据,而不是只将其作为单个分组从上下文中取出。路由和其它决定典型地关于单个分组内提供的信息而整体地完成,但如果在流中搜索特定的模式,则希望找到它,即使它跨越两个或多个分组之间的边界。因此,为了正确地搜索流,重要的是提供用于处理分段的和次序弄乱的分组的某些机制。联网的和其它计算机规则下的搜索可以用各种方式完成。典型地,使用一组“法则”或“模式”来描述要被搜索的内容,然后使用算法,把这些“法则”或“模式”施加到要被搜索的数据。这些通常通过使用被称为正则语言(regular language)的结构来描述。正则语言通常被表示为正则表达式。正则语言和表达式在现有技术中是熟知的,但以各种不同的类型呈现,某些被标准化,某些没有被标准化。一旦要被搜索的表达式被规定为正则表达式,典型地由算法作用在其上,产生被称为有限自动机(automaton)的东西。该有限自动机可被“执行”来搜索模式;所述执行包括计算转移函数,该函数定义从有限自动机的一个状态到有限自动机的另一个状态的转移,每次转移是由来自被搜索的数据的、被称为码元的单块输入所触发的。在给定一组约束条件的情况下进行数据流的高速搜索,包括以低的延时通过高的吞吐量重新装配流,大型模式数据库包括成千个模式,其实现起来是复杂的和困难的。当前的方法通常需要在通用CPU上运行的软件,并且对于满足所有的约束条件有很大的困难;某些是通过牺牲几个目标来进行管理的,诸如大大地限制模式数据库的大小和这些模式可以采取的形式。某些当前的方法使用专门化的硬件解决方案,其中专用集成电路试图满足竞争的需要。这并不提供全面的一般解决方案,并且常常无法解决诸如允许大型模式数据库的硬件问题。对这些惯用技术的这些和可能其它的限制可以在本说明书中找到,并且在下面更具体地描述。所需要的是以更高的速度(例如,当前的网络速度)来搜索计算机网络业务以找出模式的方法,而对于模式的大小、复杂性或数目不加以过分的限制。这可以通过使用专门化的技术达到,并且这是本专利技术的主题。
技术实现思路
按照本专利技术,提供了用于计算机联网安全应用的技术。更具体地,本专利技术包括用于以线速度作用于网络分组和流数据的、基于签名的网络应用的设备的集成电路实施方案。按照具体的实施例,本专利技术包括用于以下功能的设备和方法,即,以线速度同时进行将分组高吞吐量(例如,每秒10,000,000比特或更高)地流分类成网络流、对这种流进行重新分组装配(在想要的场合下)、过滤和预处理这种流(在想要的场合下,包括协议译码)、对这种流的报头和有效负荷内容进行模式匹配、和根据用于多个网络应用的基于法则的策略来进行动作执行。仅作为例子,本专利技术被应用于分布在局域网、广域网、和世界范围的网络中的联本文档来自技高网
...

【技术保护点】
一种用于在网络应用中进行高吞吐量模式匹配的集成电路设备,该设备包括:刚性支持部件,包括连接器区域,连接器区域包括网络连接区域和主机连接区域,刚性支持部件具有选择的宽度和选择的长度,所述选择的宽度和选择的长度适合于经由连接器区域被耦合 到网络系统;一个或多个硬件模块,其被布置在刚性支持部件上且被耦合到刚性支持部件,该一个或多个硬件模块包括:被耦合到刚性支持部件的网络接口模块,该网络接口模块包括一个或多个网络接口端口;被耦合到刚性支持部件的网络接口总 线,该网络接口总线适合于接口到网络接口模块;被耦合到刚性支持部件的网络模块,该网络模块被耦合到网络接口总线;被耦合到刚性支持部件的网络事件模块,该网络事件模块被耦合到网络模块;被耦合到刚性支持部件的存储器模块,存储器 模块被耦合到网络事件模块和网络模块,存储器模块包括模式存储器,该模式存储器与多个预先存储的模式有关;被耦合到刚性支持部件的主机接口模块,主机接口模块被耦合到至少网络事件模块或至少网络模块或网络事件模块与网络模块二者;以及被耦 合到刚性支持部件的主机接口总线,主机接口总线被耦合到主机接口模块。...

【技术特征摘要】
【国外来华专利技术】...

【专利技术属性】
技术研发人员:罗伯特M巴里斯蒂芬古尔德达林威廉斯尼古拉斯德琼
申请(专利权)人:感测网络公司
类型:发明
国别省市:US[美国]

相关技术
    暂无相关专利
网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1