使用可编程交换机进行覆盖网络路由制造技术

技术编号:29688697 阅读:25 留言:0更新日期:2021-08-13 22:14
本文讨论的技术包括在与可编程交换机相关联的存储器中存储快路径表和慢路径表,该存储器例如可编程交换机的缓存。分流控制器可以控制快路径和/或慢路径表的内容,从而可以控制可编程交换机的行为。如果接收到的分组在慢路径表中生成命中,则可编程可以将分组路由引导到网关。如果接收到的分组在快路径表中生成命中,则可以将分组直接转发到虚拟私有云(VPC)、其虚拟交换机和/或虚拟机(VM)。

【技术实现步骤摘要】
【国外来华专利技术】使用可编程交换机进行覆盖网络路由相关申请的交叉引用本公开要求于2018年12月28日提交的名称为“OverlayNetworkRoutingUsingaProgrammableSwitch”的美国申请No.16236335的优先权权益,其全部内容通过引用结合于本文。
技术介绍
由云服务提供商提供的主要服务之一是向其用户提供提供商的基础设施(例如,处理器内核、存储空间)以用于运行虚拟机(VM)。用户可以经由虚拟私有云(VPC)远程访问在基础设施上运行的VM的实例。可以在网络控制器(NC)处接收从寻求访问在VPC中运行的特定VM实例的客户驻地设备(CPE)生成的网络业务流,网络控制器(NC)将网络业务流转发到交换机,交换机经由根据外部网关协议(例如,外部网关协议(EGP)、边界网关协议(BGP))通告的路由将业务流转发到适当的网关。该网关又经由MAC地址将业务转发到运行VM的适当物理机器。换句话说,网关处理进出覆盖网络的所有分组。然而,用户对于远程VPC访问越来越需要较大的容量和性能。例如,最近的带宽需求已经增加了四倍,然后又增加了两倍以上。此外,用户需要增加端口密度。在频繁的VM改变期间,在不经历增加的等待时间和降低的每连接一致性(PCC)的情况下,在网关处处理进出覆盖网络的所有分组不向VPC(其需要某种形式的业务分割)提供端口密度和/或带宽。对较多路由的需求也增加了——在一些情况下,用户需要20000个路由每VPC。对于托管大约1000个用户的客户交换机,这意味着客户交换机会需要支持多达2千万个路由。目前没有这种设备。r>此外,多个租户可以共享提供商的同一物理基础设施。云服务提供商可以实现网络功能虚拟化(NFV)以允许租户在多租户网络中形成覆盖网络。通常,NFV部署在x86系统上并形成覆盖网络层。使用x86系统增加了网络架构的灵活性,并允许新的特征被快速应用到基础设施。然而,x86系统导致管理成本高、功耗高、性能有限和可扩展性差。为了隔离租户的业务流,提供商可以为各个VM主机部署虚拟路由引导和转发(VRF)。部署VRF包括为各个VM主机生成路由表,使得接收目的地为特定VM主机的分组的路由器可以使用与该VM主机相关联的路由表来路由引导分组。然而,这增加了占用空间的路由表和底层网络中的开放连接的数量。用于处理所有这种业务流的覆盖解决方案此时是非常昂贵的(例如,能够处理数千和/或数百万连接的路由器各个都会花费一百万美元或更多)。此外,处理这些连接的路由器通常具有静态分配的资源,例如存储器空间,随着租户数量的增长,这也导致可扩展性的瓶颈。附图说明参照附图描述详细说明。在附图中,附图标记的最左边的数字表示附图标记首次出现的附图。不同附图中相同的附图标记表示相似或相同的项目。图1例示了用于处理通过网关进出覆盖网络的网络业务流的示例架构的框图。图2例示了用于处理进出虚拟私有云的网络业务流的示例网络架构的概况的框图。图3例示了用于处理进出虚拟私有云的网络业务流的示例设备的框图。图4A和图4B分别示出了交换机和/或分流控制器的上行操作和下行操作。图5例示了虚拟路由引导控制器的框图,该虚拟路由引导控制器存储示例性快路径表和/或慢路径表并将与其相关的规则推送到交换机。图6例示了在交换机处使用快路径的示例缓存查找和分组转发的框图。图7例示了在交换机处使用慢路径的示例缓存查找和分组转发的框图。图8描绘了包括VPC控制器和/或VRC的示例分流控制器架构的框图,VPC控制器和/或VRC用于确定连接的路由、维持连接状态、向CPE通告路由,和/或控制交换机。具体实施方式本公开总体涉及用于处理传送点(PoD)(例如,从客户驻地设备(CPE)接收入口分组和/或向CPE发送出口分组的提供商基础设施)与在VM主机处运行的虚拟机(VM)实例之间的网络业务流的技术(例如,机器、处理)。VM实例可以在虚拟私有云(VPC)内运行。本文讨论的技术可以包括用于处理这种(和其它)业务的网络架构,该网络架构包括分流控制器(OC)和/或可编程交换机专用集成电路(ASIC),以下称为CSW。在一些示例中,这些部件可以从网关分流分组转发和/或路由引导操作中的至少一些操作。在其它技术中,网关处理进出覆盖网络的所有分组。例如,在其他技术中,交换机接收到的对等互联业务流可以被路由引导到网关(例如,作为下一跳),使得网关可以进行路由引导和MAC地址查找以在VPC和CPE之间正确地路由引导分组。在一些示例中,网关可在x86机器上运行。然而,在一些示例中,本文所讨论的技术可以包括使用减少网络等待时间、支持全二等分业务流、减少能量使用、减少主动管理以及增加各连接的一致性的操作和硬件设置来绕过网关。根据本文讨论的一些技术,OC可以包括VPC控制器和/或虚拟路由引导控制器(VRC)。VPC控制器可以(1)经由VPC控制台从客户机接收指令,所述指令可以包括由软件定义的网络(SDN)指令(例如虚拟交换机(Vswitch)子网定义、由用户定义的路由、由用户定义的互联网协议(IP)地址);(2)与其他VPC控制器和/或网关(例如在其他区域和/或可用性区域中)接收和/或配置跨区域路由;(3)与VRC协同地学习和/或发布边界网关协议(BGP)路由;和/或(4)与VPC交换机和/或网关协同地配置到VM主机和/或VM实例的路由。在一些示例中,VPC控制器可以配置要从VRC直接向CPE和/或经由CSW向CPE通告的BGP会话。在附加或另选示例中,VPC控制器可以配置CSW与VM主机和/或VM实例之间的绕过了网关的路由。在完成路由时,无论是BGP路由还是CSW与VM主机之间的路由,VPC控制器可以将用于该路由的规则推送到VRC。在一些示例中,VPC控制器的操作可以由VRC执行,反之亦然。附加地或另选地,在一些示例中,OC可以被配置成自动执行用户指定的网络连接性策略以自动化多区域多VPC虚拟网络,自动检测地址冲突并控制用户相关的路由改变以确保网络连接和用户业务流不受影响或中断,即使当虚拟网络拓扑频繁改变时(例如VM迁移到新的虚拟交换机和/或子网);和/或向用户提供定制网络连接性策略的能力(例如,经由与VPC控制器接口的面向客户机的VPC控制台)。VRC可以被配置成从VPC控制器接收规则。在一些示例中,VRC和/或VPC控制器可以将规则配置成键-值表中的条目,并且可以管理该表中的条目,使得各连接/路由存在一个条目。VRC可以维护为入口分组(即从CPE接收的进入分组)设定规则的键-值表即“入口键-值表”、和/或为出口分组(例如流向用户的分组、在区域之间流动的分组、在提供商基础设施之间流动的分组)设定规则的键-值表即“出口键-值表”。在一些示例中,VRC可以确定存储在VRC处的表的用于对CSW进行编程的子集。例如,VRC可以确定用于对CSW编程的入口键-值表的一部分和出口键-值表的一部分。在一些示例中,用该表的一部分对CSW编程可以包括对该表的该部分进行散列以确定被推送到CSW的经散列的表本文档来自技高网...

【技术保护点】
1.一种系统,所述系统包括交换机和分流控制器,其中,所述分流控制器包括:/n一个或更多个处理器;以及/n第一存储器,所述第一存储器存储第一指令,所述第一指令在被执行时,使所述分流控制器:/n存储快路径表和慢路径表;/n确定所述快路径表的用于对所述交换机进行编程的子集;/n从所述分流控制器向所述交换机发送将所述子集插入存储在所述交换机处的连接表中的指令;以及/n其中:/n所述交换机包括专用集成电路ASIC,所述ASIC被配置成至少部分地基于所述连接表中的条目来转发网络业务流,以及/n所述交换机至少部分地基于所述子集将网络业务流绕过网关转发到虚拟机VM主机。/n

【技术特征摘要】
【国外来华专利技术】20181228 US 16/236,3351.一种系统,所述系统包括交换机和分流控制器,其中,所述分流控制器包括:
一个或更多个处理器;以及
第一存储器,所述第一存储器存储第一指令,所述第一指令在被执行时,使所述分流控制器:
存储快路径表和慢路径表;
确定所述快路径表的用于对所述交换机进行编程的子集;
从所述分流控制器向所述交换机发送将所述子集插入存储在所述交换机处的连接表中的指令;以及
其中:
所述交换机包括专用集成电路ASIC,所述ASIC被配置成至少部分地基于所述连接表中的条目来转发网络业务流,以及
所述交换机至少部分地基于所述子集将网络业务流绕过网关转发到虚拟机VM主机。


2.根据权利要求1所述的系统,其中,所述快路径表的第一条目包括键和值,其中:
所述键至少包括虚拟局域网VLAN标签和目的地互联网协议IP地址,并且
所述值至少包括虚拟私有云VPC虚拟可扩展局域网VxLAN网络标识VNI和虚拟机VMIP地址。


3.根据权利要求2所述的系统,其中,所述子集包括所述第一条目,并且所述交换机包括与第二存储器相关联,所述第二存储器存储所述连接表和第二指令,所述第二指令在被执行时使所述ASIC:
接收目的地为VPC中VM的分组;
确定所述分组与VLAN标签和目的地IP地址相关联;
从VLAN封装中解封所述分组;
至少部分地基于所述VNI和所述VMIP地址来封装和转发所述分组。


4.根据权利要求3所述的系统,其中,至少部分地基于所述VNI和所述VMIP地址来封装和转发所述分组的处理绕过了所述网关。


5.根据权利要求1所述的系统,其中,确定所述子集的处理至少部分地基于机器学习模型,所述机器学习模型确定所述子集的条目与最有可能保持活动或在一段时间内变为活动的一个或更多个连接相关联。


6.根据权利要求1所述的系统,其中,确定所述子集的处理至少部分地基于缓存置换指令。


7.根据权利要求6所述的系统,其中,所述缓存置换指令包括用于确定所述快表的最近最少使用的条目的指令。


8.根据权利要求1所述的系统,其中,所述第一指令还使所述分流控制器:
从所述交换机接收分组和所述分组不与所述连接表中的条目相关联的指示;
确定所述分组与所述快路径表中的第一条目相关联;以及
从所述分流控制器向所述交换机发送将所述第一条目插入到所述连接表中的指令。


9.根据权利要求8所述的系统,其中,所述指令还使所述交换机删除最近最少使用的条目。


10.根据权利要求8所述的系统,其中,所述第一指令还使所述分流控制器:
确定所述分组与所述慢路径表中的第二条目相关联;以及
从所述分流控制器向所述网关和VPC控制器中的至少一者发送所述分组,其中,所述网关或所述VPC控制器为所述分组配置路由。


11.根据权利要求8所述的系统,其中,所述第一指令还使所述分流控制器:
确定所述分组不与所述快路径表或所述慢路径表中的条目相关联;以及
从所述分流控制器向所述网关和VPC控制器中的至少一者发送所述分组,其中,所述网关或所述VPC控制器为所述分组配置路由。


12.一种方法,所述方法包括以下步骤:
在分流控制器处存储第一表;
存储第一路由指令作为所述第一表中的第一条目,其中...

【专利技术属性】
技术研发人员:韩力程钢赵巍
申请(专利权)人:阿里巴巴集团控股有限公司
类型:发明
国别省市:开曼群岛;KY

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

1