无状态集群边缘上的有状态服务制造技术

技术编号:16049068 阅读:34 留言:0更新日期:2017-08-20 08:48
为了使得能够在边缘处动态缩放网络服务,提供了使得能够添加新节点或去除现有节点,同时保持通过有状态服务的流的紧密度的新颖系统和方法。该方法提供了可以动态调整大小以操纵和处理利用有状态网络服务的网络流量的网络节点集群。流经边缘的现有流量在集群成员资格更改期间和之后继续工作。集群中的所有节点都以活动‑活动模式操作,即,它们正在接收和处理流量流,从而最大化可用处理能力的利用率。

【技术实现步骤摘要】
【国外来华专利技术】无状态集群边缘上的有状态服务
技术介绍
诸如防火墙和NAT的有状态网络服务在流量流进和流出的网络边缘处是常见的。它提供基本的安全能力,诸如网络安全网关服务和用于性能和可用性的Web负载平衡。随着网络流量的增加,对边缘服务的需求也增加,从而需要为边缘服务分配附加的资源。
技术实现思路
为了使得能够在边缘处动态缩放网络服务,一些实施例提供能够添加新节点或去除现有节点,同时保持通过有状态服务的流的紧密度(affinity)的系统和方法。一些实施例提供了可以动态调整大小以操纵和处理利用有状态网络服务的网络流量的网络节点集群。流经边缘的现有流量在集群成员资格(membership)更改期间和之后继续工作。在一些实施例中,集群中的所有节点都以活动-活动模式操作,即,它们正在接收和处理流量流,从而最大化可用处理能力的利用率。为了创建在网络(或网络段)边缘处执行有状态服务的动态可扩展的节点集群,一些实施例将流分发到集群的不同节点,使得集群的所有节点都在主动参与有状态服务。在一些实施例中,流通过一致性散列函数散列到集群的节点中。一致性散列函数是在集群的节点之上(或基于集群的成员资格),使得不同的流将被几乎均匀地分发到集群的不同节点。在这些实施例中的一些实施例中,通过一致性散列函数产生的每个可能的散列值都被映射到集群中的节点,并且每个节点被映射到至少一个可能的散列值。因此,集群的每个节点都在主动处理至少一个流的有状态服务。为了确保为每个流正确执行有状态服务,在流的生命周期期间,将每个流分配给集群中的节点。分配给流的节点管理和维护与流相关的状态信息。在一些实施例中,流的标识符用于将属于该流的分组引导到所分配的节点。在从ECMP过程接收到分组之后,在一些实施例中,节点识别流的所有者节点,并将分组转发到识别出的所有者节点。在一些实施例中,边缘集群中的每个节点对分组中的流标识符(例如,源(IP)地址、源端口、目的地(IP)地址、目的地端口、传输协议的五元组)执行一致性散列,以便识别流的所有者节点。在一些实施例中,由特定流的一致性散列识别出的所有者节点不是对流执行有状态服务最合适的边缘节点。当通过一致性散列识别出的流的所有者节点不具有正确处理流所需的必要状态信息,而是这种状态信息被保持在集群中的另一个节点处时,情况就是这样。该另一个节点可以是流的前所有者节点,或者可以是需要其状态信息来正确处理该流的相关流的所有者节点,为了提供一致性有状态服务,在一些实施例中,通过一致性散列识别出的所有者节点将分组委派给其中保持状态信息的节点。一些实施例允许集群中的异构服务支持。在这些实施例中的一些实施例中,一致性散列函数是基于被调用以服务流的服务的类型。具体而言,在一些实施例中,不同的节点集合用于不同的服务,即,不同的服务基于不同的节点集合具有不同的一致性散列函数。在一些实施例中,流委派是基于驻留在边缘集群的节点中的固定流(pinnedflow)表和间接表。间接表和固定流表中的每个条目对应于流。每个间接表条目指示其边缘节点根据条目转发或委派属于流的分组。用于流的固定流表中的每个条目指示其边缘节点本地处理流(因此固定或锚定流)并且为流提供有状态服务,而不管节点是否是流的所有者节点。不是所有者节点将分组转发到流的状态信息所保持处的委派节点,而是一些实施例将状态信息转发给所有者节点。在一些实施例中,所有者节点的标识符不仅基于所使用的散列函数,而且还基于集群中的边缘节点的成员资格。换句话说,确定哪个边缘节点是给定流的所有者节点部分地基于多少边缘节点在能够提供有状态服务的边缘集群中。因此,边缘集群中的成员资格的任何变化将更改一致性散列的结果。边缘集群的大小可以被改变以添加新节点或去除现有节点。一些实施例允许这种动态地,即,在边缘集群正在主动处理利用有状态网络服务的网络流量的同时,调整边缘集群的大小。流经边缘的现有流量在集群的成员资格改变期间和之后继续被处理。为了通过调整边缘集群的大小不间断地提供有状态服务,一些实施例在其原始所有者节点处为现有流锚定有状态服务,直到这些现有流完成。在一些实施例中,边缘集群中的节点将属于现有流的分组转发到其原始所有者节点,其原始所有者节点仍然维持有状态服务所需的现有流的状态信息。在一些实施例中,边缘节点的去除在不中断由边缘集群提供的有状态服务的情况下优雅地完成。对于这些实施例中的一些实施例,现有流的有状态处理在节点去除过程期间被保持在其原始所有者节点上。在一些实施例中,当驻留在第一节点上的第一流的状态信息是分配给第二节点的第二流的必要状态信息时,流的委派也是必需的。在一些实施例中,第一流和第二流是通过一致性散列分配给不同所有者节点的相关流。在一些实施例中,当相同过程的控制流和数据流被分配给不同所有者节点时,会发生这种情况,因为它们具有不同的流标识符。为了确保相关流在相同节点上维护的相同状态信息集合中操作,一些实施例使用流委派来强制相关流被同一节点有状态地进行处理,即使这两个相关流通过一致性散列被散列到不同的所有者节点。在一些实施例中,根据原始地址的流的所有者节点根据转换的DNAT地址将间接消息推送到流的所有者节点,以便将流的分组保持在同一节点上。结果,由转换的DNAT地址识别出的所有者节点具有用于将流的分组委派给通过原始地址识别出的所有者节点的间接表条目,其具有固定流表条目,以基于DNAT地址接收和处理具有流标识符的分组。在一些其它实施例中,不是进行流委派,而是执行DNAT的边缘集群在不使用可以被转换的目的地地址的情况下确定所有者节点。换句话说,集群只对不受DNAT影响的字段(例如,源地址字段、源端口字段、协议字段)应用一致性散列。在SNAT的情况下,集群中的边缘节点改变传出南向分组的源地址。分组的SNAT在通过其流的所有者节点路由之后发生。在一些实施例中,边缘集群中的每个节点在执行地址转换时使用其自己的唯一SNAT地址。返回北向流量基于源地址字段中的那些唯一SNAT地址被转发到相同的所有者节点。所有者节点然后在维护有状态SNAT过程的状态的同时应用逆NAT。前面的
技术实现思路
旨在用作对本专利技术的一些实施例的简要介绍。它并不意味着是对本文档中公开的所有专利技术性主题的介绍或概述。以下的具体实施方式和在具体实施方式中提及的附图将进一步描述在本
技术实现思路
中描述的实施例以及其它实施例。相应地,为了理解本文档描述的所有实施例,需要对
技术实现思路
、具体实施方式和附图进行全面地审查。此外,所要求保护的主题不受
技术实现思路
、具体实施方式和附图中的说明性细节的限制,而是要由所附权利要求来限定,因为所要求保护的主题可以在不脱离本主题的精神的情况下以其它特定形式来体现。附图说明本专利技术的新颖特征在所附权利要求中阐述。但是,为了解释的目的,在以下图中阐述了本专利技术的若干实施例。图1概念性地示出了网络中的节点集群,其中网络流量被分发到用于执行有状态服务的集群中的节点。图2a-b示出了包括用于处理和/或过滤进出网络的流量的多个边缘节点的边缘集群。图3概念性地示出了基于网络中的流的一致性散列将有状态服务分发到节点集群。图4示出了基于一致性散列和ECMP在集群中的节点之间转发分组。图5示出了网络中属于相同流的北向和南向流量的有状态处理。图6a-b概念性地示出了其中基于所提供的本文档来自技高网
...
无状态集群边缘上的有状态服务

【技术保护点】
一种方法,包括:将属于多个流的多个分组分发到向网络提供边缘服务的边缘集群中的多个节点,其中每个流被分配给集群中的一个节点,并且每个节点被分配来对至少一个流执行有状态处理;以及根据所述流的分配在节点的集群处对所述多个分组执行有状态处理。

【技术特征摘要】
【国外来华专利技术】2014.11.14 US 14/541,477;2014.11.14 US 14/541,501;1.一种方法,包括:将属于多个流的多个分组分发到向网络提供边缘服务的边缘集群中的多个节点,其中每个流被分配给集群中的一个节点,并且每个节点被分配来对至少一个流执行有状态处理;以及根据所述流的分配在节点的集群处对所述多个分组执行有状态处理。2.如权利要求1所述的方法,其中将分组分发到集群中的节点包括识别分组的流,其中所述识别基于分组中的一组流标识符。3.如权利要求2所述的方法,其中将分组分发到集群中的节点还包括基于所述一组流标识符来计算散列值,其中散列值用于识别被分配来对分组的流执行有状态处理的节点。4.如权利要求3所述的方法,其中每个可能的散列值被映射到集群中的节点。5.如权利要求1所述的方法,其中所述有状态处理包括网络地址转换(NAT)。6.如权利要求1所述的方法,其中所述有状态处理包括用于有状态防火墙的防火墙处理。7.如权利要求1所述的方法,其中分配给流的节点维护流的状态。8.如权利要求1所述的方法,其中所述集群中的每个节点是由在主机机器中运行的虚拟化软件提供的虚拟机。9.一种方法,包括:在包括多个节点的集群中的第一节点处接收分组,其中第一节点根据等成本多路径(ECMP)算法选自所述多个节点;识别分组的流和流的所有者节点;当第一节点是所有者节点时,对第一节点处的分组执行有状态处理;以及当与第一节点不同的第二节点是所有者节点时,将所述分组转发到第二节点。10.如权利要求9所述的方法,其中识别流的所有者节点包括对分组中的一组流标识符执行散列函数。11.如权利要求10所述的方法,其中所述流标识符包括分组的L3和L4报头中的参数。12.如权利要求9所述的方法,其中所述集群是向网络提供边缘服务的边缘集群。13.如权利要求9所述的方法,其中所述集群中的每个节点是由在主机机器中运行的虚拟化软件提供的虚拟机。14.如权利要求9所述的方法,其中新添加的节点在用于新添加的节点的学习模式完成之前不从ECMP接收分组。15.一种方法,包括:在节点的集群处提供有状态服务,其中第一服务由集群中的第一组节点提供,并且第二服务由集群中的第二组节点提供;根据第一一致性散列函数将需要第一服务的第一组流分发到第一组节点;以及根据第二一致性散列函数将需要第二服务的第二组流分发到第二组节点。16.如权利要求15所述的方法,其中将第一组流分发到第一组节点包括(i)识别属于第一组流的传入分组,以及(ii)将第一一致性散列函数应用于被识别为属于第一组流的分组中的流标识符。17.如权利要求16所述的方法,其中流的第一一致性散列产生识别被分配给流的第一组节点中的第一节点的散列值,其中流的第二一致性散列产生识别被分配给流的第二组节点中的第二节点的散列值,其中分配给流的节点维护流的状态。18.如权利要求15所述的方法,其中第一一致性散列的每个可能的散列值被映射到第一组节点中的节点,其中第二一致性散列的每个可能的散列值被映射到第二组节点中的节点。19.如权利要求15所述的方法,其中第一服务是网络地址转换(NAT)并且第二服务是防火墙。20.如权利要求15所述的方法,其中所述集群是向网络提供边缘服务的边缘集群。21.一种方法,包括:在第一节点处对特定流执行有状态服务,其中第一节点基于特定流的第一散列选自第一组节点;在第一节点处接收来自第二节点的属于特定流的分组以执行有状态服务,其中第二节点基于特定流的第二散列选自第二组节点。22.如权利要求21所述的方法,其中第一组节点是节点的特定集群中的节点,其中第二组节点是在至少一个节点被添加到集群或从集群中去除之后的特定集群中的节点。23.如权利要求22所述的方法,其中第一节点维护所述特定流的状态信息。24.如权利要求22所述的方法,其中所述节点的特定集群是提供有状态服务的边缘服务集群。25.如权利要求21所述的方法,其中转发来自第二节点的分组包括使用将所述特定流与第一节点相关联的间接表中的条目。26.如权利要求21所述的方法,其中第一节点具有固定流表,其包括对应于所述特定流的条目,所述条目用于防止第一节点转发属于所述特定流的分组。27.如权利要求26所述的方法,还包括当所述特定流的有状态处理完成时,从固定流表中去除所述条目。28.一种方法,包括:在节点的集群处对特定流执行有状态服务,其中特定流的状态由集群中的第一节点维护;在所述节点的集群正在对特定流执行有状态服务时,将节点添加到所述节点的集群;以及在节点被添加之后,通过所述节点的集群上的特定流的流标识符的一致性散列识别第二节点;以及将属于特定流的分组从第二节点转发到第一节点。29.如权利要求28所述的方法,其中在节点的添加之前,第一节点通过所述节点的集群上的特定流的流标识符的一致性散列来识别。30.如权利要求28所述的方法,其中将节点添加到所述节点的集群还包括将用于所述特定流的条目添加到第二节点中的间接表,其中间接表中为所述特定流所添加的条目是用于指示第二节点将属于所述特定流的分组转发到第一节点。31.如权利要求28所述的方法,其中将节点添加到所述节点的集群还包括将用于所述特定流的条目添加到第一节点中的固定流表,其中添加到固定流表的用于特定流的条目是用于将所述特定流的分组锚定在第一节点处。32.如权利要求31所述的方法,还包括当所述特定流的有状态处理完成时,从固定流表中去除所述条目。33.如权利要求28所述的方法,其中所述节点的集群是提供有状态服务的边缘服务集群。34.如权利要求28所述的方法,其中所述特定流是第一流,所述方法还包括当新添加的节点由第二流的一致性散列识别时,将属于第二流的分组转发到新添加的节点,其中第二流是其状态信息被保持在新添加的节点处的新流。35.一种方法,包括:配置节点的集群以对特定流执行有状态服务,其中特定流的状态由集群中的第一节点维护;在集群正在对特定流执行有状态服务时,配置集群以添加节点;以及配置所述节点的集群以将属于特定流的分组从第二节点转发到第一节点,其中在节点的添加之后,第二节点通过所述节点的集群上的特定流的流标识符的一致性散列来识别。36.如权利要求35所述的方法,其中在添加所述节点之前,...

【专利技术属性】
技术研发人员:M·帕尔萨J·贾殷洪新华A·森谷普塔范凯伟
申请(专利权)人:NICIRA股份有限公司
类型:发明
国别省市:美国,US

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

1