CN111034159A - 云中使用专用金属部署的情况下的复制 - Google Patents
云中使用专用金属部署的情况下的复制 Download PDFInfo
- Publication number
- CN111034159A CN111034159A CN201880055724.2A CN201880055724A CN111034159A CN 111034159 A CN111034159 A CN 111034159A CN 201880055724 A CN201880055724 A CN 201880055724A CN 111034159 A CN111034159 A CN 111034159A
- Authority
- CN
- China
- Prior art keywords
- multicast
- packet
- tenant
- virtual
- recipient
- 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
- H04L49/00—Packet switching elements
- H04L49/20—Support for services
- H04L49/201—Multicast operation; Broadcast operation
-
- 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/1836—Arrangements for providing special services to substations for broadcast or conference, e.g. multicast with heterogeneous network architecture
- H04L12/184—Arrangements for providing special services to substations for broadcast or conference, e.g. multicast with heterogeneous network architecture with heterogeneous receivers, e.g. layered multicast
-
- 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/189—Arrangements for providing special services to substations for broadcast or conference, e.g. multicast in combination with wireless systems
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L49/00—Packet switching elements
- H04L49/70—Virtual switches
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1001—Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1095—Replication or mirroring of data, e.g. scheduling or transport for data synchronisation between network nodes
-
- 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
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/16—Implementation or adaptation of Internet protocol [IP], of transmission control protocol [TCP] or of user datagram protocol [UDP]
- H04L69/163—In-band adaptation of TCP data exchange; In-band control procedures
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
在一个实施例中,一种方法包括:在虚拟复制器处通过单播从包括具有单个租户部署的租户多播应用的主机节点接收封装多播分组,封装多播分组包括针对虚拟复制器的接收方信息;在虚拟复制器处复制封装多播分组;以及基于接收方信息通过单播将封装多播分组发送到多个接收节点。多个接收节点包括租户多播应用,并且虚拟复制器在没有多播能力的云中进行操作。本文还公开了一种装置。
Description
技术领域
本公开通常涉及通信网络,更具体地,涉及云中的复制。
背景技术
为了支持向多个主机提供涉及高数据速率传输的应用的需求,已经发展了多播路由。多播路由用于利用多播地址向网络上的多个接收方发送数据通信。通过针对多个接收方只发送单个传输流,多播节省了带宽。多播通常被金融服务提供商和专业媒体内容生成商用于各种各样的多播应用中,这取决于将业务网络复制到所有接收方的多播网络支持。然而,多播并没有广泛地部署在私有数据中心和有围墙的花园网络之外。
附图说明
图1示出了可以实现本文所述的实施例的网络的示例。
图2描绘了在实现本文所述的实施例中有用的网络设备的示例。
图3是示出根据一个实施例的在图1的网络中的主机处用于虚拟复制网络的过程的流程图。
图4是示出根据一个实施例的在图1的网络中的虚拟复制器处的复制过程的流程图。
图5A示出了具有虚拟机部署的图1的网络中的主机的示例。
图5B示出了具有容器部署的图1的网络中的主机的示例。
图6A示出了具有虚拟机部署的图1的网络中的虚拟复制器的示例。
图6B示出了具有容器部署的图1的网络中的虚拟复制器的示例。
图7示出了根据一个实施例的两级复制。
图8示出了根据一个实施例的三级复制。
贯穿附图的若干视图中,对应的附图标记指示对应的部分。
具体实施方式
概述
在一个实施例中,一种方法总体上包括:在虚拟复制器处通过单播从包括具有单个租户部署的租户多播应用的主机节点接收封装多播分组,封装多播分组包括针对虚拟复制器的接收方信息;在虚拟复制器处复制封装多播分组;以及基于接收方信息通过单播将封装多播分组发送到多个接收节点。多个接收节点包括租户多播应用,并且虚拟复制器在没有多播能力的云中进行操作。
在另一实施例中,一种装置总体上包括:租户多播应用;分组处理实例,该分组处理实例与租户多播应用相关联;处理器,该处理器用于将接收方信息插入多播分组,并且通过单播将多播分组发送到虚拟复制器,虚拟复制器被配置为复制多播分组并基于接收方信息通过单播将所复制的分组发送到多个接收节点;以及存储器,该存储器用于存储接收方信息。该装置被配置用于在没有多播能力的云中进行单个租户部署。
在另一实施例中,一种系统总体上包括:在多个主机上运行的多个本地分组处理实例,该主机中的每一个包括专用金属部署(dedicated metal deployment)中的一个租户,本地分组处理实例中的每一个与租户多播应用相关联,并且被配置为封装具有接收方信息的多播分组并将多播分组发送到专用虚拟复制器。该系统还包括专用虚拟复制器,该专用虚拟复制器用于复制从主机中的一个接收到的多播分组,并基于接收方信息将复制的多播分组发送到多个主机的一部分主机。多播分组在没有多播能力的云中通过单播传输。
示例性实施例
下面的描述是为了使本领域普通技术人员能够制作和使用实施例而呈现的。仅作为示例提供的特定实施例和应用的描述以及各种修改,对于本领域技术人员来说,将是显而易见的。本文描述的一般原理可以应用于其他应用,而不脱离实施例的范围。因此,实施例不限于所示的实施例,而是被赋予与本文所描述的原理和特征一致的最宽范围。为了清楚起见,并未详细描述与在与实施例相关的技术领域中已知的技术材料有关的细节。
多播用于同时向多个接收者传送单个信息流,其尤其适用于流媒体(例如,电视、电影、广播)、视频会议、需要发送给选定订阅者组的数据(例如,新闻文章、财务信息(股票报价、时间敏感信息))、或向多个接收方发送其他内容。多播操作基于组的概念。多播组是表示有兴趣接收特定数据流的任意接收方组。1IP(互联网协议)多播地址或其一部分指定特定组。接收方表示有兴趣接收发送到特定多播地址的分组。对接收流向特定组的数据感兴趣的主机,例如使用互联网组管理协议(IGMP)或多播侦听器发现(MLD)加入组。多播源将具有目标IP地址设置的分组发送到特定多播组地址。
多播应用取决于将业务网络复制到所有接收方的多播网络支持。为了在不支持IP多播的公共云供应商网络中使用IP多播应用,必须将多播应用重写为仅单播的应用,或者需要静态配置的全网格GRE(通用路由封装)隧道。重写多播应用是一项非常昂贵且复杂的工作,从而导致其性能有限。高比特率或高扇出应用的单播转换或全网格GRE隧道无法支持从单个源向每个接收方发送单播副本所需的聚合数据速率。在一个示例中,单播转换的解决方案可以进入复制,导致在每个终端系统处需要最大的计算和带宽资源,从而创建昂贵的部署解决方案。
本文描述的实施例涉及云中的虚拟复制Clos(本文中称为VRCC),其提供对IP多播应用透明的复制上覆网络,从而允许应用如同在支持IP多播的网络上一样进行操作,而不需要在每个租户应用使用专用金属的高计算资源部署中进行任何修改。实施例允许部署现有的多播应用,独立于底层的网络基础设施或应用位置,从而切断多点应用对网络中的底层网络设备的依赖性。例如,实施例可用于需要云中的专用金属部署的高处理需求应用,对于这些应用,不能利用主机上的复制。如下面详细描述的,一个或多个实施例可以使用一级、两级或三级的复制架构,该架构可以动态地扩展以最小化网络中的计算和带宽需求,从而提供了与单播替换多播应用相比更具成本效益和可缩放性的解决方案。
一个或多个实施例允许在网络支持的多播不可用的网络(例如数据中心网络)上进行多播服务。不依赖于云供应商的任何IP多播支持,不需要改变多播服务器/客户端应用,也没有对单播部署进行任何附加要求。一个或多个实施例可以支持不同的多播应用,包括例如ASM(任何源多播)、SSM(源特定多播)或BiDir(双向)。
实施例在包括多个网络设备的数据通信网络的情境下操作。网络可以包括经由任何数量的节点(例如路由器、交换机、网关、控制器、边缘设备、接入设备、聚合设备、核心节点、中间节点或其它网络设备)进行通信的任何数量的网络设备,该节点促进在网络内传输数据。网络设备可以通过一个或多个网络(例如,局域网(LAN)、城域网(MAN)、广域网(WAN)、虚拟专用网(VPN)(例如,以太网虚拟专用网(EVPN)、第2层虚拟专用网(L2VPN))、虚拟局域网(VLAN)、无线网络、企业网络,公司网络、数据中心、互联网、内联网、无线电接入网络、公共交换网络或任何其他网络)进行通信。
如前所述,实施例在云中提供虚拟复制Clos。Clos网络是多级网络,具有以下优点,例如:基于等成本多径结构的可用性、使用简化的和较低端口密度的核心网络设备、以及在每个网络节点上充分利用链路带宽。Clos设计还允许网络按需缩放和增量式增长。云可以包括,例如虚拟私有云(VPC),其包括在公共云环境中分配的按需可配置的共享计算资源池。云计算使网络能够访问共享的可配置资源池,这些资源可以通过最少的管理工作快速配置和释放。
本文所描述的实施例在专用金属(裸机(bare metal)、单个VM(虚拟机)/容器)部署(本文中也称为单个租户部署)中进行操作,该部署使用单个租户服务器(即,每个主机对应一个租户应用)。
现在参考附图,首先参考图1,示出了其中可以实现本文所描述的实施例的网络的示例。为了简化,只显示少量节点(网络设备)。图1示出了单级VRCC系统,其包括多个本地VPP(矢量分组处理)实例(LVI)(这里也称为分组处理实例)11和专用虚拟复制器(DVR)13,该专用虚拟复制器(DVR)13用于复制从发送方LVI发送到接收方LVI的内容(消息、数据、音频、视频等)。在图1的示例中,多个主机节点10a、10b、10c、10d、10e、10f(每个节点都包括LVI 11)与云14中的虚拟复制器节点12(包括DVR 13)通信。如下关于图5A和5B详细描述的,LVI 11与租户多播应用16在同一VM/容器中运行。控制器15与节点10a、10b、10c、10d、10e、10f和12通信。
VRCC拓扑是一种非环形辐射状拓扑,其作为底层云网络的上覆网络进行操作。主机节点10、10b、10c、l0d、10e、10f、虚拟复制器节点(或多个虚拟复制器节点)12和控制器15形成在不具有多播能力的底层网络(例如,公共云)上延伸的复制上覆网络。上覆层中不需要内部网关协议(IGP),并且可达性收敛仅依赖于底层。
在图1所示的示例中,主机10a用作发送LVI,并且节点10c、10d和10f用作接收LVI。通过接收LVI 11操作的主机节点在本文中称为接收节点或远程虚拟复制器(RVR),因为它们是虚拟复制网络的一部分,并且也可以执行复制。因此,本文中使用的术语“接收节点”可以指的运行租户多播应用16并被配置为从虚拟复制器节点12接收复制分组的主机节点(LVI节点)。如下面关于图8所述,接收节点(RVR)也可以用作复制器。如前所述,实施例可以在单级(图1)或多级(图7和8)架构中实现。因此,网络可以包括任何数量的主机节点10a、10b、10c、10d、10e、10f(用作发送LVI、接收LVI或发送和接收LVI两者)或虚拟复制器节点12。
发送LVI 11只需要向DVR 13发送单个分组,DVR 13随后复制到在分组报头(如下所述)中定义的所有成员RVR(接收节点)。因此,复制带宽在主机内外最小化,并且本地主机上没有额外的负载。如图1的示例所示,主机节点10a将分组(网络消息、数据报、帧)17发送到虚拟复制器节点12,虚拟复制器节点12复制该分组并将复制的分组18发送到多个RVR10c、l0d、10f(接收节点)。如下面详细描述的,分组17、18包括封装的多播分组,并且在底层网络中通过单播发送。该分组包括在例如基于从控制器15接收到的信息或成员信令协议分组在发送方LVI 11处生成的报头中的接收方信息(DVR的多播成员信息)。
在一个或多个实施例中,LVI 11监听多播业务、控制信息和数据。多播数据由LVI11封装并通过底层网络上的单播传送到一个或多个DVR 13。发送LVI 11具有关于DVR 13的可到达性的信息,并且使用DVR的上覆MAC(媒体访问控制)地址或IP地址发送多播业务。接收方LVI 11只需要拓扑状态,而不需要流状态(例如,无(S,G)/(*,G)状态)。
通过部署驻留在租户网桥域上的DVR(或多个DVR)13来集中复制。如下面关于图6详细描述的,虚拟复制器12是具有VPP(向量分组处理)复制器(DVR)的单个实例的专用金属主机。DVR 13只需要知道拓扑状态,而不需要知道流状态(即,(S,G)/(*,G)状态)或成员。DVR 13仅接收DVR要向其发送复制分组的RVR的成员信息(接收方信息)。因此,在多个DVR的情况下,每个DVR接收多播分组的成员的唯一子集。在一个或多个实施例中,成员信息包含在分组报头中。
在一个或多个实施例中,DVR 13使用位索引显式复制(BIER)转发信息库(FIB)19来基于分组中包含的接收方信息将分组转发到RVR。接收方(成员)信息可以包括,例如,位阵列中用作到BIER FIB 19中的索引的位位置,以指定哪些LVI节点要接收复制的分组。如下面关于图8所描述的,如果LVI 11用于复制(例如,三级复制),BIER FIB 19也可以位于LVI节点并用于在接收LVI处的复制。
在一个实施例中,VRCC充当至少一个BIER域。BIER允许通过在分组中承载接收方信息而不是基于源和组信息在每个网络节点处的表中查找来减少多播网络中的状态信息量。在一个示例中,BIER如于2016年9月6日发布的第9,438,432号美国专利中的描述那样来实现,该专利通过引用将整体并入本文中。一组接收方可以由分组中承载的位阵列来表示,该位阵列基于接收方信息被转发。这大大减少了存储在节点处的状态信息量,因此也被称为无状态多播。
本文使用的术语“接收方信息”指的是由发送LVI插入到分组中的多播成员信息(按照接收LVI),以供DVR用于复制分组并将分组发送到指定的接收节点。在一个实施例中,接收方信息包括包含位阵列的BIER报头,其中位位置为DVR指定接收LVI。
通过在由分组承载的分组位阵列中为每个LVI 11分配位位置,接收方信息可以被包括在分组17中。分组位阵列可以被称为位掩码。每个LVI11在位掩码中有唯一的位位置。在一个实施例中,位掩码被封装到多播数据分组(例如,报头或有效载荷信息)上。BIER域掩码大小不小于租户IP前缀大小,以确保位位置到主机的一对一映射。网络中使用的位阵列的长度可以是静态配置的,或者可以是通过网络动态分配和分发的。位阵列可以有任何合适的长度。
在一个实施例中,位位置被用作转发表(BIER FIB 19)的索引,并且分组仅被复制到指定节点。虚拟复制器节点12和作为复制器操作的接收节点被配置为存储和使用BIERFIB 19。BIER FIB 19包括由启用BIER的节点用于转发BIER分组的信息(例如,位位置、邻居位阵列)。
位位置可以被静态地或动态地分配。例如,位分配可以从租户IP地址集中分配或硬编码。在一个示例中,域中的每个LVI 11可以计算其自身的位分配,并且每个LVI和DVR13可以从其本地ARP(地址解析协议)表中提取主机列表,以计算其他LVI的位位置中的每一个,从而构建其本地BIERFIB 19。每个DVR(和复制LVI)中的BIER FIB 19应是相同的,因为它只是一对一映射。因此,每个虚拟复制器12具有相同的BIER FIB-上覆MAC/IP-位位置。位分配可以在频带内进行,也可以由控制器15分配。DVR 13可以基于分配的前缀来构建BIERFIB 19,或者BIER FIB可以在控制器15处构建并向下推送。在一个实施例中,控制器15分配位位置并将BIER FIB 19推送到DVR 13(以及LVI 11,以用于三级复制)。ARP检测可用于最小化BIER FIB 19。此外,如果BIER FIB 19是在DVR 13处构建的,则可以由控制器15发送压缩的BIERFIB。
控制器(控制器应用)15可以位于租户网桥域中,并且与所有主机10a、10b、10c、l0d、l0e、l0f以及虚拟复制器12(图1)通信(直接或间接)。在一个实施例中,控制器15使用API(应用编程接口)层来使用ODL(OpenDaylight)进行通信。控制器15可以部署和监测VRCC组件(LVI 11、DVR 13)。在一个实施例中,控制器15使用来自复制元件的实时遥测(例如,PPS(分组/秒)、BPS(比特/秒)、延迟、CPU等)。控制器15可以根据需要向上或向下缩放Clos网络。例如,控制器15可以根据需要部署或销毁DVR 13,从而以最小的资源(成本)来缩放复制。控制器15还可以向LVI 11发送具有DVR位置的消息。在一个或多个实施例中,控制器15可向一个或多个DVR 13分配额定值,以将来自LVI 11的业务转向一个或多个DVR,或基于遥测数据创建新的DVR。在一个示例中,控制器15可以为入口LVI提供信号负载平衡逻辑(例如,每级的复制比)。控制器15还可以提供中心成员信令和服务的记帐/计费。
在主机处的多播应用16可以发送分组,而不管是否存在接收方。在常规的多播中,这些分组将到达第一跳路由器并被丢弃,直到存在活跃的转发状态。在VRCC实现方式中,LVI 11将防止这些多播分组消耗主机上的资源。如果设置了成员位,则由LVI执行BIER施加。发送者LVI只需要知道BIER域中DVR的IP或MAC地址。在图1的示例所示的单级复制中,BIER配置由接收LVI 11执行,并且多播分组被传送到未经修改的多播接收应用16。
VRCC系统不规定任何特定的成员信令协议。可以使用BGP(边界网关协议)、泛频带内PIM(协议无关多播)、IGMP(互联网组管理协议)或外部控制器。成员信令可以例如静态地、在频带内(例如,BIER上的IGMP)或使用BGP(例如,控制器中的路由反射器应用)来执行。对于BIER上的IGMP,LVI 11监听IGMP消息并通过BIER发送信息。
每个LVI 11通过成员机制学习其位成员,并维护成员的掩码。例如,当接收方想要加入多播组时,接收方向接收方耦合到(直接地或间接地)的接收主机节点10c、l0d、l0f(包含接收LVI 11)发送消息(例如,使用IGMP)。消息包括标识接收方想要加入的多播组的信息和/或标识与该组相关联的源的信息。响应于接收到指示接收方想要加入多播组的消息,主机(接收节点)10c、l0d、l0f通过信号发送它对于该消息中标识的多播组的兴趣。这涉及,例如,主机向LVI或控制器15发送指示主机对多播组感兴趣的消息。在BGP成员信令的情况下,控制器15还可以具有用于最小化BGP配置和LVI 11之间的信令的路由反射器应用。加入或取消订阅消息导致主机改变与给定多播组关联的位掩码。DVR 13不需要成员信息,并且不对虚拟复制器节点12进行任何更改。如前所述,DVR 13基于位掩码通过网络转发分组。
当应用迁移到VRCC中的另一主机时,由于其位分配保持不变,这仅构成底层拓扑的变化。不需要用信号发送多播成员信息的信号,也不需要构建转发状态。VRCC将开始复制到位的新位置(LVI),底层将处理所有物理可达性。
应理解,图1所示和上面描述的网络设备和拓扑仅为示例,并且本文所描述的实施例可以在不脱离实施例的范围的情况下,在包括不同网络拓扑或网络设备的网络中实现,或者使用不同的协议或过程来实现。例如,每个主机节点可以与一个或多个网络中的任何数量的源或接收方通信。网络可以包括促进通过网络传送数据的任何数量或类型的网络设备(例如,路由器、交换机、网关、控制器、应用设备)、用作端点或主机(例如,服务器、虚拟机、容器、客户端)的网络元件、以及与任何数量的网络通信的任何数量的网络点或域。因此,网络节点可用于任何合适的网络拓扑中,该网络拓扑可以包括任何数量的服务器、虚拟机、容器、交换机、路由器或互连以形成大型复杂网络的其他节点,其可以包括云或雾计算。节点可以通过采用任何合适的有线或无线连接的一个或多个接口耦合到其他节点或网络,这为电子通信提供了可行的路径。
图2示出了可用于实现本文所述的实施例的网络设备20(例如图1中的主机10a、10b、10c、10d、l0e、10f或虚拟复制器12(例如服务器、边缘节点、发送方、接收方、核心节点、启用BIER的节点、位转发路由器))的示例。在一个实施例中,网络设备是可以用硬件、软件或其任何组合来实现的可编程机器。网络设备包括一个或多个处理器22、存储器24、网络接口26和虚拟复制器模块28(例如,图1中的LVI 11或DVR13)。
存储器24可以是易失性存储器或非易失性存储,其存储各种应用、操作系统、模块和数据以供处理器执行和使用。存储器24可以存储用于虚拟复制器模块28的一个或多个组件(例如,逻辑、软件、代码、固件)。对于作为第三级复制器操作的节点12(包含DVR 13)和节点(包含LVI 11),存储器24还可以包括BIER FIB 19。设备20可以包括任何数量的存储器组件。
网络设备20可包括任何数量的处理器22(例如,单处理器或多处理器计算设备或系统),其可与可操作以处理分组或分组报头的转发引擎或分组转发器通信。处理器22可以接收来自软件应用或模块的指令,这使得处理器执行本文描述的一个或多个实施例的功能。
逻辑可以被编码在一个或多个有形介质中,以便由处理器执行,以用于执行本文描述的任何方法。例如,处理器22可以执行存储在诸如存储器24等的计算机可读介质中的代码或指令。计算机可读介质可以是,例如电子介质(例如RAM(随机存取存储器)、ROM(只读存储器)、EPROM(可擦除可编程只读存储器)、磁性介质、光学介质(例如CD、DVD)、电磁介质、半导体技术介质或任何其他合适的介质。在一个示例中,计算机可读介质包括非暂时性计算机可读介质。该逻辑可以可操作用于执行图3和图4的流程图中所示的一个或多个步骤。
网络接口26可以包括用于接收数据或将数据发送到其他设备的任何数量的接口(线卡、端口)。网络接口可以包括例如用于连接到计算机或网络的以太网接口。网络接口26可以被配置为使用各种不同的通信协议来发送或接收数据,并且可以包括用于通过耦合到网络的物理链路来传送数据的机械、电气和信令电路。例如,线卡可以包括端口处理器和端口处理器控制器。
虚拟复制器模块28可以包括例如逻辑、代码、软件、固件或其他组件、模块或设备,以用于执行下面关于图3和4描述的过程。在主机10a、10b、10c、10d、l0e、l0f上,虚拟复制器模块28可以用作LVI 11,并且在网络设备12上,虚拟复制器模块可以用作DVR 13。在接收节点上,虚拟复制器模块还可以执行第三级复制。
应理解,图2所示和上文所述的网络设备20只是示例,并且可以使用网络设备的不同配置。例如,网络设备还可以包括可操作用于促进本文所述的能力的硬件、软件、处理器、设备、组件或元件的任何合适组合。
图3是示出图1的网络中的主机10a处的过程的概述的流程图。主机10a处的分组处理实例(LVI)11监视多播业务、控制信息和数据,并且还可以从控制器15接收成员信息(图1)。分组处理实例11存储接收方信息(例如,成员的掩码)(步骤30)。主机10a在步骤32处接收多播分组(例如,从另一设备接收多播分组或生成多播分组)。租户多播应用访问与多播应用相关联的分组处理实例。例如,租户多播应用16可以打开LVI(分组处理实例)11的套接口(socket)(图1和3)。LVI 11用接收方信息(例如,BIER成员报头)封装多播分组(步骤34)。如前所述,发送方LVI 11只需要知道BIER域中DVR的IP或MAC地址(或用于多级复制的每个DVR的IP/MAC地址的列表)。业务通过单播转发到没有多播能力的云中一个或多个虚拟复制器13(步骤36)。
图4示出了根据一个实施例的在虚拟复制器节点(例如,图1中包含DVR 13的节点12)处的复制过程的概述。虚拟复制器节点12从与具有专用金属(单个租户)部署的主机节点10a处的租户多播应用16相关联的分组处理实例(LVI 11)接收多播分组(步骤40)(图1和图4)。该分组是在虚拟复制器处通过单播接收的封装多播分组,并且包括包含多播组的接收方信息(例如,成员掩码的子集)的报头。如前所述,虚拟复制器12在没有多播能力的公共云中进行操作。DVR 13基于分组报头中的接收方信息复制多播分组并通过单播将多播分组发送到多个接收方节点(图1中的RVR 10c、l0d、10f)(步骤42和44)。在一个实施例中,BIER配置由接收节点处的接收分组处理实例(LVI 11)执行,并且多播分组被传送到未经修改的多播接收应用16。
应理解,图3和图4中所示和以上描述的过程只是示例,并且可以在不脱离实施例的范围的情况下添加、修改、移除步骤或或对步骤进行重新排序。
图5A是示出根据一个实施例的LVI主机节点50a(主机、接收节点)的组件的框图。主机50a包括主机操作系统(主机OS)52a和管理程序54a,以用于在服务器上配置虚拟机55a。在一个实施例中,VTAP(虚拟化网络抽头)位于管理程序层54a中。在图5A所示的示例中,LVI 57a是在与租户多播应用58a相同的虚拟机中运行的VPP。租户多播应用58a为了性能而使用专用主机。如前所述,VRCC被配置用于专用金属部署(即,每个主机仅对应一个租户应用)。多播应用VM 55a具有LVI 57a的实例,其拥有VM NIC(虚拟机网络接口卡)。虚拟机55a还包括客操作系统56。如前所述,发送方LVI不需要BIER FIB,并且接收方LVI只需要BIER FIB以进行第三级复制。LVI使用DVR地址来转发分组。如果存在多个DVR,LVI可以通过在DVR之间划分成员掩码(例如,基于使用来自控制器的信息的成本划分为均匀的位,该控制器可以在发生故障时或基于可用性来删减DVR列表)来选择DVR负载平衡逻辑。
图5B是示出根据一个实施例的LVI主机节点50b(主机、接收节点)的组件的框图。主机50b包括主机操作系统(主机OS)52b和容器管理器54b。在图5B所示的示例中,LVI 57b是在与租户多播应用58b相同的容器中运行的VPP。租户多播应用58b为了性能使用专用主机。如前所述,VRCC被配置用于专用金属部署(即,每个主机仅对应一个租户应用)。
图6A是示出根据一个实施例的虚拟复制器60a(图1中的节点12)的组件的框图。虚拟复制器60a包括主机操作系统62a和管理程序64a,如上针对主机50a所述的。虚拟复制器60a还包括至少一个虚拟机65a,其上运行客操作系统66a和DVR 68a。DVR 68a具有可操作用于复制从发送方LVI接收到的分组并将其发送到所有成员RVR的VPP复制器的单个实例。在一个或多个实施例中,BIER复制由DVR 68a执行。如前所述,在DVR处不需要保持成员状态。由于DVR 68a处不存在转发树或状态,因此可以在没有成员信令的情况下执行虚拟机迁移。
图6B是示出根据一个实施例的虚拟复制器60b(图1中的节点12)的组件的框图。虚拟复制器60b包括主机操作系统62b和容器管理器64b,如上针对主机50b所述的。虚拟复制器60b还包括至少一个容器65b,其上运行DVR 68b。DVR 68b具有可操作用于复制从发送方LVI接收到的分组并将其发送到所有成员RVR的VPP复制器的单个实例。在一个或多个实施例中,由DVR 68b执行BIER复制。
图7示出了通过主机70(包括发送方LVI 71)、多个虚拟复制器72(包括DVR 73)和多个主机74(具有接收方LVI 78)进行的VRCC两级复制的示例。主机节点70、74和虚拟复制器72与控制器75通信。如上关于图1所述,主机节点70、74包括租户多播应用76,并且虚拟复制器包括BIER FIB 79。多个DVR 73被部署为支持更大的复制域。在一个或多个实施例中,发送LVI 71具有针对每个DVR 73的IP/MAC地址列表,并且可以执行关于如何在DVR之间进行负载平衡的本地决策。在一个示例中,发送LVI 71在部署的DVR 73的数量之间均匀地划分成员掩码。控制器75还可以基于状态更新(例如,CPU/带宽负载、延迟等)来分配用途,并且向所有发送LVI 71用信号发送决策或逻辑。可以使用其他负载平衡方法。每个DVR 73获得针对分组的成员掩码的唯一子集,并且将使用本地BIER FIB 79将分组复制并转发到LVI78(针对LVI 78在接收掩码中设置了位),从而对每个LVI接收方78将掩码中的所有其他位清除。
图8示出了根据一个实施例的VRCC三级复制的示例。一旦被控制器75配置,DVR 73在掩码中跨LVI 78划分复制负载,仅设置接收LVF的位和来自传入掩码的一个或多个其他位。从DVR 73发送到接收LVI 78的每个分组将具有唯一的掩码。使用BIER转发逻辑,接收LVI 78遍历掩码,并使用本地BIER FIB,找到其本地设置位并复制到本地租户虚拟机/容器。如果在掩码中设置了其他位,则接收LVI 78将随后复制并转发到有设置位的每个LVI,从而清除所有其他位。接收方LVI 78(未示出)处的BIER FIB可以从VM IP地址进行硬编码或由控制器应用集中分配。
从前面可以看出,本文描述的实施例提供了许多优点。例如,一个或多个实施例允许IP多播应用从启用IP多播的网络迁移到在底层中没有多播支持的云供应商网络,而无需修改网络或应用。VRCC的单级或多级复制可以动态缩放,以最小化网络中的计算和带宽需求,从而提供与服务的单播替换相比更具成本效益和可缩放性的解决方案。多点应用客户(例如金融服务供应商和专业媒体内容生成商)可以在不做修改的情况下将其当前的多播应用实例化为第三方云供应商,并且像网络支持的复制就位一样进行操作。现有的多播应用可以使用VRCC组件和程序部署到第三方云供应商中。复制可以在部署时静态设置,或者可以基于整个租户应用带宽或扇出的负载要求通过控制器信号动态设置。在一个或多个示例中,VPP足够高效,使得单个核心可以根据分组大小填充两个10GE接口或PCI总线。通过这种方式,专用金属租户应用部署可以适应通过LVI的最小入口复制,作为第一或第三复制级。在一个或多个实施例中,VRCC提供无需任何成员查询或信令的无缝应用迁移,以实现非常快速和确定性的收敛。
尽管已经根据所示的实施例描述了方法和装置,但是本领域的普通技术人员将容易地认识到,在不脱离实施例的范围的情况下,可以进行变型。因此,上述描述中所包含的和附图中所示的所有事项旨在被解释为说明性的,而不是限制性意义的。
Claims (21)
1.一种方法,包括:
在虚拟复制器处通过单播从主机节点接收封装多播分组,所述主机节点包括具有单个租户部署的租户多播应用,所述封装多播分组包括针对所述虚拟复制器的接收方信息;
在所述虚拟复制器处复制所述封装多播分组;以及
基于所述接收方信息,通过单播将所述封装多播分组发送到多个接收节点,所述多个接收节点包括所述租户多播应用;
其中,所述虚拟复制器在没有多播能力的云中进行操作。
2.根据权利要求1所述的方法,其中,所述主机节点和所述接收节点各自包括在与所述租户多播应用相同的虚拟机中运行的分组处理实例。
3.根据权利要求1或2所述的方法,其中,所述虚拟复制器保持没有多播成员信息的拓扑状态。
4.根据前述权利要求中任一项所述的方法,其中,所述接收方信息包括位阵列,并且其中,所述位阵列中的位位置指定所述接收节点。
5.根据权利要求1至3中任一项所述的方法,其中,所述接收方信息包括位索引显式复制报头,并且所述虚拟复制器包括用于识别所述接收节点的位索引显式复制转发信息库。
6.根据前述权利要求中任一项所述的方法,还包括将复制负载划分到所述接收节点中的一个或多个上以用于多级复制。
7.根据前述权利要求中任一项所述的方法,其中,所述虚拟复制器与至少一个其他虚拟复制器一起在云中进行操作,并且其中,复制在这些虚拟复制器上受到负载平衡。
8.根据前述权利要求中任一项所述的方法,其中,所述主机节点和所述接收节点各自包括在与所述租户多播应用相同的容器中运行的分组处理实例。
9.一种装置,包括:
租户多播应用;
分组处理实例,所述分组处理实例与所述租户多播应用相关联;
处理器,所述处理器用于将接收方信息插入多播分组,并且通过单播将所述多播分组发送到虚拟复制器,所述虚拟复制器被配置为复制所述多播分组并基于所述接收方信息通过单播将所复制的分组发送到多个接收节点;以及
存储器,所述存储器用于存储所述接收方信息;
其中,所述装置被配置用于在没有多播能力的云中进行单个租户部署。
10.根据权利要求9所述的装置,其中,所述分组处理实例包括在与所述租户多播应用相同的虚拟机中运行的向量分组处理实例。
11.根据权利要求9或10所述的装置,其中,所述接收节点各自包括所述分组处理实例和所述租户多播应用。
12.根据权利要求9、10或11所述的装置,其中,所述接收方信息包括位阵列,并且其中,所述位阵列中的位位置指定所述接收节点。
13.根据权利要求9至12中任一项所述的装置,其中,所复制的分组使用无状态多播进行传输。
14.根据权利要求9至13中任一项所述的装置,其中,所述接收方信息在所述装置处从控制器接收。
15.根据权利要求9至14中任一项所述的装置,其中,所述分组处理实例包括在与所述租户多播应用相同的容器中运行的向量分组处理实例。
16.根据权利要求9至15中任一项所述的装置,其中,所述处理器还可操作以基于在控制器处收集的网络数据在所述虚拟复制器和至少一个其他虚拟复制器之间对复制进行负载平衡。
17.一种系统,包括:
在多个主机上运行的多个本地分组处理实例,所述主机中的每一个包括专用金属部署中的一个租户,所述本地分组处理实例中的每一个与租户多播应用相关联,并且被配置为封装具有接收方信息的多播分组并将所述多播分组发送到专用虚拟复制器;以及
所述专用虚拟复制器,所述专用虚拟复制器用于复制从所述多个主机中的一个主机接收到的所述多播分组,并基于所述接收方信息将所复制的多播分组发送到所述多个主机中的一部分主机;
其中,所述多播分组在没有多播能力的云中通过单播传输。
18.根据权利要求17所述的系统,其中,所述多个主机中的至少一个主机被配置为复制接收到的所复制的多播分组中的一个分组,并将所述分组发送到所述多个主机中的另一个主机以用于多级复制。
19.根据权利要求17或18所述的系统,其中,所述本地分组处理实例和所述专用虚拟复制器形成上覆网络,并且所述云包括底层网络,并且其中,与所述分组处理实例和所述租户多播应用相关联的虚拟机到所述多个主机中的另一个主机的迁移仅改变所述底层网络。
20.根据权利要求17、18或19所述的系统,其中,所述接收方信息包括位阵列,并且其中,所述位阵列中的位位置指定所述接收节点。
21.一种计算机可读介质,所述计算机可读介质承载计算机可读指令,所述计算机可读指令当由处理器执行时,使得所述处理器执行根据权利要求1至8中任一项所述的方法。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US15/689,027 | 2017-08-29 | ||
US15/689,027 US10484303B2 (en) | 2017-08-29 | 2017-08-29 | Replication with dedicated metal deployment in a cloud |
PCT/US2018/046238 WO2019045993A1 (en) | 2017-08-29 | 2018-08-10 | DUPLICATION WITH DEPLOYMENT OF DEDICATED METAL IN A CLOUD |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111034159A true CN111034159A (zh) | 2020-04-17 |
CN111034159B CN111034159B (zh) | 2022-08-16 |
Family
ID=63524368
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201880055724.2A Active CN111034159B (zh) | 2017-08-29 | 2018-08-10 | 云中使用专用金属部署的情况下的复制 |
Country Status (4)
Country | Link |
---|---|
US (1) | US10484303B2 (zh) |
EP (1) | EP3677013B1 (zh) |
CN (1) | CN111034159B (zh) |
WO (1) | WO2019045993A1 (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109729012A (zh) * | 2018-12-24 | 2019-05-07 | 新华三技术有限公司 | 一种单播报文传输方法和装置 |
Families Citing this family (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10873473B2 (en) | 2017-07-17 | 2020-12-22 | Nicira, Inc. | Distributed multicast logical router |
US10644900B2 (en) | 2018-06-19 | 2020-05-05 | Juniper Networks, Inc. | Forwarding multicast data packets using bit index explicit replication (BIER) for BIER-incapable network devices |
US10841111B2 (en) | 2018-06-19 | 2020-11-17 | Juniper Networks, Inc. | Forwarding multicast data packets using bit index explicit replication (BIER) for BIER-incapable network devices |
US11184274B2 (en) * | 2019-05-31 | 2021-11-23 | Microsoft Technology Licensing, Llc | Multi-cast support for a virtual network |
US11063872B2 (en) * | 2019-10-24 | 2021-07-13 | Vmware, Inc. | Scalable overlay multicast routing |
CN113114576B (zh) * | 2019-12-25 | 2022-11-25 | 华为技术有限公司 | 报文发送的方法、设备和系统 |
WO2021129023A1 (zh) * | 2019-12-25 | 2021-07-01 | 华为技术有限公司 | 报文发送的方法、设备和系统 |
CN113783745A (zh) * | 2020-06-10 | 2021-12-10 | 中国电信股份有限公司 | 网络遥测信息采集方法和系统、bier域入口节点 |
US11895010B2 (en) | 2021-06-29 | 2024-02-06 | VMware LLC | Active-active support of multicast streams in virtualized environment |
US11784926B2 (en) | 2021-11-22 | 2023-10-10 | Vmware, Inc. | Optimized processing of multicast data messages in a host |
JP2023151609A (ja) * | 2022-03-31 | 2023-10-16 | 横河電機株式会社 | 情報処理装置、情報処理システム、情報処理方法、及びプログラム |
JP7468566B2 (ja) * | 2022-03-31 | 2024-04-16 | 横河電機株式会社 | 情報処理装置、情報処理方法、及びプログラム |
WO2024035848A1 (en) * | 2022-08-11 | 2024-02-15 | Cisco Technology, Inc. | Unicast to multicast service reflection in sd-wan fabric |
Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1939004A (zh) * | 2004-04-16 | 2007-03-28 | 思科技术公司 | 虚拟网络设备中的分布式转发 |
US20130250949A1 (en) * | 2012-03-20 | 2013-09-26 | Cisco Technology, Inc. | Adjacency Server for Virtual Private Networks |
CN103563329A (zh) * | 2011-06-07 | 2014-02-05 | 惠普发展公司,有限责任合伙企业 | 用于虚拟化数据中心的可扩缩多租户网络架构 |
US20140192804A1 (en) * | 2013-01-09 | 2014-07-10 | Dell Products L.P. | Systems and methods for providing multicast routing in an overlay network |
US20150131660A1 (en) * | 2013-09-17 | 2015-05-14 | Cisco Technology, Inc. | Bit indexed explicit replication packet encapsulation |
CN105556899A (zh) * | 2013-09-17 | 2016-05-04 | 思科技术公司 | 位索引显式复制 |
US20160191372A1 (en) * | 2014-12-31 | 2016-06-30 | Juniper Networks, Inc. | Bit index explicit replication (bier)forwarding for network device components |
CN105847069A (zh) * | 2012-06-06 | 2016-08-10 | 瞻博网络公司 | 针对虚拟网络分组流的物理路径确定 |
US20160285641A1 (en) * | 2015-03-25 | 2016-09-29 | International Business Machines Corporation | Logical multicasting in overlay networks |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8320374B2 (en) | 2006-12-28 | 2012-11-27 | Alcatel Lucent | Method and apparatus for improved multicast routing |
US8711752B2 (en) * | 2010-01-12 | 2014-04-29 | Cisco Technology, Inc. | Distributed multicast packet replication with centralized quality of service |
US8325726B2 (en) | 2010-02-09 | 2012-12-04 | Juniper Networks, Inc. | Data structure-less distributed fabric multicast |
US8848728B1 (en) | 2010-04-08 | 2014-09-30 | Marvell Israel (M.I.S.L) Ltd. | Dynamic load balancing switch architecture |
US8953441B2 (en) * | 2012-06-06 | 2015-02-10 | Juniper Networks, Inc. | Re-routing network traffic after link failure |
US9544230B2 (en) | 2013-09-17 | 2017-01-10 | Cisco Technology, Inc. | Migration support for bit indexed explicit replication |
US9887939B2 (en) * | 2015-03-11 | 2018-02-06 | International Business Machines Corporation | Transmitting multi-destination packets in overlay networks |
EP3210348B1 (en) * | 2014-10-24 | 2019-04-17 | Telefonaktiebolaget LM Ericsson (publ) | Multicast traffic management in an overlay network |
-
2017
- 2017-08-29 US US15/689,027 patent/US10484303B2/en active Active
-
2018
- 2018-08-10 WO PCT/US2018/046238 patent/WO2019045993A1/en unknown
- 2018-08-10 CN CN201880055724.2A patent/CN111034159B/zh active Active
- 2018-08-10 EP EP18766079.0A patent/EP3677013B1/en active Active
Patent Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1939004A (zh) * | 2004-04-16 | 2007-03-28 | 思科技术公司 | 虚拟网络设备中的分布式转发 |
CN103563329A (zh) * | 2011-06-07 | 2014-02-05 | 惠普发展公司,有限责任合伙企业 | 用于虚拟化数据中心的可扩缩多租户网络架构 |
US20130250949A1 (en) * | 2012-03-20 | 2013-09-26 | Cisco Technology, Inc. | Adjacency Server for Virtual Private Networks |
CN105847069A (zh) * | 2012-06-06 | 2016-08-10 | 瞻博网络公司 | 针对虚拟网络分组流的物理路径确定 |
US20140192804A1 (en) * | 2013-01-09 | 2014-07-10 | Dell Products L.P. | Systems and methods for providing multicast routing in an overlay network |
US20150131660A1 (en) * | 2013-09-17 | 2015-05-14 | Cisco Technology, Inc. | Bit indexed explicit replication packet encapsulation |
CN105556899A (zh) * | 2013-09-17 | 2016-05-04 | 思科技术公司 | 位索引显式复制 |
US20160191372A1 (en) * | 2014-12-31 | 2016-06-30 | Juniper Networks, Inc. | Bit index explicit replication (bier)forwarding for network device components |
US20160285641A1 (en) * | 2015-03-25 | 2016-09-29 | International Business Machines Corporation | Logical multicasting in overlay networks |
Non-Patent Citations (1)
Title |
---|
马永昌, 徐炜民: "基于应用层多播的混合覆盖网络的研究", 《计算机工程与设计》 * |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109729012A (zh) * | 2018-12-24 | 2019-05-07 | 新华三技术有限公司 | 一种单播报文传输方法和装置 |
CN109729012B (zh) * | 2018-12-24 | 2021-08-24 | 新华三技术有限公司 | 一种单播报文传输方法和装置 |
Also Published As
Publication number | Publication date |
---|---|
CN111034159B (zh) | 2022-08-16 |
EP3677013B1 (en) | 2023-12-20 |
EP3677013A1 (en) | 2020-07-08 |
US10484303B2 (en) | 2019-11-19 |
US20190068524A1 (en) | 2019-02-28 |
WO2019045993A1 (en) | 2019-03-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111034159B (zh) | 云中使用专用金属部署的情况下的复制 | |
US11398921B2 (en) | SDN facilitated multicast in data center | |
US11646906B2 (en) | Bit indexed explicit forwarding optimization | |
US11044211B2 (en) | Multicast packet handling based on control information in software-defined networking (SDN) environment | |
US11206148B2 (en) | Bit indexed explicit replication | |
US10536324B2 (en) | Per-prefix LFA FRR with bit indexed explicit replication | |
US20180102965A1 (en) | Unicast branching based multicast | |
US9036633B2 (en) | Multicast support for internet protocol version four residual deployment via encapsulation or translation | |
US11362954B2 (en) | Tunneling inter-domain stateless internet protocol multicast packets | |
CN104253698B (zh) | 报文组播的处理方法和设备 | |
EP3896902A1 (en) | Transfer of secure multicast data traffic over a computing network | |
CN112134776A (zh) | 生成组播转发表项的方法和接入网关 | |
US9503272B2 (en) | Fast convergence with multicast source mobility |
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 |