CN112350943A - 基于组的策略多播转发 - Google Patents
基于组的策略多播转发 Download PDFInfo
- Publication number
- CN112350943A CN112350943A CN202010789736.7A CN202010789736A CN112350943A CN 112350943 A CN112350943 A CN 112350943A CN 202010789736 A CN202010789736 A CN 202010789736A CN 112350943 A CN112350943 A CN 112350943A
- Authority
- CN
- China
- Prior art keywords
- multicast
- forwarding
- data packet
- multicast address
- destination
- 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.)
- Pending
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/02—Details
- H04L12/16—Arrangements for providing special services to substations
- H04L12/18—Arrangements for providing special services to substations for broadcast or conference, e.g. multicast
- H04L12/185—Arrangements for providing special services to substations for broadcast or conference, e.g. multicast with management of multicast group membership
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/02—Details
- H04L12/16—Arrangements for providing special services to substations
- H04L12/18—Arrangements for providing special services to substations for broadcast or conference, e.g. multicast
- H04L12/1886—Arrangements for providing special services to substations for broadcast or conference, e.g. multicast with traffic restrictions for efficiency improvement, e.g. involving subnets or subdomains
-
- 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
- H04L45/745—Address table lookup; Address filtering
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L65/00—Network arrangements, protocols or services for supporting real-time applications in data packet communication
- H04L65/60—Network streaming of media packets
- H04L65/61—Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio
- H04L65/611—Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio for multicast or broadcast
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Multimedia (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本公开涉及基于组的策略多播转发。一种基于组的策略多播转发的方法包括:从源端点接收数据分组,该源端点被包括在由源端点组策略标识符所标识的源端点组内,其中该数据分组包括第一多播地址。方法还包括:将数据分组转换为包括第二多播地址的已转换数据分组,该第二多播地址使用源端点组策略标识符和多播索引而被构造,该多播索引指定源端点组与由一个或多个目的地端点组策略标识符所标识的一个或多个目的地端点组之间的多播转发策略。方法还包括:向一个或多个目的地端点组内包括的一个或多个目的地端点转发已转换数据分组,其中该转发基于第二多播地址。可以使用转发路径来路由数据分组,该转发路径基于针对第二多播地址而被构造的多播转发树。
Description
背景技术
多播是一种网络服务,其允许对数据分组进行寻址并且将其向一组端点而不是单个端点递送(这被称为单播)。针对多播的应用范围很广,例如包括网络资源和联网应用的发现、音频和/或视频服务的分发、以及用于工业和控制应用的事物(机器、传感器等)的协调和同步。网络拓扑正在发展,它在有线基础设施底层网络之上构建一个或多个覆盖网络,从而允许在越来越多的端点之间的虚拟连接或逻辑链路,以提供各种应用或安全性益处。对于这些不断发展的网络拓扑,期望有高效的多播技术。
附图说明
当结合附图阅读时,根据以下详细描述可以最好地理解本公开。要强调的是,根据行业中的标准实践,各种特征未按比例绘制。实际上,为了清楚起见,各种特征的尺寸可以任意增加或减小。本公开的特征通过示例的方式示出,并且不被限制在以下附图中,在附图中,相似的数字指示相似的元素,在附图中:
图1描绘了根据本公开的一个或多个示例的可以在其中实现基于组的策略多播转发的网络;
图2描绘了根据本公开的一个或多个示例的基于组的策略矩阵;
图3描绘了根据本公开的一个或多个示例的用于构造用于基于组的策略多播转发的多播转发树的方法的流程图;
图4描绘了根据本公开的一个或多个示例的用于基于组的策略多播转发的方法的流程图;
图5描绘了根据本公开的一个或多个示例的用于基于组的策略多播转发的方法的流程图;
图6描绘了根据本公开的一个或多个示例的用于在基于组的策略多播转发中使用的转发表;
图7描绘了根据本公开的一个或多个示例的用于基于组的策略多播转发的方法的流程图;
图8描绘了根据本公开的一个或多个示例的可以在其中实现构造多播转发树和基于组的策略多播转发的计算设备;以及
图9描绘了根据本公开的一个或多个示例的存储用于构造多播转发树和基于组的策略多播转发的可执行指令的非暂态计算机可读存储介质。
具体实施方式
现在将公开下面要求保护的主题的说明性示例。为了清楚起见,在本说明书中没有描述实际实现的所有特征。应当理解,在任何这样的实际实现的开发中,可以做出很多特定于实现的决定来实现开发者的特定目标,诸如遵守与系统相关的约束和与业务相关的约束,这可以因实现而异。而且,应当理解,即使是复杂且费时的,但是这种开发工作对于受益于本公开的本领域普通技术人员来说也是常规的。
有效多播的技术障碍包括无线介质上的网络过载、有线介质上的过度复制、用于多播转发的构造和部署的复杂信令协议、以及不支持应用的需求的多播范围限制。为了说明,提供了两种用于多播的技术:基于以太网虚拟局域网(“VLAN”)的多播和与互联网协议无关的多播(“PIM”)路由,每种技术表现出这些技术障碍中的至少一些。
例如,由一些发现协议使用的基于VLAN的多播可以被配置为在整个网络段(例如,整个VLAN子网(“子网”))上泛洪数据分组的副本,其中数据分组被过滤以确定哪些端点应当接收数据分组。这可能导致不必要地过载网络中的一些设备。此外,当基于VLAN的多播扩展到单个VLAN的边界之外(例如,以发现相邻子网上的资源)时,这个问题可能会加剧。
PIM路由提供了用于针对使用PIM稀疏模式(“PIM-SM”)的稀疏分布式接收器和使用PIM密集模式(“PIM-DM”)的密集分布式接收器进行多播分发的多种方法,并且通过使用信令协议解决了基于VLAN的多播的泛洪问题。但是,操作复杂性和网络状态要求使部署变得困难。另外,由于PIM依赖于显式信令(例如,多播连接)来附接和构建多播,因此PIM系统不太适合于支持发现协议。
本文中公开了用于基于组的策略多播转发的方法和硬件,诸如包括可执行指令的非暂态计算机可读存储介质和计算设备。在一个示例中,一种方法包括:从由源端点组策略标识符标识的源端点组内包括的源端点接收数据分组,其中该数据分组包括第一多播地址。该方法还包括将数据分组转换(transform)为包括第二多播地址的已转换数据分组,该第二多播地址是使用源端点组策略标识符和用于指定源端点组与由一个或多个目的地端点组策略标识符标识的一个或多个目的地端点组之间的多播转发策略的多播索引构造的。该方法还包括向一个或多个目的地端点组内包括的一个或多个目的地端点转发已转换数据分组,其中该转发基于第二多播地址。
基于第二多播地址(基于源端点组标识符和多播索引而被构造)来转发数据分组实现了很多说明性益处。例如,数据分组的路由被绑定到由多播索引指定的多播转发策略,该多播转发策略可以使得多播数据分组能够向由多播索引指定的一个或多个目的地端点组中包括的一个或多个目的地端点被直接路由,而无需过滤数据分组以确定哪些端点应当接收数据分组。这可以消除与利用数据分组的副本泛洪网络相关联的网络和/或设备过载以及过度复制,以及在接收端对数据分组进行所需要的过滤。
另外,本公开的示例可以使得多播数据分组能够向由多播索引指定的一个或多个目的地端点组中包括的一个或多个目的地端点被直接路由,而目的地端点不必显式地加入多播组。这降低了实现多播的信令复杂性,即使在缩放网络中的端点的数目时,这可能允许增加多播范围限制以支持应用的扩展需求。
在另一示例中,根据本公开,一种方法包括:接收基于组的策略矩阵,该基于组的策略矩阵至少具有标识源端点组的源端点组策略标识符、标识其中包括有一个或多个目的地端点的一个或多个目的地端点组的一个或多个目的地端点组策略标识符、以及用于指定源端点组与一个或多个目的地端点组之间的多播转发策略的多播索引。该方法还包括使用源端点组策略标识符和多播索引来构造多播地址,并且接收针对在一个或多个目的地端点组内包括的每个目的地端点的每个网络附接点的标识符,例如端口号。该方法还包括构造多播转发树以使用针对网络附接点的标识符来对针对所构造的多播地址的转发路径进行编程。转发路径使用所构造的多播地址来控制从源端点组向一个或多个目的地端点组的多播数据分组的多播分发,所构造的多播地址标识多播转发策略。
基于多播地址(使用多播索引并且使用一个或多个预期目的地端点的个体网络地址而被构造)来对转发路径进行编程使得能够将多播数据分组向预期目的地端点直接路由,而无需泛洪网络而且不会给接收设备带来过滤负担。转发路径还允许将多播数据分组向预期目的地端点路由,而这些端点不必加入多播组,从而减少了与多播实现相关联的信令开销。
因此,本公开可以促进基于组的策略多播转发,该基于组的策略多播转发比基于VLAN的多播提供对多播转发的更大控制并且比PIM路由提供更简单且更容易缩放的操作。无论预期目的地端点是被包括在单个子网中还是被包括在多个子网中,都可以实现上述示例益处。而且,本公开可以被应用以在基于控制器的无线网络中或在分布式底层网络中促进基于组的策略多播转发。
现在转向附图,图1描绘了根据本公开的一个或多个示例的可以在其中实现基于组的策略多播转发的网络100。如图所示,网络100包括由个人使用计算设备来操作的策略管理器102;控制器104-1和104-2,统称为控制器104;有线基础设施底层网络106;以及子网110-1、110-2、110-3和110-4,统称为子网110。在特定示例中,网络100可以是部署底层/覆盖技术以例如执行以下操作的企业网络:在附接设备上实现无控制器移动性;应用基于组的策略管理以简化网络访问控制;利用网络分段来隔离不同的网络应用;并且提供简化的网络配置。
例如,策略管理器102可以用于向构建在诸如有线基础设施底层网络106等底层网络之上的一个或多个覆盖网络提供对个体、组、设备和/或应用的基于角色和/或基于设备的安全网络访问控制。策略管理器102可以至少部分由(在由操作策略管理器102的个人使用的计算设备上执行的)策略管理软件和/或固件(未单独示出)来实现,以作为网络访问控制的一部分确定和分发转发策略。控制器104可以用作针对网络访问控制的分发和执行点,包括转发策略的分发和实施。因此,策略管理器102耦合到两个控制器104(仅示出了这些耦合中的一个)。在一个示例中,控制器104具有冗余功能。
一个或多个覆盖网络可以提供对覆盖服务的访问,包括但不限于数据分组路由(例如,使用互联网协议(“IP”))、多播路由、服务质量、和/或其他类型或网络虚拟化,诸如互联网工程任务组(“IETF”)的第3层网络虚拟化(“NVO3”)。此外,一个或多个覆盖网络可以被实现为对等网络、IP网络、VLAN等。覆盖服务通过在连接到网络100的端点之间建立逻辑通信链路来提供。逻辑通信链路可以使用诸如第3层(例如,IP)地址或第2层(例如,以太网)地址等覆盖网络地址来建立,有线基础设施底层网络106可以使用这些覆盖网络地址将数据分组从源端点向一个或多个目的地端点路由。
“端点”是可以由标识标签或编号和/或由网络地址来指明(designate)的实体。作为一些示例,端点可以是计算设备(诸如客户端设备或服务器设备(“服务器”))、在计算设备上执行的应用、实际的物理位置(诸如网络端口)、或由网络或软件地址指明的逻辑位置。由标识符(诸如策略标识符)标识的一组端点称为“端点组”。
端点可以源送或接收数据分组。源送、发送或发起数据分组的端点称为“源端点”,而包括源端点的端点组称为“源端点组”。数据分组被定向或寻址到的端点(换言之,针对数据分组的预期接收者端点)称为“目的地端点”,而包括目的地端点的端点组称为“目的地端点组”。
“数据分组”是由网络100携带的数据的格式化单元,并且可以包括用户数据(也称为有效负载)、以及用于递送数据分组的控制信息,诸如源和目的地网络地址。控制信息可以被包括在数据分组的一个或多个报头和/或页脚(footer)中。
有线基础设施底层网络106(也称为底层网络106)包括多个联网设备,诸如交换机、路由器、网关、中继器、集线器等。“联网设备”是指物理设备以及其相关联的硬件,它们也可以执行软件代码和/或固件,以在网络内的端点之间递送或协助递送数据分组。交换机108-1、108-2、108-3、108-4、108-5和108-6(统称为交换机108)被示出为底层网络106的一部分。如图所示,在该特定示例中,交换机108被实现为边缘设备,该边缘设备可以提供通向底层网络106的入口点(作为入口路由设备)和来自底层网络106的出口点(作为出口路由设备)。然而,至少部分取决于企业的大小和/或所支持的端点的数目和/或所覆盖的地理区域,底层网络106可以包括可以是边缘设备或可以是内部设备的附加联网设备,该设备不位于底层网络106的边缘。
底层网络106的包括交换机108在内的联网设备可以实现一个或多个协议,以促进构造和使用路由/转发树、路由/转发表等,以在端点之间路由数据分组。示例协议包括但不限于IP(例如,IPv4或IPv6)、最短路径桥接(“SPB”)、生成树协议(“STP”)、多生成树协议(“MSTP”)、链路状态路由协议(例如,开放最短路径优先(“OSPF”)和中间系统到中间系统(“IS-IS”)、边界网关协议(“BGP”)、等价多路径路由(“ECMP”)、路由信息协议(“RIP”)、用于IPv6的标识符定位符寻址(“ILA”)等。在特定示例中,底层网络106是基于ILA和IETF的NVO3的IPv6网络。
如图所示,网络100包括多个(在这种情况下为四个)网络段或子网110。在一个示例中,子网110基于网络寻址来区分。例如,属于给定子网110的端点和接入设备具有唯一的IP地址,但是具有相同的最高有效位组。子网110中的每个子网具有接入设备,该接入设备促进将子网110的端点连接到底层网络106以进行数据分组转发。针对子网110-1、110-2和110-3的接入设备分别包括接入点112-1、112-2和112-3,统称为接入点112。针对子网110-4的接入设备是有线端口114。接入点112使得端点能够使用任何合适的无线协议或技术无线地连接到底层网络106,包括但不限于无线局域网(WLAN)技术(例如,802.11a/b/g/n);无线城域网(“WMAN”)技术(例如,802.16宽带无线接入WMAN标准);以及无线广域网(“WWAN”)技术(例如,GSM/GPRS/EDGE和CDMA200 1xRTT)。有线端口114促进端点到底层网络106的有线连接。
如图所示,子网110-1、110-2和110-3包括统称为端点118的设备。在该示例中,端点118是客户端设备。子网110-4包括统称为端点116的设备。在该示例中,端点116是服务器。更具体地,子网110-1包括可以使用接入点112-1无线地连接到底层网络106的端点118-1、118-2和118-3。子网110-2包括可以使用接入点112-2无线地连接到底层网络106的端点118-4、118-5、118-6和118-7。子网110-3包括可以使用接入点112-3无线地连接到底层网络106的端点118-8、118-9和118-10。子网110-4包括可以使用有线端口114连接到底层106的端点116-1和116-2。
在一个示例中,从被分配给端点和接入设备所属和/或在其中连接的子网的网络地址的范围中向端点和接入设备指配个体网络地址,例如IP地址。指配给端点的个体网络地址可以是固定的或永久的(例如,对于固定服务器)或者是动态的(例如,对于移动客户端设备)。动态网络地址可以随着端点在网络100内移动(例如,移动到网络100内的不同子网)而改变。分配给接入设备的个体网络地址可以是固定的或永久的。网络管理员(例如,操作策略管理器102的个人)可以指配个体网络地址。在一个示例中,个体网络地址可以被认为是覆盖网络地址,因为它们不由底层网络106直接用来转发数据分组,而是可以至少经历转换到底层网络地址和/或替换为底层网络地址以转发数据分组。
例如,可以从被分配给子网110-1的网络地址范围中向端点118-1、118-2和118-3指配动态的个体网络地址。可以从被分配给子网110-2的网络地址范围中向端点118-4、118-5、118-6和118-7指配动态的个体网络地址。可以从被分配给子网110-3的网络地址范围中向端点118-8、118-9和118-10指配动态的个体网络地址。可以从被分配给子网110-4的网络地址范围中向端点116指配固定的个体网络地址。
如进一步示出的,策略管理器102经由交换机108-1连接到底层网络106。控制器104经由交换机108-2连接到底层网络106。接入点112经由交换机108-3、108-4和108-5连接到底层网络106。有线端口114经由交换机108-6连接到底层网络106。此外,控制器104、接入点112和有线端口114被示出为位于底层网络106之外。但是,在不同示例中,控制器104、接入点112和有线端口114包括路由功能并且被包括作为底层网络106的边缘设备。
在一个示例中,策略管理器102实现基于组的策略(GBP),该GBP通过指配拓扑独立的策略标识符以标识具有公共网络转发策略的一组或多组端点(即,一个或多个端点组)来简化访问控制。策略标识符称为端点组策略标识符(“EPG ID”)。在一个示例中,EPG ID独立于其中使用EPG ID的网络的特定拓扑。例如,由于是拓扑独立的,因此EPG ID不指示网络100内的位置。在特定示例中,每个端点组由唯一的16位EPG ID值标识。此外,用于标识源端点组的EPG ID被称为“源EPG ID”,而用于标识目的地端点组的EPG ID被称为“目的地EPGID”。
对于示例网络100,策略管理器102已经指配了用于标识包括一个或多个端点的三个相应端点组的EPG ID 1、EPG ID 2和EPG ID 3。在该示例中,端点118-1、118-2、118-3、118-5、118-8、118-9和118-10被包括在由EPG ID 1标识的端点组中。端点118-4、118-6和118-7被包括在由EPG ID 2标识的端点组中。端点116被包括在由EPG ID 3标识的端点组中。应当注意,由于EPG ID与网络拓扑无关,因此在同一端点组内的端点可以但不必共享同一子网。
接入策略、特别是网络转发策略可以用GBP表示为EPG ID之间的简单关系。在一个示例中,EPG ID之间的关系表示端点组之间的个体转发策略和多播转发策略,并且被包括在基于组的策略矩阵(“GBPM”)内。因此,GBPM基于所指配的EPG ID来指定网络接入。在特定示例中,GBPM针对给定网络(诸如网络100)内的每个端点组表示个体转发策略和多播转发策略两者。此外,策略管理器102可以用于创建和分发GBPM。
“个体转发策略”是指一种规则,该规则指定目的地端点组内的一个或多个目的地端点是否被授权或允许从源端点组内的一个或多个源端点接收单播数据分组。“多播转发策略”是指一种规则,该规则指定目的地端点组内的一个或多个目的地端点是否被授权或允许从源端点组内的一个或多个源端点接收多播数据分组。在特定示例中,在GBPM中使用个体转发标识符来指定源端点组与一个或多个目的地端点组之间的个体转发策略。在GBPM中使用多播转发标识符来指定源端点组与一个或多个目的地端点组之间的多播转发策略。个体标识符和多播标识符可以使用策略管理器102来确定。
图2描绘了可以针对网络100创建的示例GBPM 200。GBPM 200包括分别标记为“源EPG ID”、“覆盖地址类型”、“底层转发标识符”和“目的地EPG ID”的列202-208。列202列出了如被指配给网络100的端点组的EPG ID 1、EPG ID 2和EPG ID 3的源EPGID。GBPM 200还包括与源EPG ID之一相关联并且其中包括有源EPG ID之一的源EPG ID行210-214,也称为行210-214。源EPG ID行210-214中的每个还包括:列204中的个体地址类型和一个或多个多播地址类型;列206中的个体转发标识符,其对应于在该EPG ID行中列出的个体地址类型或与之相关联;以及一个或多个多播转发标识符,列208,其对应于在该EPG ID行中列出的一个或多个多播地址类型或与之相关联。
在GBPM 200中,作为示例,每个个体转发标识符包括相关联的源EPG ID,并且具有说明性格式I(源EPG ID)。每个多播转发标识符包括相关联的源EPG ID和多播索引,并且具有说明性格式G(源EPG ID、多播索引),该格式是源EPG ID和多播索引的特定元组。此外,在特定示例中,多播索引是16位值,其可以针对每个源EPG ID是不同的或重复使用。如图所示,多播索引针对每个源EPG ID被重复使用。另外,在多播转发标识符中包括多播索引允许多播索引用于指定相关联的源端点组与一个或多个目的地端点组之间的多播转发策略。
列208列出了如被指配给网络100的端点组的EPG ID 1、EPG ID 2和EPG ID 3的子列216-220中的目的地EPG ID。在子列216-220中的一个或多个内包括个体转发标识符针对该EPG ID行指定了对应的源端点组与一个或多个目的地端点组之间的个体转发策略。在子列216-220中的一个或多个内包括一个或多个多播转发标识符针对该EPG ID行指定了对应的源端点组与一个或多个目的地端点组之间的一个或多个多播转发策略。
GBPM 200中包括的一个或多个多播地址类型可以指示默认多播地址类型和/或一个或多个特定的多播地址类型。“默认多播地址类型”是指由未在GBPM 200中明确列出的源端点使用的任何多播地址。“特定多播地址类型”是指由在GBPM 200中明确列出的源端点使用的多播地址。特定多播地址可以是例如层2多播地址或层3多播地址。
如图所示,包括源EPG ID 1的行210还包括与默认多播地址类型相关联的个体转发标识符“I(1)”和多播转发标识符“G(1,11)”。在子列220中包括I(1)指定了一种个体转发策略,即,由EPG ID 3标识的目的地端点组内的目的地端点被允许接收从由EPG ID 1标识的源端点组内的源端点发送的单播数据分组。在子列220中包括G(1,11)指定了一种多播转发策略,即,由EPG ID 3标识的目的地端点组内的目的地端点被允许接收从由EPG ID 1标识的源端点组内的源端点发送的多播数据分组,而不管原始数据分组中包括的多播地址如何。
包括源EPG ID 2的行212还包括个体转发标识符“I(2)”和与针对以太网地址01-00-00-01-02-03的特定多播地址类型相关联的多播转发标识符“G(2,12)”。在子列218和220中包括I(2)指定了一种个体转发策略,即,由EPG ID 2和EPG ID 3标识的目的地端点组内的目的地端点被允许接收从由EPG ID2标识的源端点组内的源端点发送的单播数据分组。在子列218和220中包括G(2,12)指定了一种多播转发策略,即,仅当数据分组包括以太网地址01-00-00-01-02-03时,由EPG ID 2和EPG ID 3标识的目的地端点组内的目的地端点被允许接收从由EPG ID 2标识的源端点组内的源端点发送的多播数据分组。
包括源EPG ID 3的行214还包括个体转发标识符“I(3)”;与默认多播地址类型相关联的多播转发标识符“G(3,11)”;与针对IPv6地址ff03::6的特定多播地址类型相关联的多播转发标识符“G(3,12)”;以及与针对IPv6地址ff03::7的特定多播地址类型相关联的多播转发标识符“G(3,13)”。在子列216、218和220中包括I(3)指定了一种个体转发策略,即,由EPG ID 1、EPG ID 2和EPG ID 3标识的目的地端点组内的目的地端点被允许接收从由EPG ID 3标识的源端点组内的源端点发送的单播数据分组。
在子列220中包括G(3,11)指定了一种多播转发策略,即,对于原始数据分组中包括的任何多播地址,除了明确列出的多播地址ff03::6和ff03::7之外,由EPG ID 3标识的目的地端点组内的目的地端点被允许接收从由EPG ID 3标识的源端点组内的源端点发送的多播数据分组。在子列216中包括G(3,12)指定了一种多播转发策略,即,仅当数据分组包括IPv6地址ff03::6时,由EPG ID 1标识的目的地端点组内的目的地端点被允许接收从由EPG ID 3标识的源端点组内的源端点发送的多播数据分组。在子列218中包括G(3,13)指定了一种多播转发策略,即,仅当数据分组包括IPv6地址ff03::7时,由EPG ID 2标识的目的地端点组内的目的地端点被允许接收从由EPG ID 3标识的源端点组内的源端点发送的多播数据分组。
策略管理器102可以用于将GBPM 200提供给底层网络106。底层网络106内的一个或多个联网设备可以使用GBPM 200内的条目中的至少一些条目、尤其至少是源EPG ID和对应的多播索引,以根据至少部分地由多播索引指定的多播转发策略来对限制多播分发的转发路径或路由进行编程。例如,策略管理器102将GBPM 200分发给底层网络106中的所有交换机,例如,交换机108。在特定示例中,策略管理器102使用链路状态路由协议来分发GBPM200,例如通过在OSPF路由协议的链路状态通告(LSA)中包括GBPM 200。备选地,GBPM 200可以使用其他方法来分发,包括但不限于管理对象、命令行界面(“CLI”)命令、或代表性状态转移(“REST”)应用程序编程接口(“API”)。
控制平面然后可以使用GBPM 200,并且可以使用其他数据,以构造多播转发树和对应的多播转发表并且对沿着多播转发树的多播转发途径或路径进行编程以用于转发多播数据分组。“控制平面”是指用于构造网络或路由拓扑(包括转发树)的数据分组路由架构(包括联网设备和路由协议)的一部分。控制平面还可以用于基于所构造的多播转发树来构造路由和转发表并且对转发路径进行编程。路由和转发表以及经编程的转发路径可以由转发平面(例如,底层网络106的路由设备)使用,以根据GBPM 200中包括的多播转发策略通过底层网络106路由多播数据分组,其中多播转发仅限于由多播转发策略指定的目的地端点组中包括的目的地端点。在一个示例实现中,这种有限的多播分发可以通过以下方式来完成:构造与GBPM 200的每行的每个源EPG ID/多播索引对相对应的多播地址,针对每个所构造的多播地址构造对应的多播转发树,并且构造与每个所构造的多播转发树相关联的一个或多个转发表和经编程的转发路径。
图3描绘了根据本公开的一个或多个示例的用于构造用于基于组的策略多播转发的多播转发树的方法300的流程图。在一个示例中,针对GBPM 200中的每个多播条目构造多播转发树。在实现控制平面时使用的计算设备(诸如联网设备)可以执行方法300。
根据方法300,计算设备接收(302)GBPM,诸如GBPM 200,该GBPM包括多个条目。多个条目至少包括:标识源端点组的源端点组策略标识符;标识其中包括有一个或多个目的地端点的一个或多个目的地端点组的一个或多个目的地端点组策略标识符;以及用于指定在源端点组与一个或多个目的地端点组之间的多播转发策略的多播索引。
在以下示例中,通过参考构造与GBPM 200的行210相关联的多播转发树来描述方法300,行210包括标识源端点组的源EPG ID 1和包括多播索引11的多播转发标识符G(1,11)。GBPM 200还包括标识三个目的地端点组的目的地EPG ID 1、EPG ID 2和EPG ID 3。包括多播索引11的多播转发标识符G(1,11)指定了一种多播转发策略,即,由EPG ID 3标识的目的地端点组内的目的地端点被允许接收从由EPG ID 1标识的源端点组内的源端点发送的多播数据分组,而不管原始数据分组中包括的多播地址如何。
计算设备使用GBPM内的多个条目来构造(304)多播地址,例如使用源EPG ID 1和多播索引11。在一个示例中,使用网络地址转换技术来构造多播地址,该网络地址转换技术可以将源EPG ID 1和多播索引11编码到所构造的多播地址中。所构造的地址可以使用任何格式。例如,所构造的地址可以符合IPv6标识符定位符寻址(ILA)格式。但是,可以使用任何合适的格式来构造多播地址,该多播地址编码、包含、引用或以其他方式标识源EPG ID和相关联的多播索引。另外,可以构造多播地址以用于在转发平面中使用,该转发平面使用封装技术(诸如通用网络虚拟化封装(“GENEVE”)、虚拟可扩展LAN通用协议扩展(“VxLAN-GPE”)、通用路由封装(“GRE”)、提供商骨干网桥(“PBB”)等)将所构造的多播地址添加到多播数据分组,以便使用所构造的多播地址来路由多播数据分组。例如,所构造的多播地址可以是层2网络地址或层3网络地址。
在另一示例中,可以在所构造的多播地址中编码、包括、引用或以其他方式标识附加信息。例如,控制平面可以确定标识多播转发树的多播转发树标识符。该多播转发树标识符也可以被编码、包含、引用或以其他方式标识在所构造的多播地址内。在另一示例中,可以在所构造的多播地址内编码、包含、引用或以其他方式标识源路由器/交换机标识符。在特定示例中,通过在所构造的多播地址内编码、包含、引用或以其他方式标识(源EPG ID、多播索引、多播转发树标识符)的三元组来创建所构造的多播地址。在另一示例中,通过在所构造的多播地址内编码、包含、引用或以其他方式标识(源路由器ID、源EPG ID、多播索引、多播转发树标识符)的四元组来创建所构造的多播地址。
计算设备例如从策略管理器102接收(306)与一个或多个目的地EPG ID相关联的一个或多个网络附接点的指示,并且可以接收与一个或多个源EPG ID相关联的一个或多个网络附接点的指示。例如,计算设备接收例如针对一个或多个目的地端点组中的每个目的地端点的一个或多个网络附接点的标识符的指示,并且还可以接收例如针对源端点组中包括的源端点的一个或多个网络附接点的标识符的指示。关于构建与GBPM 200的行210相关联的多播转发树,计算设备至少接收针对目的地端点116的一个或多个网络附接点的标识符,并且也可以接收针对端点118-1、118-2、118-3、118-5、118-8、118-9和118-10的一个或多个网络附接点的标识符。针对一个或多个附接点的标识符可以是端口号,例如传输控制协议(“TCP”)或用户数据报协议(“UDP”)端口号。在另一示例中,计算设备接收针对附接到网络100的所有端点116和118的附接点的端口号。
计算设备使用所接收的网络附接点标识符中的至少一些来针对在框304中构造的每个多播地址构造(308)多播转发树。所构造的(多个)多播转发树用于创建沿着多播树从与源端点相关联的一个或多个附接点到一个或多个目的地端点的一个或多个转发路径。控制平面可以将一个或多个转发路径编程到底层网络106的一个或多个联网设备中,使得转发路径与在框304中所构造的多播地址相关联。利用针对所构造的多播地址的转发路径对联网设备进行“编程”是指为联网设备至少提供与针对所构造的多播地址的目的地端点相关联的附接点的标识符(例如,端口号)列表。因此,在接收到包含所构造的多播地址的数据分组时,联网设备可以将该分组向与目的地端点相关联的附接点路由。
(基于由GBPM内的多播转发策略指定的预期目的地端点的)所构造的多播转发树控制多播数据分组从源端点组中的任何源端点向目的地端点组中的目的地端点的直接路由。因此,不需要基于例如GBPM的出口联网设备和/或接入设备的出口过滤来将多播数据分组递送向预期目的地端点递送。而是将多播数据分组向预期目的地直接路由。关于GBPM200的行210,可以构造多播转发树,该多播转发树控制用于将多播数据分组从由EPG ID 1标识的端点组内的任何源端点递送向目的地端点116直接递送的转发路径。在一个示例中,转发可以在没有基于GBPM 200的出口过滤的情况下执行。在另一示例中,可选地执行出口过滤。
可以使用任何合适的路由协议来构造多播转发树,例如,使用先前提到的一个或多个路由协议。备选地,可以使用手动配置来构造多播转发树,例如,由操作策略管理器102的个人或者由某个其他网络管理员。在一个示例中,多播转发树是基于源的树。在另一示例中,多播转发树是共享树。此外,由于针对端点116的个体网络地址可以是静态的,所以与行210相关联的所构造的多播转发树可以是静态的。其他多播转发树可以使用方法300动态地改变,例如,随着移动目的地端点的个体网络地址的改变。
为了辅助转发平面,计算设备可以针对所构造的多播地址构造(310)一个或多个转发表。例如,转发表可以是针对网络设备的路由表。在另一示例中,转发表可以是网络地址转换或查找表,该表使得设备能够将在框304中从覆盖多播地址创建的多播地址“构造”为包括在多播数据分组中并且转发到联网设备。
图4描绘了根据本公开的一个或多个示例的用于基于组的策略多播转发的方法300的流程图。方法400可以由一个或多个计算设备(诸如接入设备、网络设备或其组合)执行以用于将多播数据分组从源端点向一个或多个预期目的地端点路由。
计算设备从由源EPG ID标识的源端点组内的源端点接收(402)数据分组,并且该数据分组包括第一多播地址。例如,该多播地址可以是由网络管理员指配的任何多播地址。
计算设备将数据分组转换(404)为已转换数据分组,该已转换数据分组包括使用源EPG ID和指定源端点组与具有一个或多个目的地端点的一个或多个目的地端点组之间的多播转发策略的多播索引构造的第二多播地址。已转换数据分组可以使用网络地址转换技术(诸如IPv6 ILA)或使用封装技术来创建。已转换数据分组也可以使用转发表或查找表来创建,该转发表或查找表可以使用源端点的个体网络地址来索引以确定源EPG ID和对应的第二多播地址。
计算设备然后可以基于第二多播地址向一个或多个目的地端点转发(406)已转换数据分组。在一个示例中,执行方法400的联网设备(例如,交换机的中继器)使用针对第二多播地址被编程到联网设备中的一个或多个转发路径,沿着针对第二多播地址而被构造的多播转发树来路由已转换数据分组。在另一示例中,执行方法400的接入设备将已转换数据分组向联网设备转发,以沿着所构造的多播转发树使用一个或多个经编程的转发路径将已转换数据分组向一个或多个目的地端点路由。
图5和图7描绘了执行方法400的特定实现。例如,图5示出了可以由不具有路由能力并且使用转发表的接入设备执行的方法400的示例实现。图7示出了可以由联网设备使用沿着所构造的多播转发树的经编程的转发路径来执行的方法400的示例实现。此外,下面参考用于一个或多个数据分组从网络100的由源EPG ID 1标识的端点组中包括的源端点的基于组的策略多播转发的示例实现来解释图5-图7。
图5描绘了根据本公开的一个或多个示例的用于基于组的策略多播转发的方法500的流程图。在所描述的示例中,方法500由子网110-1的接入点112-1执行。接入点112-1从由EPG ID 1标识的源端点组内的源端点118-1接收(502)数据分组。该数据分组包括由网络管理员指配的覆盖多播地址。
接入点112-1使用转发表来构造(504)底层多播地址以用于查找底层多播地址。在一个示例中,接入点112-1使用图6中所描绘的转发表600来构造底层多播地址。标记为“源EPG ID”的列列出了针对网络100的源端点组的源EPG ID 1、EPG ID 2和EPG ID 3。标记为“源EPG个体地址”的列针对源EPG ID 1、EPG ID 2和EPG ID 3中的每个源EPG ID列出了针对对应端点组中包括的所有端点的个体网络地址。标记为“覆盖多播地址”的列针对源EPGID 1、EPG ID 2和EPG ID 3中的每个源EPG ID列出了从源端点所接收的多播数据分组包括默认类型还是特定类型的覆盖多播地址的指示。对于特定类型的覆盖多播地址,列出了特定多播地址以使得接入设备可以滤除包括其他多播地址的数据分组。标记为“底层多播地址”的列针对源EPG ID 1、EPG ID 2和EPG ID 3中的每个源EPG ID列出了所构造的底层多播地址。
在特定示例中,在构造与底层多播地址相关联的多播转发树的过程中,在已经由控制平面构造之后,接入点112-1先前从交换机108-3接收了转发表600。在该示例中,构造底层多播地址可以包括接入点112-1访问转发表600,该转发表600可以被存储在接入点112-1的存储器资源中。接入点112-1可以从所接收的数据分组中,例如从数据分组的报头中,检索端点118-1的个体网络地址。接入点112-1可以使用检索到的个体网络地址来索引转发表600,并且确定与数据分组相关联的源EPG ID以及针对源EPG ID的所构造的底层多播地址。
在另一示例中,所接收的数据分组包括源EPG ID,该源EPG ID可以用于索引转发表600以检索所构造的底层多播地址。因此,转发表600不需要包括标记为“源EPG个体地址”的列。在数据分组包括源EPG ID的示例中,转发表600可以包括标记为“源EPG ID”、“覆盖多播地址”和“多播索引”的列。在这种情况下,转发表600可以使用源EPG ID来索引以检索对应的多播索引,接入点112-1可以使用该多播索引来构造底层多播地址。在数据分组不包含源EPG ID的示例中,转发表600可以包括标记为“源EPG ID”、“源EPG个体地址”、“覆盖多播地址”和“多播索引”的列。在这种情况下,转发表600可以使用源端点的个体网络地址来索引以检索源EPG ID和多播索引以构造底层多播地址。
再次转到方法500,在构造底层多播地址之后,接入点112-1使用封装技术将底层多播地址添加(506)到数据分组,例如添加在数据分组的新报头中。这将创建已转换数据分组。备选地,作为转换技术的一部分,接入点112-1将底层多播地址添加到数据分组。接入点112-1将已转换数据分组向交换机108-3转发(508)以基于底层多播地址进行路由。在一个示例中,作为底层网络106的入口路由设备的交换机108-3可以将已转换数据分组向出口路由设备(在这种情况下是有线端口114)路由以根据由多播索引指定的多播转发策略来递送向端点116递送。该路由可以基于由控制平面编程到交换机108-3的中继器中的转发路径,或者通过由控制平面编程到交换机108-3的中继器中的转发路径来控制。
图7描绘了根据本公开的一个或多个示例的用于基于组的策略多播转发的方法700的流程图。在所描述的示例中,方法700由连接到子网110-1的接入点112-1的交换机108-3执行。交换机108-3从由EPG ID 1标识的源端点组内的源端点118-1接收(702)数据分组。该数据分组经由接入点112-2接收,并且包括由网络管理员指配的覆盖多播地址。
在该特定示例中,交换机108-3通过将源EPG ID、多播索引和多播转发树ID编码到底层多播地址中使用ILA技术来构造(704)底层多播地址。当实现控制平面以构造多播转发树时,交换机108-3可能已经存储了用于构造底层多播地址的信息。然而,在其他示例中,交换机108-3可以使用其他手段来构造底层多播地址,例如,如先前所述的,包括使用转发表。
在构造底层多播地址之后,交换机108-3将底层多播地址添加(706)到数据分组。这将创建已转换数据分组。作为底层网络106的入口路由设备的交换机108-3将已转换数据分组向出口路由设备(在这种情况下为有线端口114)路由以根据由多播索引指定的多播转发策略来递送向端点116递送。已转换数据分组使用沿着由多播转发树ID标识的多播转发树的与针对有线端口114的相关联的端口号相关联的转发路径来路由。
图8描绘了根据本公开的一个或多个示例的可以在其中实现构造多播转发树和基于组的策略多播转发的计算设备800。如图所示,计算设备800包括在操作上耦合的处理器802的硬件和存储器资源804。在所示示例中,计算设备800执行协议以辅助实现控制平面和转发平面。然而,在另一示例中,仅控制平面或转发平面由计算设备800部分地实现。
处理器802可以包含一个或多个硬件处理器,其中每个硬件处理器可以具有单个或多个处理器核。处理器的示例包括但不限于中央处理单元(CPU)和微处理器。尽管在图8中未示出,但是构成处理器802的处理元件还可以包括其他类型的硬件处理组件中的一种或多种,诸如图形处理单元(GPU)、专用集成电路(ASIC)、现场可编程门阵列(FPGA)和/或数字信号处理器(DSP)。
存储器资源804可以是被配置为存储各种类型的数据的非暂态介质。例如,存储器资源804可以包括一个或多个存储设备,包括非易失性存储设备和/或易失性存储器。诸如随机存取存储器(RAM)等易失性存储器可以是任何合适的非永久性存储设备。非易失性存储设备可以包括一个或多个磁盘驱动器、光盘驱动器、固态驱动器(SSD)、磁带驱动器、闪存、只读存储器(ROM)、和/或旨在在断电或关闭操作之后的一段时间内保持数据的任何其他类型的存储器。
存储器资源804的非易失性存储设备可以用于存储指令,当这样的程序被选择用于执行时,这些指令可以被加载到RAM中。在一个示例中,存储器资源804存储可执行指令,该可执行指令在由处理器802执行时使处理器802执行用于构造多播转发树和基于组的策略多播转发的一种或多种方法或其部分。在特定示例中,可执行指令可以使处理器802执行根据本公开的方法300、400、500或700中的一种或多种或其部分。如图所示,存储器资源804存储可执行指令806-820。在一个示例中,在实现控制平面时可以执行指令806-812,而在实现转发平面时可以执行指令814-820。
特别地,指令806在由处理器802执行时使处理器802接收至少具有源EPG ID、一个或多个目的地EPG ID和多播索引的GBPM。指令808在由处理器802执行时使处理器802使用源EPG ID和多播索引来构造多播地址。指令810在由处理器802执行时使处理器802接收针对每个网络附接点的标识符,例如端口号,每个网络附接点针对与一个或多个目的地EPGID相关联的一个或多个目的地端点。指令812在由处理器802执行时使处理器802构造多播转发树以使用针对每个网络附接点的标识符来对针对所构造的多播地址的转发路径进行编程。
指令814在由处理器802执行时使处理器802从与源EPG ID(针对其构造了多播转发树)相关联的源端点接收数据分组。数据分组包括第一多播地址。指令816在由处理器802执行时使处理器802使用源EPG ID和相关联的多播索引来构造第二多播地址。指令818在由处理器802执行时使处理器802将第二多播索引添加到数据分组以生成已转换数据分组。指令820在由处理器802执行时使处理器802沿着所构造的多播转发树使用经编程的转发路径来路由已转换数据分组。
图9描绘了根据本公开的一个或多个示例的存储用于构造多播转发树和基于组的策略多播转发的可执行指令的非暂态计算机可读存储介质900。在一个示例中,非暂态计算机可读存储介质900存储可执行指令,该可执行指令在由诸如处理器802等处理器执行时使处理器执行用于构造多播转发树和基于组的策略多播转发的一种或多种方法或其部分。在特定示例中,可执行指令可以使处理器执行根据本公开的方法300、400、500或700中的一种或多种或其部分。如图所示,非暂态计算机可读存储介质900存储可执行指令902-916。在一个示例中,在实现控制平面时可以执行指令902-908,而在实现转发平面时可以执行指令910-916。
特别地,指令902在由处理器802执行时使处理器802接收至少具有源EPG ID、一个或多个目的地EPG ID和多播索引的GBPM。指令904在由处理器802执行时使处理器802使用源EPG ID和多播索引来构造多播地址。指令906在由处理器802执行时使处理器802接收针对每个网络附接点的标识符,例如端口号,每个网络附接点针对与一个或多个目的地EPGID相关联的一个或多个目的地端点。指令908在由处理器802执行时使处理器802使用针对每个网络附接点的标识符来对针对所构造的多播地址的转发路径进行编程。
指令910在由处理器802执行时使处理器802从与源EPG ID(针对其构造了多播转发树)相关联的源端点接收数据分组。数据分组包括第一多播地址。指令912在由处理器802执行时使处理器802使用源EPG ID和相关联的多播索引来构造第二多播地址。指令914在由处理器802执行时使处理器802将第二多播索引添加到数据分组以生成已转换数据分组。指令916在由处理器802执行时使处理器802转发已转换数据分组。例如,当联网设备800的处理器802执行指令902-914时,指令916可以使处理器802使用编程的转发路径来路由已转换数据分组。然而,当接入设备800的处理器802执行指令910-914而不是指令902-908时,指令916可以使处理器802将数据分组向联网设备转发,以使用编程的转发路径来路由已转换数据分组。
非暂态计算机可读存储介质900可以是可以由计算设备访问的任何可用介质。举例来说,非暂态计算机可读存储介质900可以包括RAM、ROM、EEPROM、CD-ROM或其他光盘存储设备、磁盘存储设备或其他磁性存储设备、或者可以用于以指令或数据结构的形式携带或存储期望的程序代码并且可以由计算设备访问的任何其他介质。本文中使用的磁盘和光盘包括压缩盘(CD)、激光光盘、光盘、数字多功能光盘(DVD)、软盘和Blu-光盘,其中磁盘通常以磁性方式复制数据,而光盘则通过激光光学方式复制数据。
如本文中使用的,冠词“一个”旨在具有专利领域中的普通含义,即“一个或多个”。在本文中,除非另有明确说明,否则术语“约”在应用于某个值时通常表示在用于产生该值的设备的公差范围内,或者在某些示例中,表示正或负10%、或正或负5%、或正或负1%。此外,本文中使用的术语“基本上”是指例如大部分、或几乎全部、或全部、或在约51%至约100%的范围内的量。此外,本文中的示例仅意图是说明性的,并且出于讨论目的而不是通过限制的方式呈现。
为了说明的目的,前述描述使用特定术语来提供对本公开的透彻理解。然而,对于本领域的技术人员很清楚的是,不需要特定的细节即可实践本文中描述的系统和方法。出于说明和描述的目的给出了具体示例的前述描述。它们不旨在穷举或将本公开限制为所描述的精确形式。显然,鉴于以上教导,很多修改和变化是可能的。示出并且描述了示例,以便最好地解释本公开的原理和实际应用,从而使得本领域的其他技术人员能够最佳地利用本公开以及具有适于预期的特定用途的各种修改的各种示例。本公开的范围旨在由下面的权利要求及其等同物限定。
Claims (20)
1.一种方法,包括:
从源端点接收数据分组,所述源端点被包括在由源端点组策略标识符所标识的源端点组内,所述数据分组包括第一多播地址;
将所述数据分组转换为包括第二多播地址的已转换数据分组,所述第二多播地址使用所述源端点组策略标识符和多播索引而被构造,所述多播索引用于指定所述源端点组与由一个或多个目的地端点组策略标识符所标识的一个或多个目的地端点组之间的多播转发策略;以及
向所述一个或多个目的地端点组内包括的一个或多个目的地端点转发所述已转换数据分组,所述转发基于所述第二多播地址。
2.根据权利要求1所述的方法,其中所述已转换数据分组使用经编程的转发路径向所述一个或多个目的地端点被转发,所述经编程的转发路径基于针对所述第二多播地址而被构造的多播转发树。
3.根据权利要求2所述的方法,还包括:所述经编程的转发路径控制所述已转换数据分组向有线基础设施底层网络的一个或多个出口路由设备的路由,以用于向所述一个或多个目的地端点的递送。
4.根据权利要求3所述的方法,其中转发所述已转换数据分组包括:所述底层网络的入口路由设备使用所述经编程的转发路径向所述一个或多个出口路由设备路由所述已转换数据分组。
5.根据权利要求2所述的方法,还包括:所述经编程的转发路径基于所述多播转发策略来控制所述已转换数据分组向所述一个或多个目的地端点的路由,而无需对所述已转换数据分组的出口过滤。
6.根据权利要求2所述的方法,其中所述源端点组策略标识符和所述多播索引被编码到所构造的多播地址中。
7.根据权利要求6所述的方法,其中标识所述多播转发树的多播转发树标识符被编码到所述所构造的多播地址中。
8.根据权利要求1所述的方法,其中转换所述数据分组以及转发所述已转换数据分组还包括:
构造所述第二多播地址;
将所述第二多播地址添加到所述数据分组,以生成所述已转换数据分组;以及
向路由设备转发所述已转换数据分组,以向所述一个或多个目的地端点路由所述已转换数据分组。
9.根据权利要求1所述的方法,其中转换所述数据分组以及转发所述已转换数据分组还包括:
构造所述第二多播地址;
将所述第二多播地址添加到所述数据分组,以生成所述已转换数据分组;以及
向所述一个或多个目的地端点路由所述已转换数据分组。
10.根据权利要求1所述的方法,其中所述第二多播地址符合标识符定位符寻址格式。
11.根据权利要求1所述的方法,还包括:
在从所述源端点接收所述数据分组之前:
接收具有多个条目的基于组的策略矩阵,所述多个条目包括所述源端点组策略标识符、所述一个或多个目的地端点组策略标识符、以及所述多播索引;
使用所述基于组的策略矩阵内的所述多个条目来构造所述第二多播地址;以及
基于所述第二多播地址来构造多播转发树以对转发路径进行编程,经编程的转发路径控制从所述源端点组向所述一个或多个目的地端点的多播分发。
12.根据权利要求11所述的方法,其中转发所述已转换数据分组包括:使用所述经编程的转发路径向所述一个或多个目的地端点路由所述已转换数据分组。
13.一种包括可执行指令的非暂态计算机可读存储介质,所述可执行指令在由处理器执行时使所述处理器:
从源端点接收数据分组,所述源端点被包括在由源端点组策略标识符所标识的源端点组内,所述数据分组包括第一多播地址;
使用所述源端点组策略标识符和多播索引来构造第二多播地址,所述多播索引用于指定所述源端点组与由一个或多个目的地端点组策略标识符所标识的一个或多个目的地端点组之间的多播转发策略;
将所述第二多播地址添加到所述数据分组,以生成已转换数据分组;以及
向所述一个或多个目的地端点组内包括的一个或多个目的地端点转发所述已转换数据分组,所述转发基于所述第二多播地址。
14.根据权利要求13所述的非暂态计算机可读存储介质,其中所述可执行指令在由所述处理器执行时还使所述处理器:
构造所述第二多播地址,以使所述源端点组策略标识符和所述多播索引被编码于所述第二多播地址中。
15.根据权利要求13所述的非暂态计算机可读存储介质,其中所述可执行指令在由所述处理器执行时还使所述处理器:
在从所述源端点接收所述数据分组之前:
接收具有多个条目的基于组的策略矩阵,所述多个条目包括所述源端点组策略标识符、所述一个或多个目的地端点组策略标识符、以及所述多播索引;
使用所述基于组的策略矩阵内的所述多个条目构造所述第二多播地址;以及
基于所述第二多播地址来构造多播转发树以对转发路径进行编程,经编程的转发路径控制从所述源端点组向所述一个或多个目的地端点的多播分发。
16.根据权利要求15所述的非暂态计算机可读存储介质,其中所述可执行指令在由所述处理器执行时还使所述处理器:
通过使用所述经编程的转发路径向所述一个或多个目的地端点路由所述已转换数据分组,来转发所述已转换数据分组。
17.一种计算设备,包括:
处理器;
存储器资源,耦合到所述处理器,所述存储器资源包括可执行指令,所述可执行指令在由所述处理器执行时使所述处理器:
接收基于组的策略矩阵,所述基于组的策略矩阵包括源端点组策略标识符、一个或多个目的地端点组策略标识符、以及多播索引,所述源端点组策略标识符标识源端点组,所述一个或多个目的地端点组策略标识符标识在其中包括一个或多个目的地端点的一个或多个目的地端点组,所述多播索引用于指定所述源端点组与所述一个或多个目的地端点组之间的多播转发策略;
使用所述源端点组策略标识符和所述多播索引构造第一多播地址;
接收针对所述一个或多个目的地端点内包括的每个目的地端点的每个网络附接点的标识符;以及
使用针对每个网络附接点的标识符来对针对所述第一多播地址的转发路径进行编程,经编程的转发路径控制从所述源端点组向所述一个或多个目的地端点的多播分发。
18.根据权利要求17所述的计算设备,所述存储器资源包括可执行指令,所述可执行指令在由所述处理器执行时,还使所述处理器:
构造所述第一多播地址,以使所述源端点组策略标识符和所述多播索引被编码于所述第一多播地址中。
19.根据权利要求17所述的计算设备,所述存储器资源包括可执行指令,所述可执行指令在由所述处理器执行时,还使所述处理器:
从所述源端点组内包括的源端点接收数据分组,所述数据分组包括第二多播地址;
使用所述源端点组策略标识符和所述多播索引来构造所述第一多播地址;
将所述第一多播地址添加到所述数据分组,以生成已转换数据分组;以及
向所述一个或多个目的地端点转发所述已转换数据分组,所述转发基于所述第一多播地址。
20.根据权利要求19所述的计算设备,所述存储器资源包括可执行指令,所述可执行指令在由所述处理器执行时,还使所述处理器:
通过使用所述经编程的转发路径向所述一个或多个目的地端点路由所述已转换数据分组,来转发所述已转换数据分组。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US16/535,960 US20210044445A1 (en) | 2019-08-08 | 2019-08-08 | Group-based policy multicast forwarding |
US16/535,960 | 2019-08-08 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN112350943A true CN112350943A (zh) | 2021-02-09 |
Family
ID=74188731
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010789736.7A Pending CN112350943A (zh) | 2019-08-08 | 2020-08-07 | 基于组的策略多播转发 |
Country Status (3)
Country | Link |
---|---|
US (1) | US20210044445A1 (zh) |
CN (1) | CN112350943A (zh) |
DE (1) | DE102020120554A1 (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115412492A (zh) * | 2021-05-28 | 2022-11-29 | 瞻博网络公司 | 由架顶式交换机针对裸金属服务器的策略实施 |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9794079B2 (en) | 2014-03-31 | 2017-10-17 | Nicira, Inc. | Replicating broadcast, unknown-unicast, and multicast traffic in overlay logical networks bridged with physical networks |
US10778457B1 (en) | 2019-06-18 | 2020-09-15 | Vmware, Inc. | Traffic replication in overlay networks spanning multiple sites |
US11784922B2 (en) * | 2021-07-03 | 2023-10-10 | Vmware, Inc. | Scalable overlay multicast routing in multi-tier edge gateways |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102761542A (zh) * | 2012-06-25 | 2012-10-31 | 杭州华三通信技术有限公司 | 一种防止组播数据攻击的方法和设备 |
CN103262486A (zh) * | 2010-12-21 | 2013-08-21 | 思科技术公司 | 用于在转发引擎中应用客户端关联的策略的方法和装置 |
US20150195137A1 (en) * | 2014-01-06 | 2015-07-09 | Lenovo Enterprise Solutions (Singapore) Pte. Ltd. | Virtual group policy based filtering within an overlay network |
US20160226753A1 (en) * | 2015-02-04 | 2016-08-04 | Mediatek Inc. | Scheme for performing one-pass tunnel forwarding function on two-layer network structure |
CN107534613A (zh) * | 2015-05-20 | 2018-01-02 | 华为技术有限公司 | 使用子树标识符的多区域源路由组播 |
-
2019
- 2019-08-08 US US16/535,960 patent/US20210044445A1/en not_active Abandoned
-
2020
- 2020-08-04 DE DE102020120554.6A patent/DE102020120554A1/de active Pending
- 2020-08-07 CN CN202010789736.7A patent/CN112350943A/zh active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103262486A (zh) * | 2010-12-21 | 2013-08-21 | 思科技术公司 | 用于在转发引擎中应用客户端关联的策略的方法和装置 |
CN102761542A (zh) * | 2012-06-25 | 2012-10-31 | 杭州华三通信技术有限公司 | 一种防止组播数据攻击的方法和设备 |
US20150195137A1 (en) * | 2014-01-06 | 2015-07-09 | Lenovo Enterprise Solutions (Singapore) Pte. Ltd. | Virtual group policy based filtering within an overlay network |
US20160226753A1 (en) * | 2015-02-04 | 2016-08-04 | Mediatek Inc. | Scheme for performing one-pass tunnel forwarding function on two-layer network structure |
CN107534613A (zh) * | 2015-05-20 | 2018-01-02 | 华为技术有限公司 | 使用子树标识符的多区域源路由组播 |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115412492A (zh) * | 2021-05-28 | 2022-11-29 | 瞻博网络公司 | 由架顶式交换机针对裸金属服务器的策略实施 |
Also Published As
Publication number | Publication date |
---|---|
US20210044445A1 (en) | 2021-02-11 |
DE102020120554A1 (de) | 2021-02-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11115375B2 (en) | Interoperability between data plane learning endpoints and control plane learning endpoints in overlay networks | |
US11438186B2 (en) | Area-specific broadcasting using bit indexed explicit replication | |
JP7208386B2 (ja) | パケット転送方法、パケット送信装置、およびパケット受信装置 | |
US8717934B2 (en) | Multicast source move detection for layer-2 interconnect solutions | |
US9736054B2 (en) | Multicast active source discovery and management for layer-2 interconnect solutions | |
US10616108B2 (en) | Scalable MAC address virtualization | |
CN112350943A (zh) | 基于组的策略多播转发 | |
US10708173B2 (en) | Multipath forwarding in an overlay network | |
US9660905B2 (en) | Service chain policy for distributed gateways in virtual overlay networks | |
US9438432B2 (en) | Bit indexed explicit replication packet encapsulation | |
US6167052A (en) | Establishing connectivity in networks | |
US8953590B1 (en) | Layer two virtual private network having control plane address learning supporting multi-homed customer networks | |
US8694664B2 (en) | Active-active multi-homing support for overlay transport protocol | |
US11362941B2 (en) | Stateless multicast in label switched packet networks | |
US9742586B2 (en) | Intelligent host route distribution for low latency forwarding and ubiquitous virtual machine mobility in interconnected data centers | |
US20130021942A1 (en) | Granular Control of Multicast Delivery Services for Layer-2 Interconnect Solutions | |
US20100220723A1 (en) | Method for providing scalable multicast service in a virtual private lan service | |
EP3716529B1 (en) | Tunneling inter-domain stateless internet protocol multicast packets | |
US20160087887A1 (en) | Routing fabric | |
US10003518B2 (en) | Span session monitoring | |
US8559431B2 (en) | Multiple label based processing of frames | |
US8612626B2 (en) | Group member detection among nodes of a network | |
US10812446B1 (en) | Dynamic host configuration across multiple sites in software defined access networks | |
US11997005B2 (en) | BIER overlay signaling enhancement | |
WO2024016869A1 (zh) | 一种组播配置方法及装置 |
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 |