多个隧道端点上的负载平衡制造技术

技术编号:29224914 阅读:27 留言:0更新日期:2021-07-10 01:08
本公开涉及多个隧道端点上的负载平衡。一些实施例提供了一种用于受管理转发元件(MFE)的方法。该方法从MFE为其执行第一跳处理的数据计算节点接收分组。数据计算节点与MFE的多个隧道端点相关联。该方法确定用于分组的目的地隧道端点。该方法使用负载平衡算法来选择MFE的所述多个隧道端点之一作为用于分组的源隧道端点。该方法使用源隧道端点和目的地隧道端点封装隧道中的分组。端点封装隧道中的分组。端点封装隧道中的分组。

【技术实现步骤摘要】
多个隧道端点上的负载平衡
[0001]本申请是申请日为2016年10月29日、申请号为201680070479.3、专利技术名称为“多个隧道端点上的负载平衡”的专利技术专利申请的分案申请。


[0002]本公开通常涉及多个隧道端点上的负载平衡。

技术介绍

[0003]在数据中心内,覆盖网络常常被用于属于同一逻辑网络的虚拟机、服务器等等之间的通信。为了实现这些覆盖,通常在数据中心中的转发元件(例如,虚拟交换机、顶架式(TOR)交换机等等)之间建立IP上的MAC(MAC over IP)隧道。当这些转发元件各自具有单个网络接口时,它们各自被指派单个隧道端点IP地址,并且两个转发元件之间的分组的封装使用两个转发元件的隧道端点IP地址。
[0004]但是,越来越多地,转发元件可以具有多个这样的隧道端点地址(例如,以充分利用多个物理接口或L2/L3链路)。因此,管理这些转发元件的控制器以及转发元件本身应当具有用于处理每个转发元件的多个隧道端点地址的方案。

技术实现思路

[0005]一些实施例提供了一种用于在源受管理转发元件(MFE)处封装隧道中的分组以传送到目的地受管理转发元件的方法。源MFE(例如,从本地数据计算节点)接收数据分组并且识别该分组需要经由覆盖网络传输到目的地MFE(例如,基于分组的一个或多个目的地地址,诸如MAC和/或IP地址)。源MFE识别用于将分组隧道传输到目的地MFE的源和目的地隧道端点,这可能涉及在用于源和/或目的地MFE的多于一个可能的隧道端点之间进行选择。
[0006]例如,如果源MFE具有可以用于来自源地址的数据分组的多个隧道端点,那么一些实施例的源MFE执行负载平衡技术,以选择源隧道端点中的一个。例如,不同的实施例可以使用源MAC和/或IP地址的散列、标准连接5元组(源和目的地IP地址,源和目的地传输层端口以及传输协议)的散列或者评估不同隧道端点上的当前负载(例如,队列的充满度等)以选择源隧道端点的机制。
[0007]此外,如果目的地MFE具有可以使用的多个隧道端点,那么源MFE使用类似的机制(例如,使用目的地MAC地址或连接5元组的散列)来选择目的地隧道端点。利用所选择的源和目的地隧道端点,MFE可以封装分组并将分组发送到两个端点之间的物理网络上。
[0008]为了执行这种选择,在一些实施例中,每个MFE(为直接连接到MFE的本地数据计算节点以及处于与本地数据计算节点相同的逻辑网络上的地址)存储数据计算节点地址到隧道端点组标签的映射以及隧道端点组标签到隧道端点列表的映射。在一些实施例中,可以经由收集这些映射并将其存储在表中的网络控制系统将这种映射信息分发到MFE。
[0009]使用这种技术,两个数据计算节点之间的分组可以从MFE上的一个隧道端点发出,但是在MFE的不同隧道端点处接收。但是,为了确保用于特定数据计算节点(或特定流)的分
组都通过相同的隧道端点发送和接收,一些实施例的MFE学习数据计算节点地址到特定隧道端点的映射。为了允许每个MFE负载平衡其自己的流量,当第一MFE在其本地数据计算节点之一和远程数据计算节点之间向第二MFE发送初始分组时,第一MFE将其选择的源隧道端点存储为用于其本地数据计算节点的地址的隧道端点。
[0010]但是,第一MFE不存储它对用于远程数据计算地址的目的地隧道端点的选择,因为这样做将允许第一MFE执行对第二MFE的负载平衡。相反,当第二MFE接收到初始分组时,它还将由第一MFE选择的源隧道端点存储为到源数据计算节点地址的映射。当其本地数据计算节点发送回复分组时,第二MFE执行其自己的负载平衡,以选择其源隧道端点,这可以与在其上接收初始分组的隧道端点不同。第二MFE然后存储其本地数据计算节点和选择的隧道端点之间的这种映射。对于这个回复分组的目的地隧道端点,第二MFE使用它从初始分组确定的映射。当第一MFE接收到回复分组时,它存储源隧道端点和远程数据计算节点之间的映射。在这个时候,达到平衡,两个MFE在同一对隧道端点之间发送分组。
[0011]除了通过隧道将分组发送到具有多个隧道端点的MFE以便到达远程数据计算节点之外,在一些情况下,MFE还从其本地数据计算节点之一接收需要桥接到另一个远程网络(例如,另一个逻辑网络、VLAN等等)的分组。一些实施例使用桥接器集群来执行这种桥接,其可以包括多个MFE(其中的一些或全部可以具有多个隧道端点)。与桥接器集群相关联的所有隧道端点可以被分组,并且源MFE执行类似的选择过程(例如,对目的地地址或连接5元组进行散列),以选择桥接器集群组中要向其发送分组的隧道端点。
[0012]前面的
技术实现思路
旨在用作针对本专利技术的一些实施例的简要介绍。它并不意味着是本文档中所公开的所有专利技术主题的介绍或概述。以下的具体实施方式和参考具体实施方式的附图将进一步描述在
技术实现思路
以及其它实施例中所描述的实施例。因此,为了理解本文档所描述的所有实施例,需要对
技术实现思路
、具体实施方式和附图进行全面地审阅。此外,所要求保护的主题不受在
技术实现思路
、具体实施方式和附图中的说明性细节的限制,而是要由所附权利要求来定义,这是因为所要求保护的主题可以在不脱离本主题的精神的情况下以其它特定形式来体现。
附图说明
[0013]本专利技术的新颖特征在所附权利要求中阐述。但是,为了解释的目的,本专利技术的几种实施例在以下图中阐述。
[0014]图1概念性地图示了包括具有多个隧道端点的MFE的一些实施例的主机机器。
[0015]图2概念性地图示了一些实施例的主机机器,其托管连接到在该主机机器上操作并具有两个VTEP的MFE的两个VM。
[0016]图3概念性地图示了通过物理网络(例如,数据中心的物理网络)连接的一对主机机器。
[0017]图4

8图示了通过VM连接到的MFE对两个VM之间的分组的处理以及通过这些MFE的隧道端点映射的学习。
[0018]图9概念性地图示了由MFE执行的一些实施例的处理,该处理在封装分组并将那个分组输出到物理网络上之前选择源和目的地隧道端点。
[0019]图10概念性地图示了由MFE执行的一些实施例的处理,该处理在其一个(也可能是
多个)VTEP处接收封装的分组。
[0020]图11图示了通过物理网络连接并且具有基于每个流进行负载平衡的MFE的一对主机机器。
[0021]图12图示了第三主机机器,其中第三VM和第三MFE连接到图11的相同物理数据中心网络。
[0022]图13概念性地图示了使用负载评估来指派用于流的源VTEP。
[0023]图14概念性地图示了由MFE执行的一些实施例的处理,该处理选择要发送到远程网络的分组的源和目的地隧道端点。
[0024]图15概念性地图示了包括提供第一VM所位于的第一网络与第二网络之间的桥接连接性的桥接器集群的数据中心网络的示例。
[0025]图16概念性地图示了从图15的VM向桥接网络中的MAC地址(MAC1)发送分组。
[0本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种用于在第一主机计算机上执行的受管理转发元件(MFE)的方法,包括:分别从在与多个隧道端点相关联的第二主机计算机上的相应的第一和第二隧道端点接收第一和第二分组,所述第一和第二分组分别源自于在所述第二主机计算机上执行的第一数据计算节点(DCN)和第二DCN;基于从所述第一和第二隧道端点接收到所述第一和第二分组,通过存储所述第一隧道端点与所述第一DCN的第一关联和所述第二隧道端点与所述第二DCN的第二关联,分别为所述第一和第二DCN选择所述第一和第二隧道端点作为用于从所述MFE到所述第一和第二DCN的后续分组的目的地隧道端点;以及对于在MFE处接收的并且将第一DCN或第二DCN作为目的地的后续分组,使用所存储的第一关联或第二关联从多个隧道端点中选择第一隧道端点或第二隧道端点,并且使用识别为目的地隧道端点的所选隧道端点封装所述后续分组。2.如权利要求1所述的方法,其中:所存储的第一关联将第一隧道端点映射到以下之一:(i)第一DCN的MAC地址,和(ii)以第一DCN作为目的地的分组的连接5元组;所存储的第二关联将所述第二隧道端点映射到以下之一:(i)所述第二DCN的MAC地址,和(ii)以所述第二DCN作为目的地的分组的连接5元组;以及每个连接5元组包括源和目的地网络层地址、源和目的地传输层端口号以及传输层协议。3.如权利要求1所述的方法,还包括将所述第一分组递送到在所述第一主机计算机上执行并且连接到所述MFE的第三DCN。4.如权利要求3所述的方法,其中在所述MFE的第三隧道端点处接收所述第一分组,其中存储所述第一关联包括存储识别所述第一和第三DCN以及所述第一和第三隧道端点的记录,所述方法还包括:从所述第三DCN接收寻址到所述第一DCN的第三分组;使用所述记录来选择所述MFE的第三隧道端点作为源隧道端点;以及利用作为源隧道端点的第三隧道端点和作为目的地隧道端点的第一隧道端点封装所述第三分组。5.如权利要求1所述的方法,其中所述第一分组包括一组外部报头,所述一组外部报头具有作为源地址的所述第一隧道端点的地址。6.如权利要求1所述的方法,还包括:在所述MFE处,从第三隧道端点接收第三分组,所述第三分组源自于与包括第三隧道端点的第二多个隧道端点相关联的第三DCN;基于所述第三分组,存储所述第三隧道端点与所述第三数据计算节点的关联;以及使用所存储的第三隧道端点与第三数据计算节点的关联从第二多个隧道端点中选择第三隧道端点并且利用第三隧道端点作为目的地隧道端点来封装后续分组,所述后续分组在MFE处接收并且将第三DCN作为目的地地址。7.如权利要求6所述的方法,其中所述第一、第二和第三DCN在同一第二主机计算机上操作。8.一种用于网络控制器的方法,包括:
识别用于与受管理转发元件(MFE)一起在主机计算机上执行的数据计算节点(DCN),所述MFE具有多个隧道端点,所述多个隧道端点用于与其他主机计算机上的其他MFE建立隧道以建立逻辑网络;以及向所述MFE分发(i)与多个隧道端点中的一组至少两个隧道端点相关联的隧道端点组标识符,所述至少两个隧道端点是要用于DCN的候选隧道端点,以及(ii)组定义,所述组定义包括标识所述隧道端点组中的隧道端点的至少两个隧道端点标识符,其中所述MFE(i)使用所述组标识符来标识所述组定义,(ii)从所述组中选择所述隧道端点标识符中的一个,以及(iii)使用与所选隧道端点标识符相关联的隧道端点来将封装后的分组从所述DCN发送到其他MFE。9.如权利要求1所述的方法,其中:识别所述DCN包括从本地控制器接收所述DCN已经附接到所述MFE的消...

【专利技术属性】
技术研发人员:沈建军A
申请(专利权)人:NICIRA股份有限公司
类型:发明
国别省市:

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

1