一种基于会话的并行流水线过滤方法

文档序号:7696272阅读:241来源:国知局

专利名称::一种基于会话的并行流水线过滤方法
技术领域
:本发明属于计算机网络和数据通信
技术领域
,具体涉及一种基于会话的并行流水线过滤方法。
背景技术
:随着互联网的发展和攻击者的工具与手法的升级,单纯的防火墙已难以满足网络与信息安全的要求,网络管理需要考虑整个安全体系的综合协调性。而对应用层内容进行过滤代表着一种网络安全的新理念(参见中国发明专利公开号为200710121322.1的文献)。在通常的计算机网络中,会话(Session)指的是两台主机之间的虚拟连接,依此完成一次具体的网络应用。根据网络数据传输的特点,可定义具有相同五元组(源/目的IP地址、源/目的端口和协议)的报文属于同一个半流,则由任意一个半流及其反射半流(交换IP地址以及端口后形成的半流)可确定一个会话。一个会话通常包含多个网络报文。然而在负载分配过程中如果不将整个会话分配到一个处理单元,可能会破坏原始流特性,而在网络安全应用(如内容过滤系统、恶意代码过滤系统等)中,这可能是致命的——目前还不能基于独立报文检测出报文中是否渗入有害内容,只有捕获会话的部分或全部报文,通过报文拼接、重组以后,才可以检测出内容是否有害。但是应用层的内容过滤与网络端口过滤处理相比,要求大量的计算资源,很多情况下高达100倍甚至更高。因而,如果在网关处对流经的网络数据内容进行处理,带来的问题是必然严重影响到网关性能的下降。这就是所谓的内容处理障碍。为了突破内容处理障碍,达到实时地分析网络内容和行为,需要采用行为加速和内容分析新技术,方能避免影响系统性能。并行处理(ParallelProcessing)是计算机系统中能同时执行两个或更多个处理单元的一种计算方法。而这种处理方法正好可以解决目前应用层分析过程中碰到的性能瓶颈。目前基于会话的过滤处理过程,如图l所示流量流入组件接收以太网数据报文,经过数据包分析组件确定报文所属会话后,交给数据组件。数据组件将属于同一会话的载荷数据提取出来,交给过滤组件进行内容过滤,判断内容是否正常。若数据正常,则将报文交给TCP/IP协议栈,使之经过正常的网络分发处理后流出;若数据不正常(如包含病毒等非法信息),则将报文做丢弃等控制操作。内容过滤的并行处理可以基于不同粒度进行,如基于网络报文层和基于应用协议层进行,而本发明首次提出基于会话层的并行内容过滤处理。基于网络报文层的并行过滤,需要为并行处理维护大量的数据信息及状态信息,并行同步开销大,并行的整体效率不高。基于应用协议层次的并行过滤,会导致负载不均衡,部分协议(如HTTP)处理量大,其他协议则小。本发明提出的基于会话的并行流水线过滤方法,指的是在会话层进行并行处理,并行处理方法需要在各处理节点间进行负载分配以实现最佳性能。本发明提出的基于会话的并行流水线过滤方法,可以以最佳方式解决应用层过滤系统的性能瓶颈,有效避免应用负载不均导致并行负载不均的缺点,同时又能保持应用层中包含的原始信息。
发明内容本发明的目的是提出一种基于会话的并行流水线过滤方法,通过在会话层对传输的不同数据包进行并行处理,大大提高网络数据传输的效率。基于会话的并行流水线过滤框架包含流量流入组件、数据包分析组件、流水线选择组件、流水线、TCP/IP协议栈、流量流出组件等,其中流水线包括会话、数据还原组件和过滤组件。基于会话的并行流水线框架各个组成部分的关系如图2所示。基于会话的并行流水线过滤的方法,其步骤如下-1)、以太网的数据包通过流量流入组件传递到数据包分析组件;2)、数据包分析组件将数据包按照会话的形式进行组织,并传递给流水线选择组件;3)、流水线选择组件根据会话,利用负载分配算法选择一条会话数据处理流水线,数据包流入会话数据处理流水线中;4)、会话数据处理流水线的数据还原组件将会话中的数据包还原数据,并把数据传入过滤组件;过滤组件判断过滤处理的数据是否正常,并进行不同的过滤处理a)若过滤处理的数据内容正常,则将数据内容通过TCP/IP协议栈转发出;b)若过滤处理的数据内容不正常,则关闭会话,完成了会话的过滤处理;5)、判断会话是否结束,如果没有结束则重复步骤l)、2)、3)和4),如果会话结束则完成一个会话的数据处理。其中,上述步骤3)中的负载分配算法指的是流水线选择组件中流水线分配的算法,目前标准的算法为轮询算法,按照顺序分配的方式,将每次来的新会话分配到并行的流水线上。上述步骤4)的过滤组件可以依据不同的应用,分别完成内容过滤、恶意代码过滤等不同的过滤功能。本发明的优点和积极效果如下1.由于会话的固有特点,基于会话进行并行处理,既可以避免维护过量的同步开销,又不会导致不同应用协议的负载不均。因此可以在最佳程度上提高内容过滤的效率。2.基于会话进行并行处理,不需要对原始数据包进行修改,因此能够保持应用层的原始信息。图l现有技术基于会话的过滤处理图。图2本发明基于会话的并行流水线过滤图。具体实施例方式以下结合附图对怎样实施基于会话的并行流水线过滤方法进行详细说明。一个基于会话的并行流水线过滤方法的具体实施过程如下1、内容过滤模块所依托系统(如防火墙)初始化,并根据系统包含的CPU数量设置会话数据处理流水线的并行数;本实施例采用4条;2、根据流水线数目和CPU数目,把流水线绑定到特定的CPU;3、流量流入组件把以太网上的数据传递到数据包分析组件,数据包分析组件对流入的数据包进行分析,并将数据包按照会话进行组织;因属于同一会话的数据包具有相同的源地址、目的地址、源端口、目的端口、协议号等基本信息,且所属高层协议具有相应的状态信息、时间戳等标识。当每收到一个数据包时,数据包分析组件能够根据以上信息判断数据包所属会话,从而将数据包按照会话进行组织。a)判断当前的数据包是否属于已经存在的会话若当前的数据包不属于已经存在的会话,则初始化一个保持会话信息、调度信息的结构session一scheduler。该结构的各个分量说明如下表所示:<replacetable>complexreplacetableseeoriginaldocumentpage5</replacetable><table>complextableseeoriginaldocumentpage6</column></row><table>)表1session—scheduler分量说明b)若当前的数据包属于已经存在的会话,则依照流入顺序将数据包传递给会话数据处理流水线,并且更新session—scheduler结构中的session—flush分量。c)若当前的数据包中包含会话的结束标志,则将当前的数据包传递给会话数据处理流水线,并且销毁session—scheduler结构。4、流水线选择组件根据会话,并行处理,进行流水线选择调度;本发明的会话数据处理流水线调度指的是指多条会话数据处理流水线之间的负载分担算法,即进行数据分发。为了保证每个会话数据包的完整性,即要求将一次会话的所有数据包都发送给同一个会话数据处理流水线。本实施例采用轮询算法,即每来一个新的会话会依顺序次序分配到流水线,实现会话数据的高速传输。5、会话在流水线上的处理通过流水线选择调度,数据包传入到并发的流水线中。流水线中的数据还原组件对相应的数据进行还原,并把还原的数据传入到过滤组件;过滤应用组件可以进行自定义,根据不用的过滤应用,分别完成内容过滤、恶意代码过滤等功能。过滤组件判断过滤处理的数据是否正常,并进行不同的过滤处理。a)若过滤处理的数据内容正常,则将数据内容发送到TCP/IP协议栈,再通过流量组件流出;b)若过滤处理的数据内容不正常,则关闭会话,丢弃数据,完成会话的过滤处理;c)判断会话是否结束,如果没有结束则重复步骤15,如果会话结束则完成一个会话的数据处理。尽管为说明目的公开了本发明的具体实施例和附图,其目的在于帮助理解本发明的内容并据以实施,但是本领域的技术人员可以理解在不脱离本发明及所附的权利要求的精神和范围内,各种替换、变化和修改都是可能的。本发明不应局限于本说明书最佳实施例和附图所公开的内容,本发明要求保护的范围以权利要求书界定的范围为准。权利要求1.一种基于会话的并行流水线过滤方法,其步骤包括1)以太网的数据包通过流量流入组件传递到数据包分析组件,所述数据包分析组件将数据包按照会话的形式进行组织,并传递给流水线选择组件;2)所述流水线选择组件利用负载分配算法选择一条会话数据处理流水线,将会话传入并行的会话数据处理流水线中;3)所述会话数据处理流水线的数据还原组件将会话中的数据包还原成数据,将还原的数据传入过滤组件,过滤组件进行如下处理若过滤处理的数据内容正常,则将数据内容通过TCP/IP协议栈转发出;否则关闭会话,完成会话的过滤处理;4)判断会话是否结束,若没有结束则重复步骤1)、2)和3),否则完成会话的数据处理。2.如权利要求1所述的一种基于会话的并行流水线过滤方法,其特征在于,所述并行的会话数据处理流水线数目根据系统包含的CPU数目进行设置。3.如权利要求1所述的一种基于会话的并行流水线过滤方法,其特征在于,步骤2)中所述的负载分配算法釆用轮询算法。4.如权利要求1所述的一种基于会话的并行流水线过滤方法,其特征在于,步骤3)中的过滤组件为内容过滤组件或恶意代码过滤组件。全文摘要本发明属于计算机网络和数据通信
技术领域
,具体涉及一种基于会话的并行流水线过滤方法。本发明提出的基于会话的并行流水线过滤方法,指的是在会话层进行并行处理,以最佳方式解决应用层过滤系统的性能瓶颈,有效避免应用负载不均导致并行负载不均,同时又能保持应用层中包含的原始信息。文档编号H04L29/08GK101345771SQ20081011887公开日2009年1月14日申请日期2008年8月26日优先权日2008年8月26日发明者吴开宇,朴爱花,范京华,维邹,斌陈,龚晓锐申请人:北京大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1