CN113746760A - 通信方法、网络控制器和计算机可读存储介质 - Google Patents
通信方法、网络控制器和计算机可读存储介质 Download PDFInfo
- Publication number
- CN113746760A CN113746760A CN202110304667.0A CN202110304667A CN113746760A CN 113746760 A CN113746760 A CN 113746760A CN 202110304667 A CN202110304667 A CN 202110304667A CN 113746760 A CN113746760 A CN 113746760A
- Authority
- CN
- China
- Prior art keywords
- logical router
- policy
- virtual network
- routing
- network controller
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/02—Topology update or discovery
- H04L45/04—Interdomain routing, e.g. hierarchical routing
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L49/00—Packet switching elements
- H04L49/30—Peripheral units, e.g. input or output ports
- H04L49/3009—Header conversion, routing tables or routing tags
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/02—Topology update or discovery
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/42—Centralised routing
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/56—Routing software
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/58—Association of routers
- H04L45/586—Association of routers of virtual routers
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/20—Traffic policing
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L49/00—Packet switching elements
- H04L49/10—Packet switching elements characterised by the switching fabric construction
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L49/00—Packet switching elements
- H04L49/25—Routing or path finding in a switch fabric
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L49/00—Packet switching elements
- H04L49/70—Virtual switches
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本公开描述了通信方法、网络控制器和计算机可读存储介质,该网络控制器使得能够在不同的、隔离的虚拟网络的逻辑路由器之间创建逻辑互连,并且能够自动生成和部署路由策略以控制不同虚拟网络之间的选择路由的“泄漏”。在一个示例中,网络控制器包括存储器和处理电路,该处理电路被配置为识别在交换结构的一个或多个物理装置上实现的第一虚拟网络的源逻辑路由器和第二虚拟网络的目的地逻辑路由器;形成定义一个或多个规则的策略,用于控制通过逻辑路由器互连从源逻辑路由器到目的地逻辑路由器的路由中的一个或多个的泄漏,并且将策略推送到交换结构的一个或多个物理装置,以应用于通过逻辑路由器互连的通信。
Description
本申请要求2020年12月28日提交的美国专利申请第17/247,858号的权益,其要求2020年5月27日提交的美国临时专利申请第63/030,657号的权益,每个申请的全部内容通过引用并入本文。
技术领域
本公开涉及计算机网络。
背景技术
在典型的基于云的数据中心中,大量的互连服务器提供用于执行各种应用程序的计算和/或存储容量。例如,数据中心可以包括为用户(即数据中心的客户)托管应用程序和服务的设施。例如,数据中心可以托管所有基础设施设备,诸如联网和存储系统、冗余电源和环境控制。在大多数数据中心中,存储系统和应用程序服务器的集群经由由一层或多层物理网络交换机和路由器提供的高速交换结构互连。更复杂的数据中心为遍布世界的基础设施提供位于各种物理托管设施中的用户支持设备。
形成数据中心的交换结构的数据中心的分组转发装置(例如,路由器和交换机)通常根据互连拓扑(诸如因特网协议Clos(IP-Clos)网络)来布置。数据中心为多个租户提供服务,并且通常提供租户隔离以防止一个租户的数据被其他租户访问。例如,数据中心的IP-Clos分组交换网络可以根据以太网VPN虚拟可扩展LAN(EVPN VxLAN)来配置,其中,与数据中心的每个租户相关联的网络流量穿过单独的虚拟网络。
发明内容
总体上,本公开描述了使得网络控制器能够自动生成用于部署到物理装置(例如,物理路由器和/或交换机)的路由策略的技术和配置,该物理装置操作以经由数据中心的互连拓扑的交换结构提供分组转发。具体地,该技术可以用于使得虚拟网络控制器能够生成路由策略以提供虚拟路由和转发表(例如,VRF)之间的路由泄漏的细粒度控制,该虚拟路由和转发表由物理分组转发装置利用以用于在数据中心交换结构上使用不同虚拟网络来提供流量隔离。
如本文所述,每个VRF可以被视为在给定物理网络装置上为不同虚拟网络提供分组交换/路由操作的逻辑路由器。根据本公开的技术,描述了提供用户界面的示例虚拟网络控制器,该用户界面向管理员呈现一个或多个选项,通过该选项来定义在数据中心交换结构的交换机上操作的各种逻辑路由器(LR)之间的逻辑“互连”。此外,对于在管理员的用户输入中指定的任何结构内LR互连,虚拟网络控制器自动生成路由策略并将策略部署到在交换结构内的物理装置上操作的LR,以使LR在其相应的虚拟网络中选择性地“泄漏”路由,即共享特定的路由信息,即使VRF可能不是同一路由域内的对等逻辑路由器,并且以其他方式在不同的虚拟网络中操作,这些虚拟网络在路由和网络域方面彼此逻辑隔离。以这种方式,虚拟网络控制器可以自动生成配置信息和策略,以在特定的VRF之间建立通信互连,并且精确地控制以其他方式隔离的VRF之间特定路由的泄漏(共享)。因此,该技术基于管理提供的用户输入以单向方式提供对从单个源LR到一个或多个目的地LR的路由泄漏的细粒度控制。
在一个示例中,虚拟网络控制器生成并部署指定路由组(例如,RIB组)的策略,以控制从源LR到多个目的地LR的路由泄漏,其中,源LR和目的地LR部署在交换结构内的同一物理装置上。此外,虚拟网络控制器自动生成并部署BGP导出和导入策略,以控制从源LR到一个或多个目的地LR之间的路由泄漏,其中,源LR和目的地LR部署在交换结构内的不同物理装置上。
在各种示例中,虚拟网络控制器被配置为使得管理员能够通过为物理装置配置路由策略或通过选择经由交换结构连接的租户虚拟网络子网的列表来提供路由信息。如果管理员选择租户虚拟网络用作路由策略模板,则虚拟网络控制器泄漏存在源LR中的路由。数据中心的一些网络装置可以提供物理网络功能(PNF),诸如深度分组检查和/或其他安全功能。为了向租户间通信提供PNF,通常使用装置特定和/或供应商特定的配置过程来配置这样的装置。
在一个示例中,本公开描述了一种方法,包括:由虚拟网络控制器识别在交换结构的一个或多个物理装置上实现的源逻辑路由器和目的地逻辑路由器,其中,源逻辑路由器维护指定用于第一虚拟网络的路由的路由信息,并且目的地逻辑路由器维护指定用于第二虚拟网络的路由的路由信息;由虚拟网络控制器在源逻辑路由器与目的地逻辑路由器之间形成逻辑路由器互连;由虚拟网络控制器形成定义一个或多个规则的策略,用于控制通过逻辑路由器互连从第一虚拟网络的源逻辑路由器到第二虚拟网络的目的地逻辑路由器的路由中的一个或多个的泄漏;并且由虚拟网络控制器将策略推送到交换结构的一个或多个物理装置,以应用于通过逻辑路由器互连的通信。
在另一示例中,本公开描述了一种网络控制器,包括:存储器;以及处理电路,其被配置为:识别在交换结构的一个或多个物理装置上实现的源逻辑路由器和目的地逻辑路由器,其中,源逻辑路由器维护指定用于第一虚拟网络的路由的路由信息,并且目的地逻辑路由器维护指定用于第二虚拟网络的路由的路由信息;在源逻辑路由器与目的地逻辑路由器之间形成逻辑路由器互连;形成定义一个或多个规则的策略,用于控制通过逻辑路由器互连从第一虚拟网络的源逻辑路由器到第二虚拟网络的目的地逻辑路由器的路由中的一个或多个的泄漏;并且将策略推送到交换结构的一个或多个物理装置,以应用于通过逻辑路由器互连的通信。
在另一示例中,本公开描述了一种包括指令的计算机可读存储介质,该指令将网络控制器的处理电路配置为:识别在交换结构的一个或多个物理装置上实现的源逻辑路由器和目的地逻辑路由器,其中,源逻辑路由器维护指定用于第一虚拟网络的路由的路由信息,并且目的地逻辑路由器维护指定用于第二虚拟网络的路由的路由信息;由虚拟网络控制器在源逻辑路由器与目的地逻辑路由器之间形成逻辑路由器互连;由虚拟网络控制器形成定义一个或多个规则的策略,用于控制通过逻辑路由器互连从第一虚拟网络的源逻辑路由器到第二虚拟网络的目的地逻辑路由器的路由中的一个或多个的泄漏;并且由虚拟网络控制器将策略推送到交换结构的一个或多个物理装置,以应用于通过逻辑路由器互连的通信。
在附图和以下描述中阐述了一个或多个示例的细节。根据说明书和附图以及根据权利要求书,其他特征、目的和优点将是显而易见的。
附图说明
图1是示出包括数据中心的示例网络的框图,其中,可以实现本文描述的技术的示例。
图2是示出示例Clos网络的框图。
图3是示出图1的虚拟网络控制器的额外细节的框图。
图4是更详细地示出图2的策略控制器和支持TOR交换机的框图。
图5是示出根据本公开的各方面的用于路由策略配置的基于UI的功能的屏幕截图,包括示出关于基于路由策略选择的LR互连设置的不同装置类型的各种“从(from)”子句和“然后(then)”子句。
图6是示出由虚拟网络控制器呈现的UI的示例的屏幕截图,该UI使得用户能够定义物理装置类型的路由策略,包括指定要由交换结构的物理装置应用以控制路由泄漏的从(FROM)策略语句选项和然后(THEN)策略语句选项。
图7A、图7B是示出指定策略的示例配置数据的屏幕截图,本公开的虚拟网络控制器可以生成并部署不同虚拟网络的逻辑路由器以控制逻辑路由器之间的路由泄漏。
图8是示出根据本公开的各方面的用于路由泄漏的同一结构内的LR互连的屏幕截图。
图9示出了使用VN选择建立的结构内LR互连。
图10是示出根据本公开的各方面的基于路由策略选择的LR互连设置的屏幕截图。
图11是示出根据本公开的一种或多种技术的虚拟网络控制器的示例操作的流程图。
具体实施方式
图1是示出包括数据中心102的示例网络100的框图,其中,可以实现本文描述的技术的示例。通常,数据中心102例如通过服务提供商网络(未示出)为耦接到数据中心的客户120提供用于应用程序和服务的操作环境。数据中心102可以例如托管基础设施设备,诸如联网和存储系统、冗余电源和环境控制。将客户120耦接到数据中心102的服务提供商网络可以耦接到由其他提供商管理的一个或多个网络,并且因此可以形成大规模公共网络基础设施(例如,因特网)的一部分。
在一些示例中,数据中心102表示许多地理上分布的网络数据中心中的一个。如图1的示例所示,数据中心102可以是为客户120提供网络服务的设施。客户120可以是集体实体,诸如企业和政府或个人。例如,网络数据中心可以为若干企业和终端用户托管web服务。其他示例性服务可以包括数据存储、虚拟专用网络、流量工程、文件服务、数据挖掘、科学或超级计算等。在一些实施例中,数据中心102可以是单独的网络服务器、网络对等体等。
在该示例中,数据中心102包括经由互连拓扑118互连的一组存储系统和应用服务器108A至108N(服务器108),其可以包括由一层或多层物理网络交换机和路由器提供的交换结构。服务器108可以是相应的裸机服务器(BMS)。在图1的示例中,互连拓扑118包括机箱交换机104A至104N(机箱交换机104)和架顶式(TOR)交换机106A至106N(TOR交换机106)。例如,机箱交换机104可以形成脊和叶拓扑的脊节点,而TOR交换机106可以形成脊和叶拓扑的叶节点。应当理解,如下面更详细地讨论的,可以在其他示例中使用其他拓扑。服务器108为与客户120相关联的应用和数据提供执行和存储环境,并且可以是物理服务器、虚拟机或其组合。
通常,互连拓扑118表示在服务器108之间提供点对点连接的层二(L2)和(在一些示例中)层三(L3)交换和路由组件。在一个示例中,互连拓扑118包括实现行业标准协议的一组互连的、高性能但现成的基于分组的路由器和交换机。在一个示例中,互连拓扑118可以包括现成组件,其提供以太网上的因特网协议(IP)(IPoE)点对点连接。
在图1中,虚拟网络控制器112提供了用于配置和管理数据中心102的路由和交换基础设施的高级控制器。可以在2013年5月6日提交的国际申请号PCT/US2013/044378和2014年3月26日提交的美国专利申请第14/226,509号(现在发布为授予的美国专利第9,571,394号)中发现结合网络100的其他装置或其他软件定义的网络操作的虚拟网络控制器112的示例细节,这些专利中的每一个的全部内容通过引用并入本文。
虚拟网络控制器112可以表示例如软件定义的网络(SDN)控制器,其使用SDN协议(诸如OpenFlow协议)来通信和管理数据中心102的装置。在“OpenFlow SwitchSpecification version 1.1.0”,OpenFlow Consortium,February 2011中发现了关于OpenFlow的其他细节,其全部内容通过引用并入本文。此外,虚拟网络控制器112可以使用其他接口类型(诸如简单网络管理协议(SNMP)接口、路径计算元件协议(PCEP)接口、装置管理接口(DMI)、CLI、到路由系统的接口(IRS)或任何其他节点配置接口)与数据中心102的路由和交换基础设施通信。
根据本公开的示例,虚拟网络控制器112提供逻辑上和在某些情况下物理上集中的控制器,用于促进数据中心102内的一个或多个虚拟网络的操作。在一些示例中,虚拟网络控制器112可以根据从网络管理员110接收的配置输入来操作。可以在2013年6月5日提交的题为PHYSICAL PATH DETERMINATION FOR VIRTUAL NETWORK PACKET FLOWS的国际申请号PCT/US2013/044378中发现关于结合数据中心102的其他装置操作的虚拟网络控制器112的额外信息,其全部内容通过引用并入本文。
尽管未在图1中示出,但是数据中心102还可以包括一个或多个额外的交换机、路由器、集线器、网关、安全装置(诸如防火墙、入侵检测和/或入侵防御装置)、计算机终端、膝上型电脑、打印机、数据库、无线移动装置(诸如蜂窝电话或个人数字助理)、无线接入点、桥接器、电缆调制解调器、应用加速器或其他网络装置。通常,互连拓扑118内的网络流量(诸如服务器108之间的分组流)可以使用许多不同的物理路径遍历互连拓扑118的物理网络。例如,“分组流”可以由分组的报头中使用的值来定义,诸如网络“五元组”,即用于通过物理网络路由分组的源IP地址、目的地IP地址、源端口和目的地端口以及通信协议。例如,五元组的协议元素指定通信协议,诸如TCP或UDP,并且源端口和目的地端口元素分别指连接的源端口和目的地端口。
匹配特定流条目的一个或多个分组数据单元(PDU)的集合表示流。可以使用PDU的任何参数(诸如源和目的地数据链路(例如,MAC)和网络(例如,IP)地址、虚拟局域网(VLAN)标签、传输层信息、多协议标签交换(MPLS)或通用MPLS(GMPLS)标签以及接收流的网络装置的入口端口)来广泛地分类流。例如,流可以表示在传输控制协议(TCP)连接中传输的所有PDU的集合、由特定的MAC地址或IP地址提供的所有PDU的集合、具有相同VLAN标签的所有PDU的集合或者在同一交换机端口接收的所有PDU的集合。
如图1的示例所示,每个TOR交换机106通信地耦接到互连拓扑118中的每个机箱交换机104。类似地,在该示例中,每个机箱交换机104通信地耦接到每个TOR交换机106。TOR交换机106和机箱交换机104在本文被描述为物理装置,该物理装置共同形成数据中心102的“交换结构”,即,路由/交换网络装置的互连拓扑118。因此,在该示例中,从任何一个TOR交换机106到任何另一TOR交换机106的路径数量等于机箱交换机104的数量。尽管字母“N”用于表示TOR交换机106和机箱交换机104两者的未定义数量,但是应当理解,可以存在与机箱交换机104不同数量的TOR交换机106。
服务器108可以对应于数据中心102的相应租户。例如,服务器108A可以对应于第一租户,服务器108B可以对应于第二租户等。互连拓扑118允许例如在服务器108A至108N之间的租户间通信。根据本公开的技术,虚拟网络控制器112可以被配置为自动配置一个或多个服务装置以向租户间通信提供物理网络功能(PNF)。服务装置例如可以是TOR交换机106、机箱交换机104或与其连接的其他装置。通常,服务装置可以是以主动-主动(有源-有源)模式配置的任何国际标准化组织(ISO)开放系统互连(OSI)模型层3虚拟可扩展LAN(VxLAN)网络标识符(VNI)能力的装置。
互连拓扑118可以以各种方式实现,并且不必包括图1所示的装置或布置。在一个示例中,互连拓扑118被实现为脊和叶拓扑。在这样的示例中,机箱交换机104被配置为脊交换机(例如,层3交换机),并且TOR交换机106被配置为叶交换机。
在另一示例中,互连拓扑118被实现为具有三级或更多级的Clos网络。脊和叶网络在功能上类似于三级Clos网络,并且因此,脊和叶网络有时被称为折叠的三级Clos网络。通常,Clos网络包括三级或更多级:入口级、一个或多个中间级和出口级。每一级的节点连接到每个相邻级的每个节点。例如,入口级的每个节点连接到第一中间级的每个节点,并且最后中间级(也是三级Clos网络中的第一中间级)的每个节点连接到出口级的每个节点。图2中示出了示例Clos网络,如下面更详细地讨论的。
在另一示例中,互连拓扑118被实现为虚拟机箱结构(VCF),例如,如在2013年10月30日在http://forums.juniper.net/t5/Data-Center-Technologists/Tiers-in-Virtual-Chassis-Fabric/ba-p/214765可用的Yafan An“Tiers in Virtual ChassisFabric”中所解释的。VCF允许例如通过虚拟网络控制器112将互连拓扑118作为单个装置来管理。可以使用来自加利福尼亚州森尼维尔的瞻博网络公司(Juniper Networks,Inc.,Sunnyvale,CA)的四个QFX5100-24Q交换机作为脊交换机和来自加利福尼亚州森尼维尔的瞻博网络公司的十六个QFX5100-48S交换机作为叶交换机来实现一个示例VCF实现。在该示例中,脊交换机支持48×10千兆以太网(GbE)和6×40GbE接口,而每个叶交换机使用4×40GbE接口作为脊交换机的上行链路。在该特定示例中,这创建每个叶交换机480:160或3:1的超额预订。每个叶交换机支持48×10GbE接口,使得总端口数为768×10GbE,超额预订为3:1。
在另一示例中,互连拓扑118被实现为因特网协议(IP)结构。IP结构由实现边界网关协议(BGP)的路由装置组成,并且每个路由装置是与IP结构中每个其他装置相邻的BGP。示例IP结构可以由作为脊交换机的四个瞻博网络QFX5100-24Q交换机和作为叶交换机的从加利福尼亚州桑尼维尔的瞻博网络公司可用的QFX5100-96S交换机组成。这样的布置产生3072×10GbE可用端口的IP结构。作为示例,在该示例中,使用QFX5100-96S构建叶交换机,并且8×40GbE接口用作进入脊的上行链路。因为在该示例中每个叶交换机具有进入脊的八个上行链路,所以在该示例中整个脊的最大宽度为八。每个叶交换机的每个40GbE接口连接到单独的脊交换机-因此,每个叶交换机每个脊交换机消耗一个40GbE接口。为了计算IP结构的最大大小,服务器接口的数量乘以由脊支持的叶交换机的数量。
在又一示例中,服务器108可以通过根据IEEE 802.1BR的互连拓扑来连接,而不是图1的互连拓扑118。根据IEEE 802.1BR,互连拓扑118可以替代地包括两个脊交换机、多个叶交换机和两个或更多个卫星交换机,使得存在从任何卫星交换机到任何其他卫星交换机的两条或更多条路径。例如,根据IEEE 802.1BR,在机箱交换机104的位置中可以存在两个控制桥接器,并且在TOR交换机106的位置中可以存在多个端口扩展器,如互连拓扑118所示互连。
如本文进一步描述的,虚拟网络控制器112使得用户(例如,管理员)能够生成路由策略以部署到互连拓扑118的物理装置104、106,该互连拓扑118操作以提供数据中心102的分组转发交换结构。例如,该技术可以用于生成从虚拟网络控制器112部署到虚拟路由和转发表(例如,VRF)的路由策略,该虚拟路由和转发表通过交换结构为不同虚拟网络提供流量隔离。如本文所述,每个VRF可以被视为在给定交换机104、106上为不同虚拟网络提供分组交换/路由操作的逻辑路由器。因此,每个VRF通常与其他VRF隔离,使得VRF之间不会共享特定于客户的路由或交换信息。根据本公开的技术,虚拟网络控制器112提供用户界面,该用户界面向管理员110呈现一个或多个选项,通过该选项来定义在数据中心交换结构(即,互连拓扑118)的交换机104、106上操作的各种逻辑路由器(LR)之间的逻辑“互连”。此外,对于在管理员的用户输入中指定的任何结构内LR互连,虚拟网络控制器自动生成路由策略并将策略部署到在交换结构内的物理装置上操作的LR,以使LR在其相应的虚拟网络中选择性地“泄漏”路由,即共享特定的路由信息,即使VRF可能不是同一路由域内的对等逻辑路由器,并且以其他方式在不同的虚拟网络中操作,这些虚拟网络在路由和网络域方面彼此逻辑隔离。以这种方式,虚拟网络控制器可以自动生成配置信息和策略,当该信息和策略被部署到交换结构的物理装置(即,底层装置)时,在特定的VRF之间建立通信互连,并且精确地控制以其他方式隔离的VRF之间特定路由的泄漏(共享)。因此,该技术基于管理提供的用户输入以单向方式提供对从单个源LR到一个或多个目的地LR的路由泄漏的细粒度控制。
通常,该技术使得虚拟网络控制器112能够自动生成“路由策略”,以部署到底层装置(例如,逻辑路由器在其上执行的主机物理装置)。该策略定义了用于使底层物理装置实现覆盖网络的逻辑路由器之间的逻辑互连的规则。当由物理装置应用时,该策略使得物理装置能够实现逻辑路由器之间定义的逻辑互连,并且精确地控制逻辑路由器之间路由信息的泄漏。该策略可以例如由在物理装置上执行的主机操作系统或管理程序来应用,并且为在其上执行的逻辑路由器提供操作环境。
在一些示例中,由物理装置以单向方式从源逻辑路由器到一个或多个目的地逻辑路由器实现路由泄漏。在本文描述的各种示例中,虚拟网络控制器112可以使得用户能够以各种方式生成物理装置策略(诸如通过选择用户已经为虚拟网络建立的特定路由策略,或者通过选择虚拟网络本身并且基于该选择为相关物理装置创建策略)以用于控制路由泄漏。
在一个示例中,虚拟网络控制器112生成并部署指定路由组(例如,RIB组)的策略,以控制从源LR到多个目的地LR的路由的泄漏,其中,源LR和目的地LR部署在交换结构内的同一物理装置上。通过将一个或多个路由表分组以形成路由表组,由交换机104、106中的一个执行的路由协议可以将路由导入该组中的所有路由表中(例如,交换机上的多个VRF),并且可以从单个路由表导出路由。可以在“[Junos]What is the use of RIB groups andhow are they used?”,https://kb.juniper.net/InfoCenter/index?page=content&id=kb16133&actp=METADATA,Juniper Networks,April 2020和“rib-groups”,https://www.juniper.net/documentation/en_US/junos/topics/reference/configuration-statement/rib-groups-edit-routing-options.html,Juniper Networks,April 2020中发现关于RIB组的进一步信息,其中的每一个通过引用并入本文。
此外,虚拟网络控制器112自动生成并部署特定于协议的策略(例如,边界网关协议导出和导入策略),以控制从源LR到一个或多个目的地LR之间的路由的泄漏,其中,源LR和目的地LR部署在数据中心102的交换结构内的不同物理装置104、106上。
例如,如果三个租户(例如,大公司的三个部门)被配置为经由相应的隔离VLAN(和相应的逻辑路由器的集合)进行内部通信,但是希望某些租户间通信在VLAN之间流动,则租户的管理员可以与控制器112交互,以指定一个或多个“逻辑互连”,作为用于导出和导入一个或多个VLAN之间的路由的通信机制,使网络控制器自动生成策略并将其部署到逻辑路由器以使逻辑路由器在相应的VN对之间建立单向通信,并使用通信机制选择性地在逻辑路由器之间执行“路由泄漏”。例如,虚拟网络控制器112可以实现从服务器108A到服务器108B、从服务器108B到服务器108C等的单向通信,并且可能需要交换结构118内的对应逻辑路由器的路由表来在与不同VLAN相关联的服务器之间路由流量,因此需要通过所定义的互连在逻辑路由器之间泄漏路由信息。根据本公开的技术,虚拟网络控制器112可以使用先前建立的单向路由(经由上述路由泄漏技术建立)来构建进一步的配置。
例如,如果已经存在从服务器108A到服务器108B和从服务器108B到108C建立单向通信策略,则虚拟网络控制器112可以实现本公开的技术以创建以嵌套的方式包含这些规则、向下钻到物理装置级的另一路由策略。以这种方式,虚拟网络控制器112可以实现本公开的技术以提高数据中心102的不同租户之间的通信的可扩展性和可用性。
同样,每个LR使得两个VN能够通过单向策略规则互连。在两个较大或相对复杂的VN通过给定的LR彼此通信的情况下,策略规则的单向性质需要第二LR在相同的两个VN之间以相反的方向通信。虚拟网络控制器112实现本公开的技术以消除创建具有相同VN的三个LR(具有用于混合域的所有种类的VN间规则的第三LR)以使得能够与第三VN进行通信的需要,而不是,使得两个现有LR之间的互连能够通过为LR间互连定义的单向通信策略进行互连。
图2是示出示例Clos网络130的框图。Clos网络130或类似的Clos网络通常表示图1的互连拓扑118的一个示例布局。在该示例中,Clos网络130包括三级交换机:入口交换机132A至132N(入口交换机132)、中间级交换机134A至134N(中间级交换机134)和出口交换机136A至136N(出口交换机136)。尽管字母“N”用于为入口交换机132、中间级交换机134和出口交换机136中的每一个指定可变数量,但是应当理解,包括在每一级中的交换机的数量不必相同。即,可以存在不同数量的入口交换机132、中间级交换机134和出口交换机136。此外,尽管Clos网络130包括三个级别,但是应当理解,一般的Clos网络可以包括任何数量的级别。
如本文进一步描述的,该技术可以用于生成路由策略以部署到Clos网络130的物理装置,该物理装置操作以经由数据中心的互连拓扑的交换结构提供分组转发。例如,该技术可以用于为与由物理分组转发装置132、134利用的虚拟路由和转发表(例如,VRF)相关联的逻辑路由操作生成路由策略以使用交换结构上的不同虚拟网络来提供流量隔离,其中,该策略控制在相同物理装置上或者甚至在Clos网络130的不同物理装置上操作的逻辑路由器的虚拟网络之间的选择性路由泄漏。为了说明,在图2的示例中,响应于管理员110指定在与虚拟网络133A和133B相关联的逻辑路由器之间创建“逻辑互连”的输入,控制器112可以自动生成路由器策略以控制VLAN 133A的VRF 135A与VLAN 133B的VRF 135B之间的路由泄漏,从而允许租户间流量严格按照路由策略在VLAN之间流动。
此外,在一些示例中,本文所述的技术可以用于自动生成策略并将其部署到VRF135A、135B的集成路由和桥接(IRB)接口以控制通过数据中心的转发路径中的PNF 137的租户间流量流(业务流)作为两个或更多个租户之间的流量流。例如,流入虚拟网络133A、133B的VRF 135A、135B中的一个的流量可以在流入另一虚拟网络并返回到交换机134A之前从VRF分流到PNF 137以用于网络服务的应用。
这些技术可以简化数据中心的装置和网络的架构,因为它可以扩展在使用例如以太网VPN虚拟可扩展LAN(EVPN VxLAN)的数据中心IP-Clos网络中已经广泛使用的结构和配置,以通过任何通用PNF应用租户间服务链。该架构还允许软件定义的网络(SDN)控制器自动配置租户间服务链,而不需要任何手动干预,例如经由命令行界面(CLI)手动输入命令。
图3是示出图1的虚拟网络控制器112的额外细节的框图。如图3所示,虚拟网络控制器112包括策略控制器124。在各种示例中,策略控制器124在项目级别分发包括对象的标签的策略规则。策略控制器124可以额外地或可选地分发策略规则,包括指定各种不同对象级别(诸如全局环境级别、项目级别、虚拟网络级别、虚拟机级别或接口级别)的标签。策略控制器124可以使用各种配置对象来实现一个或多个策略。
作为一个示例,策略控制器124可以在全局级别应用一组配置对象,其中,该组配置对象包括跨多个级别和/或类别的全局应用策略集、全局防火墙策略、全局防火墙规则和全局标签。策略控制器124可以在全局级别将第一组配置对象分发到虚拟路由器。策略控制器124将与全局应用策略集、全局防火墙策略和全局防火墙规则相关联的全局标签与用全局标签标记的对象匹配。基于全局应用策略集、全局防火墙策略和全局防火墙规则,策略控制器124允许或阻止用全局标签标记的对象的接口之间的网络流量。例如,接口可以是虚拟机接口(VMI)或者互连拓扑118的物理装置的交换机接口。
策略控制器124可以在项目级别应用不同的一组配置对象,其中,该组策略规则包括跨多个级别的项目特定的应用策略集、防火墙策略、防火墙规则和标签。策略控制器124可以通过将与项目特定的应用策略集、防火墙策略和防火墙规则相关联的项目标签与用项目标签标记的对象匹配,在项目级别分发该组配置对象。基于项目特定的应用策略集、防火墙策略和防火墙规则,策略控制器124允许或阻止用项目标签标记的对象的接口之间的网络流量。
在进一步的示例中,策略控制器124可以指定较低级别的配置对象,诸如在虚拟网络特定级别、虚拟机特定级别和/或接口特定级别定义的应用策略集、防火墙策略、防火墙规则和标签。通过这样做,策略控制器124可以将分层策略集应用于数据中心102内的各种对象。因此,本公开的技术允许在许多不同类型的部署和执行环境中分布可扩展且稳健的简化流量策略。在2017年11月22日提交的题为“Scalable Policy Management forVirtual Networks”的美国专利申请第15/819,522号中发现了额外描述,其全部内容通过引用并入本文。
虚拟网络控制器112还操作图形用户界面(GUI)126形式的交互式用户界面。虚拟网络控制器112可以经由GUI 126向管理员110显示数据(诸如配置选项),并且可以经由GUI126从管理员接收用户输入(诸如配置选项选择或其他特定输入)(以IP地址等的形式)。GUI126的内容可以诸如响应于从管理员110接收的最后用户输入在各个阶段改变。下面参考附图的其他附图描述GUI 126的各种实施例的屏幕截图。
图4是更详细地示出图2的策略控制器和支持TOR交换机的框图。图4所示的策略控制器124可以表示图2的示例中所示的策略控制器23的一个示例。如图4的示例所示,策略控制器124可以表示根据本公开的一个或多个方面执行操作的工具、系统、装置、引擎和模块的集合。图4的策略控制器124可以以与结合图1提供的策略控制器23的描述一致的方式来实现。在图4中,策略控制器124包括策略202,如图1所示。
策略202也可以以与结合图1至图4提供的策略的描述一致的方式来实现。在一些示例中,如图2所示,策略202可以被实现为数据存储。在这样的示例中,策略202可以表示用于存储策略202和/或与策略202相关的信息的任何合适的数据结构或存储介质。策略202可以主要由策略控制引擎211维护,并且在一些示例中,策略202可以通过NoSQL数据库来实现。策略控制引擎211还可以控制适配器207。在一个示例中,策略控制引擎211调用一个或多个适配器207来发现平台特定的资源,并与平台特定的资源和/或其他云计算平台交互。
例如,一个或多个适配器207可以包括被配置为与在服务器126上操作的OpenStack云操作系统通信的OpenStack适配器。一个或多个适配器207可以包括被配置为与服务器126上的Kubernetes平台通信的Kubernetes适配器。适配器207可以进一步包括亚马逊网络服务适配器、微软Azure适配器和/或谷歌计算引擎适配器。这样的适配器可以使策略控制器124能够学习和映射服务器12和机箱交换机104所利用的基础设施。策略控制器124可以同时使用多个适配器207。
作为一个示例,策略控制引擎211可以实例化表示基础设施(诸如机箱交换机104、TOR交换机106或服务器108)的一个或多个对象。如上所述,策略控制引擎211可以在策略管理数据库202内实例化用于支持TOR交换机106和机箱交换机104的一个或多个对象(这可以是引用策略202的另一种方式)。策略控制引擎211可以将要由基础设施的各个部分实施的策略202与策略管理数据库的各个对象相关联。装置管理器218可以表示被配置为通过经由适配器207的检查来管理由策略控制引擎211发现的网络装置的单元。
响应于确定一个或多个策略202与表示TOR交换机106和/或相邻机箱交换机104的对象相关联,装置管理器218可以以上面更详细地讨论的方式将策略202转换为由TOR交换机106支持的配置数据(在图4的示例中示出为“路由策略50”)。为了说明,考虑一些TOR交换机106可以支持地址组,而其他TOR交换机16可以不支持。此外,机箱交换机104的接口可以与一个或多个标签相关联,或者可以将标签从项目/虚拟节点(VN)继承到BMS表示的VMI接口。
装置管理器218可以从与机箱交换机104的接口相关联的一个或多个标签(可以是列表)中选择应用标签、在全局和可能的项目配置级别上的对应的应用策略集(APS)以及潜在地全局默认APS级别。装置管理器218可以按以下顺序首先选择全局默认APS,然后选择全局应用标签APS,接着选择与BMS接口相关联的项目默认APS,并且然后选择与BMS接口相关联的项目应用标签APS。作为示例,考虑示例动作(通过)策略规则,其中,端点1(标签的路由引擎表达式)的服务组(例如,端口和协议的列表)在到具有匹配条件的端点2(使用标签的正则表达式识别)的方向(接收->或发送<-,或两者<-->)上。
TOR交换机106可以包括或不包括服务组结构。当TOR交换机106包括服务组结构时,装置管理器218可以按原样转换以上策略的服务组。当TOR交换机106不包括服务组结构时,装置管理器218可以将以上策略的转换转换为平面列表,并同样重复所有其他元组。装置管理器218接下来可以识别端点1和端点2的正则表达式何时支持“=”和“与(&)”。例如,假设端点1为“层=网络与网站=USA与部署=生产”。装置管理器218可以创建称为“Tier_Web_Site_USA_Deployment_Production”的地址组,并将具有以上标签的所有端口添加到该地址组。
装置管理器218可以针对端点2的正则表达式执行相同的操作。当address_group表达式不存在时,装置管理器218可以使用每个IP前缀并重复元组中的其他条目。当处理匹配条件时,装置管理器218可以扩展它们并将其定义为端点1和端点2的一部分。例如,假设以上策略在应用程序上匹配。假设装置管理器218接收到“应用程序=HRAPP”和“应用程序=FinanceApp标签”,则装置管理器218可以将这些条件作为多个规则添加到端点1和端点2。装置管理器218可以将前述定义为平面规则,该平面规则表示由TOR交换机106支持的配置数据,并且基于以上策略中阐述的方向将TOR交换机106内的平面规则编程为入口和出口规则。
然后,装置管理器218可以与TOR交换机106对接,以基于路由策略50使用NETCONF219来配置TOR交换机106内的策略。可以在2011年6月的题为“Network ConfigurationProtocol(NETCONF)”RFC 6241中发现关于NETCONF的更多信息,其全部内容通过引用并入本文。尽管被描述为使用NETCONF 219与TOR交换机106对接,但是装置管理器218可以利用通过其与TOR交换机106对接的任何装置管理协议,诸如Junos PyEz。在任何情况下,装置管理器218可以在TOR交换机106内安装路由策略50,从而允许TOR交换机106实施由路由策略50表示的策略。
装置管理器218可以将每个路由策略50与交换机104、106中的特定一个上的逻辑路由器(例如,VRF)实例中的对应一个相关联。换句话说,装置管理器218可以识别机箱交换机104耦接到的TOR交换机106的端口。装置管理器218可以通过检查策略202获得TOR交换机106的端口,其中,表示TOR交换机106的对象可以识别机箱交换机104耦接到TOR交换机106的端口。当获得策略202时,装置管理器218还可以确定机箱交换机104的哪个端口耦接到TOR交换机106。
策略202可以包括标签标识符,装置管理器28可以获得该标签标识符以便识别策略202与各种工作负载之间的关联。以这种方式,装置管理器28可以识别由策略202与其相关联的机箱交换机104执行的工作负载。然后,装置管理器28可以将策略202转换为由TOR交换机106支持的配置数据,以针对在TOR交换机106与由机箱交换机104经由所识别的端口执行的相关联的工作负载之间传递的网络流量51来实施策略202的至少一部分。装置管理器218还可以与TOR交换机106对接以更新路由策略50。
即,响应于确定与表示TOR交换机106和/或机箱交换机104的对象相关联的一个或多个策略202已经改变,装置管理器218可以将更新的一个或多个策略202转换为新的路由策略50,并且经由NETCONF 219配置TOR交换机106,以将新的路由策略50应用于经由所识别的端口在TOR交换机106与机箱交换机104之间传递的网络流量51。然后,TOR交换机106可以将路由策略50应用于去往和/或从机箱交换机104接收的网络流量51。路由策略50的应用可能导致TOR交换机106丢弃和/或转发由网络流量51表示的一个或多个流。
尽管未在图4的示例中示出,但是装置管理器218可以获得指示丢弃和/或转发哪些流的信息,并且生成指示丢弃和/或转发的流的一个或多个警报、错误、警告和/或报告,其可以用于对机箱交换机104、TOR交换机106本身等上的不同工作负载的执行进行故障排除。如图4的示例中进一步所示,策略控制器124还包括TSN 220。TSN 220可以表示被配置为与TOR交换机16对接以便提供后端服务(诸如域名系统(DNS)服务221(“DNS 221”)和动态主机配置协议(DHCP)服务(“DHCP 223”))的单元。
可以在1987年11月的题为“Domain Names–Concepts and Facilities”的RFC1034和1987年11月的题为“Domain Names–Implementation and Specification”的RFC1035发现关于DNS的更多信息,两者的全部内容通过引用并入本文,如同在其相应的全部内容中阐述一样。可以在1997年3月的题为“Dynamic Host Configuration Protocol”的RFC2131中发现关于DHCP的更多信息,其全部内容通过引用并入本文,如同在其全部内容中阐述一样。TSN 220还可以包括以上述方式获得路由通告300的BGP服务225(“BGP 225”)。
作为一个示例,响应于经由DHCP 223接收到对网络地址的请求,TSN220可以确定何时发送通告EVPN路由的路由通告300。即,作为获得对网络的接入的方式,机箱交换机104可以发布DHCP发现消息,该DHCP发现消息请求TSN 220和接收该DHCP发现消息的任何其他DHCP服务器提供IP地址的提议。TSN 220可以响应于该DHCP发现消息来提供DHCP提供消息,该DHCP提供消息识别由机箱交换机104使用的IP地址以及与该IP地址的使用相关联的各种参数(持续时间、类型-静态或动态等)。然后,机箱交换机104可以用DHCP请求消息来响应,该DHCP请求消息请求DHCP提供消息中的IP地址被保留以供机箱交换机104使用。
在任何情况下,对IP地址的请求向TSN 220发信号通知机箱交换机104正试图接入网络(这可以在机箱交换机104启动或以其他方式通电之后不久执行)。响应于对IP地址的请求,TSN 220可以调用BGP服务225以获得路由通告300。路由通告300可以包括被寻址为一个或多个BGP扩展社区的标签。该路由可以包括到机箱交换机104的EVPN路由,并且除了标签之外,路由通告300还可以包括将TOR交换机106识别为下一跳的下一跳字段。路由通告300还可以包括与VLAN相关联的标签、与VXLAN相关联的标签以及路由对应的安全组中的一个或多个。
在经由BGP服务器225获得路由通告300之后,TSN 220可以向网络输出或以其他方式发送(诸如广播)路由通告300。TSN 220可以发送路由通告,以便使机箱交换机104能够与由服务器108的虚拟路由器支持的任何其他覆盖工作负载通信。每个虚拟路由器可以处理路由通告300,以提取标签。虚拟路由器可以在策略评估期间处理标签。每个策略可以包括标签标识符(ID)。
虚拟路由器可以处理标签,并且基于标签ID来识别针对经由相关联的路由接收或发送的流量要实施哪个策略。可以在2017年3月31日提交的题为“SESSION-BASED TRAFFICSTATISTICS LOGGING FOR VIRTUAL ROUTERS”的美国申请序列号15/476,136(其全部内容通过引用并入本文,如同在其全部内容中阐述一样);以及以上提到的2017年11月21日提交的题为“SCALABLE POLICY MANAGEMENT FOR VIRTUAL NETWORKS”的美国专利申请序列号15/819,522中发现关于策略评估的更多信息。
然后,执行租户VN的VN代理可以实施与标签相关联的各种策略,以禁止或授权经由路由向相关联的机箱交换机104传输流量。TOR交换机106可以接收路由通告300并尝试处理路由通告300。然而,因为路由通告300中的下一跳识别TOR交换机106,所以TOR交换机106可以在更新由TOR交换机106存储的路由信息之前丢弃路由通告300,从而防止网络流量的任何循环转发。
使用经由GUI 126接收的输入,策略控制引擎使用互连拓扑118的物理装置作为中间装置,生成允许不同租户的VN之间的通信的策略202。每个租户具有使用服务器108执行的其自己的VN(例如,子网)。为了实现VN之间的通信,装置管理器218使VN执行路由泄漏。例如,经由路由泄漏,装置管理器218可以推送允许特定VN子网以单向方式与特定端口通信的策略202中的一个等。装置管理器218可以使用LR建立从第一租户VN到第二租户VN的单向通信。
策略控制器124可以使管理员110能够创建额外级别的规则,该规则允许单个LR也与一个或多个其他LR单向通信(例如,使数据中心102的一个楼层能够向一个或多个其他楼层发送出口通信等)。策略控制引擎211可以更新策略202以包括根据允许哪些通信的防火墙策略、方向的检查、应用约束等。策略控制引擎211还可以更新策略202以指定如何进行LR间通信,和/或传送什么类型的数据。装置管理器218将策略202推送到互连拓扑118的交换结构的物理装置(TOR交换机106和机箱交换机104)。
因此,策略控制器124实现本公开的技术以为物理装置添加路由策略。策略的示例是,如果通信包括特定的预先指定的值,则接受来自特定IP地址的通信。尽管策略202的这些规则仅应用于互连拓扑118的物理装置,但是装置管理器218将这些策略推送到覆盖,以便然后被推送到底层网络。一旦以这种方式经由覆盖网络推送到底层网络,策略控制器124使用路由策略来实现同一交换结构(在该示例中为互连拓扑118)内的一个或多个LR互连。因此,本公开的LR互连被应用于互连拓扑118的交换结构的物理装置(TOR交换机106和/或机箱交换机104)之间的互连。
在互连拓扑的交换结构包括200个交换机和10个VN预先存在于各个租户的示例中,10个IP子网(IP地址)预先存在于租户。在该示例中,也可以存在多个LR,以实现从一个VN到其余九个VN中的一个或多个的单向通信。因此,多个VN可以经由每个LR通信。根据通信路径的跳,每个LR被推送到交换结构的离散数量的物理装置。在接收到分组数据流量时,物理装置使用预推送的LR配置来检查流量,并确定如何处理流量。
装置管理器218实现本公开的技术以在先前创建的LR之间建立LR到LR的通信。例如,策略控制引擎211可以使用经由GUI 126接收的输入来制定策略202,使得一些策略202反映用于结构内LR到LR通信的路由策略规则。以这种方式,管理员110可以使用虚拟控制器112(在一些示例中,SDN控制器)来配置策略202,以管理结构内LR到LR互连。通过使用策略202中设置的特定规则在同一交换结构内建立多个LR互连,虚拟网络控制器112可以以嵌套的方式生成更多数量的VN到VN连接,从而更有效和更容易地建立更多数量的VN到VN连接。
虚拟网络控制器112可以操作GUI 126以使管理员110能够创建“物理装置”类型或“云路由(vRouter)”类型的路由策略。对于物理装置类型路由策略,管理员110可以配置由上述各种QFX系列路由器支持的“从(from)”策略语句选项和“然后(then)”策略语句选项。另外,虚拟网络控制器112可以使管理员110能够配置几个路由策略属性,该路由策略属性可以被推送到互连拓扑118的交换结构的物理装置(例如,TOR交换机106和/或机箱交换机104)。
根据本公开的各方面,虚拟网络控制器112将GUI 126配置为包括用于在互连拓扑118的交换结构内建立LR互连的选项。一旦建立,结构内LR互连使用由管理员110提供的路由策略或由管理员110选择的租户VN子网列表泄漏从单个源LR到一个或多个目的地LR的单向通信的路由。例如,LR1到LR2表示一个互连,而LR2到LR1是另一互连。这些LR互连的单向设置改善了互连的维护方面,使其更易于维护。
为了泄漏路由,管理员110可以选择一个LR作为源,并且可以选择一个或多个LR作为目的地。管理员110可以选择存在于源LR中的路由策略列表或租户VN列表以形成策略202。例如,管理员110可以选择已经创建的路由策略,或者可以选择已经存在于单个源LR中的VN。在后一种情况下,策略控制器124从VN子网内部创建路由策略,从而减轻由于否则要求管理员110创建路由策略所引起的用户交互。
关于路由泄漏,出于隔离目的,每个VN具有一个身份,并且管理员110可以选择VLAN(L2)或VXLAN(L2/L3)。VLAN内的所有元件可以相互通信。为了指定哪个IP或子网可以通信,策略控制器124通过指定从和然后子句来建立策略202的路由策略。策略控制器124可以更新路由表(路由信息库或“RIB”)以反映规则。每个LR具有其自己的RIB,并且因此策略控制器124可以列出LR上的特定IP地址。LR在网络中创建为结构(以及VN和互连)。装置管理器128可以通过推送经由GUI 126接收的策略信息来配置物理装置,以创建源LR的路由实例,并为每个LR指定特定的IP地址。
以这种方式,虚拟网络控制器112使配置物理装置(例如,诸如作为路由实例的LR源或接口路由协议、静态协议、BGP协议等的协议集等的结构)所需的若干策略转换和推送操作自动化。因此,虚拟网络控制器112自动创建策略以实现这些协议的通信,并且也自动创建这些通信的结构。通过以这种方式将这些规则配置推送到物理装置,虚拟网络控制器112也将本公开的技术实施为物理装置配置操作的易错性。由装置管理器218实现的抽象层以干净的方式执行路由策略创建。当在LR建立期间处理路由实例创建时,装置管理器218在互连拓扑118的交换结构的物理装置上安装策略。
作为虚拟网络控制器112根据本公开创建的每个LR到LR互连的一部分,虚拟网络控制器112还创建RIB组配置。管理员110可以选择现有的LR,并且装置管理器218可以使用本公开的结构内LR互连创建来缝合所包括的路由实例。VNI、VXLAN信息、允许通信的VN以及其他策略属性通过RIB组推送到物理装置。
如果互连的LR驻留在不同的物理装置上,则该物理装置不能访问彼此的路由实例(例如,经由其他物理装置上的LR)。经由本公开的基于策略推送的物理装置配置,物理装置共享路由实例。例如,源装置可以执行VRF导出,并且每个目的地装置可以执行VRF导入。每个LR对应于不同的VRF,并且因此管理员110可以保持对哪些LR驻留在哪些物理装置上是不可知的。装置管理器218基于LR发现来使配置自动化并将其推送到物理装置,并且互连的LR是驻留在同一装置上还是不同装置上是不重要的。
图5是示出根据本文所述的技术的由虚拟网络控制器112呈现的用于自动生成路由策略配置的基于UI的功能的屏幕截图,该路由策略配置用于定义逻辑互连并控制不同虚拟网络的隔离逻辑路由器之间的路由泄漏。图5的屏幕截图包括管理员110可以经由虚拟网络控制器112的GUI 126输入的各种属性及其值。在该示例中,如果管理员110选择物理路由器选项,则管理员110可以指定用于与从其他路由器接收的路由信息进行匹配的各种标准(例如,指定匹配标准的“从”子句,诸如路由信息的路由协议、系列等)。在用例场景的子网中,自动生成的路由策略可以在协议到协议的基础上变化。此外,在将由策略指定的标准与经由逻辑互连接收的路由信息匹配时,管理员可以定义由接收路由器要采取的一个或多个动作(称为“然后”子句)。在图5中示出对应于选择的示例从子句和然后子句。路由策略术语被扩展以允许自动生成所示的一组属性及其选项以用于配置物理装置类型路由策略,这与适用于上述QFX系列路由器的装置策略语句选项直接相关。装置管理器218可以推送到物理装置的路由策略的示例如下所示:
●示例从子句语法:
○协议:<聚合|bgp|直接|evpn|ospf|ospf3|pim|静态>
○系列:<inet|inet-vpn|evpn>
○AS-路径:<由空格分隔的AS号>
○外部:<OSPF类型1|OSPF类型2>
○本地-前缀:<整数>
○NLRI:<[从1至10的多个值的列表]>
○前缀列表:<[接口路由表UUID的列表]><精确|更长|或更长>
○路由过滤器:<路由过滤器IP地址或主机名><精确|更长|或更长|前缀-长度-范围<'/<最小长度>-/<最大长度>'>|通过<字符串>|直到<字符串>>
●示例然后子句语法:
○动作:<接受|下一个|拒绝>,外部:<OSPF类型1|OSPF类型2>
○AS-路径-扩展:<由空格分隔的AS号>
○AS-路径-前置:<由空格分隔的AS号>
图6是示出由虚拟网络控制器呈现的UI的示例的屏幕截图,该UI使得管理员110能够定义物理装置类型的路由策略,包括指定要由交换结构的物理装置应用以控制路由泄漏的从策略语句选项和然后策略语句选项。如果选择了“物理装置类型”选项,则GUI 126可以显示适用于物理装置的所有属性。作为路由策略的一部分,管理员110可以输入用于创建、删除和所有支持的功能的信息。虚拟网络控制器经由GUI 126接收用户输入,并将结果路由策略规则推送到互连拓扑118的交换结构。
为了在单个交换结构内实现LR互连,装置管理器218可以自动生成路由策略,该路由策略使用策略202的特定路由策略(特别是路由过滤器选项和与其链接的社区)来配置逻辑路由器(LR)以将路由从单个源LR泄漏到一个或多个目的地LR。通过用户设置的路由策略或通过选择的VN泄漏路由。该社区是具有不与任何其他社区重叠的唯一编号的VRF。每个社区表示虚拟网络控制器112形成的用于泄漏路的域。给定域的编号,并使用该域的内容,装置管理器可以接受路由过滤器以推送到物理装置。
在一些示例中,虚拟网络控制器112的装置管理器218生成策略,使得每个泄漏的路由以单向方式从源LR泄漏到一个或多个目的地LR。在其他示例中,当源LR和目的地LR两者都存在于同一物理装置上时,装置管理器218可以生成策略以指导逻辑路由器定义和利用RIB组作为泄漏路由的逻辑互连。此外,如果源LR和目的地LR存在于不同的物理装置上,则装置管理器218在接收到泄露的路由时生成并部署路由策略以指导LR在目的地LR上使用VRF导入功能。在这些示例中,装置管理器218可以生成路由策略以指定在使用RIB组泄漏路由时使用的逻辑路由器的社区名称和社区成员。如果不是经由用户输入作为源LR UI页面中的路由目标值提供,社区成员是用户在LR UI页面上配置的路由目标值,或者是由虚拟网络控制器112自动生成的值。
为了生成结构内LR互连,虚拟网络控制器112经由GUI 126从管理员110接收各种信息。对于源LR,管理员110可以选择单个源LR以及存在于源LR中的VN列表中的一个或者一个或多个路由策略的列表。
对于每个目的地LR,虚拟网络控制器112可以使管理员112能够选择一个或多个物理路由器装置。为了实现LR互连,如果管理员110选择存在于源LR中的VN列表,则虚拟网络控制器112可以在内部创建路由策略,其中,路由过滤器被设置到所选择的VN的子网。装置管理器218可以使用该路由策略来泄漏从源LR到目的地LR的路由。
如果管理员110选择路由策略列表(所示的屏幕截图中的RP),则虚拟网络控制器112可以通过在内部添加具有设置到源LR的路由目标值的社区成员字段的相应社区来使用指定的RP。虚拟网络控制器112可以仅针对具有用“接受”条件定义的“路由过滤器”从子句的那些RP术语在内部添加该社区。本公开的结构内LR互连技术不允许在多于一个LR互连中选择相同的源LR作为源。
由于LR互连是单向的,因此装置管理器218可以使用重组技术来进行装置内LR路由泄漏。如果LR分布在不同的装置上,则装置管理器218可以使用本公开的VRF导入和导出技术来泄漏路由。为了建立LR互连,虚拟网络控制器112从管理员110获取源LR以及如何泄漏路由,即,使用指定的路由策略或者通过选择预先存在的VN。在内部,生成基于IP的路由策略。对于目的地LR,虚拟网络控制器112呈现指示目的地LR可以在多个物理装置中的任何一个上的额外选项。
管理员110可以选择向其推送配置的相关物理装置。如果管理员110选择列表,则虚拟网络控制器112在内部生成路由策略。因为每个VN具有子网列表,所以策略控制引擎211可以创建路由策略,以使得某些IP地址能够以单向方式泄漏路由。同样,基于LR是托管在同一个物理装置上还是托管在不同的物理装置上而不同地进行路由泄漏。因此,虚拟网络控制器112可以逐步通过用户定义的路由策略,或者可以从管理员110选择的虚拟网络中提取路由策略。如果管理员110创建路由策略,则社区成员不可用于管理员110。
如果管理员110选择用于建立的VN,则虚拟网络控制器112自动生成如下所示的配置信息。如果管理员110提供路由策略,则虚拟网络控制器112可以填充(或“插入”)社区信息。VRF导出过程提供了社区,其为目录或“路由目标”。例如,VRF导出可以配置物理装置以允许特定社区下的某些通信。与新策略相关的所有物理装置接收由策略控制引擎211生成的策略更新。在给定的装置中,接收策略更新的软件进程是推送相应设置的“NetCom”协议。
图7A是示出定义路由策略的示例配置数据的屏幕截图,装置管理器218可以生成路由策略并将其推送到逻辑路由器以定义用于配置在同一物理装置上执行的特定逻辑路由器之间的路由泄漏的RIB组。
图7B是示出定义路由策略的示例配置数据的屏幕截图,装置管理器218可以生成路由策略并将其推送到逻辑路由器以用于配置在不同物理装置上执行的特定逻辑路由器之间的路由泄漏的VRF导入操作。
图8是示出根据本公开的各方面的由虚拟网络控制器112呈现的用户界面的屏幕截图,该用户界面使得管理员能够定义同一结构内的LR之间的LR互连以用于控制虚拟网络之间的路由泄漏。图8的LR互连可以通过重组和/或其他功能来实现。GUI 126通过创建、删除等作为选项向管理员110显示LR互连名称。图8还示出了具有在基于路由策略或基于VN的路由泄漏方法之间选择的选项的单个源LR互连,其具有潜在地多个目的地LR。
图9是示出由虚拟网络控制器112呈现的用户界面的屏幕截图,该用户界面使得管理员能够简单地通过选择对应于LR的虚拟网络来容易地配置LR之间的结构内LR互连。如果管理员110选择LR互连创建(即,在所选择的单个结构中),则虚拟网络控制器112可以更新GUI 126以在下拉菜单中示出基于VN的互连的所有LR。再次,GUI 126使得管理员110能够选择单个源LR,并选择进行路由泄漏的方式(即,上述两个选项)。图9的屏幕截图示出了其中管理员110已经选择了LR互连的基于VN的建立的用例场景。
图9的屏幕截图还示出了LR互连设置的可用VN名称。在所示的用例场景中,管理员110可以选择特定的VN用于导致VN20子网被泄漏的路由泄漏(例如,VN20)。在这种情况下,虚拟网络控制器112自动生成具有所选择的子网的路由策略,并导致路由泄漏。一旦为LR互连设置选择了VN(例如,需要通信的VN),管理员110可以创建LR。然后,装置管理器218将配置推送到物理装置。根据本公开的各方面,管理员110可以在同一结构上为LR互连选择多个LR(具有一个源LR和一个或多个目的地LR)。
图10是示出根据本公开的各方面的启用基于路由策略选择的LR互连设置的虚拟网络控制器112的示例用户界面的屏幕截图。以上讨论的图5是示出根据本公开的各方面的关于基于路由策略选择的LR互连设置的不同装置类型的各种“从”子句和“然后”子句的屏幕截图。
图11是示出根据本公开的一种或多种技术的虚拟网络控制器的示例操作的流程图。出于示例的目的,关于虚拟网络控制器112描述图11。
如在图11的示例中所看到的,虚拟网络控制器112最初向管理员、网络管理系统或其他装置呈现用户界面(例如,GUI、API等),如本文所描述的,并且接收指定用于控制以其他方式隔离的逻辑网络之间的路由泄漏的标准和一个或多个动作的输入(400)。基于用户输入,虚拟网络控制器识别在交换结构的一个或多个物理装置上实现的源逻辑路由器和至少一个目的地逻辑路由器,其中,源逻辑路由器维护指定用于第一虚拟网络的路由的路由信息,并且目的地逻辑路由器维护指定用于第二虚拟网络的路由的路由信息(402)。在一些示例中,虚拟网络控制器可以响应于管理员选择图形图标、从列表中挑选装置或者甚至选择虚拟网络的选择输入来识别逻辑路由器。
接下来,虚拟网络控制器112可以通过虚拟网络控制器形成源逻辑路由器与目的地逻辑路由器之间的逻辑路由器互连(405)。此外,虚拟网络控制器112可以形成定义一个或多个规则的一个或多个策略,用于控制通过逻辑路由器互连从第一虚拟网络的源逻辑路由器到第二虚拟网络的目的地逻辑路由器的路由中的一个或多个的泄漏(410)。虚拟网络控制器112通过将策略推送到交换结构的一个或多个物理装置来部署策略,以便由物理装置经由逻辑路由器互连将策略应用于逻辑路由器之间的通信,从而提供用于配置物理装置的自动化机制,以对从源逻辑路由器操作的虚拟网络泄漏到一个或多个目的地逻辑路由器的虚拟网络的路由实施细粒度控制(415)。
在一些示例中,当形成逻辑路由器互连时,虚拟网络控制器112可以定义路由信息库(RIB)组,该RIB组将源逻辑路由器和目的地逻辑路由器的一个或多个路由表分组以形成RIB组。在这样的示例中,虚拟网络控制器可以构建策略以包括一个或多个规则,该一个或多个规则指定物理装置基于与所创建的RIB组相关联的社区名称或社区成员应用于经由逻辑路由器互连泄漏的路由的动作。在其他示例中,当形成逻辑路由器互连时,虚拟网络控制器可以生成配置数据,该配置数据定义:(i)要由源逻辑路由器执行的虚拟路由和转发(VRF)导出过程,以及(ii)要由目的地逻辑路由器执行的VRF导入,并且形成单向策略包括一个或多个规则,该一个或多个规则指定当将策略应用于通过VRF导出和VRF导入过程在物理装置之间通信的路由时用于标记特定路由和定义物理装置的动作的标准。
示例
示例1:一种方法,包括:由虚拟网络控制器识别在交换结构的一个或多个物理装置上实现的源逻辑路由器和目的地逻辑路由器,其中,源逻辑路由器维护指定用于第一虚拟网络的路由的路由信息,并且目的地逻辑路由器维护指定用于第二虚拟网络的路由的路由信息;由虚拟网络控制器在源LR与目的地LR之间形成逻辑路由器互连;由虚拟网络控制器形成定义一个或多个规则的单向策略,用于控制LR互连内的通信;并且由虚拟网络控制器将单向策略推送到交换结构的一个或多个物理装置。
示例2:根据示例1的方法,其中,用于LR互连内的通信的单向策略表示由源LR和目的地LR相对于相应的VN对实现的LR内通信策略的嵌套组合。
示例3:根据示例1的方法,进一步包括由虚拟网络控制器经由图形用户界面(GUI)接收一个或多个路由策略属性,其中,形成用于LR互连内的通信的单向策略包括使用经由GUI接收的路由策略属性来形成单向策略。
示例4:根据示例1的方法,进一步包括由虚拟网络控制器经由图形用户界面(GUI)接收相应的VNS对的两个或更多个VN的标识,其中,形成用于LR互连内的通信的单向策略包括通过继承所识别的两个或更多个VN之间的VN间路由策略信息来形成单向策略。
示例5:根据示例1的方法,其中,源LR和目的地LR驻留在交换结构的一个或多个物理装置的单个物理装置上,并且其中,推送单向策略的规则包括在源LR与目的地LR之间形成路由信息库(RIB)组。
示例6:根据示例1的方法,其中,源LR和目的LR驻留在交换结构的不同物理装置上,并且其中,推送单向策略的规则包括:由虚拟网络控制器的装置管理器执行关于源LR的虚拟路由和转发(VRF)导出;并且由虚拟网络控制器的装置管理器执行关于目的地LR的VRF导入。
本公开中描述的技术可以至少部分地以硬件、软件、固件或其任何组合来实现。例如,所描述的技术的各个方面可以在一个或多个处理器(包括一个或多个微处理器、数字信号处理器(DSP)、专用集成电路(ASIC)、现场可编程门阵列(FPGA)或任何其他等效的集成或离散逻辑电路以及这样的组件的任何组合)中实现。术语“处理器”或“处理电路”通常可以指单独的或结合其他逻辑电路的任何前述逻辑电路或任何其他等效电路。包括硬件的控制单元还可以执行本公开的一种或多种技术。
这样的硬件、软件和固件可以在同一装置内或在独立装置内实现,以支持本公开所描述的各种操作和功能。另外,所描述的单元、模块或组件中的任何一个可以一起或单独地实现为离散但可互操作的逻辑装置。将不同的特征描述为模块或单元旨在突出不同的功能方面,并且不必意味着这样的模块或单元必须由单独的硬件或软件组件来实现。而是,与一个或多个模块或单元相关联的功能可以由单独的硬件或软件组件来执行,或者集成在共同或单独的硬件或软件组件内。
本公开所描述的技术还可以在包含指令的计算机可读介质(诸如计算机可读存储介质)中体现或编码。嵌入或编码在计算机可读介质中的指令可以使可编程处理器或其他处理器执行该方法,例如当执行指令时。计算机可读介质可以包括非暂时性计算机可读存储介质和瞬态通信介质。有形且非暂时性的计算机可读存储介质可以包括随机存取存储器(RAM)、只读存储器(ROM)、可编程只读存储器(PROM)、可擦除可编程只读存储器(EPROM)、电可擦除可编程只读存储器(EEPROM)、闪存、硬盘、CD-ROM、软盘、盒式磁带、磁性介质、光学介质或其他计算机可读存储介质。应当理解,术语“计算机可读存储介质”是指物理存储介质,而不是信号、载波或其他瞬态介质。
已经描述了各种示例。
示例1.一种方法,包括:由虚拟网络控制器识别在交换结构的一个或多个物理装置上实现的源逻辑路由器和目的地逻辑路由器,其中,源逻辑路由器维护指定用于第一虚拟网络的路由的路由信息,并且目的地逻辑路由器维护指定用于第二虚拟网络的路由的路由信息;由虚拟网络控制器在源逻辑路由器与目的地逻辑路由器之间形成逻辑路由器互连;由虚拟网络控制器形成定义一个或多个规则的策略,用于控制通过逻辑路由器互连从第一虚拟网络的源逻辑路由器到第二虚拟网络的目的地逻辑路由器的路由中的一个或多个的泄漏;并且由虚拟网络控制器将策略推送到交换结构的一个或多个物理装置,以应用于通过逻辑路由器互连的通信。
示例2.根据示例1的方法,其中,用于控制通过逻辑路由器互连的路由的泄漏的策略表示由源逻辑路由器和目的地逻辑路由器实现的LR内通信策略的嵌套组合。
示例3.根据示例1的方法,进一步包括由虚拟网络控制器经由图形用户界面(GUI)接收一个或多个路由策略属性,其中,形成用于逻辑路由器互连内的通信的策略包括使用经由GUI接收的路由策略属性来形成策略。
示例4.根据示例1的方法,进一步包括由虚拟网络控制器经由图形用户界面(GUI)接收相应的VNS对的两个或更多个VN的标识,其中,形成用于逻辑路由器互连内的通信的策略包括通过继承所识别的两个或更多个VN之间的VN间路由策略信息来形成策略。
示例5.根据示例1的方法,其中,源逻辑路由器和目的地逻辑路由器驻留在交换结构的一个或多个物理装置的同一物理装置上,其中,形成逻辑路由器互连包括定义路由信息库(RIB)组,该RIB组将源逻辑路由器和目的地逻辑路由器的一个或多个路由表分组以形成RIB组,并且其中,形成单向策略包括一个或多个规则,该一个或多个规则指定物理装置基于与RIB组相关联的社区名称或社区成员应用于经由逻辑路由器互连泄漏的路由的动作。
示例6.根据示例1的方法,其中,源逻辑路由器和目的地逻辑路由器驻留在交换结构的不同物理装置上,其中,形成逻辑路由器互连包括生成配置数据,该配置数据定义:(i)要由源逻辑路由器执行的虚拟路由和转发(VRF)导出过程,以及(ii)要由目的地逻辑路由器执行的VRF导入,并且其中,形成单向策略包括一个或多个规则,该一个或多个规则指定当将策略应用于通过VRF导出和VRF导入过程在物理装置之间通信的路由时用于标记特定路由和定义物理装置的动作的标准。
示例7.一种网络控制器,包括:存储器;以及处理电路,其被配置为:识别在交换结构的一个或多个物理装置上实现的源逻辑路由器和目的地逻辑路由器,其中,源逻辑路由器维护指定用于第一虚拟网络的路由的路由信息,并且目的地逻辑路由器维护指定用于第二虚拟网络的路由的路由信息;在源逻辑路由器与目的地逻辑路由器之间形成逻辑路由器互连;形成定义一个或多个规则的策略,用于控制通过逻辑路由器互连从第一虚拟网络的源逻辑路由器到第二虚拟网络的目的地逻辑路由器的路由中的一个或多个的泄漏;并且将策略推送到交换结构的一个或多个物理装置,以应用于通过逻辑路由器互连的通信。
示例8.根据示例7的网络控制器,其中,用于控制通过逻辑路由器互连的路由的泄漏的策略表示由源逻辑路由器和目的地逻辑路由器实现的LR内通信策略的嵌套组合。
示例9.根据示例7的网络控制器,其中,处理电路被进一步配置为:经由图形用户界面(GUI)接收一个或多个路由策略属性,形成用于逻辑路由器互连内的通信的策略包括使用经由GUI接收的路由策略属性来形成策略。
示例10.根据示例7的网络控制器,其中,处理电路被进一步配置为:经由图形用户界面(GUI)接收相应的VNS对的两个或更多个VN的标识,并且通过继承所识别的两个或更多个VN之间的VN间路由策略信息来形成策略。
示例11.根据示例7的网络控制器,其中,源逻辑路由器和目的地逻辑路由器驻留在交换结构的一个或多个物理装置的同一物理装置上,其中,处理电路被配置为:定义路由信息库(RIB)组,该RIB组将源逻辑路由器和目的地逻辑路由器的一个或多个路由表分组以形成RIB组,并且形成单向策略以包括一个或多个规则,该一个或多个规则指定物理装置基于与RIB组相关联的社区名称或社区成员应用于经由逻辑路由器互连泄漏的路由的动作。
示例12.根据示例7的网络控制器,其中,源逻辑路由器和目的地逻辑路由器驻留在交换结构的不同物理装置上,其中,处理电路被配置为:生成配置数据,该配置数据定义:(i)要由源逻辑路由器执行的虚拟路由和转发(VRF)导出过程,以及(ii)要由目的地逻辑路由器执行的VRF导入,并且形成单向策略以包括一个或多个规则,该一个或多个规则指定当将策略应用于通过VRF导出和VRF导入过程在物理装置之间通信的路由时用于标记特定路由和定义物理装置的动作的标准。
示例13.一种包括指令的计算机可读存储介质,该指令将网络控制器的处理电路配置为:识别在交换结构的一个或多个物理装置上实现的源逻辑路由器和目的地逻辑路由器,其中,源逻辑路由器维护指定用于第一虚拟网络的路由的路由信息,并且目的地逻辑路由器维护指定用于第二虚拟网络的路由的路由信息;由虚拟网络控制器在源逻辑路由器与目的地逻辑路由器之间形成逻辑路由器互连;由虚拟网络控制器形成定义一个或多个规则的策略,用于控制通过逻辑路由器互连从第一虚拟网络的源逻辑路由器到第二虚拟网络的目的地逻辑路由器的路由中的一个或多个的泄漏;并且由虚拟网络控制器将策略推送到交换结构的一个或多个物理装置,以应用于通过逻辑路由器互连的通信。
示例14.根据示例13的计算机可读存储介质,其中,用于控制通过逻辑路由器互连的路由的泄漏的策略表示由源逻辑路由器和目的地逻辑路由器实现的LR内通信策略的嵌套组合。
示例15.根据示例13的计算机可读存储介质,其中,指令将处理器配置为:由虚拟网络控制器经由图形用户界面(GUI)接收一个或多个路由策略属性,并且使用经由GUI接收的路由策略属性来形成策略。
示例16.根据示例13的计算机可读存储介质,其中,指令将处理器配置为:经由图形用户界面(GUI)接收相应的VNS对的两个或更多个VN的标识,并且通过继承所识别的两个或更多个VN之间的VN间路由策略信息来形成策略。
示例17.根据示例13的计算机可读存储介质,其中,源逻辑路由器和目的地逻辑路由器驻留在交换结构的一个或多个物理装置的同一物理装置上,其中,指令将处理器配置为:定义路由信息库(RIB)组,该RIB组将源逻辑路由器和目的地逻辑路由器的一个或多个路由表分组以形成RIB组,并且形成单向策略以包括一个或多个规则,该一个或多个规则指定物理装置基于与RIB组相关联的社区名称或社区成员应用于经由逻辑路由器互连泄漏的路由的动作。
示例18.根据示例13的计算机可读存储介质,其中,源逻辑路由器和目的地逻辑路由器驻留在交换结构的不同物理装置上,其中,指令将处理器配置为:生成配置数据,该配置数据定义:(i)要由源逻辑路由器执行的虚拟路由和转发(VRF)导出过程,以及(ii)要由目的地逻辑路由器执行的VRF导入,并且形成一个或多个规则,该一个或多个规则指定当将策略应用于通过VRF导出和VRF导入过程在物理装置之间通信的路由时用于标记特定路由和定义物理装置的动作的标准。
Claims (18)
1.一种方法,包括:
由虚拟网络控制器识别在交换结构的一个或多个物理装置上实现的源逻辑路由器和目的地逻辑路由器,其中,所述源逻辑路由器维护指定用于第一虚拟网络的路由的路由信息,并且所述目的地逻辑路由器维护指定用于第二虚拟网络的路由的路由信息;
由所述虚拟网络控制器在所述源逻辑路由器与所述目的地逻辑路由器之间形成逻辑路由器互连;
由所述虚拟网络控制器形成定义一个或多个规则的策略,用于控制通过所述逻辑路由器互连从所述第一虚拟网络的所述源逻辑路由器到所述第二虚拟网络的所述目的地逻辑路由器的所述路由中的一个或多个的泄漏;并且
由所述虚拟网络控制器将所述策略推送到所述交换结构的所述一个或多个物理装置,以应用于通过所述逻辑路由器互连的通信。
2.根据权利要求1所述的方法,其中,用于控制通过所述逻辑路由器互连的所述路由的泄漏的所述策略表示由所述源逻辑路由器和所述目的地逻辑路由器实现的LR内通信策略的嵌套组合。
3.根据权利要求1和2中任一项所述的方法,进一步包括由所述虚拟网络控制器经由图形用户界面(GUI)接收一个或多个路由策略属性,
其中,形成用于所述逻辑路由器互连内的所述通信的所述策略包括使用经由所述GUI接收的路由策略属性来形成所述策略。
4.根据权利要求1所述的方法,进一步包括由所述虚拟网络控制器经由图形用户界面(GUI)接收相应的VNS对的两个或更多个VN的标识,
其中,形成用于所述逻辑路由器互连内的所述通信的所述策略包括通过继承所识别的两个或更多个VN之间的VN间路由策略信息来形成所述策略。
5.根据权利要求1或4中任一项所述的方法,
其中,所述源逻辑路由器和所述目的地逻辑路由器驻留在所述交换结构的所述一个或多个物理装置的同一物理装置上,
其中,形成逻辑路由器互连包括定义路由信息库(RIB)组,所述RIB组将所述源逻辑路由器和所述目的地逻辑路由器的一个或多个路由表分组以形成所述RIB组,并且
其中,形成单向策略包括一个或多个规则,所述一个或多个规则指定所述物理装置基于与所述RIB组相关联的社区名称或社区成员应用于经由所述逻辑路由器互连泄漏的路由的动作。
6.根据权利要求1或4中任一项所述的方法,
其中,所述源逻辑路由器和所述目的地逻辑路由器驻留在所述交换结构的不同物理装置上,
其中,形成逻辑路由器互连包括生成配置数据,所述配置数据定义:(i)要由所述源逻辑路由器执行的虚拟路由和转发(VRF)导出过程,以及(ii)要由所述目的地逻辑路由器执行的VRF导入,并且
其中,形成单向策略包括一个或多个规则,所述一个或多个规则指定当将所述策略应用于通过VRF导出和VRF导入过程在所述物理装置之间通信的路由时用于标记特定路由和定义所述物理装置的动作的标准。
7.一种网络控制器,包括:
存储器;以及
处理电路,被配置为:
识别在交换结构的一个或多个物理装置上实现的源逻辑路由器和目的地逻辑路由器,其中,所述源逻辑路由器维护指定用于第一虚拟网络的路由的路由信息,并且所述目的地逻辑路由器维护指定用于第二虚拟网络的路由的路由信息;
在所述源逻辑路由器与所述目的地逻辑路由器之间形成逻辑路由器互连;
形成定义一个或多个规则的策略,用于控制通过所述逻辑路由器互连从所述第一虚拟网络的所述源逻辑路由器到所述第二虚拟网络的所述目的地逻辑路由器的所述路由中的一个或多个的泄漏;并且
将所述策略推送到所述交换结构的所述一个或多个物理装置,以应用于通过所述逻辑路由器互连的通信。
8.根据权利要求7所述的网络控制器,其中,用于控制通过所述逻辑路由器互连的路由的泄漏的所述策略表示由所述源逻辑路由器和所述目的地逻辑路由器实现的LR内通信策略的嵌套组合。
9.根据权利要求7所述的网络控制器,其中,所述处理电路被进一步配置为:
经由图形用户界面(GUI)接收一个或多个路由策略属性,
形成用于所述逻辑路由器互连内的所述通信的所述策略包括使用经由所述GUI接收的路由策略属性来形成所述策略。
10.根据权利要求7所述的网络控制器,其中,所述处理电路被进一步配置为:
经由图形用户界面(GUI)接收相应的VNS对的两个或更多个VN的标识,并且
通过继承所识别的两个或更多个VN之间的VN间路由策略信息来形成所述策略。
11.根据权利要求7所述的网络控制器,
其中,所述源逻辑路由器和所述目的地逻辑路由器驻留在所述交换结构的所述一个或多个物理装置的同一物理装置上,
其中,所述处理电路被配置为:
定义路由信息库(RIB)组,所述RIB组将所述源逻辑路由器和所述目的地逻辑路由器的一个或多个路由表分组以形成所述RIB组,并且
形成单向策略以包括一个或多个规则,所述一个或多个规则指定所述物理装置基于与所述RIB组相关联的社区名称或社区成员应用于经由所述逻辑路由器互连泄漏的路由的动作。
12.根据权利要求7至9中任一项所述的网络控制器,
其中,所述源逻辑路由器和所述目的地逻辑路由器驻留在所述交换结构的不同物理装置上,
其中,所述处理电路被配置为:
生成配置数据,所述配置数据定义:(i)要由所述源逻辑路由器执行的虚拟路由和转发(VRF)导出过程,以及(ii)要由所述目的地逻辑路由器执行的VRF导入,并且
形成单向策略以包括一个或多个规则,所述一个或多个规则指定当将所述策略应用于通过VRF导出和VRF导入过程在所述物理装置之间通信的路由时用于标记特定路由和定义所述物理装置的动作的标准。
13.一种包括指令的计算机可读存储介质,所述指令将网络控制器的处理电路配置为:
识别在交换结构的一个或多个物理装置上实现的源逻辑路由器和目的地逻辑路由器,其中,所述源逻辑路由器维护指定用于第一虚拟网络的路由的路由信息,并且所述目的地逻辑路由器维护指定用于第二虚拟网络的路由的路由信息;
由虚拟网络控制器在所述源逻辑路由器与所述目的地逻辑路由器之间形成逻辑路由器互连;
由所述虚拟网络控制器形成定义一个或多个规则的策略,用于控制通过所述逻辑路由器互连从所述第一虚拟网络的所述源逻辑路由器到所述第二虚拟网络的所述目的地逻辑路由器的所述路由中的一个或多个的泄漏;并且
由所述虚拟网络控制器将所述策略推送到所述交换结构的所述一个或多个物理装置,以应用于通过所述逻辑路由器互连的通信。
14.根据权利要求13所述的计算机可读存储介质,其中,用于控制通过所述逻辑路由器互连的所述路由的泄漏的所述策略表示由所述源逻辑路由器和所述目的地逻辑路由器实现的LR内通信策略的嵌套组合。
15.根据权利要求13所述的计算机可读存储介质,其中,所述指令将处理器配置为:
由所述虚拟网络控制器经由图形用户界面(GUI)接收一个或多个路由策略属性,并且
使用经由所述GUI接收的路由策略属性来形成所述策略。
16.根据权利要求13所述的计算机可读存储介质,其中,所述指令将处理器配置为:
经由图形用户界面(GUI)接收相应的VNS对的两个或更多个VN的标识,并且
通过继承所识别的两个或更多个VN之间的VN间路由策略信息来形成所述策略。
17.根据权利要求13和14中任一项所述的计算机可读存储介质,
其中,所述源逻辑路由器和所述目的地逻辑路由器驻留在所述交换结构的所述一个或多个物理装置的同一物理装置上,
其中,所述指令将处理器配置为:
定义路由信息库(RIB)组,所述RIB组将所述源逻辑路由器和所述目的地逻辑路由器的一个或多个路由表分组以形成所述RIB组,并且
形成单向策略包括一个或多个规则,所述一个或多个规则指定所述物理装置基于与所述RIB组相关联的社区名称或社区成员应用于经由所述逻辑路由器互连泄漏的路由的动作。
18.根据权利要求13至15中任一项所述的计算机可读存储介质,
其中,所述源逻辑路由器和所述目的地逻辑路由器驻留在所述交换结构的不同物理装置上,
其中,所述指令将所述处理器配置为:
生成配置数据,所述配置数据定义:(i)要由所述源逻辑路由器执行的虚拟路由和转发(VRF)导出过程,以及(ii)要由所述目的地逻辑路由器执行的VRF导入,并且
形成一个或多个规则,所述一个或多个规则指定当将所述策略应用于通过VRF导出和VRF导入过程在所述物理装置之间通信的路由时用于标记特定路由和定义所述物理装置的动作的标准。
Applications Claiming Priority (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US202063030657P | 2020-05-27 | 2020-05-27 | |
US63/030,657 | 2020-05-27 | ||
US17/247,858 | 2020-12-28 | ||
US17/247,858 US11469998B2 (en) | 2020-05-27 | 2020-12-28 | Data center tenant network isolation using logical router interconnects for virtual network route leaking |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113746760A true CN113746760A (zh) | 2021-12-03 |
CN113746760B CN113746760B (zh) | 2023-07-21 |
Family
ID=75111544
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110304667.0A Active CN113746760B (zh) | 2020-05-27 | 2021-03-22 | 通信方法、网络控制器和计算机可读存储介质 |
Country Status (3)
Country | Link |
---|---|
US (1) | US11469998B2 (zh) |
EP (1) | EP3917096A1 (zh) |
CN (1) | CN113746760B (zh) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11469958B1 (en) * | 2021-02-25 | 2022-10-11 | Juniper Networks, Inc. | Network controller deployment |
US11824773B2 (en) * | 2021-03-30 | 2023-11-21 | Amazon Technologies, Inc. | Dynamic routing for peered virtual routers |
US11588752B2 (en) * | 2021-04-08 | 2023-02-21 | Cisco Technology, Inc. | Route exchange in multi-tenant clustered controllers |
US11665090B1 (en) | 2022-03-28 | 2023-05-30 | Amazon Technologies, Inc. | Using fast-path nodes of packet processing services as intermediaries for workload migration workflows |
US11799950B1 (en) * | 2022-03-28 | 2023-10-24 | Amazon Technologies, Inc. | Seamless migration of packet processing workloads between exception path node groups |
Citations (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1516401A (zh) * | 2003-01-06 | 2004-07-28 | 华为技术有限公司 | 基于虚拟局域网的实现多角色主机的方法 |
CN101107614A (zh) * | 2005-01-28 | 2008-01-16 | 日本电气株式会社 | 信息泄露分析系统 |
CN101667961A (zh) * | 2009-09-30 | 2010-03-10 | 西安电子科技大学 | 基于栅格服务的策略路由系统及动态策略生成方法 |
US20100329252A1 (en) * | 2009-06-26 | 2010-12-30 | Nortel Networks Limited | Method and Apparatus for Enabling Multicast Route Leaking Between VRFs in Different VPNs |
US20140122727A1 (en) * | 2012-11-01 | 2014-05-01 | Cisco Technology, Inc. | Routing Traffic for Applications by a Software Router Co-Resident in Application Memory Space of a General Purpose Computer |
CN104008329A (zh) * | 2014-05-22 | 2014-08-27 | 中国科学院信息工程研究所 | 一种基于虚拟化技术的软件隐私泄露行为检测方法及系统 |
CN104584491A (zh) * | 2012-08-28 | 2015-04-29 | 阿尔卡特朗讯公司 | 提供分布式虚拟路由和交换(dvrs)的系统和方法 |
US20160134520A1 (en) * | 2014-11-12 | 2016-05-12 | Cisco Technology, Inc. | Optimized inter-vrf (virtual routing and forwarding) route leaking in network overlay based environments |
US20170034053A1 (en) * | 2015-07-31 | 2017-02-02 | Nicira, Inc. | Enabling Hardware Switches to Perform Logical Routing Functionalities |
CN106797351A (zh) * | 2014-07-21 | 2017-05-31 | 大交换机网络股份有限公司 | 使用控制器执行逻辑网络转发的系统和方法 |
CN106992982A (zh) * | 2017-03-31 | 2017-07-28 | 中国人民解放军信息工程大学 | 一种基于sdn的动态路由协议执行体实现装置及方法 |
US20180367388A1 (en) * | 2017-06-19 | 2018-12-20 | Cisco Technology, Inc. | Multiprotocol border gateway protocol routing validation |
CN109462534A (zh) * | 2017-09-06 | 2019-03-12 | 中国银联股份有限公司 | 区域互联控制器、区域互联控制方法以及计算机存储介质 |
CN109565467A (zh) * | 2016-08-05 | 2019-04-02 | 华为技术有限公司 | 支持基于服务的流量转发的虚拟网络预配置 |
CN109787938A (zh) * | 2017-11-14 | 2019-05-21 | 中国电信股份有限公司 | 实现访问虚拟私有云的方法、装置及计算机可读存储介质 |
CN110278151A (zh) * | 2014-03-21 | 2019-09-24 | Nicira股份有限公司 | 用于逻辑路由器的动态路由 |
CN110830389A (zh) * | 2018-08-14 | 2020-02-21 | 丛林网络公司 | 包括路由传播、安全性和应用部署的多云环境的单点管理 |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8750288B2 (en) | 2012-06-06 | 2014-06-10 | Juniper Networks, Inc. | Physical path determination for virtual network packet flows |
US9356866B1 (en) | 2014-01-10 | 2016-05-31 | Juniper Networks, Inc. | Receive packet steering for virtual networks |
US9787559B1 (en) * | 2014-03-28 | 2017-10-10 | Juniper Networks, Inc. | End-to-end monitoring of overlay networks providing virtualized network services |
US10291497B2 (en) | 2017-03-31 | 2019-05-14 | Juniper Networks, Inc. | Session-based traffic statistics logging for virtual routers |
US10742690B2 (en) | 2017-11-21 | 2020-08-11 | Juniper Networks, Inc. | Scalable policy management for virtual networks |
-
2020
- 2020-12-28 US US17/247,858 patent/US11469998B2/en active Active
-
2021
- 2021-03-19 EP EP21163797.0A patent/EP3917096A1/en active Pending
- 2021-03-22 CN CN202110304667.0A patent/CN113746760B/zh active Active
Patent Citations (18)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1516401A (zh) * | 2003-01-06 | 2004-07-28 | 华为技术有限公司 | 基于虚拟局域网的实现多角色主机的方法 |
CN101107614A (zh) * | 2005-01-28 | 2008-01-16 | 日本电气株式会社 | 信息泄露分析系统 |
US20100329252A1 (en) * | 2009-06-26 | 2010-12-30 | Nortel Networks Limited | Method and Apparatus for Enabling Multicast Route Leaking Between VRFs in Different VPNs |
CN101667961A (zh) * | 2009-09-30 | 2010-03-10 | 西安电子科技大学 | 基于栅格服务的策略路由系统及动态策略生成方法 |
CN104584491A (zh) * | 2012-08-28 | 2015-04-29 | 阿尔卡特朗讯公司 | 提供分布式虚拟路由和交换(dvrs)的系统和方法 |
US20140122727A1 (en) * | 2012-11-01 | 2014-05-01 | Cisco Technology, Inc. | Routing Traffic for Applications by a Software Router Co-Resident in Application Memory Space of a General Purpose Computer |
CN110278151A (zh) * | 2014-03-21 | 2019-09-24 | Nicira股份有限公司 | 用于逻辑路由器的动态路由 |
CN104008329A (zh) * | 2014-05-22 | 2014-08-27 | 中国科学院信息工程研究所 | 一种基于虚拟化技术的软件隐私泄露行为检测方法及系统 |
CN106797351A (zh) * | 2014-07-21 | 2017-05-31 | 大交换机网络股份有限公司 | 使用控制器执行逻辑网络转发的系统和方法 |
CN107210961A (zh) * | 2014-11-12 | 2017-09-26 | 思科技术公司 | 基于网络覆盖的环境中的优化的vrf(虚拟路由和转发)间的路由泄漏 |
US20160134520A1 (en) * | 2014-11-12 | 2016-05-12 | Cisco Technology, Inc. | Optimized inter-vrf (virtual routing and forwarding) route leaking in network overlay based environments |
US20170034053A1 (en) * | 2015-07-31 | 2017-02-02 | Nicira, Inc. | Enabling Hardware Switches to Perform Logical Routing Functionalities |
CN109565467A (zh) * | 2016-08-05 | 2019-04-02 | 华为技术有限公司 | 支持基于服务的流量转发的虚拟网络预配置 |
CN106992982A (zh) * | 2017-03-31 | 2017-07-28 | 中国人民解放军信息工程大学 | 一种基于sdn的动态路由协议执行体实现装置及方法 |
US20180367388A1 (en) * | 2017-06-19 | 2018-12-20 | Cisco Technology, Inc. | Multiprotocol border gateway protocol routing validation |
CN109462534A (zh) * | 2017-09-06 | 2019-03-12 | 中国银联股份有限公司 | 区域互联控制器、区域互联控制方法以及计算机存储介质 |
CN109787938A (zh) * | 2017-11-14 | 2019-05-21 | 中国电信股份有限公司 | 实现访问虚拟私有云的方法、装置及计算机可读存储介质 |
CN110830389A (zh) * | 2018-08-14 | 2020-02-21 | 丛林网络公司 | 包括路由传播、安全性和应用部署的多云环境的单点管理 |
Non-Patent Citations (3)
Title |
---|
梁聪: "路由策略和路由泄露使用中路由不可达的故障处理实例与探讨", 《有线电视技术》 * |
梁聪: "路由策略和路由泄露使用中路由不可达的故障处理实例与探讨", 《有线电视技术》, no. 10, 15 October 2015 (2015-10-15) * |
高先明;王宝生;李同标;薛华威;: "面向虚拟路由器平台的资源管理平面的设计与实现", 计算机应用, no. 01 * |
Also Published As
Publication number | Publication date |
---|---|
EP3917096A1 (en) | 2021-12-01 |
US20210377164A1 (en) | 2021-12-02 |
CN113746760B (zh) | 2023-07-21 |
US11469998B2 (en) | 2022-10-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10880210B2 (en) | Cloud network having multiple protocols using virtualization overlays across physical and virtualized workloads | |
CN113746760B (zh) | 通信方法、网络控制器和计算机可读存储介质 | |
CN106797351B (zh) | 使用控制器执行逻辑网络转发的系统和方法 | |
CN103997414B (zh) | 生成配置信息的方法和网络控制单元 | |
US11303555B2 (en) | Inter-data center software-defined network controller network | |
US11706085B2 (en) | Configuration for multi-stage network fabrics | |
US9311133B1 (en) | Touchless multi-domain VLAN based orchestration in a network environment | |
EP3474502A1 (en) | Reduced configuration for multi-stage network fabrics | |
US11792119B2 (en) | Multi-protocol service chaining among devices of interconnected topology | |
US11956141B2 (en) | Service chaining with physical network functions and virtualized network functions | |
US11582102B2 (en) | Systems and methods for integrating network switch management with computing resource management | |
US10009253B2 (en) | Providing shared resources to virtual devices | |
Matias et al. | The EHU-OEF: an OpenFlow-based layer-2 experimental facility | |
US10944665B1 (en) | Auto-discovery and provisioning of IP fabric underlay networks for data centers | |
Rischke et al. | Software-defined networks | |
EP3917095A1 (en) | Multi-protocol service chaining among devices of interconnected topology | |
US20210111925A1 (en) | Systems and methods for providing network connectors | |
EP3817341B1 (en) | Bulk configuration of devices behind a network address translation device | |
Arezoumand et al. | Hyperexchange: A protocol-agnostic exchange fabric enabling peering of virtual networks | |
Lehocine et al. | VINEMA: Towards automated management of virtual networks in SDN infrastructures | |
US20240007396A1 (en) | Multi-protocol service chaining among devices of interconnected topology | |
Arezoumand | End to End Orchestration of Distributed Cloud Applications |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |