基于启发式和商业策略对网络业务流递进应用资源的制作方法

文档序号:11142864阅读:302来源:国知局
基于启发式和商业策略对网络业务流递进应用资源的制造方法与工艺

实施例大体上涉及网络服务。



背景技术:

除了将数据从一个位置路由到另一个位置,现代数据网络还提供个性化服务。例如,很多网络提供入侵检测服务,其检查分组序列以检测和阻止网络攻击。提供这些服务可能需要改变业务流的路由。例如,业务可能被路由经过提供服务的特定设备。

传统路由算法依赖于每个路由器都具有的来自其相邻链路和设备用以路由数据的本地信息。路由器在路由表中维护该信息。基于到来分组的目的地地址,路由器使用其路由表向特定相邻设备转发该分组。

一种称为软件定义网络(SDN)的技术将控制功能和转发功能分离到分离的设备中。控制设备可以使用网络拓扑的全局知识,针对各个数据流来确定经过转发设备网络的路径。以这种方式,控制设备可以例如建立使经过网络的延时最小化、带宽最大化的路径,或者将数据流路由经过提供特定网络服务的特定设备。

将数据流路由经过网络服务引入了性能顾虑。例如,入侵检测系统可能执行复杂的操作来检测攻击模式。这些操作可能增加延时并降低带宽,或可能消耗昂贵的网络资源。



技术实现要素:

有鉴于此,有利地提供一种机制,其提供基于启发式和策略条件对业务流逐渐应用网络资源。

在实施例中,一种系统确定网络中的业务流满足第一条件,并向网络服务发送业务流的第一部分。然后,网络服务以第一详细级别检查业务流的第一部分,并确定业务流满足第二条件。然后,基于确定业务流满足第二条件,网络可以向网络服务发送业务流的第二部分。所述网络服务还可以以第二详细级别检查业务流的第二部分,其中,第二详细级别的检查需要与第一详细级别的检查不同的计算资源量。

还公开了方法和计算机可读介质的实施例。

以下参考附图详细描述更多实施例和特征,以及各实施例的结构和操作。

附图说明

附图合并于此并形成说明书的一部分。

图1示出了根据实施例的被配置为应用增加的网络资源的网络的框图。

图2示出了示出根据实施例的系统的进一步细节的框图,所述系统提供对网络流应用增加的网络资源。

图3示出了示出根据实施例的不同级别的流分析的功能的图示。

图4是示出根据实施例的基于策略来执行对微流应用增加的网络资源的方法的流程图。

图5是示出根据实施例的用于增加对网络中的业务流的网络资源的分配的方法的流程图。

在附图中,相似的附图标记一般指示相同或相似的要素。附加地,一般来说,附图标记最左的数字位标识首次出现该附图标记的附图。

具体实施方式

在实施例中,基于启发式和策略条件,对业务流递增地应用网络资源。在示例中,轻量级网络服务首先检查数据流的一小部分。轻量级网络服务可以使用利用有限计算资源的技术来检查数据流的一部分。轻量级服务可以检查数据流以确定数据流是否需要更详细的检查。仅当网络服务确定需要更详细的检查时,可以使用需要更多计算资源并且增加更多延时或更高成本的技术来检查整个数据流。

为了以这种方式应用增加的资源,网络客户端可以配置与其他客户端或服务的网络连接的偏好或策略。例如,客户端可以提供指定入侵检测系统监视与特定方的特定类型业务的策略。在实施例中,网络可以监视进入和来自客户端的业务,以检测业务是否满足策略条件,如满足,将满足条件的业务的一部分(或微流)路由经过入侵检测系统。例如,网络可以将特定类型且定向至特定方的分组路由经过入侵检测系统。实施例还可以基于策略和启发式来增加被检查的流的量和检查级别。以这种方式,通过对业务流逐渐应用网络资源,网络可以提供网络业务的经济处理。

图1示出了根据实施例的对业务流逐渐应用网络资源的网络100的框图。

网络100可以是被配置为在客户端计算设备(例如个人计算机、服务器、移动设备、局域网等)之间传输数据的业务网络。在实施例中,网络100是广域网(WAN)或城域网(MAN)。在实施例中,网络100提供虚拟网络服务,例如虚拟局域网(VLAN)、虚拟专用网(VPN)等。在实施例中,网络100提供远程位置的客户端之间的以太网连接性。例如,网络100可以提供具有专用带宽的虚拟电路,用于远程位置的客户端之间的数据通信。网络100可以使用任何点对点、点对多点或多点对多点的网络协议。所使用的网络接入协议可以包括例如以太网、异步传输模式(ATM)、高级数据链路控制(HDLC)、帧中继、同步光网络(SONET)/同步数字体系(SDH)、互联网协议(IP)、传输控制协议(TCP)、用户报文协议(UDP)、多协议标签交换(MPLS)等。

在实施例中,网络100包括路由器110a-f、控制器120、网络服务提供方130、数据收集模块140、分析模块142、策略数据库144和客户端门户150。以下将依次描述每个组件。路由器110a-f中的每一个可以是转发分组的层2或层3设备。

控制器120可以将路由器110a-f配置为基于例如客户端偏好、网络策略或启发式来路由数据。例如,控制器120可以配置路由器110a-f的路由表以创建两个客户端之间的虚拟电路。控制器110可以与分析模块142通信,决定如何配置路由器110a-f。

网络服务提供方130可以是被配置为对业务流执行服务的计算设备。例如,网络服务提供方130可以是可监视、分析、阻止、复制或修改业务流的分组的入侵检测系统、防火墙服务、防病毒系统、防垃圾邮件过滤器等。在实施例中,网络服务提供方130是网络100的一部分。在另一实施例中,网络服务提供方130可以由经由例如互联网与网络100通信的外部第三方独立提供。

在实施例中,控制器120配置路由器,将业务流或业务流的一部分路由经过网络服务提供方130。例如,第一方可能希望创建与第二方通信的业务流,但可能希望入侵检测系统监视该流。控制器120可以配置一组路由器来承载多方之间的业务流并在路由中包括服务提供方130。在实施例中,控制器120可以基于从网络采集的数据使用启发式,以配置业务流路由和应用于流的网络服务。

数据收集模块140可以基于与流相关联的策略从网络流中收集数据,并向分析模块142转发数据用于分析。在实施例中,路由器110(例如任一个路由器110a-f)可以检测新数据流。当检测到来自新数据流的分组时,路由器可以向数据收集模块140转发包括其首部和其内容的该分组。

数据采集可以取决于特定流所需的检查量。例如,策略可以指定对流的分析级别,并且数据收集模块140可以基于指定的分析级别从分组中采集信息。在一个示例中,在表示流的中等可信的检查级别下,数据采集模块140只采集流的分组首部。在另一示例中,在表示流的较高可信级别的较低检查级别下,数据采集模块140对首部的子集进行采样。在又一示例中,针对被更仔细检查的流,数据采集模块140可以收集整个流。以这种方式,可以基于对流的分析来调整数据收集和分析的详细级别,如下进一步所述。

分析模块142可以分析由数据收集模块142采集的数据,以检测可能触发策略条件或安全标志的条件。为检测该条件,分析模块142从策略数据库144采集策略信息。

策略数据库144可以存储与例如网络客户端、源和目的地地址、应用等相关联的策略。在实施例中,客户端指定与其业务流相关联的策略。例如,客户端和服务器可以通过网络100进行通信。客户端可以指定其希望其与服务器的HTTP业务被入侵检测系统所监视。策略数据库144还可以存储基于启发式的策略。例如,相比其他业务,网络管理者可能希望对异常业务进行更仔细的评估。管理者可以建立基于启发式的策略,该策略声明平均分组大小超过一定阈值的流应被转发经过入侵检测系统,以进行更仔细的检查。

通过使用策略数据库144中的策略,分析模块142可以对从数据收集模块140获得的流数据进行评估,以确定是否满足任何策略。如果满足了任何条件,分析模块142可以与控制器120通信,并指示其配置路由器110a-f按照满足的策略来路由业务。例如,如果分析模块142检测到业务流的平均分组大小超过由基于启发式的规则建立的阈值,分析模块142可以通知控制器110,控制器110可以相应地配置路由器将流转发经过服务提供方130,以便入侵检测系统进行监视。

客户端门户150可以从网络客户端接收策略和配置信息。在实施例中,客户端门户150可以向客户端提供用户接口,例如web接口,在所述用户接口处,客户端可以提供用于其网络通信的策略和配置信息。在另一实施例中,客户端门户150可以提供应用程序接口,所述应用程序接口使客户端能够提供用于其网络通信的策略和配置信息。

客户端门户150可以接收特定流、特定客户端、特定方、特定应用等所需的安全性或性能的高级别指示。基于这些指示,客户端门户150可以在策略数据库144中配置策略。在另一实施例中,客户端门户150接收特定流所需的检查级别或入侵检测分析的具体策略。

图2示出了示出根据示例实施例的系统的进一步细节的框图,所述系统提供对网络流逐渐应用网络资源。

流可以被配置为经过路由器110a和110b。图2示出了根据示例实施例的如何基于对流确定的检查级别来对流进行处理。

在实施例中,路由器110可以检测新的流并执行流分析,并且将流路由至对应的模块。在实施例中,路由器110可以检测来自新的流的分组,并将该分组转发至数据收集模块140,用于分析模块142进行分析。分析模块142可以向控制器120提供分析指令,例如,通过提供流的检查级别。然后,控制器120可以配置路由器110,以基于流的各个检查级别来路由流。

在实施例中,路由器110可以被配置为对关于流的元数据执行启发式分析。例如,路由器110(例如路由器110a)可以被配置为监视流的平均分组大小。如果平均分组大小偏离指定的范围,路由器110a可以将来自流的分组转发至数据收集模块140,并且分析模块142可以确定是否增加流的检查级别。

在实施例中,控制器120可以基于流的检查级别来配置路由器110将流分组的微流路由至服务提供方130。例如,针对第一检查级别的流,路由器110a可以被配置为使任何分组都不路由经过提供方130,并且可以执行对流元数据的启发式分析,并将流直接路由至路由器120b。以这种方式,可以在路由器110a处进行第一级别的检查。

除了第一分析级别,为进行不同级别的检查,分组可以被发送至服务提供方130提供的各个模块:分组采样器模块232、流优化器模块234、业务采样器模块236以及连续分析器238。

具体地,在第二检查级别,路由器110a可以被配置为将由分组首部的采样(例如,随机化的首部采样)组成的微流路由至网络服务提供方130用于分析。然后,提供方130处的分析采样器模块232可以分析该微流。在第三检查级别,路由器110a可以被配置为将由分组首部组成的微流路由至提供方130,提供方130中的流优化器模块234可以分析该微流。在第四检查级别,路由器110a可以被配置为将由包括首部和内容的分组所组成的微流路由经过提供方130,提供方130中的业务检查器模块236可以分析该微流。在第五检查级别,路由器110a可以被配置为将整个流路由经过提供方130,提供方130中的连续分析器238可以分析该流。所描述的检查级别和微流仅是示例,意在示出网络100的实施例的功能,并且相关技术领域的技术人员将认识到适用于分组流分析的不同方法的其他示例。

提供方130可以对微流进行分析,例如,入侵检测、防火墙、防垃圾邮件过滤等。然后,提供方130可以根据分析结果来执行对流的其他动作,例如,阻止被确定为形成安全风险的分组,发送警报等。在实施例中,提供方130可以与分析模块142通信,以基于在先分析结果来调节流的检查级别。

图3示出了示出根据示例实施例的不同级别的流分析的功能的图示。

在级别302,不对流执行具体分析,并且仅执行对流的元数据的一般启发式分析。例如,分析可以包括确定分组的平均大小、分组的数目、发送的字节等。

在级别304,可以执行分组采样,所述分组采样可以例如识别微流。在该级别,分析可以包括查看分组首部的随机采样并确定它们是否满足特定标准。例如,分组采样可以用于识别被应用策略的微流(例如,层3和层4IP、端口、协议信息、甚至来自特定地址的HTTP分组)。然后,控制器110可以应用策略。

在级别306,可以执行流优化,所述流优化可以例如在确保性能水平的同时查看整个流。性能水平可以定义在应用性能数据库中,当识别流并在该应用性能数据库中查找该流时,应用性能数据库可以决定具体的服务级别(确保的带宽、延时、抖动、分组丢失等)。在该级别,分析可以包括查看流或微流中的所有分组的首部,以检测与策略或规则相匹配的条件。

在级别308,可以执行业务检查,所述业务检查可以例如查看一些分组的有效载荷。例如,分析可以包括查看流或微流中的随机分组的有效载荷,以及查找与特定类型业务相关联的攻击模式。

在级别310,可以执行连续分析,所述连续分析可以例如查看整个流或微流。例如,分析可以包括查看流或微流中的所有分组的首部和有效载荷,以及检测与特定类型业务相关联的攻击模式。

图4是示出根据示例实施例的基于策略来执行对微流逐渐应用网络资源的方法400的流程图。

在步骤402,网络从客户端接收关于其网络通信中的一个或多个的策略。基于参数(例如,源和目的地地址(如IP地址)、源和目的地端口(如TCP或UDP端口)、协议(如HTTP、RTP)、应用等),客户端可以指定用于其通信的全部或一部分的策略。在实施例中,网络客户端可以指定其通信的全部的一部分所需的性能和安全性。客户端可以提供对特定通信所需的性能或安全性的高级描述(例如,与ABC公司的通信的高安全性,与XYZ公司的通信的高吞吐量),或者可以提供特定低级策略细节(例如,用于特定IP地址和端口之间的通信的特定IDS服务)。

在步骤404,网络在策略数据库中存储与客户端通信相关联的策略。在实施例中,网络基于客户端提供的高级别输入来创建低级策略(如步骤402中所述)。

在步骤406,网络从流中收集数据采样用于分析。在实施例中,网络可以从新数据流中收集第一分组,并且可以确定该流是否满足策略数据库中建立的条件,如步骤408所示。例如,基于对分组的分析,网络可以确定该流具有与策略相匹配的源和目的地IP地址,所述策略指定流必须要经过入侵检测系统。

在步骤408,如果网络确定数据流满足策略条件,则网络根据策略来调节其用以转发该流或该流的微流的流路由,如步骤410所示。例如,网络可以调节路由器的路由表,将微流(例如分组的首部)路由经过入侵检测系统。

网络可以从流中连续地收集数据,以确定是否发生策略条件,如流程图中回到步骤406所示。

图5是示出根据示例实施例的用于增加对网络中的业务流的网络资源的分配的方法500的流程图。

在步骤502,网络可以将流的业务检查级别设置为初始级别。

在步骤504,网络可以基于针对流设置的检查级别来检查流的网络业务。对业务的检查可以包括例如发送流的一部分(例如微流)经过网络服务。发送可以包括使流的一部分(例如微流)重路由经过网络服务,或者并行地复制经过网络服务的分组。在实施例中,检查级别每高一级,就检查流的更多部分,并应用更多的网络资源来检查流。

在步骤506,网络可以检测流中的感兴趣的事件。例如,入侵检测系统可以检测流中与危及特定类型服务器的攻击模式相匹配的分组序列。当网络检测到感兴趣的事件时,网络可以提高流的业务检查级别,如步骤508所示。提高流的业务检查级别可以包括在图3示出的更高一级检查流的分组序列中的附加分组。然后,如504所示,在高检查级别,网络可以继续检查流,以进一步确定实际是否发生攻击并适当地处理它。

类似地,网络可以继续监视流以确定感兴趣的事件是否持续。在入侵检测系统的示例中,网络可以监视以确定流是否持续匹配与攻击模式相匹配的序列。在事件与数据流中的分组大小或分组数目或分组速率相关的示例中,网络可以持续监视以确定分组的大小、数目或速率是否在正常范围之外。当事件不再存在时,网络可以降低检查级别。通过降低检查级别,在如图3示出的较低级别流的分组序列中的附加分组,从而释放出网络资源以评估其他领域的潜在攻击。

结论

策略数据库144可以是任何存储类型的结构化存储器,包括永久性存储器。在示例中,数据库可以实现为关系数据库或文件系统。

可以用硬件、软件、固件或其任意组合来实现图1和图2中的框和模块的每一个。

可以在相同或不同计算设备上实现图1和图2中的框和模块的每一个。这种计算设备可以包括但不限于个人计算机、移动设备(例如移动电话)、工作站、嵌入式系统、游戏控制台、电视、机顶盒或任意其他计算设备。此外,计算设备可以包括但不限于,具有处理器和存储器的设备,包括用于执行和存储指令的非瞬时性存储器。存储器可以有形地体现数据和程序指令。软件可以包括一个或多个应用和操作系统。硬件可以包括但不限于处理器、存储器和图形用户界面显示器。计算设备还可以具有多个处理器和多个共享或分离的存储器组件。例如,计算设备可以是集群计算环境或服务器群的一部分或全部。

诸如“(a)”、“(b)”、“(i)”、“(ii)”等的标识符有时用于不同的要素或步骤。使用这些标识符是为了清楚而不必需指定要素或步骤的顺序。

以上已经在示出指定功能及其关系的实施方式的功能构建块的辅助下,描述了本发明。为便于描述,本文已经任意定义了这些功能构建块的边界。只要所指定的功能及其关系被适当地执行,就可以定义备选边界。

特定实施例的上述描述将完全揭示本发明的总体性质,其他人可以在不过度实验,不脱离本发明的总体构思的情况下,通过应用本领域技术知识来容易地修改和/或适配这种特定实施例的各种应用。因此,基于本文提出的教导和引导,这种适应和修改旨在所公开的实施例的等同物的含义和范围内。将理解的是本文的措辞和术语用于描述而非限制的目的,使得本领域技术人员鉴于教导和引导来解释本说明书的措辞或术语。

本实施例的宽度和范围不应受任意上述示例的限制,而是应仅根据所附权利要求及其等同物来限定。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1