用于使用sdn的云安全性的弹性实行层的制作方法
【专利摘要】基于分离式体系结构框架在云计算环境中部署一种用于实现安全性策略的有效弹性实行层(EEL)。分离式体系结构网络包括耦合到交换器的控制器。控制器接收源于源VM的分组时,它从收到的分组中提取识别在源VM上运行的应用的应用标识符。基于应用标识符,控制器确定中间盒类型的链。控制器还基于资源的当前可用性确定中间盒实例。控制器然后将规则的集合添加到交换器以促使交换器经中间盒实例向目的地VM转发分组。
【专利说明】用于使用SDN的云安全性的弹性实行层
【技术领域】
[0001]本发明的实施例涉及云计算领域,并且更具体地说,涉及在云计算环境中的安全性策略管理。
【背景技术】
[0002]云计算改变了人们使用计算机的方式。通常称为基础设施即服务(IaaS)模型的基本云服务模型允许云客户以“即付即用”方式动态增大和缩减其在云内部在如需要的许多机器上的使用。因此,客户能够通过在不同时间从云提供商租赁不同的资源量来动态预配资源以满足其当前需求。云提供商能够利用规模经济以更低成本提供按需资源。
[0003]为了利用经济益处,云提供商在其系统上支持多租户,其中,来自多个客户的虚拟机能够共享物理服务器的相同集和网络。给定大量的服务器和客户,基础设施的管理需要高度自动化以允许客户请求创建或删除虚拟机而无需人为干预。
[0004]尽管其有希望的潜能,云计算的广泛采用的主要负担是安全性,这是因为客户经常不愿将敏感数据和计算导出到云中。威胁不但由在云运营公司的隐私泄漏引起,而且也由于云的多租户性质原因。
[0005]为了在云环境中实行网络安全性,云提供商定义了用于其数据中心和网络的网络安全性策略和规则。策略和规则能够相当复杂。因此,在典型的云环境中,只能够通过网络接入控制管控的复杂通信模式到达云服务器,如遍历防火墙和入侵检测系统(IDS)。
[0006]云计算环境是动态的,这是因为许多新客户可在短时期内加入和离开云。应用行为的复杂性和太多的应用使得用手写下用于不同数据中心的不同网络安全性实行规则变得困难,成本高且易于出错。此外,云提供商经常不必为云基础设施的所有方面自动化和精心策划安全性。考虑到云的变化速度和规模,人为干预太慢且不现实。
[0007]如今在业界当前可用的云模型或基于网关的技术有时要求特定拓扑的云网络,这不能适应客户的变化需要。一些现有方法使用虚拟局域网(VLAN)来配置隔离的虚拟网络。不过,VLAN分段方法是静态的,并且未能提供充分的灵活性和自动化,特别是在租户的数量大(即,超过1000)时。一些基于流的分段方案提供业务隔离、可扩展性和自动化。不过,此方案未能保证在虚拟机(VM)迁移的情形中安全性策略的一致性。
【发明内容】
[0008]本发明的实施例提供用于实现基于分离式体系结构框架,在云计算环境中部署的安全性策略的有效弹性实行层(EEL)。分离式体系结构网络包括为在云计算环境中的网络安全性管理策略实行的控制器。分离式体系结构网络也包括耦合到控制器以提供网络连接性到云计算环境的交换器。源VM和目的地VM在云计算环境中执行应用并且经分离式体系结构网络交换数据。
[0009]在一个实施例中,由控制器执行的方法包括:接收源于源VM的分组;从收到的分组提取应用标识符,其中,应用标识符识别在源VM上运行的应用;基于应用标识符,确定中间盒类型的链;基于云计算环境中资源的当前可用性,将链中的中间盒类型的一个或更多个映射到对应的一个或更多个中间盒实例,其中,中间盒实例的一个或更多个在分组上执行网络安全性操作;以及将规则的集合添加到交换器以促使交换器经一个或更多个中间件实例向目的地VM转发分组,由此在云计算环境中实行网络安全性。
[0010]在一个实施例中,充当控制器的网络节点包括配置成接收源于源VM的分组的接收器电路和包括弹性实行层模块的处理器。弹性实行层模块配置成从收到的分组提取应用标识符,其中,应用标识符识别在源VM上运行的应用;基于应用标识符确定中间盒类型的链;以及基于云计算环境中资源的当前可用性,将链中的中间盒类型的一个或更多个映射到对应的一个或更多个中间盒实例。中间盒实例的一个或更多个在分组上执行网络安全性操作。网络节点还包括耦合到处理器的传送器电路,传送器电路配置成将规则的集合发送到交换器以促使交换器经一个或更多个中间盒实例向目的地VM转发分组,由此在云计算环境中实行网络安全性。
【专利附图】
【附图说明】
[0011]本发明通过示例方式而不是限制的方式在附图的图形中示出,图中相似的标号表示类似的元素。应注意,在此公开中对“一”或“一个”实施例的不同引用不一定是指相同的实施例,并且此类引用是指至少一个。此外,在结合实某个施例描述某个特定特征、结构或特性时,认为结合无论是否明确描述的其它实施例来实现此类特征、结构或特性是在本领域技术人员的认知之内。
[0012]图1根据本发明的一个实施例,示出分离式体系结构网络的示例。
[0013]图2根据本发明的一个实施例,示出源和目的地VM在相同区域中的用例的示例。
[0014]图3是根据本发明的一个实施例,示出用于图2的用例的方法的流程图。
[0015]图4根据本发明的一个实施例,示出流聚合的示例。
[0016]图5根据本发明的一个实施例,示出源和目的地VM在不同区域中的用例的示例。
[0017]图6是根据本发明的一个实施例,示出用于图5的用例的方法的流程图。
[0018]图7根据本发明的一个实施例,示出VM迁移的示例。
[0019]图8是根据本发明的一个实施例,示出用于云计算环境中网络安全性策略实行的方法的流程图。
[0020]图9根据本发明的一个实施例,示出在分离式体系结构网络中控制器和交换器的示例。
【具体实施方式】
[0021]在下面的说明中,陈述了许多特定细节。然而,要理解的是,可在没有这些特定细节的情况下实践本发明的实施例。在其它情况下,公知的电路、结构和技术未详细显示以免混淆对此描述的理解。然而,本领域的技术人员将领会到,可在没有此类特定细节的情况下实践本发明。通过包括的描述,本领域普通技术人员将能够在不进行不当实验的情况下实现适当的功能性。
[0022]本文中描述了一种用于实现基于分离式体系结构框架在云计算环境中部署的安全性策略的有效弹性实行层(EEL)。本发明的实施例适合用于云计算环境的动态性质,克服了由常规方法的静态部署造成的问题。
[0023]本发明的实施例基于应用标识符(AppID)确定特定分组流需要的安全性服务的类型,应用标识符是在VM上运行的应用的标识符。基于AppID,控制器能够确定分组流要遍历的中间盒类型。
[0024]在一个实施例中,云环境能够具有用于整个网络的几个控制器,一个特定控制器管理云的特定数据中心或区域。一个区域的控制器能够使用常规标记(gTag)来设置分组流要遍历的中间盒类型,并且然后将实际实例遍历委托到另一区域的控制器。因此,基于中间盒实例的可用性、位置、负载等,可在本地向该区域中的另一控制器做出有关实际实例的决定。
[0025]此外,与分组的EEL标记组合的AppID的使用允许流聚合。也就是说,多个流在遍历网络时能够共享相同的规则的集合。流聚合减少了需要向下压入到交换器的规则的数量,并且因此改进了网络的可扩展性。
[0026]术语“中间盒”在本文中指驻留在网络中机器(例如,服务器计算机)上并且在分组流上执行安全性操作以实行网络传输策略和安全性的物理或虚拟安全性设备。虚拟安全性设备能够在数据中心的不同节点上运行,执行相同的操作并且以与其对应物理安全性设备将表现的相同方式表现。中间盒的示例包括应用防火墙(AppFW)、深度分组检查(DPI)系统、网络地址转换器、入侵检测系统(IDS)、多媒体缓冲器管理等。在一些实施例中,中间盒能够是执行例如负载平衡的不同于安全性的操作的物理或虚拟网络实体。
[0027]在描述本发明的实施例的细节前,先解释分离式体系结构网络的结构。分离式体系结构网络具有包括少量控制器的控制平面和包括多个转发元件(即,交换器)的转发平面(也称为“数据平面”)。分离式体系结构网络是分布式系统,其中,控制平面与转发平面是分开的。交换器相互互连,并且与控制器互连。控制器指示交换器的转发行为。
[0028]分离式体系结构网络包含网络范围的控制平台,其在网络中一个或更多个服务器上运行、监视一组简单交换器。在分离式体系结构网络中,控制器和交换器使用协议来传递和交换信息。此类协议的示例是OpenFlow(在OpenFlow交换器规范版本1.1.0, 2000中描述),它提供开放的标准的方法以便交换机与控制器进行通信,并且它在学界和业界都引起了相当大的关注。
[0029]传统路由器体系结构采用集成设计,其中,控制平面和数据转发平面紧密地耦合在相同盒中,这通常导致过于复杂的控制平面和复杂的网络管理。由于复杂性高的原因,设备卖主和网络运营商不愿采用变化,并且网络本身是脆弱的且难以管理。众所周知的是,这对新协议和技术发展造成大的负担和高承载。
[0030]交换器的主要任务是根据在由控制器编程的流表中的规则,将分组从入口端口转发到出口端口。每个流条目包含一组动作,如将分组转发到给定端口,修改分组报头中的某些比特,或者将分组封装到控制器或者简单地丢弃分组。交换器能够将流中的第一分组转发到控制器以触发对新的流条目进行编程。交换器也能够将所有慢路径分组转发到控制器以便进行处理,如因特网控制消息协议(ICMP)分组。能够在广义上定义流的概念,例如,传送控制协议(TCP)连接,或来自特定媒体接入控制(MAC)地址或因特网协议(IP)地址的所有业务。
[0031]控制器添加流条目到交换器中的流表以及从中删除流条目。控制器定义在该组数据平面交换器之间的互连和路由选择。它也处理网络状态分布,如收集来自交换器的信息和将路由选择指令分布到它们。它也能够编程成支持任何新的寻址、路由选择和复杂的分组处理应用。控制器是网络的“大脑”。交换器需要连接到至少一个控制器以便正确运转。交换器接收新流而不知道要将分组发送到何处时,交换器将流的第一分组转发到控制器。在接收分组时,控制器在交换器上对新的路由选择条目进行编程以便交换器用于转发流中的其它分组。
[0032]图1根据一个实施例示出包括耦合到一组交换器120A-F的控制器110的分离式体系结构100的示例。一些交换器(例如,120C、120D和120E)连接到中间盒130 (例如,Ml、M2和M3)。一个或更多个中间盒130在它们接收的分组上执行安全性操作。每个中间盒130连接到中间盒130从其处接收分组的入口交换器和中间盒将处理过的分组发送到的出口交换器。中间盒的入口交换器是在从源到中间盒的路径上到中间盒的前一跳交换器。中间盒的出口交换器是在从中间盒到目的地的路径上到中间盒的下一跳交换器。入口交换器和出口交换器各自被称为边缘交换器。在此示例中,每个中间盒130使用相同交换器作为其入口交换器和出口交换器;例如,交换器120C是用于Ml的入口交换器和出口交换器。在备选实施例中,入口交换器和出口交换器能够是不同交换器。
[0033]本发明的实施例通过利用具有分离式体系结构的软件定义的连网(SDN)、构建作为Openflow控制器的应用的策略控制,为网络安全性提供有效的策略实行。认识到商用交换器具有有限的存储器和表条目。因此,如果每个交换器需要为每个应用和为每个租户安装一个规则,则可扩展性是问题。本发明的实施例提议分层解决方案,其关键构想是预创建与租户和应用无关的用于实行规则的模板。云租户(或租户用户或管理员)能够独立于网络结构使用这些模板来定义其安全性体系结构。因此,取决于在不同VM之间发生的通信的类型,租户能够定义要遍历的中间盒类型的序列。例如,租户可能想部署包括Web服务器、商业逻辑和数据库的3层服务。租户能够使用模板来描述防火墙中间盒是在Web服务器的前面,IDS中间盒在Web服务器与商业逻辑之间,以及AppScan中间盒在数据库的前面。
[0034]本文中所述用于云网络安全性的弹性实行层具有以下特点:
?业务遍历租户要求的序列中的中间盒。
[0035].响应于动态需求和VM迁移,容易地重新配置策略。
[0036].业务不遍历不必要的中间盒。
[0037].有关要使用哪个中间盒实例的决定是基于云基础设施中资源的可用性。
[0038].在流的第一分组从源向目的地前进时,能够推迟有关要使用哪个中间盒实例的决定。在应对大型云基础设施(即,超过一万个刀片(blade),部署通过几个数据中心)时,其中有关中间盒的可用性的信息对于能够为从源到目的地的整个路径做出有关所有中间盒实例的决定的一个逻辑元件不可用,在SDN中推迟中间盒实例的选择能够是有益的。
[0039]下面描述弹性实行层的基本概念和构建块。在一个实施例中,租户通过指定AppID表示VM (或VM群组)发射的分组要遍历的中间盒链,定义他们要应用到VM (或VM群组)的安全性设计。每个AppID识别使用中间盒的相同链的应用或应用群组。VM群组能够运行相同应用,并且使用相同AppID ;例如,运行Web服务器的VM。
[0040]在一个实施例中,中间盒的链例如能够是IDS,之后是AppFW和DPI。控制器能够通过不同中间盒实行流的操纵。
[0041]托管VM的每个物理服务器具有管理VM的运行管理程序(hypervisor)。管理程序能够将此AppID插入VM发射的分组中。流的第一分组到达交换器时,它们被转发到控制器,控制器又从分组中检索AppID。基于AppID,控制器确定要遍历的中间盒的链。
[0042]本发明的实施例利用分组报头中的EEL标记来设置流的路径。这些标记能够在以太网层添加。在一个实施例中,OpenFlow中的MPLS标签实现能够用于EEL标记。由于OpenFlow 1.1支持MPLS标签压入、弹出和设置,因此,在将MPLS标签替换为EEL标记时,无需对交换器进行修改。MPLS标签值为20比特长,并且能够具有多达100万个不同值。通常,此20比特长字段足够大,即使对于极大型云基础设施,也足以包括所有中间盒实例。在备选实施例中,与MPLS不同的机制和技术也能够用于实现EEL标记。
[0043]在一个实施例中,控制器基于云基础设施中资源的当前可用性、VM生命周期或优化云资源的使用的任何其它成本函数,在VM之间通信时动态选择该组中间盒实例。分组中的EEL标记用于定义交换器要将分组发送到的下一交换器。为了相应地沿交换器路由分组,控制器具有在所有中间盒实例与EEL标记之间的映射表。
[0044]在控制器选择该组中间盒实例后,控制器在发射VM的边缘路由器插入规则以便将EEL标记压入到分组,并且将分组转发到下一跳。此EEL标记指示哪个中间盒是分组要遍历的下一中间盒。控制器也添加规则到中间盒的入口交换器,其中,规则包括弹出EEL标记和将分组转发到中间盒。在中间盒的出口交换器,控制器添加包括将对应于下一中间盒的实例的标记压入到分组上的规则。沿到下一中间盒的路径,控制器将规则添加到路径上的交换器,规则包括根据分组的EEL标记将分组向下一中间盒转发到下一跳。在不要遍历其它中间盒的情况下,控制器将规则添加到路径上的最后交换器,其中,规则包括从分组弹出标记以及将分组路由到目的地VM。
[0045]在一个实施例中,EEL标记被细分成两种标记:各自对应于中间盒类型的常规标记(gTag)和各自对应于中间盒实例的实例标记(iTag)。在一个实施例中,能够划分EEE标记值的范围,使得gTag是在[0,1023]范围中的整数,并且iTag是在[1024,22°]范围中的整数。要注意的是,gTag和iTag范围是可配置的。
[0046]gTag也称为通配符或通配符标记。gTag是特殊标记,表现在它只定义下一中间盒类型,而不是定义中间盒实例。当源和目的地VM在由不同控制器管理的不同数据中心或不同区域(也称为区或地带)中时,这是有用的。另外,在源与目的地之间的路径中的控制器不能做出要使用哪些实列的决定时(由于缺乏有关中间盒实例可用性、安全性约束等的信息),gTag也是有用的。当交换器接收此类有标记的分组时,它将分组发送到其控制器,控制器决定将它替换为中间盒的实例标记,或者向其目的地将分组转发到下一交换器。为避免通配符的模糊解析,特定中间盒类型只在中间盒的链中出现一次。也就是说,V (gTagi,gTagj)在中间盒的相同链中,gTagi幸gTagJt)
[0047]在一个实施例中,iTag被细分到各自对应于特定类型的中间盒的范围中。例如,iTag (1024-2047)对应于AppFW实例,iTag (2048-3072)对应于ID实例,并以此类推。iTag的细分能够降低在控制器上的负载,并且因此改进可扩展性,这是因为控制器无需保持将中间盒实例映射到中间盒类型的表。
[0048]图2根据本发明的一个实施例,示出简单用例的示例。此用例示出如何为特定流设置中间盒的简单链。此用例也示出如何在位于由相同控制器的相同区域内的一对VM之间实行中间盒的链的遍历。
[0049]图2的示例根据一个实施例示出由控制器110保持或可由其接入的数据结构。第一表是策略表261,该表匹配给定AppID与gTag的链。第二表是gTag表262,该表匹配给定gTag与iTage的范围。第三表是iTag表263,该表匹配给定iTag与对应于给定iTag的中间盒实例的IP地址。
[0050]在此示例中,假设租户定义VMl发射的业务对应于AppID-9,这意味着来自VMl的业务将通过IDS、AppFW和DPI。也假设VMl (位于物理服务器PSl上)正在尝试与VM2 (位于物理服务器PS2上)进行通信。PSl和PS2均在由相同控制器控制的相同数据中心或相同区域(也称为“区”或“地带”)。PSl和PS2各自运行管理程序以管理其VM。为了简化图示,在此示例和后面的示例中,图中的中间盒的入口交换器和出口交换器示为相同交换器。要理解的是,入口交换器和出口交换器能够是不同交换器。
[0051]还参照图3,图3的流程图示出用于区域内策略实行的方法300,其中,源VM (VMl)和目的地VM (VM2)位于相同区域中并且由相同控制器控制。由于图2的操作对应于图3的操作,因此,下面的操作将参照图2和图3。
[0052]VMl开始发射分组的流时,PSl上的管理程序截取这些分组,并且将AppID插入每个分组的报头(例如,IP选项字段)(201,301)。位于VMl的边缘的交换器将第一分组转发到控制器110 (202,302)。控制器110从分组提取AppID,并且通过查询策略表261来确定要遍历的gTag的链(203, 303)。控制器110然后通过查找gTag表262来匹配每个gTag与iTag范围(204,304)。从iTag范围中,控制器110基于云资源可用性,选择要将分组发送到的中间盒实例(205,305)。控制器110选择用于链中每个gTag的中间盒实例。假设IDS、AppFW和DPI的所选实例分别对应于iTag 2070、1045和3093。控制器110然后使用iTag表263来识别所选中间盒实例的IP地址。
[0053]在选择中间盒实例后,控制器110设置用于交换器的规则的集合,并且将规则发送到交换器。这些规则被添加到交换器的流表,交换器相应地路由分组的流。在此示例中,控制器将两个新流条目添加到VMl的边缘交换器(206,306):
?从VMl到VM2的分组标记有EEL标记2070。
[0054].向IDS 2070实例将具有EEL标记2070的分组路由到下一交换器。
[0055]要注意的是,交换器能够通过查看分组携带的源和目的地IP地址、源和目的地端口号和协议类型(即,5元组)或其它标识符,确定流是否从VMl到VM2。控制器也将三个新流条目添加到IDS的入口和出口交换器(207,307):
?标记有EEL标记2070的分组必须使其标记弹出并且转发到IDS (入口)。
[0056].从VMl到VM2,离开IDS的分组必须使EEL标记1045被压入(出口)。
[0057].向AppFW 1045实例将具有EEL标记1045的分组路由到下一交换器(出口)。
[0058]与前面的规则类似的规则(206,306,207和307)被添加到所有中间盒边缘的交换器(208,308)。用于链中最后中间盒的出口交换器的规则指定分组的流要向目的地VM路由到的下一交换器。
[0059]沿着从VMl到VM2的路径,控制器将规则添加到在路径上但不是中间盒的入口交换器也不是其出口交换器的每个交换器。规则基于分组的EEL标记,指定交换器要向中间盒实例转发分组的流(209,309)。在规则设置后,交换器能够根据规则开始路由分组,修改分组的EEL标记(310)。交换器的路由选择操作继续,直至分组到达其目的地VM (311)。
[0060]图3也示出源VM (VMl)从一个物理服务器迁移到另一物理服务器的情形(312)。在此情形中,为迁移后VMl发射的分组的流重复块301-311的操作。此流的AppID与迁移前相同。因此,控制器110能够将此AppID映射到gTag的相同链,并且能够基于在迁移时或迁移后的资源可用性,确定对应中间盒实例。下面将参照图7描述有关VM迁移的其它细节。
[0061]图4根据本发明的一个实施例,示出用于流聚合的可扩展设计的示例。现有解决方案的一个主要缺陷是它们要求每VM至少生个规则,这是因为其规则匹配目的地和源MAC地址和端口。如在此示例中所示,EEL标记的使用允许流的聚合,并且由此减少了向下压入到交换器的规则的数量。流聚合和交换器内规则的减少改进了网络的可扩展性。
[0062]图4的示例是图2的示例的变化。在此示例中,存在与相同目的地VM (VM4)进行通信的三个VM(VM1、VM2和VM3)。假设租户已定义由VMl和VM2发射的业务对应于AppID_9,这意味着来自这两个VM的业务要通过IDS、AppFW和DPI。VM3发射的业务对应于AppID-10,这意味着来自VM3的业务将只通过AppFW和DPI。假设VMl、VM2和VM3在尝试与VM4进行通信,VM4与VM1、VM2和VM3在相同区域中并且受相同控制器控制。
[0063]VMU VM2和VM3开始发射分组时,这些分组由在PSl上的管理程序截取,管理程序将相应AppID插入其报头中(401)。步骤402、403、404和405在步骤401之后,并且它们分别与步骤202、203、204和205相同。在选择中间盒实例后,控制器110将下一新流条目添加到PSl的边缘交换器(406):
?从VMl到VM4的分组标记有EEL标记2070。
[0064].从VM2到VM4的分组标记有EEL标记2070。
[0065].从VM3到VM4的分组标记有EEL标记1045。
[0066].向IDS 2070实例将具有EEL标记2070的分组路由到下一交换器。
[0067]控制器110然后将新流条目添加到IDS的入口和出口交换器(407):
?标记有EEL标记2070的分组必须使其标记弹出并且转发到IDS (入口)。
[0068].从VMl到VM4,离开IDS的分组必须使EEL标记1045被压入(出口)。
[0069].从VM2到VM4,离开IDS的分组必须使EEL标记1045被压入(出口)。
[0070].向AppFW 1045实例将具有EEL标记1045的分组路由到下一交换器(出口)。
[0071]与前面的规则类似的规则(407)被添加到所有中间盒边缘的交换器(408)。用于链中最后中间盒的出口交换器的规则指定分组的流要向目的地VM路由到下一交换器。
[0072]沿着从源到目的地的路径,控制器110将规则添加到在路径上但不是中间盒的入口交换器也不是其出口交换器的每个交换器。基于分组的EEL标记,规则指定交换器要将分组的流向中间盒实例转发到下一交换器(409)。
[0073]图4的示例示出能够如何聚合用于多个流的规则。具体而言,在中间盒的入口交换器的规则能够设置成允许交换器以简单的方式匹配指向此特定中间盒的所有进入流。能够设置单个规则,使得朝向相同中间盒前进的分组能够被赋予相同EEL标记,并且以相同方式路由,即使这些分组可属于不同流,具有不同AppID,源于不同VM和/或去往不同VM。在三个不同流的此示例中,只将两个规则压入到交换器0FS-1 (向IDS或APPFW路由分组),并且只将一个规则压入到交换器0FS-2 (向DPI路由分组)。
[0074]图5示出用于规则匹配的通配符设计的示例。通配符是gTag,它只描述中间盒的类型而不描述中间盒的特定实例。gTag的使用改进了云网络的可扩展性,这是因为它允许几个控制器的组合使用和云资源的改进利用。在图5的示例中,源和目的地VM在由不同控制器管理的区域或区中。在一个区域中的控制器能够将应用安全性措施的责任委托到另一区域中的控制器。
[0075]在云环境中,可以存在用于整个网络的多个控制器(例如,控制器110和510),云的每个数据中心或区域一个控制器。第一区域的控制器110能够设置流要遍历的中间盒类型的链,并且然后将实际实例遍历委托到第二区域的控制器510。此决定能够基于中间盒实例的可用性或位置做出。
[0076]在流的第一分组到达第二区域时,分组被转发到控制器510,控制器510基于收到分组的AppID和EEL标记,确定链中的哪些中间盒尚未被遍历。控制器510能够将分组转发到另一区域,或者将EEL标记(它是gTag)映射到iTag中。如果iTag能够被确定,则控制器510然后继续进行与上面在图2和图3的简单用例中描述的过程类似的过程。
[0077]在图5的示例中,假设中间盒的链保持IDS、AppFW和DPI,并且对应于AppFW的gTag 是 18。
[0078]还参照图6,图6的流程图示出用于区域间策略实行的方法600,其中,源VM (VMl)和目的地VM (VM2)位于不同区域中并且由两个不同控制器控制。由于图5的操作对应于图6的操作,因此,下面的操作将参照图5和图6。
[0079]VMl开始发射分组的流时,PSl上的管理程序截取这些分组,并且将AppID插入每个分组的报头(例如,IP选项字段)(501,601)。位于VMl的边缘的交换器将第一分组转发到控制器110(502,602)。控制器110提取AppID,并且通过查询策略表261,确定要遍历的gTag的链(503,603)。控制器110然后通过查找gTag表262,匹配每个gTag与iTag范围(504,604)。从iTag范围中,控制器110选择IDS实例2070。由于源VM (VMl)和目的地VM (VM2)在不同数据中心中(650),因此,能够从任一数据中心选择AppFW。基于AppFW-1的可用性(或不可用性),控制器110决定推迟到另一控制器的AppFW实例的选择并且将通配符用于 AppFW (505,605)。
[0080]在选择IDS实例后,控制器110设置用于交换器的规则。这些规则被添加到交换器的流表,交换器相应地路由分组的流。在此示例中,控制器I1将两个新流条目添加到VMl的边缘交换器(506,606):
?从VMl到VM2的分组标记有EEL标记2070。
[0081].向IDS 2070实例将具有EEL标记2070的分组路由到下一交换器。
[0082]控制器110也将三个新流条目添加到IDS的入口和出口交换器(507,607):
?标记有EEL标记2070的分组必须使其标记弹出并且转发到IDS (入口)。
[0083].从VMl到VM2,离开IDS的分组必须使EEL标记18被压入(出口)。
[0084].向VM2将具有EEL标记18的分组路由到下一交换器(出口)。
[0085]沿着从源到目的地的路径,控制器110基于分组的EEL标记,将规则添加到路径上的每个交换器以向下一中间盒实例转发每个分组(508,608)。在规则设置后,交换器能够根据规则开始路由分组,修改分组的EEL标记(651)。651的路由选择操作继续,直至分组到达第二区域的第一交换器¢52),其中,流的第一分组被发送到第二控制器510 (509,609)。控制器510解析AppID以便知道要遍历什么类型的中间盒(510,610)。控制器510然后解析gTag以便知道尚未遍历什么类型的中间盒(511,611)。由于VM2与控制器510在相同区域中,因此,控制器510能够选择要遍历的中间盒实例(例如,AppFW-2)(512,612)。在选择中间盒实例后,控制器510将规则添加到其交换器,其中,规则与上面结合控制器110所述的规则类似(513,613)。交换器的路由选择操作继续,直至分组到达其目的地VM (653)。
[0086]图6也示出源VM (VMl)从一个物理服务器迁移到另一物理服务器的情形(654)。在此情形中,为迁移后VMl发射的分组的流重复上面在此示例中描述的操作。此分组的流的AppID与VMl迁移前相同。因此,控制器110和510能够将此AppID映射到gTag的相同链,并且能够基于在迁移时或迁移后的资源可用性,确定对应中间盒实例。下面将参照图7描述有关VM迁移的其它细节。
[0087]图7是根据本发明的一个实施例,示出在VM迁移时安全性措施的弹性的示例。在VM迁移并且再次开始发射分组后,除了分组遍历的中间盒实例在迁移之前和之后可以不同夕卜,过程与如图2-6所示上面提及的相同。因为分组的AppID在迁移之前和之后保持相同,中间盒的链也保持相同。因此,应用到流的安全性措施通过迁移粘到流。
[0088]在图7的示例中,中间盒的示例是IDS和AppFW。假设对应于IDS-1的iTag是2070,对应于AppFW的iTag是1045,以及对应于IDS-2的iTag是2080。
[0089]VMl开始发射分组的流时,PSl上的管理程序截取这些分组,并且将AppID插入每个分组的报头(例如IP选项字段)(701)。交换器将流的第一分组转发到控制器110 (702)。控制器110将两个新流条目添加到VMl的边缘交换器(703):
?从VMl到VM2的分组标记有EEL标记2070。
[0090].向IDS 2070实例将具有EEL标记2070的分组路由到下一交换器。
[0091]控制器也将三个新流条目添加到IDS-1的入口和出口交换器(704):在AppFW的入口和出口交换器上设置了类似的规则。
[0092].标记有EEL标记2070的分组必须使其标记弹出并且转发到IDS (入口)。
[0093].从VMl到VM2,离开IDS的分组必须使EEL标记1045被压入(出口)。
[0094].向AppFW 1045实例将具有EEL标记1045的分组路由到下一交换器(出口)。
[0095]沿着从源到目的地的路径,控制器110基于分组的EEL标记,将规则添加到路径上的每个交换器以向下一中间盒实例转发每个分组(705)。
[0096]之后,VMl从PSl迁移到PS2,并且变成VM1’(706)。VM1’开始发射分组的流时,PS3上的管理程序截取这些分组,并且将AppID插入每个分组的报头(例如,IP选项字段)(707)。控制器110然后以与迁移前相同的方式将流条目添加到VM1’的边缘交换器、IDS和AppFW的入口和出口交换器(708,709)。然而,在迁移后,IDS iTag能够变成例如对应于IDS-2的2080。可修改在AppFW出口交换器的规则以便与新的源信息一致(例如,如果VMl和VM1’没有相同MAC地址)。
[0097]沿着从源到目的地的路径,控制器110基于分组的EEL标记,将规则添加到路径上的每个交换器以向下一中间盒实例转发每个分组(710)。在规则设置后,交换器能够以VMl迁移前相同的方式根据规则开始路由分组,修改分组的EEL标记。
[0098]图7的示例示出安全性措施如何通过迁移持续。VM1’开始发射分组时新规则以与迁移前相同的方式实行。对应于迁移前VMl的旧布置的规则将超时(例如,被丢弃)以便降低在交换器上的负载。即使遍历的安全性设备(即,中间盒实例)与它们在迁移前不相同,安全性链在中间盒类型方面也不会受损害。
[0099]图8示出用于弹性实行层在云计算环境中实行安全性策略的方法800的一个实施例。在一个实施例中,方法800可由诸如图1的控制器110的分离式体系结构网络的控制器执行。
[0100]在一个实施例中,控制器接收源于源VM的分组(框810)。控制器从分组提取AppID(820),其中,AppID识别在源VM上运行的应用。基于AppID,控制器确定中间盒类型的链(830)。基于云计算环境中资源的当前可用性,控制器将链中的中间盒类型的一个或更多个映射到对应的一个或更多个中间盒实例(840),其中,中间盒实例的一个或更多个在分组上执行网络安全性操作。控制器然后将规则的集合添加到交换器以促使交换器经一个或更多个中间盒实例向目的地VM转发分组(850),由此在云计算环境中实行网络安全性。在一个实施例中,规则指定交换器要如何处理(例如,压入或弹出)分组携带的EEL标记,并且根据EEL标记路由分组。
[0101]图9示出在图1的分离式体系结构网络100中控制器110和交换器120(例如,交换器120A-F)的实施例。要理解的是,上述分离式体系结构网络中的其它控制器(例如,图5的控制器510)和交换器能够分别包括与控制器110和交换器120相同的组件。
[0102]在一个实施例中,交换器120根据在存储器950中一个或更多个流表952,充当将分组从入口端口转发到出口端口的转发元件。在一个实施例中,交换器120包括经总线945或另一形式的互连耦合到存储器950、接收器电路960和传送器电路962的处理器940。流表952包含一组流条目,这些流条目能够由控制器110设置以记录用于转发分组和用于处理分组的EEL标记的规则。对于新流中的第一分组,交换器120能够将分组转发到控制器110以触发一个或更多个新流条目到其流表952中的插入。
[0103]在一个实施例中,控制器110包括经总线915或另一形式的互连耦合到存储器920、接收器电路930和传送器电路932的处理器910。接收器电路930和传送器电路932提供到云网络中其它控制器、交换器和物理服务器的接口。除其它信息外,存储器920存储交换器信息924和路由选择信息925。交换器信息224存储由控制器110管理的每个交换器的存储器、带宽和位置信息。路由选择信息225存储控制器管理的交换器之间的路径信肩、O
[0104]在一个实施例中,控制器110也包括EEL模块913以执行从转发自其交换器的分组提取AppID,确定中间盒类型、中间盒实例和中间盒实例的IP地址,以及将规则添加到交换器的操作。在一个实施例中,EEL模块913对图2的策略表261、gTag表262和iTage表263具有接入权。这些表可存储在控制器110可接入的存储器920或其它数据存储装置中。
[0105]图2-8的操作已参照图9的示范实施例描述。然而,应理解的是,图2-8的操作能根据参照图9讨论的实施例外的本发明的实施例执行,并且参照图9讨论的实施例能执行与参照图4-6讨论的那些操作不同的操作。虽然图2-8示出本发明的某些实施例执行的操作的特定顺序,但应理解的是,此类顺序是示范性的(例如,备选实施例可以用不同的顺序执行操作,组合某些操作,重叠某些操作等)。
[0106]本发明的不同实施例可使用软件、固件和/或硬件的不同组合实现。因此,图中所示技术能够使用一个或更多个电子装置(例如,终端站、网络元件)上存储和执行的代码和/或数据来实现。此类电子装置使用计算机可读媒体存储和传送(在内部和/或通过网络与其它电子装置)代码和数据,计算机可读媒体例如非暂时性有形计算机可读媒体(例如,计算机可读存储媒体,如磁盘、光盘、只读存储器、闪存存储器装置)和暂时性计算机可读传送媒体(例如,电、光、声或其它形式的传播信号-如载波、红外信号)。另外,此类电子装置一般情况下包括耦合到诸如一个或更多个非暂时性机器可读媒体(以存储代码和/或数据)、用户输入/输出装置(例如,键盘、触摸屏和/或显示器)和网络连接(以使用传播信号传送代码和/或数据)的一个或更多个其它组件的一组一个或更多个处理器。处理器的集合与其它组件的耦合一般情况下是通过一个或更多个总线和桥接器(也称为总线控制器)。因此,给定电子装置的非暂时性计算机可读媒体一般情况下存储指令以便在该电子装置的一个或更多个处理器上执行。本发明的实施例的一个或更多个部分可使用软件、固件和/或硬件的不同组合来实现。
[0107]在本文中使用时,网络节点(例如,路由器、交换器、桥接器、控制器)是一件连网设备(包括硬件和软件),其在通信上与网络上的其它设备(例如,其它网络节点、计算机终端站)互连。一些网络节点是“多服务网络节点”,其为多个连网功能(例如,路由选择、桥接、交换、第2层聚合、会话边界控制、服务质量和/或订户管理)提供支持和/或为多个应用服务(例如,数据、话音和视频)提供支持。订户终端站(例如,服务器、工作站、膝上型计算机、上网本、掌上型计算机、移动电话、智能电话、多媒体电话、因特网协议话音(VOIP)电话、用户设备、终端、便携式媒体播放器、GPS单元、游戏系统、机顶盒(STB))访问通过因特网提供的内容/服务和/或覆盖在因特网上(例如,隧穿)的虚拟专用网(VPN)上提供的内容/服务。内容和/或服务一般由属于参与对等服务的服务或内容提供商或终端站的一个或更多个终端站(例如,服务器终端站)提供,并且可例如包括公共网页(例如,免费内容、店面、搜索服务)、私人网页(例如,提供电子邮件服务的用户名/密码访问网页)和/或VPN上的企业网络等。一般情况下,订户终端站耦合(例如,通过耦合到接入网络(以有线或无线方式)的客户驻地设备)到边缘网络节点,所述边缘网络节点耦合(例如通过一个或更多个核心网络节点)到其它边缘网络节点,所述其它边缘网络节点耦合到其它终端站(例如,服务器终端站)。
[0108]虽然本发明已根据几个实施例描述,但本领域的技术人员将认识到本发明不限于所述实施例,通过在随附权利要求的精神和范围内的修改和变化,能够实践本发明。描述因此要视为是说明性的而不是限制性的。
【权利要求】
1.一种在分离式体系结构网络中由控制器执行以控制云计算环境的网络连接性的方法,所述分离式体系结构网络包括耦合到所述控制器的多个交换器,其中所述控制器为多个虚拟机(VM)的网络安全性管理策略实行,所述多个VM包括在所述云计算环境中执行应用并且经所述分离式体系结构网络交换数据的源VM和目的地W,所述方法包括以下步骤: -由所述控制器接收源于所述源VM的分组; -由所述控制器从所述接收的分组中提取应用标识符,所述应用标识符识别在所述源VM上运行的应用; -由所述控制器基于所述应用标识符确定中间盒类型的链; -由所述控制器基于所述云计算环境中资源的当前可用性,将所述链中所述中间盒类型的一个或更多个映射到对应的一个或更多个中间盒实例,其中所述中间盒实例的一个或更多个在所述分组上执行网络安全性操作;以及 -由所述控制器将规则的集合添加到所述交换器以促使所述交换器经所述一个或更多个中间盒实例向所述目的地VM转发所述分组,由此在所述云计算环境中实行网络安全性。
2.如权利要求1所述的方法,其中所述源VM和所述目的地VM均由所述控制器控制,所述确定的步骤还包括以下步骤: -将中间盒类型的所述链映射到中间盒实例的链;以及 -将规则的所述集合添加到所述交换器以促使所述交换器经中间盒实例的所述链将所述分组转发到所述目的地VM。
3.如权利要求1所述的方法,其中所述源VM在所述控制器控制的第一区域中,并且所述目的地VM在第二控制器控制的第二区域中,所述映射的步骤还包括以下步骤: -由所述控制器将中间盒类型的所述链中的中间盒类型的子集映射到中间盒实例的子集;以及 -将中间盒类型的所述链中剩余中间盒类型的映射推迟到所述第二控制器。
4.如权利要求1所述的方法,其中所述添加的步骤还包括将单个规则添加到所述交换器中给定的一个交换器以促使所述给定交换器根据所述单个规则向相同中间盒实例路由分组的步骤,其中所述分组具有源于不同VM或去往不同VM的不同应用标识符。
5.如权利要求1所述的方法,还包括以下步骤: -接收源于已从第一物理服务器迁移到第二物理服务器的所述源VM的第二分组; -从所述第二分组提取应用标识符,所述应用标识符与所述源VM迁移前相同;以及 -将所述应用标识符映射到与所述源VM的所述迁移前中间盒类型的相同链。
6.如权利要求5所述的方法,其中在所述源VM的所述迁移之前和之后,相同中间盒类型映射到不同中间盒实例。
7.如权利要求1所述的方法,其中在所述源VM迁移到不同物理服务器后,所述源VM发射的分组携带的所述应用标识符保持相同。
8.如权利要求1所述的方法,其中所述规则之一指定所述中间盒实例的一个给定中间盒实例的入口交换器要弹出由所述分组携带的标记,所述标记具有指向所述给定中间盒实例的值。
9.如权利要求1所述的方法,其中所述规则之一指定所述中间盒实例的一个给定中间盒实例的出口交换器要压入由所述分组携带的标记,所述标记具有指向下一中间盒实例的值,所述出口交换器要向所述下一中间盒实例发送所述分组。
10.如权利要求1所述的方法,还包括以下步骤: -将所述链中的中间盒类型映射到中间盒实例的集合; -从所述集合中选择中间盒实例;以及 -识别选择的所述中间盒实例的因特网协议(IP)地址。
11.一种在分离式体系结构网络中充当控制器以控制云计算环境的网络连接性的网络节点,所述分离式体系结构网络包括耦合到所述控制器的多个交换器,其中所述控制器为多个虚拟机(VM)的网络安全性管理策略实行,所述多个VM包括在所述云计算环境中执行应用并且经所述分离式体系结构网络交换数据的源VM和目的地W,所述控制器包括: -接收器电路,配置成接收源于所述源VM的分组;以及 -耦合到所述接收器电路和所述存储器的处理器,所述处理器还包括弹性实行模块,所述弹性实行模块配置成 从所述接收的分组中提取应用标识符,所述应用标识符识别在所述源VM上运行的应用; 基于所述应用标识符确定中间盒类型的链;以及 基于所述云计算环境中资源的当前可用性,将所述链中所述中间盒类型的一个或更多个映射到对应的一个或更多个中间盒实例,其中所述中间盒实例的一个或更多个在所述分组上执行网络安全性操作;以及 -耦合到所述处理器的传送器电路,所述传送器电路配置成将规则的集合发送到所述交换器以促使所述交换器经所述一个或更多个中间盒实例向所述目的地VM转发所述分组,由此在所述云计算环境中实行网络安全性。
12.如权利要求11所述的网络节点,其中所述源VM和所述目的地VM均由所述控制器控制,以及其中所述控制器还配置成将中间盒类型的所述链映射到中间盒实例的链,以及将规则的所述集合添加到所述交换器以促使所述交换器经中间盒实例的所述链将所述分组转发到所述目的地VM。
13.如权利要求11的所述的网络节点,其中所述源VM在所述控制器控制的第一区域中,并且所述目的地VM在第二控制器控制的第二区域中,以及其中所述控制器还配置成将中间盒类型的所述链中的中间盒类型的子集映射到中间盒实例的子集,以及将中间盒类型的所述链中剩余中间盒类型的映射推迟到所述第二控制器。
14.如权利要求11所述的网络节点,其中所述控制器还配置成将单个规则添加到所述交换器中的一个给定交换器以促使所述给定交换器根据所述单个规则向相同中间盒实例路由分组,其中所述分组具有源于不同VM或去往不同VM的不同应用标识符。
15.如权利要求11所述的网络节点,其中所述控制器还配置成接收源于已从第一物理服务器迁移到第二物理服务器的所述源VM的第二分组,从所述第二分组提取所述应用标识符,所述应用标识符与所述源VM迁移前相同,以及将所述应用标识符映射到与所述源VM的所述迁移前中间盒类型的相同链。
16.如权利要求14所述的网络节点,其中在所述源VM的所述迁移之前和之后,相同中间盒类型映射到不同中间盒实例。
17.如权利要求11所述的网络节点,其中在所述源VM迁移到不同物理服务器后,所述源VM发射的分组携带的所述应用标识符保持相同。
18.如权利要求11所述的网络节点,其中所述规则之一指定所述中间盒实例的一个给定中间盒实例的入口交换器要弹出由所述分组携带的标记,所述标记具有指向所述给定中间盒实例的值。
19.如权利要求11所述的网络节点,其中所述规则之一指定所述中间盒实例的一个给定中间盒实例的出口交换器要压入由所述分组携带的标记,所述标记具有指向下一中间盒实例的值,所述出口交换器要向所述下一中间盒实例发送所述分组。
20.如权利要求11所述的网络节点,其中所述控制器还配置成将所述链中的中间盒类型映射到中间盒实例的集合,从所述集合中选择中间盒实例,以及识别选择的所述中间盒实例的因特网协议(IP)地址。
【文档编号】G06F21/53GK104350467SQ201380030790
【公开日】2015年2月11日 申请日期:2013年6月11日 优先权日:2012年6月12日
【发明者】T.库雷瓦尔, M.普尔詹迪, 张颖 申请人:瑞典爱立信有限公司