CN112385194B - 远程网络之间的状态分组传输 - Google Patents
远程网络之间的状态分组传输 Download PDFInfo
- Publication number
- CN112385194B CN112385194B CN201980041337.8A CN201980041337A CN112385194B CN 112385194 B CN112385194 B CN 112385194B CN 201980041337 A CN201980041337 A CN 201980041337A CN 112385194 B CN112385194 B CN 112385194B
- Authority
- CN
- China
- Prior art keywords
- site
- host
- packet
- epg
- extended
- 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.)
- Active
Links
Classifications
-
- 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
- H04L49/104—Asynchronous transfer mode [ATM] switching fabrics
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/02—Network architectures or network communication protocols for network security for separating internal from external traffic, e.g. firewalls
- H04L63/0272—Virtual private networks
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/28—Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
- H04L12/46—Interconnection of networks
- H04L12/4604—LAN interconnection over a backbone network, e.g. Internet, Frame Relay
- H04L12/462—LAN interconnection over a bridge based backbone
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/28—Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
- H04L12/46—Interconnection of networks
- H04L12/4633—Interconnection of networks using encapsulation techniques, e.g. tunneling
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/08—Configuration management of networks or network elements
- H04L41/0893—Assignment of logical groups to network elements
-
- 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
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/16—Multipoint 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/24—Multipath
-
- 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/74—Address processing for routing
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L49/00—Packet switching elements
- H04L49/15—Interconnection of switching modules
- H04L49/1553—Interconnection of ATM switching modules, e.g. ATM switching fabrics
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L49/00—Packet switching elements
- H04L49/20—Support for services
- H04L49/201—Multicast operation; Broadcast operation
- H04L49/203—ATM switching fabrics with multicast or broadcast capabilities
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L61/00—Network arrangements, protocols or services for addressing or naming
- H04L61/09—Mapping addresses
- H04L61/10—Mapping addresses of different types
- H04L61/106—Mapping addresses of different types across networks, e.g. mapping telephone numbers to data network addresses
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/20—Network architectures or network communication protocols for network security for managing network security; network security policies in general
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/22—Parsing or analysis of headers
Abstract
端点群组(EPG)可以在站点之间被扩展,使得不同站点处的端点可以被指派到同一扩展EPG。因为站点在建立扩展EPG时可以使用不同的桥接域,所以当站点第一次向不同站点中的端点发送分组时,站点习得或发现到目的地端点的路径。站点可以使用BGP来识别具有该主机的站点并且使用多播隧道来到达该站点。单播隧道可以用于将未来分组发送到目的地端点。此外,扩展EPG可以被分段以形成微扩展EPG。过滤标准可以用于识别扩展EPG中的端点的子集,这些端点随后被指派到微扩展EPG,微扩展EPG可以具有与扩展EPG不同的策略。
Description
多站点结构中的扩展EPG和微分段
相关申请的交叉引用
本申请要求于2018年7月5日递交的共同待审的美国临时专利申请序列号62/694,349的权益。上述相关专利申请通过引用以其整体并入本文。
技术领域
本公开中呈现的实施例总体上涉及在多个站点处的交换结构之间扩展端点群组或者安全性群组。
背景技术
可以部署数据中心结构,其中本地站点控制器使用各种类型的架构来管理一组交换机。结构的该单个实例(以及耦合到结构的主机和应用)在本文被称为站点。然而,站点的大小(例如,站点中的交换机的数目)经常受到站点中的网络域的容量以及站点是单一故障点的风险的限制。现今,数据中心管理员创建多个站点,其中每个站点具有独立的交换结构来扩大容量并且提供冗余性以避免单一故障点。虽然这么做帮助减轻了这些问题,但创建独立站点不在这种结构间提供均一的网络连通性和策略。结果,在站点之间传输数据(例如,多站点流量)是难以管理的。
发明内容
本公开一方面提供了一种用于在不同站点间进行通信的***。该***包括:第一站点处的第一交换结构,第一交换结构经由公共网络通信地耦合到第二站点处的第二交换结构,其中,第一站点与第二站点在不同地理位置处,其中,第一交换结构被配置为:从第一站点处的第一主机接收第一分组,第一分组包括对应第二站点处的第二主机的目的地,其中,第一主机和第二主机被指派到在第一站点和第二站点之间延伸的扩展端点群组(EPG),其中,扩展EPG定义由第一主机和第二主机共享的安全性策略,将第一分组中的源ID改变成第一站点处的单播隧道端点,在确定第一主机和第二主机之间的路径未被习得时,通过公共网络使用多播隧道将第一分组从第一站点发送到第二站点,在接收到第一分组后,从第一站点处的第一主机接收第二分组,第二分组包括对应第二站点处的第二主机的目的地,以及在确定第一主机和第二主机之间的路径被习得时,并且在使用多播隧道发送第一分组后,通过公共网络使用单播隧道而不使用多播隧道将第二分组从第一站点发送到第二站点。
本公开另一方面提供了一种用于在不同站点间进行通信的方法。该方法包括:从第一站点处的第一主机接收第一分组,第一分组包括对应第二站点处的第二主机的目的地,其中,第一主机和第二主机被指派到在第一站点和第二站点之间延伸的扩展(EPG),其中,扩展EPG定义由第一主机和第二主机共享的安全性策略,将第一分组中的源ID改变成第一站点处的单播隧道端点;在确定第一主机和第二主机之间的路径未被习得时,通过公共网络使用多播隧道将分组从第一站点发送到第二站点;在接收到第一分组后,从第一站点处的第一主机接收第二分组,第二分组包括对应第二站点处的第二主机的目的地;以及在确定第一主机和第二主机之间的路径被习得时,并且在使用多播隧道发送第一分组后,通过公共网络使用单播隧道而不使用多播隧道将第二分组从第一站点发送到第二站点。
本公开另一方面提供了一种用于在不同站点间进行通信的***。该***包括:第一站点处的第一交换结构,第一交换结构经由公共网络通信地耦合到第二站点处的第二交换结构,其中,第一站点与第二站点在不同地理位置处,其中,第一交换结构被配置为:从第一站点处的第一主机接收第一分组,第一分组包括对应第二站点处的第二主机的目的地,其中,第一主机和第二主机被指派到在第一站点和第二站点之间延伸的扩展端点群组(EPG),其中,扩展EPG定义由第一主机和第二主机共享的安全性策略,将第一分组中的源ID改变成第一站点处的单播隧道端点,在确定第一主机和第二主机之间的路径未被习得时,通过公共网络使用多播隧道将第一分组从第一站点发送到第二站点,在接收到第一分组后,从第一站点处的第一主机接收第二分组,第二分组包括对应第二站点处的第二主机的目的地,以及在确定第一主机和第二主机之间的路径被习得时,并且在使用多播隧道发送第一分组后,通过公共网络使用单播隧道而不使用多播隧道将第二分组从第一站点发送到第二站点;以及多站点控制器,被配置为:使用过滤标准来识别扩展EPG中的端点的子集,从端点的子集来创建微扩展EPG,其中,微扩展EPG在第一站点和第二站点之间延伸,并且其中,端点的子集被从扩展EPG中去除,并且将微扩展EPG配置为具有至少一个与扩展EPG不同的策略,其中,微扩展EPG与扩展EPG在不同的桥接域或子网中。
本公开另一方面提供了一种用于在不同站点间进行通信的装置。该装置包括:用于从第一站点处的第一主机接收第一分组的设备,第一分组包括对应第二站点处的第二主机的目的地,其中,第一主机和第二主机被指派到在第一站点和第二站点之间延伸的扩展(EPG),其中,扩展EPG定义由第一主机和第二主机共享的安全性策略,用于将第一分组中的源ID改变成第一站点处的单播隧道端点的设备;用于在确定第一主机和第二主机之间的路径未被习得时,通过公共网络使用多播隧道将分组从第一站点发送到第二站点的设备;用于在接收到第一分组后从第一站点处的第一主机接收第二分组的设备,第二分组包括对应第二站点处的第二主机的目的地;以及用于在确定第一主机和第二主机之间的路径被习得时,并且在使用多播隧道发送第一分组后,通过公共网络使用单播隧道而不使用多播隧道将第二分组从第一站点发送到第二站点的设备。
附图说明
为了可以详细地理解本公开的上述特征的方式,可以通过参考实施例对以上简要总结的本公开进行更具体描述,实施例中的一些在附图中图示。然而,要注意,附图只是图示了本公开的典型实施例,并且因此不应被认为是限制其范围,因为本公开可容许其他同等有效的实施例。
图1图示了根据本文描述的一个实施例的包括多个站点的统一结构。
图2图示了根据本文描述的一个实施例的包括在站点之间扩展的端点群组的统一结构。
图3是根据本文描述的一个实施例的用于在属于扩展端点群组的不同站点处的主机之间通信的流程图。
图4是根据本文描述的一个实施例的用于使用未习得路径(unlearned path)在不同站点处的主机之间通信的流程图。
图5图示了根据本文描述的一个实施例的包括多个站点的统一结构。
图6是根据本文描述的一个实施例的用于使用习得路径(learned path)来在不同站点处的主机之间通信的流程图。
图7图示了根据本文描述的一个实施例的包括多个站点的统一结构。
图8是根据本文描述的一个实施例的用于对扩展EPG进行微分段的流程图。
图9图示了根据本文描述的一个实施例的微扩展EPG。
为了便于理解,在可能时使用了相同的附图标记来指代各图共同的相同元素。设想了可以在没有具体记载的情况下将一个实施例中公开的元素有益地用于其他实施例。
具体实施方式
概述
在独立权利要求中记载了本发明的各方面并且在从属权利要求中记载了优选特征。一个方面的特征可以被单独应用到每个方面或者与其他方面组合应用。
本公开中呈现的一个实施例是一种***,该***包括:第一站点处的第一交换结构,其经由公共网络通信地耦合到第二站点处的第二交换结构,其中第一站点与第二站点在不同地理位置处。第一交换结构被配置为从第一站点处的第一主机接收分组,该分组包括对应第二站点处的第二主机的目的地,其中第一和第二主机被指派到在第一和第二站点之间延伸的扩展端点群组(endpoint group,EPG),其中扩展EPG定义由第一和第二主机共享的安全性策略,将分组中的源ID改变成第一站点处的单播隧道端点,在确定第一和第二主机之间的路径未被习得时,通过公共网络使用多播隧道将分组发送到第二站点,并且,在确定第一和第二主机之间的路径是习得的时,通过公共网络使用单播隧道将分组发送到第二站点。
本文的另一实施例是一种统一结构,其包括第一站点处的第一交换结构,第二站点处的第二交换结构,其中第一站点与第二站点在不同地理位置处,其中第一交换结构和第二交换结构经由公共网络通信地耦合,以及多站点控制器。该多站点控制器被配置为创建在第一和第二站点之间延伸并且至少包含第一站点中的第一端点和第二站点中的第二端点的扩展EPG,其中扩展EPG定义由第一和第二端点共享的安全性策略,使用过滤标准来识别扩展EPG中的端点的子集,并且从端点的子集来创建微扩展EPG,其中,微扩展EPG在第一和第二站点之间延伸,并且其中,端点的子集被从扩展EPG中去除。
本文也描述了相应的方法和装置,也描述了包括用于实现***的网络节点、计算机程序、计算机程序产品、计算机可读介质和编码在有形介质上的逻辑。
示例实施例
本文的实施例描述了使用转换映射和安全性合约来在不同站点处的交换结构之间建立互连和策略以创建统一结构。在一个实施例中,一种多站点控制器可以在站点之间扩展端点群组(EPG),使得第一站点中的主机或应用可以与被指派到相同扩展EPG的第二站点中的主机或应用进行通信,尽管两个站点具有不同的命名空间(例如,对于虚拟路由和转发(VRF)实例、桥接域(Bridge Domain,BD)、子网或EPG具有不同值)。每个站点可以存储命名空间转换映射,这些命名空间转换映射使得站点能够将从不同站点接收的分组中的命名空间信息转换成其自己的命名空间值。结果,可以互连各种站点中的独立桥接和路由段,而且还提供具有独立和私有命名空间的不同结构间的应用可访问性(通过使用EPG)。
因为站点在建立扩展EPG时可以使用不同的桥接域或子网,所以当站点第一次向在不同站点中但在同一扩展EPG中的端点发送分组时,站点习得(learn)到目的地端点的路径。也就是说,站点可能最初不知道如何与在同一扩展EPG中但位于不同站点中的端点通信。源发站点可以使用边界网关协议(border gateway protocol,BGP)来识别包含目的地端点的目的地站点,并且然后使用多播隧道来到达目的地站点。一旦识别了目的地端点的位置,源发站点然后就可以使用单播隧道来将未来分组发送到目的地。
本文的实施例还描述了用于对扩展EPG进行分段以形成微扩展EPG的技术。***管理员可以提供过滤标准(例如,操作***、虚拟机、管理程序等的类型)来识别扩展EPG中的端点的子集。这个子集可以被从扩展EPG中去除并且被放置到微扩展EPG中。微扩展EPG可以被指派与扩展EPG不同的策略,例如更严格的安全性策略。
图1图示了根据本文描述的一个实施例的包括多个站点的统一结构100。如图所示,结构100包括站点1和站点2,其中每一者具有由骨干交换机(spine switch)115和叶片交换机(lead switch)120形成的各自的交换结构。在此示例中,叶片交换机120通信地耦合到主机125和应用130。也就是说,主机125和应用130使用骨干和叶片交换机115、120来与同一站点中的其他主机和应用、不同站点中的主机和应用、以及结构100外部的实体进行通信。在一个实施例中,主机125和应用130被指派到EPG,该EPG允许这些主机125和应用130彼此通信。换句话说,EPG指派可以用于控制在不同的主机125和应用130之间的流量流动并在不同的主机125和应用130之间提供安全性。例如,主机125A可能无法与应用130A通信,除非这些实体在同一EPG中,或者存在允许主机125A和应用130A被指派到的EGP进行通信的安全性策略(本文中也称为安全性合约)。这样,EPG可以是控制主机125和应用130可以彼此通信的方式的端点的任何种类的分组。在一个实施例中,EPG(其也可以被称为安全性群组)是表示服务的应用层级或集合的相似端点的聚集。端点可以包括主机125和应用130以及虚拟机、管理程序、容器、物理服务器,等等。许多不同类型的端点可以被指派到同一EPG以执行共同服务。在一个实施例中,不同的策略被指派到结构100中的不同EPG。例如,取决于端点被指派到哪个EPG,可以为该端点确定安全性策略、服务质量(Quality of Service,QoS)、服务链策略以及路由策略。
虽然图1图示了使用骨干-叶片架构来形成站点中的个体结构,但这并不是必要要求。交换机可以被组织成任何布置并且受益于本文描述的实施例。在一个实施例中,站点1和2中的交换机115、120可以用于促进两个数据中心(例如,美国的数据中心和欧洲的数据中心)中的物理服务器或数据存储元件之间的通信。在另一示例中,交换机115、120也可以被部署来促进物理或虚拟云中的通信。例如,站点1和2可以是同一云基础设施的不同区域。
站点1和站点2包括为相应站点建立命名空间的相应本地站点控制器135。在一个实施例中,本地站点控制器135(其可以使用软件、硬件或者其组合来实现)可以独立于其他站点中的命名空间来建立命名空间。换句话说,站点中的命名空间是私有的。结果,站点1中的命名空间和站点2中的命名空间可以冲突或重叠。例如,当向站点1中的BD指派值时,本地站点控制器135A可以使用本地站点控制器135B向站点2中的BD指派的相同IP地址。例如,当建立其私有命名空间时,同一组IP地址、软件安全性索引或者网络段索引可以被本地站点控制器135重复使用。这在站点1中的主机125A和应用130A尝试向站点2中的主机125B和应用130B发送分组时成为一个问题,因为分组中的源标识符(例如,VRF实例、BD或子网的IP地址,和EPG的类ID)可以被指派到多个实体(例如,站点2中的BD可以具有与站点1中的BD相同的IP地址)。如下文详细论述的,多站点控制器140(其可以是软件、硬件或者其组合)提供命名空间转换映射,这些命名空间转换映射允许每个站点将接收到的分组中的命名空间特定信息转换成其自己的命名空间中的相应值。以这种方式,站点可以具有冲突并仍允许不同站点中的主机125和应用130使用第2层流量进行通信的私有命名空间。
在图1中,统一结构100使用公共网络105(例如,互联网)来促进可能位于彼此相距较大距离处的站点1和站点2的结构之间的流量流动。站点可以使用VXLAN 110来将数据发送到公共网络105中,公共网络105随后将数据路由到其他站点中的骨干交换机115之一,在这里分组然后被路由到与目的地主机125或应用130耦合的叶片交换机120。虽然图1图示了两个站点,但统一结构100可以包括各自具有其自己的独立结构和命名空间的任何数目的站点。
多站点控制器140与每个站点中的本地站点控制器135通信。多站点控制器140可以使用本地站点控制器135来识别命名空间,提供命名空间转换映射,改变主机125和应用130的EPG指派,建立EPG之间的安全性合约,等等。为了从***管理员接收指令,多站点控制器140耦合到API 145和GUI 150。使用这些组件中的一者或两者,***管理员可以建立安全性策略并且在不同结构间执行工作负载部署,而不必单独配置结构100中的每个站点。取而代之,多站点控制器140接收来自***管理员的请求并且使用下文描述的实施例来通过与本地站点控制器135通信以实现该请求。从而,从***管理员的角度来看,API 145和GUI150提供了可以用于从整体上控制站点的“单一管理平台”。
图2图示了根据本文描述的一个实施例的包括在站点之间扩展的EPG的统一结构。图2图示了对Web-EPG 220和App-EPG 225进行扩展以包括站点1和站点2两者。因此,不同站点中的主机和应用现在可以被指派到同一EPG,其中在先前,主机或站点只能被指派到特定站点中的EPG。使用图2中的部署,服务可以使用不同站点上的主机和应用。例如,Web-EPG可以使用两个站点中的主机和应用来执行服务——例如,建立web服务器。因此,服务的一部分可以由站点1处的端点执行,而服务的其他部分可以由站点2处的端点执行。
在一个实施例中,多站点控制器140配置站点以使得在站点间存在VRF、BD(或子网)和EPG的均一可用性。为了实现均一可用性,多站点控制器140创建配置对象,例如允许在不同站点但在同一EPG中的主机和应用进行通信的命名空间转换映射。
如图所示,租户基础设施205在站点间扩展。租户基础设施205可以是用于应用策略或者共享资源要求的逻辑容器。例如,使用底层数据中心或云的每个客户可以具有建立其期望策略的其自己的租户基础设施。这样,统一结构可以包括多个租户基础设施205。
租户基础设施205包括VRF实例210(或者VRF对象),该VRF实例210是定义L3地址域的第3层转发和应用策略域。虽然示出了一个VRF实例210,但是租户基础设施205可以包括任意数目的VRF实例210。
VRF实例210包括BD 215A、BD 215B、BD 215C和BD 215D,其每一者可以与一个或多个子网相关联。BD 215定义第2层MAC地址空间和第2层泛洪域(在使能了这种泛洪的情况下)。虽然VRF实例210定义唯一IP地址空间,但在一个实施例中,该地址空间可以包括在BD215中引用的多个子网。在此示例中,每个EPG被指派到多个BD 215——即,Web-EPG 220在站点1处在BD 215A中,但在站点2处在BD 215C中。App-EPG 225在站点1处在BD 215B中,但在站点2处在BD 215D中。因为扩展EPG 220、225在不同站点处在不同的BD 215中,所以统一结构可执行习得过程来识别一个站点处的端点到另一站点处的端点之间的路由,即使这些端点是同一扩展EPG的一部分。
在图2中,多站点控制器140已建立了Web-EPG 220和App-EPG 225之间的安全性合约230(标记为C1)。这允许被指派到该Web-EPG 220和App-EPG 225的数据中心或云基础设施中的底层资源和端点经由统一结构进行通信。例如,Web-EPG 220中的端点可以建立web服务器,而App-EPG 225中的端点建立数据库。因为安全性合约230,所以被指派到Web-EPG220的端点可以使用统一结构与App-EPG 225中的端点进行通信,反之亦然。因此,如果这些实体被指派到同一EPG或者如果这些实体被指派到不同EPG(Web-EPG或App-EPG),则VRF实例210允许站点1中的主机或应用与站点2中的主机或应用进行通信。然而,如果没有安全性合约230,则只有被指派到同一EPG的端点将能够彼此通信,无论这些端点是在同一站点中还是在不同站点中。
图3是根据本文描述的一个实施例的用于在属于同一端点群组但属于不同站点的主机之间通信的方法300的流程图。在块305,多站点控制器从本地站点控制器接收本地命名空间。也就是说,响应于来自多站点控制器的请求(例如,配置推送动作)或者在预定事件发生时(例如,当命名空间首先被建立时或者当命名空间被更新时),本地站点控制器向多站点控制器发送命名空间指派。也就是说,本地站点控制器可以被多站点控制器轮询。如上所述,本地站点控制器在建立其各自的命名空间时可以使用相同的值范围(例如,IP地址、安全性索引或网络段索引的相同范围)。这样,这些值可以冲突——即,相同的值可以用于对多个站点中的对象进行命名。例如,相同的IP地址可以被指派到站点1中的BD和站点2中的BD。当在统一结构中的站点之间路由分组或者应用安全性策略时,这些冲突如果未被解决则可能会导致错误。
在块310,多站点控制器为站点生成并发送命名空间转换映射。也就是说,多站点控制器使用从本地站点控制器接收的命名空间值来在两个或更多个站点间有效地扩展EPG(以及BD、VRF实例和租户基础设施)。例如,参考图2中的示例,站点1的本地站点控制器可能将VRF实例210命名为VRF VNID X(其中VNID是源标识符),但站点2的本地站点控制器可能将其VRF实例210命名为VRF VNID A。因为这两个分开的对象应当被扩展并且被视为同一VRF实例210,所以多站点控制器为站点1提供命名空间转换映射,该命名空间转换映射指示具有VRF VIND A的接收到的分组应当被转换为VRF VIND X。多站点控制器还为站点2提供命名空间转换映射,该命名空间转换映射指示具有VRF VIND X的接收到的分组应当被转换为VRF VIND A。以这种方式,被站点1和站点2使用的不同的(并且可能冲突的)命名空间值可以被调解,使得两个站点中的VRF实例实际上是如图2中所示的单个扩展VRF实例210。
多站点控制器可以使用类似的过程来为站点中的其他对象(例如,EPG)建立命名空间转换映射。例如,站点1中的本地站点控制器可以向图2中的Web-EPG 220指派类ID“Z”,但站点2中的本地站点控制器向Web-EPG 220指派类ID“C”。作为响应,多站点控制器可以为站点1提供指示从站点2接收的具有类ID C的任何分组应当被转换为Z的命名空间转换映射,并且为站点2提供指示从站点1接收的具有类ID Z的任何分组应当被转换为C的命名空间转换映射。以这种方式,多站点控制器可以提供命名空间转换映射,使得取决于发送了分组的站点,接收站点可以将该分组中的类ID转换成相应的类ID(假定EPG在这两个站点之间被扩展)。
在块315,第一站点中的叶片交换机从被指派到扩展EPG的发送主机(例如,TX主机)接收向也被指派到该扩展EPG的第二站点中的接收主机(例如,RX主机)发送分组的请求。为了清楚起见,协同图4来论述方法300中的块,图4图示了根据本文描述的一个实施例的包括多个站点的统一结构100。在图4中,主机H1(例如,TX主机)向站点1中的叶片交换机L1提供分组,该分组应当被路由到站点2中的主机H4。另外,图4图示了每个站点可以具有多个交付点(Pod)——例如,交付点A和交付点B——其每一者包括骨干和叶片交换机的不同群组,但这并不是必要要求。
在块320,叶片交换机(例如,图4中的叶片交换机L1)确定到RX主机的路径是否未被习得。也就是说,如果这是TX主机H1第一次请求叶片交换机L1向RX主机H4发送数据,则叶片交换机L1尚不具有将数据路由到站点2的交付点C处的RX主机H4所要求的路由数据。如果到RX主机的路径已经被习得,则方法300前进到块335,在块335中根据方法600执行路由,但如果没有,则方法300前进到块330,块330执行方法500来习得TX和RX主机之间的路径。
图5是根据本文描述的一个实施例的用于使用未习得路径在不同站点处的主机之间通信的方法500的流程图。换句话说,方法500描述了用于识别布置在被指派到同一扩展EPG的不同站点处的端点之间的路由路径的技术。为了清楚起见,协同图4来论述方法500中的块。
在块505,叶片交换机L1将从主机H1接收的分组转发到第一站点中的任播代理(anycast proxy)。例如,叶片交换机L1确定其不知道到RX主机的路由并且将分组转发到能够识别该路由的骨干交换机(例如,骨干交换机S1)。交付点A可以包括能够充当用于识别在同一扩展EPG中但位于不同站点中的端点之间的路由的任播代理的任何数目的指定交换机。
在块510,任播代理确定其是否是多站点转发器。也就是说,因为RX主机H4在不同站点处,所以流量可以通过站点1处的指定多站点转发器被路由。由于在图4中,骨干交换机S1不是多站点转发器,所以在块515,其将分组转发到多站点转发器——例如,骨干交换机S2。然而,在另一实施例中,所有的骨干交换机都可以是指定的多站点转发器,在此情况下,可以省略块510。例如,所有的骨干交换机可以包括相同的查找表,这意味着哪个骨干交换机从叶片交换机L1接收分组并不重要。
在块520,多站点转发器使用边界网关协议(BGP)来识别RX主机的位置并且将分组的源ID改变成单播隧道端点(TEP)。在一个实施例中,多站点转发器执行BGP以太网虚拟专用网(Ethernet Virtual Private Network,EVPN)来识别RX主机的位置——例如,RX主机H4在站点2中。然而,在一个实施例中,转发器可以不知道RX主机位于站点2中的何处(例如,在哪个交付点中)。这样,多站点转发器可以使用多播隧道来将分组转发到站点2——例如,将目的地ID报头值(DIPo)设置到站点2的多播TEP,如图4中所示。在一个实施例中,多播隧道使得分组能够到达站点2的所有交付点。不具有该RX主机的交付点(例如,除了交付点C以外的任何交付点)丢弃该分组。
此外,多站点转发器将源ID报头值(SIPo)从叶片交换机L1改变成站点1的交付点A的单播TEP。这样做告知了接收站点该分组来自何处,因此站点2知道返回到TX主机H1的路由。也就是说,站点2不知道叶片交换机L1在何处,但其知道如何到达站点1处的交付点A的单播TEP(例如,骨干交换机S2)。在一个实施例中,每个交付点可以具有到统一结构中的所有其他站点中的每个交付点的单播隧道。因此,通过使用单播TEP来作为SIPo,接收站点可以知道将目的地为主机H1的流量转发到何处。
在块525,多站点转发器将分组提供给公共网络105,该公共网络105使用到站点2的多播隧道来路由该分组。如图所示,在图4中,分组到达骨干交换机S6,该骨干交换机S6确定交付点C具有该分组的RX主机。
如上所述,站点1和站点2可以具有私有命名空间,这些私有命名空间具有冲突。这样,在块530,骨干交换机S6使用由多站点控制器在方法300的块310提供的第二站点的命名空间转换映射来转换源标识符(例如,VNID和类ID)。也就是说,骨干交换机S6将与站点1的私有命名空间相对应的分组中的源标识符的值转换成站点2的私有命名空间中的那些相同的源标识符的值。使用上述示例,VRF的VNID可以被从X转换到A并且EPG的类ID可以被从Z转换到C。因为分组是在站点1和站点2之间扩展的VRF和EPG的一部分(虽然BD可以不同),所以骨干交换机S6使用命名空间转换映射来将VRF和EPG的源标识符从在站点1的命名空间中使用的源标识符转换成在站点2的命名空间中使用的值。以这种方式,命名空间转换映射使得统一结构100如图2中所示能够在多个站点之间扩展VRF和EPG。
在块535,骨干交换机S6改写分组的目的地ID(例如,DIPo),使得分组通过第二站点的交换结构被路由到与RX主机耦合的交换机。如图4中所示,骨干交换机S6确定叶片交换机L5耦合到RX主机H4,并且将目的地ID改变到叶片交换机L5。
在块540,叶片交换机L5去除由站点2中的交换结构使用的VXLAN报头以路由分组并且将分组转发到RX主机。另外,因为分组的SIPo包括站点1的交付点A的单播TEP,所以叶片交换机L5知道如何到达TX主机H1。因此,执行方法400不仅使得发送站点(例如,站点1)能够习得到RX主机H4的路径,而且其也使得接收站点(例如,站点2)能够习得到TX主机H1的路径。因此,如果主机H4向叶片交换机L5提供以主机H1为目的地的分组,则该交换机已经知道到达主机H1的路径(使用交付点A的单播TEP),并且因此,不需要习得该路径。这样,执行方法400可以建立习得路径来在同一扩展EPG中但在不同物理站点中的两个端点之间发送和接收数据。
图6是根据本文描述的一个实施例的用于使用习得路径来在不同站点处的主机之间通信的方法600的流程图。也就是说,方法600假设已经使用例如方法500习得了在不同站点中但在同一扩展EPG中的两个端点之间的路径。为了清楚起见,协同图7来论述方法600中的块,图7图示了根据本文描述的一个实施例的包括多个站点的统一结构。
在块605,叶片交换机将接收到的分组(例如,从TX主机H1接收的分组)转发到站点1中的交换机,该交换机是包含RX主机的站点2中的交付点的单播隧道端点。例如,叶片交换机L1将分组发送到骨干交换机,该骨干交换机充当站点1中的交付点A和站点2中的交付点C之间的单播隧道的一个端点。如上所述,在一个实施例中,统一结构中的每个交付点包括到所有其他站点中的每个交付点的单播隧道。
因为已经习得了路径,所以叶片交换机L1可以将目的地ID改变成交付点C的多站点单播TEP。例如,在方法500的块520处执行BGP来识别RX主机的位置(例如,站点2)之后,此信息可以用于更新叶片交换机L1中的路由表,以使得下一次TX主机H1发送以RX主机H4为目的地的分组时,叶片交换机L1知道目的地ID——即,交付点C的单播TEP。
在块610,骨干交换机S2将分组的源ID改变成与具有RX主机的站点2处的交付点相对应的站点1的单播隧道端点。也就是说,骨干交换机S2将SIPo改变成交付点A的单播TEP(其是骨干交换机S6的地址),而不是叶片交换机L1。
在块615,公共网络105使用站点1中的交付点A和站点2中的交付点C之间的单播隧道来将分组路由到站点2。与之对比,当习得路径时,骨干交换机S2可以使用多播隧道来将数据发送到站点2。既然已习得了路径,则交付点A和交付点C可以使用单播隧道来在同一扩展EPG中的端点之间传输数据分组。
块620和625分别与方法500中的块535和540类似,从而在这里不作详细描述。
图8是根据本文描述的一个实施例的用于对扩展EPG进行微分段的方法800的流程图。方法800假设如图2中所示已在统一结构中建立了至少一个扩展EPG。
在块805,多站点控制器接收用于识别扩展EPG中的端点的类型的过滤标准。如上所述,EPG可以包括不同类型的端点(例如,主机、应用、虚拟机、管理程序、容器、物理服务器,等等)。过滤标准可以识别共享该标准的端点的特定类型或子集。例如,过滤标准可以包括执行特定类型的操作***的虚拟机、特定类型的管理程序、或者由特定厂商销售的应用或服务器。在另一实施例中,过滤标准可以是MAC地址或IP地址的特定范围。
在块810,多站点控制器使用过滤标准来识别多个站点间的端点的子集。也就是说,多站点控制器通过扩展EPG中的端点进行解析并且识别具有或者满足过滤标准的端点。例如,过滤标准可以用于识别扩展EPG中的暴露于外部世界(例如,接收和服务来自外部用户或客户的请求)的web应用或服务器。这些web应用可以具有最大安全性顾虑,并且因此,***管理员可能希望向这些端点应用特殊的安全性策略,这些特殊的安全性策略不被应用到扩展EPG中的其他端点。
在块815,多站点控制器使用在块810识别的端点的子集来创建微扩展EPG。也就是说,这些端点被从原始扩展EPG中去除并且被放置在更小的(微)EPG中。如果所识别的端点位于统一结构中的不同站点处,则EPG仍是扩展EPG。
在块820,多站点控制器将微扩展EPG配置为具有与扩展EPG不同的策略。也就是说,既然端点在单独的EPG中,那么它们可以具有与原始扩展EPG中的端点不同的安全性策略、服务质量(QoS)、服务链策略和路由策略。这向***管理员提供了额外的灵活性以使用过滤标准来识别特定端点并且建立利用最适合于这些端点的策略来定制的新的微EPG。
图9图示了根据本文描述的一个实施例的统一结构900中的微扩展EPG。图9与图2中所示的统一结构100类似,只不过添加了两个新的BD(BD 215E和215F),以及微扩展WebEPG 220B。在一个实施例中,方法800被用于识别原本在扩展Web EPG 220A中、随后被去除并且被指派到微扩展Web EPG 220B的端点的子集。这样,微扩展Web EPG 220B中的端点可以具有与扩展Web EPG 220A中的端点完全不同的安全性策略、服务质量(QoS)、服务链策略和路由策略。例如,***管理员可以为微扩展Web EPG 220B中的端点建立更严格的安全性策略并且创建保护这些端点的防火墙。
虽然没有示出,但是多站点控制器140可以建立仍允许扩展Web-EPG 220A中的端点与微扩展Web-EPG 220B中的端点进行通信的安全性合约或策略。因此,如果这些端点先前在一起工作来执行服务或功能,则多站点控制器140可以使用安全性合约来确保两个分开的EPG中的端点继续提供该服务或功能。以这种方式,虽然端点在分开的EPG中并且具有分开的安全性策略,但是多站点控制器140可以使用安全性合约来允许端点一起工作来执行共同的服务或功能。
总之,在特定实施例中,端点群组(EPG)可以在站点之间被扩展,使得不同站点处的端点可以被指派到同一扩展EPG。因为站点可以在建立扩展EPG时使用不同的桥接域,所以当站点第一次向不同站点中的端点发送分组时,该站点习得或发现到目的地端点的路径。站点可以使用BGP来识别具有该主机的站点并且使用多播隧道来到达该站点。单播隧道可以用于将未来分组发送到目的地端点。此外,扩展EPG可以被分段以形成微扩展EPG。过滤标准可以用于识别扩展EPG中的端点的子集,这些端点随后被指派到微扩展EPG,微扩展EPG可以具有与扩展EPG不同的策略。
在前文中,参考了本公开中呈现的实施例。然而,本公开的范围不限于描述的具体实施例。相反,可以考虑所描述的特征和元素的任何组合,无论是否与不同实施例相关,都可实现和实践所设想的实施例。此外,虽然本文公开的实施例可以实现相对于其他可能解决方案或者相对于现有技术的优点,但是给定的实施例是否实现特定优点并不会限制本公开的范围。因此,除非在(一个或多个)权利要求中有明确记载,否则前述方面、特征、实施例和优点仅是说明性的,并且不被认为是所附权利要求的元素或限制。
正如本领域技术人员将会理解的,本文公开的实施例可以实现为***、方法或者计算机程序产品。因此,各方面可以采取如下形式:完全的硬件实施例、完全的软件实施例(包括固件、驻留软件、微代码,等等)、或者组合了软件和硬件方面的实施例,它们在本文中可以全部被统称为“电路”、“模块”或者“***”。此外,各方面可以采取包含在一个或多个计算机可读介质中的计算机程序产品的形式,该一个或多个计算机可读介质上包含有计算机可读程序代码。
可以利用一个或多个计算机可读介质的任何组合。计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质。计算机可读存储介质可以例如但不限于是电的、磁的、光的、电磁的、红外的或者半导体***、装置或设备,或者前述的任何适当组合。计算机可读存储介质的更具体示例(非详尽列表)将包括以下各项:具有一个或多个导线的电连接、便携式计算机盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦除可编程只读存储器(EPROM或闪存)、光纤、便携式光盘只读存储器(CD-ROM)、光存储设备、磁存储设备或者前述的任何适当组合。在本文档的上下文中,计算机可读存储介质是任何有形介质,其可以包含或存储程序以供指令执行***、装置或设备使用或者与其结合使用。
计算机可读信号介质可以包括例如在基带中或者作为载波的一部分的传播的数据信号,其中包含有计算机可读程序代码。这种传播的信号可以采取多种形式中的任何一种,包括但不限于电磁信号、光信号或这些信号的任何适当组合。计算机可读信号介质可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以传达、传播或者传输由指令执行***、装置或者设备使用或者与其结合使用的程序。
计算机可读介质上包含的程序代码可以使用任何适当的介质来传输,包括但不限于无线、有线、光纤电缆、RF等等,或者上述的任何适当组合。
可以用一种或多种编程语言的任何组合来编写用于执行本公开的各方面的操作的计算机程序代码,这些编程语言包括面向对象的编程语言,诸如Java、Smalltalk、C++等等;以及常规的过程式编程语言,诸如“C”编程语言或者类似的编程语言。程序代码可以完全地在用户的计算机上执行、部分地在用户的计算机上执行、作为独立的软件包执行、部分在用户的计算机上且部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在后一种场景中,远程计算机可以通过包括局域网(LAN)或广域网(WAN)在内的任何类型的网络来连接到用户的计算机,或者可以与外部计算机进行连接(例如,使用互联网服务提供商通过互联网进行)。
下面参考根据本公开中呈现的实施例的方法、装置(***)和计算机程序产品的流程图和/或框图来描述本公开的各方面。应当理解,流程图和/或框图的每个方框以及流程图和/或框图中各方框的组合可以由计算机程序指令来实现。这些计算机程序指令可以被提供给通用计算机、专用计算机或其他可编程数据处理装置的处理器,以生产出一种机器,使得这些指令在经由计算机或其他可编程数据处理装置的处理器执行时,产生了用于实现流程图和/或框图的一个或多个方框中指定的功能/动作的装置。
也可以将这些计算机程序指令存储在计算机可读介质中,这些指令可以指挥计算机、其他可编程数据处理装置或者其他设备以特定方式工作,使得存储在计算机可读介质中的指令产生包括实现流程图和/或框图的一个或多个方框中指定的功能/动作的指令的制造品(article of manufacture)。
也可以将计算机程序指令加载到计算机、其他可编程数据处理装置或其他设备上以使得一系列操作步骤在该计算机、其他可编程装置或其他设备上被执行来产生计算机实现的过程,使得在该计算机或其他可编程装置上执行的指令提供用于实现流程图和/或框图的一个或多个方框中指定的功能/动作的过程。
附图中的流程图和框图示出了根据各种实施例的***、方法和计算机程序产品的可能实现方式的架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表模块、片段或者代码的部分,所述模块、片段或者代码的部分包括一个或多个用于实现指定的(一个或多个)逻辑功能的可执行指令。还应当注意,在一些替换实现方式中,方框中标注的功能也可以按不同于附图中标注的顺序发生。例如,取决于所涉及的功能,接连示出的两个方框实际上可以被基本同时执行,或者方框有时可以按相反顺序被执行。还要注意,框图和/或流程图的每个方框、以及框图和/或流程图中的方框的组合,可以由执行指定的功能或动作的专用的基于硬件的***来实现,或者可以由专用硬件和计算机指令的组合来实现。
鉴于前述内容,本公开的范围由所附权利要求来确定。
Claims (27)
1.一种用于在不同站点间进行通信的***,包括:
第一站点处的第一交换结构,所述第一交换结构经由公共网络通信地耦合到第二站点处的第二交换结构,其中,所述第一站点与所述第二站点在不同地理位置处,
其中,所述第一交换结构被配置为:
从所述第一站点处的第一主机接收第一分组,所述第一分组包括对应所述第二站点处的第二主机的目的地,其中,所述第一主机和第二主机被指派到在所述第一站点和第二站点之间延伸的扩展端点群组EPG,其中,所述扩展EPG定义由所述第一主机和第二主机共享的安全性策略,
将所述第一分组中的源ID改变成所述第一站点处的单播隧道端点,
在确定所述第一主机和第二主机之间的路径未被习得时,通过所述公共网络使用多播隧道将所述第一分组从所述第一站点发送到所述第二站点,
在接收到所述第一分组后,从所述第一站点处的第一主机接收第二分组,所述第二分组包括对应所述第二站点处的第二主机的目的地,以及
在确定所述第一主机和第二主机之间的路径被习得时,并且在使用所述多播隧道发送所述第一分组后,通过所述公共网络使用单播隧道而不使用所述多播隧道将所述第二分组从所述第一站点发送到所述第二站点。
2.如权利要求1所述的***,其中,在确定所述第一主机和第二主机之间的路径未被习得时,所述第一交换结构被配置为:
通过在所述第一交换结构中的第一交换机处执行桥边界协议BGP来识别所述第二主机的位置,其中,所述第一交换机是所述第一站点的所述单播隧道端点。
3.如权利要求1或2所述的***,其中,所述第二交换结构被配置为:
将所述第一分组中的目的地报头值改写为与所述第二主机耦合的所述第二交换结构中的第一交换机。
4.如权利要求1或2所述的***,其中,所述第一交换结构和第二交换结构包括包含其他端点的其他EPG,其中,统一结构包括:
允许所述扩展EPG中的端点与所述其他EPG中的至少一者中的端点进行通信的至少一个安全性策略。
5.如权利要求1或2所述的***,还包括:
多站点控制器,被配置为:
使用过滤标准来识别所述扩展EPG中的端点的子集;以及
从所述端点的子集来创建微扩展EPG,其中,所述微扩展EPG在所述第一站点和第二站点之间延伸,并且其中,所述端点的子集被从所述扩展EPG中去除。
6.如权利要求5所述的***,其中,所述多站点控制器被配置为:
将所述微扩展EPG配置为具有至少一个与所述扩展EPG不同的策略,其中,所述微扩展EPG与所述扩展EPG在不同的桥接域或子网中。
7.如权利要求1或2所述的***,其中,所述第一分组包括由所述第一站点的命名空间定义的,对应所述扩展EPG的第一源标识符值,其中,所述第二交换结构被配置为:
在所述第一分组中的所述第一源标识符值被转换成由所述第二站点的命名空间定义的,对应所述扩展EPG的第二源标识符值之后,将所述第一分组转发到所述第二主机。
8.如权利要求7所述的***,其中,所述第一站点和第二站点包括相应命名空间转换映射,用于转换由其他站点中的命名空间使用的值。
9.一种用于在不同站点间进行通信的方法,包括:
从第一站点处的第一主机接收第一分组,所述第一分组包括对应第二站点处的第二主机的目的地,其中,所述第一主机和第二主机被指派到在所述第一站点和第二站点之间延伸的扩展EPG,其中,所述扩展EPG定义由所述第一主机和第二主机共享的安全性策略,
将所述第一分组中的源ID改变成所述第一站点处的单播隧道端点;
在确定所述第一主机和第二主机之间的路径未被习得时,通过公共网络使用多播隧道将所述分组从所述第一站点发送到所述第二站点;
在接收到所述第一分组后,从所述第一站点处的所述第一主机接收第二分组,所述第二分组包括对应所述第二站点处的所述第二主机的目的地;以及
在确定所述第一主机和第二主机之间的路径被习得时,并且在使用所述多播隧道发送所述第一分组后,通过所述公共网络使用单播隧道而不使用所述多播隧道将所述第二分组从所述第一站点发送到所述第二站点。
10.如权利要求9所述的方法,其中,在确定所述第一主机和第二主机之间的路径未被习得时,所述方法还包括:
通过在所述第一站点中的第一交换机处执行BGP来识别所述第二主机的位置,其中,所述第一交换机是所述第一站点的所述单播隧道端点。
11.如权利要求9或10所述的方法,还包括:
将所述第一分组中的目的地报头值改写为与所述第二主机耦合的所述第二站点中的第一交换机。
12.如权利要求9或10所述的方法,还包括:
在所述扩展EPG和第二EPG之间建立安全性合约,其中,所述安全性合约允许所述扩展EPG中的端点与所述第二EPG中的端点进行通信。
13.如权利要求9或10所述的方法,还包括:
使用过滤标准来识别所述扩展EPG中的端点的子集;以及
从所述端点的子集来创建微扩展EPG,其中,所述微扩展EPG在所述第一站点和第二站点之间延伸,并且其中,所述端点的子集被从所述扩展EPG中去除。
14.如权利要求13所述的方法,还包括:
将所述微扩展EPG配置为具有至少一个与所述扩展EPG不同的策略,其中,所述微扩展EPG与所述扩展EPG在不同的桥接域或子网中。
15.一种用于在不同站点间进行通信的***,包括:
第一站点处的第一交换结构,所述第一交换结构经由公共网络通信地耦合到第二站点处的第二交换结构,其中,所述第一站点与所述第二站点在不同地理位置处,
其中,所述第一交换结构被配置为:
从所述第一站点处的第一主机接收第一分组,所述第一分组包括对应所述第二站点处的第二主机的目的地,其中,所述第一主机和第二主机被指派到在所述第一站点和第二站点之间延伸的扩展端点群组EPG,其中,所述扩展EPG定义由所述第一主机和第二主机共享的安全性策略,
将所述第一分组中的源ID改变成所述第一站点处的单播隧道端点,
在确定所述第一主机和第二主机之间的路径未被习得时,通过所述公共网络使用多播隧道将所述第一分组从所述第一站点发送到所述第二站点,
在接收到所述第一分组后,从所述第一站点处的第一主机接收第二分组,所述第二分组包括对应所述第二站点处的第二主机的目的地,以及
在确定所述第一主机和第二主机之间的路径被习得时,并且在使用所述多播隧道发送所述第一分组后,通过所述公共网络使用单播隧道而不使用所述多播隧道将所述第二分组从所述第一站点发送到所述第二站点;以及
多站点控制器,被配置为:
使用过滤标准来识别所述扩展EPG中的端点的子集,
从所述端点的子集来创建微扩展EPG,其中,所述微扩展EPG在所述第一站点和第二站点之间延伸,并且其中,所述端点的子集被从所述扩展EPG中去除,并且
将所述微扩展EPG配置为具有至少一个与所述扩展EPG不同的策略,其中,所述微扩展EPG与所述扩展EPG在不同的桥接域或子网中。
16.如权利要求15所述的***,其中,在确定所述第一主机和第二主机之间的路径未被习得时,所述第一交换结构被配置为:
通过在所述第一交换结构中的第一交换机处执行桥边界协议BGP来识别所述第二主机的位置,其中,所述第一交换机是所述第一站点的所述单播隧道端点。
17.如权利要求15或16所述的***,其中,所述第二交换结构被配置为:
将所述分组中的目的地报头值改写为与所述第二主机耦合的所述第二交换结构中的第一交换机。
18.如权利要求15或16所述的***,其中,所述第一交换结构和所述第二交换结构包括其他EPG,所述其他EPG包括其他端点,其中所述***还包括:
允许所述扩展EPG中的端点与所述其他EPG的至少一者中的端点进行通信的至少一个安全性策略。
19.如权利要求15或16所述的***,其中,所述第一分组包括由所述第一站点的命名空间定义的,对应所述扩展EPG的第一源标识符值,其中,所述第二交换结构被配置为:
在所述第一分组中的所述第一源标识符值被转换成由所述第二站点的命名空间定义的对应所述扩展EPG的第二源标识符值之后,将所述第一分组转发到所述第二主机。
20.如权利要求19所述的***,其中,所述第一站点和第二站点包括相应命名空间转换映射,用于转换由其他站点中的命名空间使用的值。
21.一种用于在不同站点间进行通信的装置,包括:
用于从第一站点处的第一主机接收第一分组的设备,所述第一分组包括对应第二站点处的第二主机的目的地,其中,所述第一主机和第二主机被指派到在所述第一站点和第二站点之间延伸的扩展EPG,其中,所述扩展EPG定义由所述第一主机和第二主机共享的安全性策略,
用于将所述第一分组中的源ID改变成所述第一站点处的单播隧道端点的设备;
用于在确定所述第一主机和第二主机之间的路径未被习得时,通过公共网络使用多播隧道将所述分组从所述第一站点发送到所述第二站点的设备;
用于在接收到所述第一分组后从所述第一站点处的所述第一主机接收第二分组的设备,所述第二分组包括对应所述第二站点处的所述第二主机的目的地;以及
用于在确定所述第一主机和第二主机之间的路径被习得时,并且在使用所述多播隧道发送所述第一分组后,通过所述公共网络使用单播隧道而不使用所述多播隧道将所述第二分组从所述第一站点发送到所述第二站点的设备。
22.如权利要求21所述的装置,还包括用于在确定所述第一主机和第二主机之间的路径未被习得时通过在所述第一站点中的第一交换机处执行BGP来识别所述第二主机的位置的设备,其中,所述第一交换机是所述第一站点的所述单播隧道端点。
23.如权利要求21或22所述的装置,还包括:
用于将所述第一分组中的目的地报头值改写为与所述第二主机耦合的所述第二站点中的第一交换机的设备。
24.如权利要求21或22所述的装置,还包括:
用于在所述扩展EPG和第二EPG之间建立安全性合约的设备,其中,所述安全性合约允许所述扩展EPG中的端点与所述第二EPG中的端点进行通信。
25.如权利要求21或22所述的装置,还包括:
用于使用过滤标准来识别所述扩展EPG中的端点的子集的设备;以及
用于从所述端点的子集来创建微扩展EPG的设备,其中,所述微扩展EPG在所述第一站点和第二站点之间延伸,并且其中,所述端点的子集被从所述扩展EPG中去除。
26.如权利要求25所述的装置,还包括:
用于将所述微扩展EPG配置为具有至少一个与所述扩展EPG不同的策略的设备,其中,所述微扩展EPG与所述扩展EPG在不同的桥接域或子网中。
27.一种计算机可读存储介质,包括存储于其上的指令,所述指令在被计算机执行时,使得所述计算机执行如权利要求9至14中任一项所述的方法。
Applications Claiming Priority (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201862694349P | 2018-07-05 | 2018-07-05 | |
US62/694,349 | 2018-07-05 | ||
US16/162,199 US11159451B2 (en) | 2018-07-05 | 2018-10-16 | Stretched EPG and micro-segmentation in multisite fabrics |
US16/162,199 | 2018-10-16 | ||
PCT/US2019/040424 WO2020010160A1 (en) | 2018-07-05 | 2019-07-02 | Stateful packet transmission between remote networks |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112385194A CN112385194A (zh) | 2021-02-19 |
CN112385194B true CN112385194B (zh) | 2023-09-08 |
Family
ID=67614611
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201980041337.8A Active CN112385194B (zh) | 2018-07-05 | 2019-07-02 | 远程网络之间的状态分组传输 |
Country Status (4)
Country | Link |
---|---|
US (2) | US11159451B2 (zh) |
EP (2) | EP4164180A1 (zh) |
CN (1) | CN112385194B (zh) |
WO (1) | WO2020010160A1 (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11159451B2 (en) | 2018-07-05 | 2021-10-26 | Cisco Technology, Inc. | Stretched EPG and micro-segmentation in multisite fabrics |
US11336515B1 (en) | 2021-01-06 | 2022-05-17 | Cisco Technology, Inc. | Simultaneous interoperability with policy-aware and policy-unaware data center sites |
CN113542213B (zh) * | 2021-05-27 | 2023-09-22 | 新华三大数据技术有限公司 | 一种访问控制策略生成方法及装置、编排器 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101656670A (zh) * | 2008-08-14 | 2010-02-24 | 丛林网络公司 | 具有集成mpls-感知防火墙的路由装置 |
CN104426680A (zh) * | 2013-09-03 | 2015-03-18 | 华为技术有限公司 | 数据传输方法、装置和*** |
CN107409235A (zh) * | 2015-03-27 | 2017-11-28 | 爱立信股份有限公司 | 用于使用单播abr流播在交换数字视频网络中提供vod内容的***和方法 |
Family Cites Families (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7907595B2 (en) * | 2006-09-29 | 2011-03-15 | Avaya, Inc. | Method and apparatus for learning endpoint addresses of IPSec VPN tunnels |
EP2132628A1 (en) | 2007-04-05 | 2009-12-16 | International Business Machines Corporation | Method, system and computer program for configuring firewalls |
WO2014169251A1 (en) * | 2013-04-12 | 2014-10-16 | Huawei Technologies Co., Ltd. | Service chain policy for distributed gateways in virtual overlay networks |
US20150124824A1 (en) | 2013-11-05 | 2015-05-07 | Cisco Technology, Inc. | Incast drop cause telemetry |
US10341188B2 (en) | 2015-01-27 | 2019-07-02 | Huawei Technologies Co., Ltd. | Network virtualization for network infrastructure |
US9807020B2 (en) * | 2015-05-08 | 2017-10-31 | Cisco Technology, Inc. | Policy enforcement for upstream flood traffic |
US9838315B2 (en) * | 2015-07-29 | 2017-12-05 | Cisco Technology, Inc. | Stretched subnet routing |
KR102491872B1 (ko) | 2015-07-31 | 2023-01-27 | 삼성디스플레이 주식회사 | 축합환 화합물 및 이를 포함한 유기 발광 소자 |
US10187321B2 (en) | 2015-08-19 | 2019-01-22 | Cisco Technology, Inc. | Dynamic VPN policy model with encryption and traffic engineering resolution |
US20200227186A1 (en) | 2015-08-26 | 2020-07-16 | Hitachi, Ltd. | Ferromagnetic Alloy and Method of Manufacturing the Ferromagnetic Alloy |
JP6693141B2 (ja) | 2016-01-20 | 2020-05-13 | 日本電気株式会社 | パケット転送装置、パケット転送方法、および、プログラム |
US10171507B2 (en) | 2016-05-19 | 2019-01-01 | Cisco Technology, Inc. | Microsegmentation in heterogeneous software defined networking environments |
US10469402B2 (en) | 2016-11-16 | 2019-11-05 | Cisco Technology, Inc. | Dynamic endpoint group binding for cross-tenant resource sharing in software defined networks |
US10425325B2 (en) * | 2017-10-30 | 2019-09-24 | Dell Products Lp | Optimizing traffic paths to orphaned hosts in VXLAN networks using virtual link trunking-based multi-homing |
US11159451B2 (en) | 2018-07-05 | 2021-10-26 | Cisco Technology, Inc. | Stretched EPG and micro-segmentation in multisite fabrics |
-
2018
- 2018-10-16 US US16/162,199 patent/US11159451B2/en active Active
-
2019
- 2019-07-02 WO PCT/US2019/040424 patent/WO2020010160A1/en active Application Filing
- 2019-07-02 EP EP22210493.7A patent/EP4164180A1/en active Pending
- 2019-07-02 EP EP19752761.7A patent/EP3818677B1/en active Active
- 2019-07-02 CN CN201980041337.8A patent/CN112385194B/zh active Active
-
2021
- 2021-09-21 US US17/448,320 patent/US11949602B2/en active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101656670A (zh) * | 2008-08-14 | 2010-02-24 | 丛林网络公司 | 具有集成mpls-感知防火墙的路由装置 |
CN104426680A (zh) * | 2013-09-03 | 2015-03-18 | 华为技术有限公司 | 数据传输方法、装置和*** |
CN107409235A (zh) * | 2015-03-27 | 2017-11-28 | 爱立信股份有限公司 | 用于使用单播abr流播在交换数字视频网络中提供vod内容的***和方法 |
Also Published As
Publication number | Publication date |
---|---|
CN112385194A (zh) | 2021-02-19 |
WO2020010160A1 (en) | 2020-01-09 |
EP3818677B1 (en) | 2023-01-04 |
US11159451B2 (en) | 2021-10-26 |
US11949602B2 (en) | 2024-04-02 |
US20200014634A1 (en) | 2020-01-09 |
EP3818677A1 (en) | 2021-05-12 |
EP4164180A1 (en) | 2023-04-12 |
US20220006757A1 (en) | 2022-01-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11863625B2 (en) | Routing messages between cloud service providers | |
US10708125B1 (en) | Gateway configuration using a network manager | |
US11470001B2 (en) | Multi-account gateway | |
EP3466037B1 (en) | Subnet stretching via layer three communications | |
CN112368979B (zh) | 通信装置、方法和*** | |
US10361911B2 (en) | Managing use of alternative intermediate destination computing nodes for provided computer networks | |
US9736016B2 (en) | Managing failure behavior for computing nodes of provided computer networks | |
US20150124823A1 (en) | Tenant dhcp in an overlay network | |
US10033622B2 (en) | Controller-based dynamic routing in a software defined network environment | |
US11949602B2 (en) | Stretched EPG and micro-segmentation in multisite fabrics | |
EP3883217A1 (en) | Data transmission method and computer system | |
US9444723B1 (en) | Passing data over virtual links | |
US9344360B2 (en) | Technique for managing an allocation of a VLAN | |
CN116158063A (zh) | 多边以太信道(meec)创建和管理 | |
US9438475B1 (en) | Supporting relay functionality with a distributed layer 3 gateway | |
Matias et al. | The EHU-OEF: an OpenFlow-based layer-2 experimental facility | |
CN112671811B (zh) | 一种网络接入方法和设备 | |
KR20180105375A (ko) | 패킷 광 전송 네트워크를 통한 클라우드 간 가상 네트워킹 제공 방법 |
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 |