CN114915588A - 用于任播部署的上游多播跳umh扩展 - Google Patents
用于任播部署的上游多播跳umh扩展 Download PDFInfo
- Publication number
- CN114915588A CN114915588A CN202110437988.8A CN202110437988A CN114915588A CN 114915588 A CN114915588 A CN 114915588A CN 202110437988 A CN202110437988 A CN 202110437988A CN 114915588 A CN114915588 A CN 114915588A
- Authority
- CN
- China
- Prior art keywords
- network device
- multicast
- ingress
- router
- egress
- 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
- 238000011144 upstream manufacturing Methods 0.000 title abstract description 31
- 238000000034 method Methods 0.000 claims description 70
- 230000006870 function Effects 0.000 claims description 19
- 230000004044 response Effects 0.000 claims description 8
- 238000009966 trimming Methods 0.000 claims 2
- 230000011664 signaling Effects 0.000 description 7
- 238000010586 diagram Methods 0.000 description 6
- 230000008569 process Effects 0.000 description 5
- 230000011218 segmentation Effects 0.000 description 4
- 230000005540 biological transmission Effects 0.000 description 3
- 239000000284 extract Substances 0.000 description 3
- 239000004744 fabric Substances 0.000 description 3
- 101100136834 Mus musculus Plin5 gene Proteins 0.000 description 2
- 230000002457 bidirectional effect Effects 0.000 description 2
- 238000004891 communication Methods 0.000 description 2
- 230000006855 networking Effects 0.000 description 2
- 230000003068 static effect Effects 0.000 description 2
- 238000003491 array Methods 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000005538 encapsulation Methods 0.000 description 1
- 230000007257 malfunction Effects 0.000 description 1
- 238000007726 management method Methods 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 229920001690 polydopamine Polymers 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 230000010076 replication Effects 0.000 description 1
- 238000012216 screening Methods 0.000 description 1
- 238000000926 separation method Methods 0.000 description 1
- 230000005641 tunneling Effects 0.000 description 1
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
-
- 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/16—Multipoint routing
-
- 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
- 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/22—Alternate 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
- H04L45/247—Multipath using M:N active or standby paths
-
- 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/12—Avoiding congestion; Recovering from congestion
- H04L47/125—Avoiding congestion; Recovering from congestion by balancing the load, e.g. traffic engineering
-
- 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/1863—Arrangements for providing special services to substations for broadcast or conference, e.g. multicast comprising mechanisms for improved reliability, e.g. status reports
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本公开的实施例涉及用于任播部署的上游多播跳UMH扩展。一种示例出口网络设备包括至少一个计算机处理器和存储器。存储器包括使至少一个计算机处理器从多个入口网络设备中的每个入口网络设备接收消息的指令。每个消息指定作为属于两个或更多个源的任播地址的多播源、多播组、以及唯一地标识任播地址可到达的客户网络设备的客户站点标识符。指令使至少一个计算机处理器基于客户站点标识符来选择多个入口网络设备中的、针对多播源和多播组发送多个多播加入消息中的多播加入消息的一个入口网络设备。指令使至少一个计算机处理器将多播加入消息发送给多个入口网络设备中的所选的一个入口网络设备。
Description
技术领域
本公开涉及计算机网络,更具体地涉及计算机网络上的多播业务的分布。
背景技术
计算机网络是交换数据并且共享资源的互连计算设备的集合。在基于分组的网络中,计算设备通过将数据划分为称为分组的小块来传递数据。网络内的某些设备(诸如路由器和交换机)维护路由和/或转发信息,该路由和/或转发信息描述了通过网络的路径。通过这种方式,分组可以在网络上从源设备被单独地传输给目的地设备。目的地设备从分组提取数据,并且将数据组装为其原始形式。将数据划分为分组使得源设备能够仅重新发送在传输期间可能丢失的那些单独分组。
计算机网络的示例包括企业网络、分支网络、服务提供方网络、家庭网络、虚拟私有网络(VPN)、局域网(LAN)、虚拟LAN(VLAN)等。在任何情况下,计算机网络都可以使位于远程的源和接收器能够共享数据。在一些情况下,计算机网络可以被配置为支持多播业务,诸如互联网协议电视(IPTV)、桌面会议、公司广播、音乐和视频网播以及其他形式的多媒体内容。例如,计算机网络可以利用边界网关协议(BGP)或协议独立多播(PIM)作为多播路由协议来通过计算机网络构建分布树,以在特定多播组的客户站点内的源和接收器之间传输多播业务。另外,计算机网络可以被配置为支持多播VPN(MVPN),以使互联网协议(IP)多播业务能够在客户站点内的源和接收器之间行进。针对一个或多个MVPN,耦合至客户站点的提供方边缘(PE)路由器可以在概念上构建多播树,以通过公共网络携带来自多播源的多播业务,使得客户站点接收多播业务,就好像客户站点是被直接附接至与源相同的私有网络。
发明内容
通常,本公开描述了用于确定计算机网络内的多播业务的任播路径的技术。所公开的技术可以被用于在源之间进行负载平衡和/或提供冗余性,从而避免多播接收器的初级馈送和备份馈送都不提供来自单个任播源设备的内容的情况。例如,如果初级馈送和备份馈送都从单个源设备提供内容,并且该单个源设备发生故障,则接收器可能在几秒钟或几分钟内没有内容,而提供方边缘(PE)路由器试图将初级馈送和/或备份馈送切换到连接至另一内容源的路由器。
例如,出口PE路由器可以使用诸如MVPN类型1和/或类型5路由等自动发现消息中携带的BGP扩展社区属性(例如起源站点(SOO)属性)来确定哪些路由器被连接至哪些源,并对应地发送多播加入消息,以在源之间进行负载平衡和/或避免初级馈送和备份馈送来自同一源设备的情况。在一些示例中,入口PE路由器可以查询连接至源设备的客户边缘路由器,以确定与客户边缘路由器相关联的唯一标识符,诸如客户边缘路由器ID,并且可以通过扩展社区属性在自动发现消息(诸如发送给MVPN中的其他PE路由器的类型1和/或类型5路由)上通告该唯一标识符。这些通告最终到达出口PE路由器,该出口PE路由器可以将这种信息用于负载平衡和/或冗余性目的。
在一个示例方面中,一种方法包括:由网络的出口网络设备从网络的多个入口网络设备中的每个入口网络设备接收消息,其中该消息中的每个消息指定作为属于两个或更多个不同源的任播地址的多播源、多播组、以及唯一地标识任播地址可到达的客户网络设备的客户站点标识符;由出口网络设备基于由消息指定的客户站点标识符来选择多个入口网络设备中的、针对多播源和多播组发送多个多播加入消息中的多播加入消息的一个入口网络设备;以及由出口网络设备将多播加入消息发送给多个入口网络设备中的所选的一个入口网络设备。
在另一示例方面中,一种网络设备包括至少一个计算机处理器以及包括指令的存储器,该指令在由至少一个计算机处理器执行时使至少一个计算机处理器:从网络的多个入口网络设备中的每个入口网络设备接收消息,其中该消息中的每个消息指定作为属于两个或更多个不同源的任播地址的多播源、多播组、以及唯一地标识任播地址可到达的客户网络设备的客户站点标识符;基于由消息指定的客户站点标识符来选择多个入口网络设备中的、针对多播源和多播组发送多个多播加入消息中的多播加入消息的一个入口网络设备;以及将多播加入消息发送给多个入口网络设备中的所选的一个入口网络设备。
在又一示例方面中,一种非瞬态计算机可读存储介质是用指令编码的,该指令在被执行时使计算设备的至少一个处理器:从网络的多个入口网络设备中的每个入口网络设备接收消息,其中该消息中的每个消息指定作为属于两个或更多个不同源的任播地址的多播源、多播组、以及唯一地标识任播地址可到达的客户网络设备的客户站点标识符;基于由消息指定的客户站点标识符来选择多个入口网络设备中的、针对多播源和多播组发送多个多播加入消息中的多播加入消息的一个入口网络设备;以及将多播加入消息发送给多个入口网络设备中的所选的一个入口网络设备。
本公开的一个或多个示例的细节是在下面的附图和描述中陈述的。本公开的其他特征、目的和优点将通过描述和附图以及通过权利要求而变得明显。
附图说明
图1是图示了根据本公开的技术的包括两个源设备的示例计算机网络的框图,该两个源设备被配置为将多播业务传输给多播接收器。
图2是图示了被配置为根据本公开的技术操作的示例网络设备的框图。
图3是图示了根据本公开的技术的网络设备的示例多播虚拟私有网络(MVPN)模块的框图。
图4是图示了根据本公开的技术的网络设备的示例操作的流程图。
具体实施方式
使用任播部署的客户可能期望在多播任播数据的源设备之间进行负载平衡,以免使出口PE路由器和入口PE路由器之间的路径中的网络设备过载(overload)。客户可能还期望具有源的冗余性,使得如果一个源操作失灵,停止发送任播数据或经历服务下降,则出口PE路由器可能会迅速从提供初级流切换到备份流,而无需经历附加搜索和/或设立功能,以实现到新源设备的新路径。然而,由于任播源设备可能会通告相同的互联网协议(IP)地址,因此出口PE路由器可能无法获得关于任播部署中哪个入口PE路由器与哪个源设备相关联的信息。因此,网络运营商当前可能无法提供这种负载平衡和/或冗余性。
根据本公开的技术,出口PE路由器可以利用扩展社区属性中所包含的信息,诸如起源站点(SOO)扩展社区属性,以实现不同的多播源设备之间的负载平衡和/或提供冗余性以防止多播源设备中的一个多播源设备发生故障。例如,入口PE路由器可以查询客户边缘(CE)路由器以获得唯一的客户站点标识符,诸如CE路由器ID。然后,入口PE路由器可以在类型1和/或类型5路由中的扩展社区属性中通告唯一的客户站点标识符。出口PE路由器可以使用该信息在两个或更多个源设备之间进行负载平衡和/或确保出于冗余性目的,初级馈送和备份馈送不是源于同一源设备的。
图1是图示了根据本公开的技术的包括两个多播源设备的示例系统的框图,该两个多播源设备被配置为将任播数据传输给多播接收器。在图1的示例中,核心网络10包括多个提供方边缘(PE)路由器20A至20E和包括提供方路由器(PR)22A至22B的其他网络设备。系统90可以包括私有网络或公共网络,诸如互联网和核心网络10。在一些示例中,系统90包括企业网络、校园网络、服务提供方网络、家庭网络、局域网(LAN)、虚拟局域网(VLAN)、虚拟私有网络(VPN)或另一自主系统。在一些示例中,系统90可以包括多个自主系统(AS)。在这些示例中的任何一个中,位于远程的任播源设备12A和任播源设备12B可以经由入口PE路由器20A至入口PE路由器20D、路由器22A和22B以及出口PE路由器20E与接收器18共享任播数据。在一些示例中,核心网络10可以是多协议标签切换(MPLS)网络。
入口PE路由器20A经由可能位于系统90外部的客户边缘(CE)路由器16A被连接至任播源设备12A。入口PE路由器20B也经由CE路由器16A被连接至任播源设备12A。通过这种方式,任播源设备12A和CE路由器16A可以被认为是多宿主的。类似地,入口PE路由器20C经由可能位于系统90外部的CE路由器16B被连接至任播源设备12B。入口PE路由器20D也经由CE路由器16B被连接至任播源设备12B。通过这种方式,任播源设备12B和CE路由器16B可以被认为是多宿主的。在图1的示例中,任播源设备12A和任播源设备12B在地理上分开以提供更好的冗余性。在一些示例中,任播源设备12A和任播源设备12B可以具有相同的IP地址,并且可以提供相同的单播数据或内容。
入口PE路由器20A和20B被链接至路由器22A,并且入口PE路由器20C和20D被链接至路由器22B。路由器22A和路由器22B都被链接至出口PE路由器20E,该出口PE路由器20E(直接或间接地)被链接至接收器18。接收器18可以是多播接收器,其被配置为接收诸如IPTV业务等任播业务,并将这种业务提供给用户以供消耗。在一些示例中,接收器18可以在系统90的外部。
在图1的示例中,入口PE路由器20A至入口PE路由器20D、出口PE路由器20E、路由器22A和路由器22B可以是使用诸如协议独立多播(PIM)或边界网关协议(BGP)等多播路由协议来将来自任播源设备12A和任播源设备12B的任播业务路由给接收器18的设备。在一些示例中,系统90可以包括一个或多个多播虚拟私有网络(MVPN),以使任播业务能够在任播源设备12A和接收器18之间以及任播源设备12B与接收器18之间行进。(多个)MVPN可以在系统90的入口PE路由器20A至20D和出口PE路由器20E之间建立。在使用PIM协议时,PIM协议可以在多种不同的模式下操作,包括密集模式(DM)、源特定多播(SSM)模式或任何源多播(ASM)模式中的稀疏模式(SM)和双向(BIDIR)模式。
在一些示例中,任播源设备12A、任播源设备12B和接收器18中的任何一个或每一个可以被包括在远程站点(未示出)中,该远程站点可以是局域网(LAN)或广域网(WAN),包括多个订户设备,诸如台式计算机、膝上型计算机、工作站、PDA、无线设备、网络就绪器具、文件服务器、打印服务器或其他设备。远程站点可以被配置为支持任播业务,诸如互联网协议电视(IPTV)、桌面会议、公司广播、音乐和视频网播以及其他形式的多媒体内容。
在一些示例中,系统90可以包括单播上游多播跳(UMH)和选择性提供方隧道(在本文中也称为“选择性隧道”)。包括性提供方隧道(在本文中也称为“包括性隧道”)可以在PE路由器上配置,使得由入口PE路由器发送到网络中的任何多播(例如任播)分组都将由该MVPN的连接至网络的所有PE路由器接收,不管PE路由器是否具有感兴趣的侦听器(例如接收器)。即,当使用包括性提供方隧道时,入口PE路由器通过在所有隧道上转发业务来将多播(例如任播)业务注入MVPN中,而无论接收者是否已针对多播源和多播组明确地发出多播加入请求。相反,选择性提供方隧道模式可以在PE路由器上配置,使得由特定PE路由器发送的业务被递送给给定MVPN实例中的已经发信号通知感兴趣的接收器的PE路由器的子集,而不是被递送给MVPN实例中的所有PE路由器。该感兴趣的信令可以通过多播加入消息来进行,诸如多播加入消息30A和30C。
当PE路由器从接收器接收到C接入(客户加入)或C修剪(客户修剪)消息时,该消息将特定的多播流标识为属于源特定树(S,G)或共享树(*,G)。术语“C根”(客户根)在本文中被用于指代在源特定树的情况下的多播源S或者在(*,G)的情况下的G的会合点(RP)。如果到C根的路由跨VPN骨干网络,那么PE路由器需要为(S,G)或(*,G)流找到“上游多播跳”(UMH)。UMH是(S,G)或(*,G)数据分组进入VPN骨干的PE路由器或者那些数据分组在通过VPN骨干行进时进入本地AS的自主系统边界路由器(ASBR)。找到给定C根的上游多播跳的过程被称为“上游多播跳选择”。
也可以被称为源分组路由或联网中的源分组路由(SPRING)的分段路由是控制平面架构,它使入口路由器能够通过网络中的节点和链路的特定集合来引导分组,而无需依赖于网络中的中间节点来确定它应该采用的路径。在图1的示例中,入口PE路由器20A和出口PE路由器20E可以使用分段路由技术,例如SPRING范例,以使用IGP或BGP在节点之间通告分段,并在系统90内构建单跳或多跳隧道。分段路由可以接合IGP或BGP以通告多种类型的分段。分段的第一示例类型是“邻接分段”,其表示严格转发的,通常为单跳隧道,该单跳隧道在路由器和特定节点之间的特定链路上携带分组,而与链路成本无关。分段的第二示例类型是“前缀分段”,它表示使用路由器之间到特定地址前缀的成本最低的路径链路的典型多跳隧道。分段的第三示例类型是“绑定分段”,它表示路由器和特定节点或特定地址前缀之间的特定域内隧道。
在分段路由中,分段的“路径”信息在系统90内的路由器之间被散布,作为相应区域的IGP链路状态信息的一部分。入口PE路由器20A能够通过将一个或多个分段标识符(SID)追加到分组来引导分组通过指令或分段的有序列表。换言之,入口路由器20A可以通过用SID的适当组合(堆栈)追加分组来引导分组通过节点和链路的期望集合。分段路由允许路由器强制流通过任何拓扑路径和服务链,同时仅在每个域的入口节点处维护每流状态。
分段路由可以直接被应用于MPLS架构,而转发平面没有变化。网络管理员或集中式控制器仅需要将SID分配给特定的路由器,并且分段路由控制平面架构自动地构建从路由器到任何其他路由器的所需的MPLS转发构造。SID被编码为MPLS标签,并且SID的有序列表被编码为标签堆栈。要被处理的分段的SID在堆栈的顶部,并且在分段完成时,随着分组通过网络被转发,相关的标签将从堆栈中弹出。
分段路由是在Filsfils等人于2018年7月在IETF RFC 8402中的“分段路由架构”中进一步描述的,而分段路由用例是在Filsfils等人于2014年10月21日在IETF Internet-Draft draft-filsfils-spring-segment-routing-use-cases-01中的“分段路由用例”中描述的,其每一个都是通过引用并入本文的。关于SPRING的其他细节是在(1)Filsfils等人于2019年12月14日在IETF Internet-Draft draft-ietf-spring-segment-routing-policy-06中的“分段路由策略架构”;(2)Previdi等人于2016年5月在IETF RFC 7855中的“联网中的源分组路由(SPRING)问题声明和要求”;以及(3)Bashandy等人于2019年12月在IETF RFC 8660中的“利用MPLS数据平面的分段路由”中找到的。
MVPN自动发现可以由单播路由协议(诸如BGP)提供,该协议用于发现和维护网络(诸如系统90)内的PE路由器的MVPN成员资格。BGP MVPN(有时称为“下一代(NG)MVPN”)在提供方网络中引入了BGP控制平面,以处置多播业务。如下面进一步详细描述的,PE路由器20A至20E可以使用BGP控制平面消息(“路由”)来协调多播业务的递送。BGP MVPN引入了提供方多播服务接口(PMSI)的概念,以实现“服务”和“输送”机制之间的分离。PMSI是提供方网络(P网络)上概念性的“叠加”,其指的是“服务”。这种“叠加”可以从属于特定MVPN的一个PE路由器获取分组,并将其递送给属于同一MVPN的其他或所有PE路由器。BGP MVPN负责三个主要功能:1)自动发现;2)P隧道信令;以及3)客户多播(C-MCAST)路由信令。自动发现是找到参与给定MVPN实例的所有PE路由器的过程。P隧道信令为PE路由器提供了一种方式,以告知其他PE路由器将使用哪种方法来输送C多播业务(即,用于建立PMSI隧道)。用于建立PMSI隧道(包括包括性提供方隧道和选择性提供方隧道)的选项包括点对多点(P2MP)RSVP-TE、P2MP mLDP、多点对多点(MP2MP)mLDP、多播通用路由封装(mGRE)或入口复制。C-MCAST路由信令是在相关PE路由器之间交换C多播控制平面状态(诸如C加入(C-Join)、C修剪(C-Prune)和C注册(C-Register)消息)的一种方式。
BGP MVPN使用选择性提供方隧道或选择性提供方多播服务接口(S-PMSI)以及包括性提供方隧道或包括性提供方多播服务接口(I-PMSI)。在选择性提供方隧道(S-PMSI)中,由特定PE路由器发送的业务将被递送给给定MVPN实例中的PE路由器的子集,而不是被递送给MVPN实例中的所有PE路由器。创建选择性提供方隧道使得入口PE路由器能够将高速率业务移出包括性隧道,并仅将多播业务递送给请求它的接收器。这可以提高带宽利用率。
参与使用BGP控制平面的BGP MVPN的PE路由器使用七种类型的BGP MVPN路由(消息),其中五种被用于自动发现,并且两种用于PE路由器之间的C多播协议信息交换。例如,PE路由器20使用BGP向其他PE路由器20通告其MVPN成员资格,并且PE路由器20交换BGP路由协议消息以通告用于控制网络内的多播分布的各种类型的路由。
例如,在BGP MVPN中,MVPN类型1路由是由参与MVPN的所有PE路由器始发的AS内包括性提供方多播服务接口(I-PMSI)自动发现(AD)路由。即,MVPN类型1路由是一种自动发现路由。MVPN类型1路由包括路由类型指示符、始发路由器路由区分符(RD)和始发路由器回送地址。如本文所描述的,根据本公开的技术,MVPN类型1路由还可以包括扩展社区属性,诸如起源站点(SOO)扩展社区属性,其可以包括唯一地标识客户网络设备(诸如CE路由器16A或CE路由器16B)的客户站点标识符。
MVPN类型2路由是由所有ASBR PE路由器始发的AS间I-PMSIAD路由。MVPN类型2路由包括路由类型指示符、始发路由器RD和始发ASBR的AS号。
MVPN类型3路由是由发送器PE路由器(发起S-PMSI的发送器PE路由器)始发的选择性提供方多播服务接口(S-PMSI)AD路由。MVPN类型3路由包括路由类型指示符、始发路由器RD、客户多播源地址(C-S)掩码(针对IPv4为32;针对IPv6为128)、使用S-PMSI的C-S、客户多播组地址(C-G)掩码(针对IPv4为32;针对IPv6为128)、使用S-PMSI的C-G和始发路由器回送地址。
MVPN类型4路由是由接收器PE路由器响应于接收到从发送器PE路由器设置的具有“所需的叶信息”标志的S-PMSI AD路由而始发的叶AD路由。MVPN类型4路由包括路由类型指示符、S-PMSI AD路由和始发路由器回送地址。
MVPN类型5路由是源活动AD路由,该源活动AD路由由发现活动VPN多播源的PE路由器始发。MVPN类型5路由是另一类型的自动发现路由。MVPN类型5路由包括路由类型指示符、始发路由器RD、C-S掩码(针对IPv4为32;针对IPv6为128)、客户多播源地址、C-G掩码(针对IPv4为32;针对IPv6为128)、客户多播组地址。如本文所描述的,根据本公开的技术,MVPN类型5路由还可以包括扩展社区属性,诸如SOO扩展社区属性,其可以包括唯一地标识客户网络设备(诸如CE路由器16A或CE路由器16B)的客户站点标识符。
MVPN类型6路由是由接收器PE路由器(从VPN接口接收(C-*,C-G)加入消息的PE路由器)始发的共享树加入路由。MVPN类型6路由包括路由类型指示符、上游PE路由器的RD(向客户会合点(C-RP))、上游PE路由器的AS号(向C-RP)、C-RP掩码(针对IPv4为32;针对IPv6为128)、客户会合点地址、C-G掩码(针对IPv4为32;针对IPv6为128)和客户多播组地址。
MVPN类型7路由是由接收器PE路由器(接收本地(C-S,C-G)加入消息的PE路由器或已经具有类型6路由并接收类型5路由的PE路由器)始发的源树加入路由。MVPN类型7路由包括路由类型指示符、上游PE路由器的RD(向C-S)、上游PE路由器的AS号(向C-S)、C-S掩码(针对IPv4为32;针对IPv6为128)、客户多播源地址、C-G掩码(针对IPv4为32;针对IPv6为128)和客户多播组地址。
关于MVPN的附加信息可以在Rosen,E.等人于2012年2月在RFC 6513中的“MPLS/BGP IP VPN中的多播”以及Rosen,E.等人于2012年2月在RFC 6514中的“用于MPLS/BGP IPVPN中的多播的BGP编码和程序”中找到。
在图1的示例中,入口PE路由器20A可能已经在存储器中存储了与CE路由器16A相关联的客户站点标识符。入口PE路由器20A可以利用附接的扩展社区属性SOO来通告自动发现路由(路由32A),诸如类型1路由和/或类型5路由。例如,入口PE路由器20A可以利用PMSI隧道类型为“IR”以及扩展社区属性SOO来通告类型1路由,该扩展社区属性SOO指定了唯一地标识与任播源设备12A相关联的CE路由器16A的客户站点标识符(诸如CE路由器16A的路由器ID)。类似地,入口PE路由器20B可以利用附接的扩展社区属性SOO来通告类型1路由和/或类型5路由(路由32B),其指定了唯一地标识与任播源设备12A相关联的CE路由器16A的客户站点标识符。路由32A和32B可以由路由器22A转发给出口PE路由器20E。
入口PE路由器20A可以利用附接的扩展社区属性SOO来通告类型1路由和/或类型5路由(路由32C)。例如,入口PE路由器20C可以利用社区属性SOO通告路由32C,该社区属性SOO指定了唯一地标识与任播源设备12B相关联的CE路由器16B的客户站点标识符。类似地,入口PE路由器20D可以利用附接的扩展社区属性SOO来通告类型1路由和/或类型5路由(路由32B),其指定了唯一地标识与任播源设备12B相关联的CE路由器16B的客户站点标识符。路由32C和32D可以由路由器22B转发给出口PE路由器20E。
在一些示例中,客户站点标识符可以包括客户边缘站点ID、客户路由器ID、AS号和站点ID或其他标识符。示例客户站点标识符可以包括以下任何一个:soo:<Router ID>:<0>、soo:<AS Number>:<Site ID>、soo:10.10.10.10.0或soo:100:1等。在每种情况下,用于CE路由器16A的客户站点标识符可以与用于CE路由器16B的客户站点标识符不同。
出口PE路由器20E可以基于在路由32A和32B中接收到的扩展社区属性SOO中的CE路由器16A的客户站点标识符来确定哪些路径与任播源设备12A相关联。附加地,出口PE路由器20E可以基于在路由32C和32D中接收到的扩展社区属性SOO中的CE路由器16A的客户站点标识符来确定哪些路径与任播源12B相关联。
当前,下一代多播虚拟私有网络(NG-MVPN)上游多播跳(UMH)选择技术包括:1)最高IP地址;2)单播路由(例如BGP最佳单播路由);3)基于哈希的选择;4)基于源活动(SA)的UMH;以及5)静态UMH,下面将进一步描述。
利用NG-MVPN Live-Live(多播流保护),出口PE路由器20E将为任播流选择初级UMH和备份UMH以发送多播加入消息,以提供流的冗余性。来自初级UMH和备份UMH的任播流然后可以被发送给出口PE路由器20E。在一些示例中,出口PE路由器20E可以在正常操作下将初级任播流转发给接收器18并且丢弃备份任播流。如果初级流由于某种原因被中断,或者传输速率下降到预定阈值以下,则出口PE路由器20E可以感测到中断或速率下降,并且开始转发备份流而不是初级流。通过这种方式,在接收器18处的内容的任何中断可以是相对短暂的。
为了选择UMH,接收器18可以发送多播加入消息。如在图1中可以看到的,到达源设备(诸如任播源设备12A或任播源设备12B)可能要采用多于一个路径。在不进行供应的情况下,出口PE路由器20E将根据互联网工程任务组(IETF)请求注释(RFC)6513标准选择默认的最高IP地址。利用供应,出口PE路由器20E可以使用上面提及的五种选择技术中的另一种。例如,出口PE路由器20E可以使用单播路由,其可以选择具有最佳路径的馈送(例如根据BGP最佳路径选择算法的最佳路由)。利用基于哈希的确定技术,出口PE路由器20E可以使用基于哈希的负载平衡方案来选择路径,该方案可以对多播加入消息进行负载平衡,从而平衡接收到的多播流。这种方案旨在选择一部分内容(诸如来自一个馈送的一半)以及内容的另一部分(例如来自另一馈送的另一半),以避免使某些网络设备过载。利用基于SA的确定技术,出口PE路由器20E可以从多个或所有上游馈送接收类型5路由,并且基于可以在出口PE路由器20E上配置的策略来选择流。利用静态UMH确定技术,网络运营商可以静态地供应到达出口PE路由器20E的流。
在具有任播站点的互联网协议电视(IPTV)的情况下,每个任播站点可以具有相同的IP地址,并经由流推送相同的多播内容。在一些示例中,任播站点在地理上是分散的。例如,任播源设备12A可以位于与任播源设备12B不同的物理地点,但是任播源设备12A和任播源设备12B可以具有相同的IP地址并推送相同的内容,例如相同的100个电视频道。为了冗余性的目的,任播源设备12A和任播源设备12B可以在地理上分开。例如,如果在任播源设备12A的地点处发生事件(诸如停电或火灾),导致任播源设备12A停止推送业务或脱机,则如果任播源设备12B在地理上与任播源设备12A分开,则任播源设备12B将受到类似的影响的可能性可能较低。
在一些示例中,可能期望在任播站点之间进行负载平衡。例如,网络运营商可能需要在任播源设备12A和任播源设备12B之间进行负载平衡。然而,当前的MVPN UMH技术可能无法实现任播站点之间的负载平衡。例如,如果任播源设备12A和任播源设备12b正在推送相同的100个电视频道的内容,则网络运营商可能期望出口PE路由器20E从任播源设备12A拉取50个电视频道的业务并且从任播源设备12B拉取其他50个电视频道的业务,以避免过载或降低使任何网络设备(诸如入口PE路由器20A至20D或P 23A至23B)过载的可能性。
除了负载平衡之外或代替负载平衡,在一些示例中,客户可能需要在出口PE路由器20E处进行多播流保护(例如冗余性)。例如,如果出口PE路由器20E使用任何现有的UMH选择技术来选择通过入口PE路由器20A的初级UMH路径,并且选择备份UMH作为入口PE路由器20B,则当任播源设备12A或CE路由器16A发生故障(例如停止传输业务或以其他方式不满足传输要求)时,出口PE路由器20E可能会完全丢失任播业务,直到出口PE路由器20E的控制平面收敛到任播源设备12B为止。该收敛可能需要几秒钟到几分钟。因此,可能期望确保初级UMH和备份UMH在站点上不同,因此在源上也不同。例如,可能期望出口PE路由器20E使任播源设备12A或12B中的一个任播源设备作为初级UMH,并且使任播源设备12A或12B中的另一个作为备份UMH。在一些示例中,负载平衡和冗余性可以通过选择来自第一UMH的某些流(例如电视频道1至50)作为初级流并选择来自第一UMH的其他流(例如电视频道51至100)作为备份流,并且选择来自第二UMH的其他流(例如电视频道51至100)作为初级流并选择来自第二UMH的某些流(例如电视频道1至50)作为备份流来实现。通过使用冗余性,如果任播源设备12A或12B中的一个任播源设备发生故障,则出口PE路由器20E(以及因此接收器18)可以避免冗长的内容中断,因为出口PE 20E可以转发由备份UMH发送的内容。
在图1的示例中,CE路由器16A(并且因此,任播源设备12A)被多宿主到入口PE路由器20A和入口PE路由器20B。根据本公开的技术,出口PE路由器20E实际上可以执行基于哈希的选择以确定任播源设备12A和任播源设备12B中的发送多播加入消息的一个任播源设备,而不是执行基于哈希的选择以确定向入口PE路由器20A至20D中的哪个入口PE路由器发送多播加入消息。这可以导致系统90中更好的负载平衡和/或冗余性。然而,当前,MVPN中的出口路由器通过其通告对入口PE路由器具有可见性,但是对CE路由器或任播源设备则不可见。因此,在没有本公开的技术的情况下,出口PE路由器可能无法确定哪个任播源设备被连接至哪个入口PE路由器。
例如,相对于冗余性,如果出口PE路由器20E将向初级流的入口PE路由器20A发送多播加入消息并向备份流的入口PE路由器20B发送多播加入消息,则出口PE路由器20E将最终接收到来自任播源设备12A的所有任播业务。在这种情况下,如果任播源设备12A或CE路由器16A操作失灵,则出口PE路由器20E可能需要花费几秒钟或几分钟才能将初级UMH和/或次级UMH切换到任播源设备20B,然后出口PE路由器20E(以及接收器18)可能会再次开始接收内容。这意味着接收器18的用户在一段时间内可能没有内容,这对于该用户来说可能是不可接受的。在一些示例中,可能期望将提供内容的流之间的任何切换时间保持在50ms以下。因此,可能期望确保初级UMH任播源设备和次级UMH任播源设备彼此不同。
根据本公开的技术,来自每个入口PE路由器20A至20D的消息(例如BGP MVPN自动发现消息,诸如类型1和/或类型5路由)可以包括扩展社区属性,该属性指定了唯一地标识任播IP地址可到达的客户网络设备的客户站点标识符。例如,在入口网络设备20A上执行的MVPN模块可以查询在入口网络设备20A上执行的PE-CE协议(例如BGP/IGP)以获得客户站点ID,例如CE路由器ID,诸如在图1的示例中为标识符CE路由器16A。然后,MVPN模块可以用客户站点标识符(例如CE路由器ID)标记MVPN类型1(AS内AD)路由和/或类型5(SA AD)路由。例如,MVPN可以使用起源站点(SOO)扩展社区属性字段来携带该值。例如,soo:<CE Router ID>:<0>。
备选地,管理员可以在每个MVPN PE路由器上供应SOO。同样在该示例中,每个入口PE路由器上的MVPN模块也可以利用SOO扩展社区标记MVPN类型1(AS内AD)路由和/或类型5(SA AD)路由。例如,格式为soo:<AS Number>:<Site ID>的SOO可以被标记。
在一些示例中,与任播源设备12A相关联的类型1/类型5路由(例如来自入口PE路由器20A的路由32A和来自入口PE路由器20B的路由32B)可以携带soo:10.10.10.10:0,并且与任播源设备12B相关联的类型1/类型5路由(例如来自入口PE路由器20C的路由32C和来自入口PE路由器20D的路由32D)可以携带soo:20.20.20.20:0。
备选地,与任播源设备12A相关联的类型1/类型5路由(例如来自入口PE路由器20A的路由32A和来自入口PE路由器20B的路由32B)可以携带soo:100:1,并且与任播源设备12B相关联的类型1/类型5路由(例如来自入口PE路由器20C的路由32C和来自入口PE路由器20D的路由32D)可以携带soo:100:2。
SOO的这些特定示例是出于示例的目的描述的,并且可能存在仍然落入本公开的范围内的其他示例。
通过用指示向给定PE路由器提供内容的CE路由器(从而指示任播源设备)的SOO标记类型1路由和/或类型5路由中的每个路由,出口PE路由器20E可以使得能够确定向PE中的每个PE提供内容的任播源设备(例如入口PE路由器20A至20D)。通过这种方式,PE路由器20使用CE路由器ID作为源标识符的代理。如果两个入口PE路由器通告相同的客户站点ID,则出口PE路由器可以确定它们正在从同一源接收任播内容。如果两个入口PE路由器通告不同的客户站点ID,则出口PE路由器可以确定它们正在从不同源接收任播业务。
出口PE路由器20E可以在存储器中存储与每个入口PE路由器20A至20D相关联的客户站点标识符以及该关联的指示。
例如,出口PE路由器20E可以采用UMH程序,该UMH程序可以基于唯一地标识任播地址可到达的客户网络设备(例如CE路由器ID)的客户站点标识符被扩展为哈希多播加入消息。例如,入口PE路由器20A可以执行可以与任播源设备12A相关联的CE路由器16A路由器ID的BGP或IGP获得。现在,入口PE路由器20A可以将与任播源设备12A相关联的CE路由器16A的路由器ID存储在存储器中。然后,入口PE路由器20A可以经由入口PE路由器20A的类型1和/或类型5路由(路由32A)经由SOO扩展社区属性来通告CE路由器16A的路由器ID。类似地,每个连接的MVPN入口PE路由器可以确定所连接的CE路由器的CE路由器ID,存储CE路由器ID,并通过类型1和/或类型5路由向所有连接的MVPN PE路由器提供CE路由器ID,诸如出口PE路由器20E。通过这种方式,出口PE路由器20E可能能够确定MVPN中的哪些入口PE路由器在到任播源设备12A的路径上以及哪些在到任播源设备12B的路径上。在一些示例中,代替入口PE路由器20A从任播源设备12A获得CE路由器ID,网络运营商可以在入口PE路由器20A中静态地从任播源设备12A供应CE路由器ID。
例如,现在出口PE路由器20E可以将50个多播加入消息[(S1,G1)…(S1,G50)]哈希到任播源设备12A,并且将其他50个多播加入消息[(S1,G51)…(S1,G100)]哈希到任播源设备12B。在图1的示例中,任播源设备12A和任播源设备12B中的每个任播源设备具有两个连接的UMH入口PE路由器。在一些示例中,多播加入消息是在这两个UMH入口PE路由器之间进一步哈希的。
根据本公开的技术,诸如出口PE路由器20E等出口PE路由器可以采用增强型哈希算法。例如,源候选列表中的上游任播源设备可以从0开始从最低到最高客户站点标识符(例如CE路由器ID)编号。例如,出口PE路由器20E可以将CE路由器16A编号为0,并且可以将CE路由器16B编号为1。如果存在第三客户站点,则出口PE路由器20E可以将第三客户站点标识符编号为2,依此类推。出口PE路由器20E可以对C根地址和C-G地址中的所有字节执行在RFC 6513中所定义的逐字节异或(XOR)哈希。出口PE路由器20E可以采用逐字节XOR哈希的结果并执行模n操作,其中n是源候选列表中的唯一上游客户站点标识符的数量(例如在图1的示例中为2)。例如,出口PE路由器20E可以采用哈希函数模n的结果来确定索引号。在一些示例中,如果模n操作的结果是N(例如索引号),则所选的上游客户站点是出现在以上列表的位置N中的客户站点。例如,出口PE路由器20E可以基于索引号来选择多个入口网络设备中的一个或多个入口网络设备中的发送多播加入消息的一个入口网络设备。
在一些示例中,出口PE路由器20E可以如下进一步将多播加入消息哈希到所选的上游源设备路径中的UMH入口PE路由器。出口PE路由器20E可以从0开始从最低到最高IP地址对源候选列表中的上游入口PE路由器进行编号。出口PE路由器20E可以对C根地址和C-G地址中的所有字节执行逐字节XOR哈希。出口PE路由器20E可以采用逐字节XOR哈希的结果并执行模m操作,其中m是源候选列表中的上游入口PE路由器的数量。例如,出口PE路由器20E可以采用哈希函数模m的结果来确定第二索引号(例如在图1的示例中为2)。如果模m操作的结果是M(例如第二索引号),则所选的上游入口PE路由器是出现在上述列表的位置M中的一个路由器。例如,出口PE路由器20E可以基于第二索引号来选择多个入口网络设备中的一个或多个入口网络设备中的发送多播加入消息的一个入口网络设备。
由于出口PE路由器20E现在已经存储了哪些入口PE路由器被连接至哪个CE路由器(或与其相关联),出口PE路由器20E可以选择通过入口PE路由器的初级路径(该初级路径通向一个任播源设备,诸如任播源设备12A)以及通过入口PE路由器的备份路径(该备份路径通向另一源设备,诸如任播源设备12B)。例如,出口PE路由器20E可以使用上面提及的哈希算法来确定将多播加入消息发送到何处。例如,出口PE路由器20E可以创建与任播源设备相关联的CE路由器的列表,诸如CE路由器16A和CE路由器16B,并且将CE路由器16A编号为0并将CE路由器16B编号为1,依此类推。上面引用的哈希算法可以被用于确定将多播加入消息发送到何处。在一些示例中,该过程可以针对由出口PE路由器20E接收的每个多播加入消息重复。
在需要在出口PE路由器(例如出口PE路由器20E)上进行多播流保护的部署中,备份UMH程序可以如下被扩展。例如,出口PE路由器20E可以在每个流中发送两个多播加入消息-一个用于初级流,并且一个用于备份流。出口PE路由器20E可以从存储器获得与初级UMH(例如入口PE路由器20A)相关联的客户站点标识符(例如CE路由器16A的路由器ID),或者从路由32A提取客户站点标识符。出口PE路由器20E可以扫描源候选列表,以标识具有与初级UMH相同的客户站点标识符的所有UMH。出口PE路由器20E可以修整源候选列表,以移除具有相同客户站点标识符的所有UMH(这可以指示它们被耦合至与初级UMH相同的客户站点)。出口PE路由器20E然后可以执行程序以从修整后的源候选列表中选择备份UMH。例如,出口PE路由器20E可以使用现有程序来从修整后的源候选列表中选择备份入口PE路由器,诸如最高IP地址、基于SA的UMH或第二最佳单播路由等。该技术可以确保初级流和备份流来自不同的任播源设备(例如一个来自任播源设备12A,并且一个来自任播源设备12B),因此可以在任播源设备之间带来冗余性,以解决特定客户站点内的任播源设备故障或CE路由器故障的可能性。
本公开的技术适用于AS内(自主系统)和AS间多宿主BGP-MVPN部署。这些技术可以基于任播部署中的客户站点标识符来利用多播业务哈希(例如负载平衡)。这些技术可以提供最大程度地冗余的多播树,其提供了针对任播部署中的多播源故障的保护。根据本公开的技术,由于本公开解决的问题在控制平面中被处置,因此在转发构造上进行改变是在BGP-MVPN PE路由器中不需要的。这些技术可以被用于IPv4和/或IPv6多播以及所有BGP-MVPN UMH设备。在一些示例中,本公开的技术可以应用于除MVPN之外的其他多播部署。例如,本公开的技术可以被用于任何多播部署。在一些示例中,本公开的技术可以与以太网VPN一起使用。在一些示例中,本公开的技术可以与广播、未知单播和多播业务一起使用。在一些示例中,本公开的技术可以与以Rosen MVPN一起使用。在一些示例中,本公开的技术可以与具有携带客户站点标识符的PIM消息中的字段的PIM网络一起使用。在一些示例中,IGP或BGP单播路由可以携带客户站点标识符。
图2是图示了被配置为根据本公开的技术操作的示例网络设备50的框图。在一个示例中,网络设备50可以作为诸如MPLS网络等网络的入口网络设备操作。在另一示例中,网络设备50可以作为出口网络设备操作。根据所公开的技术,在网络设备50是入口网络设备的示例中,网络设备50被配置为确定与诸如任播源设备12A等源设备相关联的客户站点标识符,诸如CE路由器ID,并经由类型1和/或类型5路由将客户站点标识符通告为BGP扩展社区属性,诸如SOO。作为入口网络设备,网络设备50可以与图1的入口PE路由器20A至20D基本类似地操作。
根据所公开的技术,在网络设备50是出口网络设备的示例中,网络设备50被配置为从网络的多个入口网络设备中的每个入口网络设备接收消息,其中该消息中的每个消息指定作为属于两个或更多个不同源的任播地址的多播源、多播组、以及唯一地标识任播地址可到达的客户网络设备的客户站点标识符。网络设备50也被配置为基于由消息指定的客户站点标识符来选择多个入口网络设备中的、针对多播源和多播组发送多个多播加入消息中的多播加入消息的一个入口网络设备。网络设备50还被配置为将多播加入消息发送给多个入口网络设备中的所选的一个入口网络设备。在这种情况下,网络设备50可以与图1的出口PE路由器20E基本类似地操作。
在图2的所图示示例中,网络设备50包括接口卡60A至60N(“IFC60”),该接口卡60A至60N经由传入链路接收控制和数据分组,并且经由出站链路发送控制和数据分组。IFC 60通常经由多个接口端口被耦合至传入链路和出站链路。网络设备50还包括控制单元54,其确定接收到的分组的路由并对应地经由IFC 60转发分组。
控制单元54包括路由引擎56和转发引擎58。路由引擎56作为路由器50的控制平面操作,并且包括可以提供用于执行多个并发过程的多任务操作环境的操作系统(未示出)。例如,路由引擎56为执行网络设备50的路由功能的各种协议66提供操作环境。在图2的所图示示例中,路由引擎56包括作为单播路由协议的BGP 70,其被用于与网络中的其他网络设备交换路由信息,以便发现网络拓扑并更新路由信息62,并发送用于MVPN自动发现、提供方隧道信令和客户多播路由信令的路由。BGP 70还可以被用于在网络设备之间交换扩展社区属性,诸如SOO,其指示唯一地标识任播地址可到达的客户网络设备的客户站点标识符。另外,路由引擎56的协议66包括:RSVP 46,用于交换带宽预留信息和标签,以构建RSVP隧道;IGP 48,用于交换链路状态信息以及标签和/或SID,以构建SR隧道;以及作为多播路由协议的PIM 68,用于使用路由信息62和多播状态信息64与网络中的其他网络设备构建多播分布树。
路由引擎56的协议66还包括因特网组管理协议(IGMP)72作为通信协议,其用于与网络外部的客户站点内的IGMP主机(例如接收器和源)建立多播组成员资格。在一些示例中,路由引擎56可以接收标识多播组的IGMP报告消息,并且在一些情况下,接收IGMP主机感兴趣的多播组的源。在一些示例中,路由引擎56可以使用PIM 68来生成用于构建网络中的多播分布树的多播控制消息(例如PIM加入消息和/或PIM修剪消息)。
路由信息62可以描述网络设备50所驻留的网络的拓扑,并且还可以描述网络内的各种路由以及每个路由的适当下一跳,即,沿着路由中的每个路由的相邻网络设备。路由信息62可以包括传入接口(IIF)的列表和出站接口(OIF)的列表,其指示在每个路由中哪些IFC 60被连接到相邻网络设备。例如,给定路由可以包括用于给定多播组的多播业务的多播路由。在该示例中,路由信息62中所包括的IIF的列表可以包括具有给定多播组的状态的所有上游邻居网络设备的上游接口的列表,并且路由信息62中所包括的OIF的列表可以包括具有给定多播组的状态的所有下游邻居网络设备的下游接口的列表。多播状态信息64可以描述使用PIM 68建立的多播分布树中的相邻网络设备的接口的当前状况。例如,多播状态信息64可以包括给定多播分布树的范围内的每个不同多播组的多播状态(例如PIM加入状态和PIM修剪状态)。更具体地,针对每个多播组,多播状态信息64可以包括朝向属于相应多播组的相邻网络设备的上游和下游接口。
MVPN模块74可以被配置为使用PIM 68和BGP 70中的一个或两个来建立和维护网络内的MVPN分布树或隧道。例如,MVPN模块74可以向TE模块76发信号通知以发起TE隧道的建立,诸如SR-TE隧道、RSVP-TE隧道或其他隧道。MVPN模块74可以包含MVPN路由表75,该MVPN路由表75可以包括指示哪些客户站点标识符与哪些链路或者与哪些入口PE路由器相关联的列表。
转发引擎58可以接收BGP消息并且可以将接收到的消息转发给MVPN模块74以进行处理。另外,MVPN模块74可以映射网络内的其他网络设备的MVPN成员资格信息,并基于MVPN成员资格信息为给定的MVPN生成多播状态。在一些示例中,MVPN模块74可以将一个或多个MVPN的多播状态存储在多播状态信息64中。
路由引擎56分析路由信息62和多播状态信息64以生成安装在转发引擎58中的转发信息78。转发引擎58为网络设备50提供数据平面功能性。尽管未在图2中示出,但是转发引擎58可以包括中央处理单元(CPU)、存储器和一个或多个可编程分组转发专用集成电路(ASIC)。转发信息78将网络目的地与特定的下一跳和IFC 60的对应端口相关联。
根据本公开的技术,网络设备50被配置为使得当网络设备50接收具有扩展社区属性SOO的类型1路由(和/或类型5路由)时,网络设备50确定附接至类型1(和/或类型5)路由的扩展社区属性SOO内的客户站点标识符。然后,网络设备可以在MVPN路由表75中存储SID、入口PE路由器ID或与接收到的路由和客户站点标识符相关联的其他信息,从而在入口PE路由器和客户站点标识符之间存储关联。当网络设备50查询CE路由器以获得客户站点标识符时,诸如在网络设备50是入口网络设备的一些示例中,网络设备50可以在MVPN路由表75中存储客户站点标识符,并且在一些示例中,可以存储将客户站点标识符与CE路由器相关联的其他信息,诸如耦合至CE路由器的网络设备50的链路或端口、与CE路由器相关联的IP地址等。尽管MVPN路由表75被示出为在路由信息62的外部,但是在一些示例中,MVPN路由表75可以是路由信息62的一部分。MVPN模块74的其他细节是相对于图3描述的。
图2所图示的网络设备50的架构仅出于示例目的被示出,并且不应被限于该架构。在其他示例中,网络设备50可以以各种方式来配置。在一个示例中,控制单元54的一些功能性可以被分布在IFC 60内。控制单元54可以仅以软件或硬件来实现,或者可以以软件、硬件或固件的组合来实现。例如,控制单元54可以包括执行软件指令的一个或多个处理器。在该情况下,控制单元54的各种软件模块可以包括存储在诸如计算机存储器或硬盘等计算机可读介质上的可执行指令。
图3是根据本公开的技术的网络设备的示例MVPN模块的框图。在图3的示例中,MVPN模块74包括获得站点ID模块102、扩展社区属性模块104、负载平衡模块106、哈希模块108、初级/备份选择模块110和MVPN路由表75。在一些示例中,MVPN模块74可以包含更少或更多模块。例如,如果网络设备50不是MVPN入口PE,则MVPN模块74可以不包括获得站点ID模块102。
获得站点ID模块102可以由网络设备50用于获得唯一地标识客户站点或客户网络设备的客户站点标识符。在一些示例中,获得站点ID模块102可以获得可以唯一地标识CE路由器的CE路由器ID。例如,获得站点ID模块102可以查询PE-CE协议(例如图2的BGP 70或IGP48)以获得客户站点标识符,例如CE路由器ID。通过这种方式,获得站点ID模块可以获得客户站点标识符。
获得站点ID模块102可以将所获得的客户站点标识符存储在MVPN路由表75中。在一些示例中,获得站点ID模块102还可以存储与客户站点标识符相关联的附加信息,诸如网络设备50的与客户站点标识符相关联的链路或端口、与客户站点标识符相关联的IP地址等。备选地或另外,获得站点ID模块102可以将客户站点标识符存储在扩展社区属性模块104可访问的另一数据结构中。
扩展社区属性模块104可以使用BGP 70来经由扩展社区属性SOO通过类型1和/或类型5路由通告所存储的客户站点标识符。例如,扩展社区属性模块104可以发送指定多播源作为任播地址的自动发现消息(例如类型1和/或类型5路由)。任播地址可以属于两个或更多个不同源,诸如图1的任播源设备12A和任播源设备12B。消息还可以指定多播组(诸如特定的MVPN)和客户站点标识符。这些消息可以由网络设备转发给出口网络设备,诸如图1的出口PE路由器20E。
网络的出口网络设备(例如出口PE路由器20E)可以从该网络的多个入口网络设备(例如图1的入口PE路由器20A至20D)中的每个入口网络设备接收消息。该消息中的每个消息可以指定作为属于两个或更多个不同源的任播地址的多播源、多播组、以及唯一地标识任播地址可到达的客户网络设备的客户站点标识符。
出口网络设备的扩展社区属性模块104可以从消息中提取客户站点标识符,并将客户站点标识符以及其他信息(诸如SID、与特定接收的消息相关联的入口PE路由器ID以及关联的客户站点标识符)存储在MVPN路由表75中,从而存储特定的入口PE路由器和唯一的客户站点标识符之间的关联。
当网络设备50是出口网络设备时,负载平衡模块106可以由网络设备50用于在不同的任播源设备之间以及在一些示例中在入口网络设备之间对流进行负载平衡。例如,负载平衡模块106可以对从多播接收器接收到的多播加入消息采用增强型哈希算法,以确定向哪个CE路由器或哪个入口网络设备发送多播加入消息。加入消息可以是PIM加入消息。例如,响应于接收到多播加入消息,负载平衡模块106可以基于由从入口PE路由器接收到的自动发现路由指定的客户集合标识符(例如递送任播流的CE路由器的列表)来确定源候选列表。负载平衡模块106可以从0开始从最低到最高客户站点标识符(例如CE路由器ID)对源候选列表中的每个候选进行编号。负载平衡模块106可以与哈希模块108交互以对给定多播加入消息的C根地址和C-G地址中的所有字节执行在RFC 6513中定义的逐字节XOR哈希。哈希模块108可以采用逐字节XOR哈希的结果并执行模n操作,其中n是源候选列表中的唯一上游客户站点标识符的数量(例如在图1的示例中为2)。例如,哈希模块108可以采用哈希函数模n的结果来确定索引号。在一些示例中,如果模n操作的结果是N(例如索引号),则所选的上游客户站点是出现在以上列表的位置N中的与客户站点标识符相关联的客户站点。例如,哈希模块108可以基于索引号来选择多个入口网络设备中的一个或多个入口网络设备中的发送接收到的多播加入消息的一个入口网络设备。哈希模块108可以向所选的上游客户站点的负载平衡模块106通知给定的多播加入消息。
在一些示例中,负载平衡模块106还可以使用哈希模块108选择发送多播加入消息的特定入口PE网络设备,而不仅仅是与客户站点标识符相关联的任何入口网络设备。例如,负载平衡模块106可以确定与所选的客户站点标识符相关联的每个入口网络设备的第二源候选列表(例如与CE路由器16A的客户站点标识符相关联的图1的入口PE路由器20A和入口PE路由器20B)。负载平衡模块106可以从0开始从最低到最高IP地址对源候选列表中的每个入口网络设备进行编号。负载平衡模块106可以与哈希模块108交互以对给定多播加入消息的C根地址和C-G地址中的所有字节执行在RFC 6513中定义的逐字节XOR哈希。哈希模块108可以采用逐字节XOR哈希的结果并执行模m操作,其中m是源候选列表中的入口网络设备的数量(例如在图1的示例中为2)。例如,负载平衡模块106可以采用哈希函数模m的结果来确定第二索引号。在一些示例中,如果模m操作的结果是M(第二索引号),则所选的入口网络设备是出现在以上列表的位置M中的入口网络设备。例如,哈希模块108可以基于第二索引号来选择多个入口网络设备中的一个或多个入口网络设备中的发送多播加入消息的一个入口网络设备。哈希模块108可以向所选的入口网络设备的负载平衡模块106通知给定的多播加入消息。
负载平衡模块106可以通过与网络设备50的其他模块交互来将给定的多播加入消息引向与客户站点标识符相关联的所选入口网络设备或CE路由器。负载平衡模块106可以针对每个接收到的多播加入消息重复该过程。
当网络设备50是出口网络设备时,初级/备份选择模块110可以由网络设备50用于确定给定多播加入消息的初级流和备份流,以在中断流或降低流的情况下为该流提供冗余性。例如,初级/备份选择模块110可以对从多播接收器接收到的多播加入消息采用增强型哈希算法,以确定向哪个CE路由器或哪个入口网络设备发送多播加入消息的副本。一旦CE路由器或入口网络设备被选择,初级/备份选择模块110就可以将多播加入消息的副本引导至为初级流选择的CE路由器或入口网络设备以及为备份流选择的CE路由器或入口网络设备。
例如,初级/备份选择模块110可以基于客户集合标识符(例如递送任播流的CE路由器的列表)确定源候选列表。初级/备份选择模块110可以从0开始从最低到最高客户站点标识符(例如CE路由器ID)对源候选列表中的每个候选进行编号。初级/备份选择模块110可以与哈希模块108交互以对给定多播加入消息的C根地址和C-G地址中的所有字节执行在RFC 6513中定义的逐字节XOR哈希。哈希模块108可以采用逐字节XOR哈希的结果并执行模n操作,其中n是源候选列表中的唯一上游客户站点标识符的数量(例如在图1的示例中为2)。例如,哈希模块108可以采用哈希函数模n的结果来确定索引号。在一些示例中,如果模n操作的结果是N(索引号),则所选的初级上游客户站点是出现在以上列表的位置N中的与客户站点标识符相关联的客户站点。哈希模块108可以向所选的上游客户站点的负载平衡模块106通知给定的多播加入消息。在一些示例中,初级/备份选择模块110和哈希模块108可以以与通过上面讨论的负载平衡模块106和哈希模块108选择入口网络设备类似的方式来为给定的多播加入消息选择初级入口网络设备而不是初级客户站点。初级/备份选择模块110可以在例如MVPN路由表75中存储哪个客户站点(例如CE路由器)或入口网络设备针对给定流被选择为初级的指示。
初级/备份选择模块110然后可以通过移除具有与所选的上游初级客户站点的客户站点标识符相同的客户站点标识符的任何候选来扫描源候选列表并修整源候选列表。然后,初级/备份选择模块110可以使用任何现有程序从源候选列表中的其余候选中选择备份流,诸如最高IP地址、基于SA的UMH或第二最佳单播路由等。通过从源候选列表中移除针对给定流具有与所选的上游初级客户站点的客户站点标识符相同的客户站点标识符的候选,初级/备份选择模块110可以确保备份客户站点和备份入口网络设备与给定流的初级客户站点不同。初级/备份选择模块110可以在例如MVPN路由表75中存储哪个客户站点或入口网络设备针对给定流被选择为备份的指示。当初级和备份流由网络设备50接收到时,初级/备份选择模块110可以例如通过在MVPN路由表75中查找所存储的(多个)指示来确定哪个流是初级的和/或哪个流是备份的,并且向接收器18转发初级流并丢弃次级流。当初级流上的服务发生中断或降低时,初级/备份选择模块110可以将备份作为初级的,并将改变的指示存储在例如MVPN路由表75中。然后,初级/备份选择模块110可以确定根据本文描述的任何技术确定流的备份,或者可以使前者成为初级流、备份流。在一些示例中,MVPN模块74可以包括负载平衡模块106,但是可以不包括初级/备份选择模块110,反之亦然。在该方面中,如果需要的话,模块106和110中的每个模块可以在不包括模块中的另一个的设备中以独立的方式彼此独立地操作。
图4是图示了根据本公开的技术的网络设备的示例操作的流程图。网络设备50可以从网络的多个入口网络设备中的每个入口网络设备接收消息,其中该消息中的每个消息指定作为属于两个或更多个不同源的任播地址的多播源、多播组、以及唯一地标识任播地址可到达的客户网络设备的客户站点标识符(200)。例如,网络设备50(例如图1的出口PE路由器20E)可以从入口PE路由器20A至20D接收类型1和/或类型5路由。类型1和/或类型5路由可以分别指定与两个或更多个不同的任播源设备(例如任播源设备12A和12B)相关联的IP地址。类型1和/或类型5路由也可以分别指定多播组,诸如MVPN。类型1和/或类型5路由也可以分别指定客户站点标识符,诸如CE路由器ID。
网络设备50可以基于由消息指定的客户站点标识符来选择多个入口网络设备中的、针对多播源和多播组发送多个多播加入消息中的多播加入消息的一个入口网络设备(202)。例如,网络设备50可以确定客户站点标识符或入口网络设备的源候选列表。网络设备50可以基于客户站点标识符或入口网络设备的IP地址以0开始对源候选列表中的候选进行编号。网络设备50可以从接收器18接收多播加入消息,诸如多播加入消息30A。网络设备50可以对多播加入消息的客户根地址和客户组地址中的字节应用包括逐字节异或操作的哈希函数,以获得哈希函数的结果。网络设备50可以采用哈希函数模n的结果来确定索引号,其中n等于由出口网络设备接收到的唯一客户站点标识符的总数(例如在图1的示例中,源候选列表中的客户站点标识符的数量为2)。网络设备50可以基于索引号选择发送多播加入消息的入口PE路由器20A至20D中的一个入口PE路由器。例如,网络设备50可以选择其源候选列表中的关联客户站点标识符编号与索引号相匹配的入口网络设备,或者可以选择其源候选列表中的编号与索引号相匹配的入口PE路由器20A至20D中的一个入口PE路由器。
网络设备50可以将多播加入消息发送给多个入口网络设备中的所选的一个入口网络设备(204)。例如,网络设备50可以将多播加入消息30A发送给入口PE路由器20A。
在一些示例中,在发送多播加入消息之后,网络设备50可以与发送给每个入口网络设备的多个多播加入消息成比例地从多个入口网络设备中的一个或多个接收多播源和多播组的多播业务,并且转发多播业务。例如,网络设备50可以分别向入口PE路由器20A和入口PE路由器20C发送多播加入消息30A和30C,并且可以从入口PE路由器20A(例如电视频道1至50)接收一半的多播业务,并且从入口PE路由器20C(例如电视频道51至100)接收一半的多播业务。
在一些示例中,多个入口网络设备中的一个入口网络设备被选择为初级入口网络设备,并且网络设备50可以基于由与多个入口网络设备中的一个不同的入口网络设备相关联的消息指定的客户站点标识符来选择多个入口网络设备中的一个不同的入口网络设备作为针对多播源和多播组发送多个多播加入消息中的多播加入消息的备份入口网络设备。网络设备可以将多播加入消息发送给所选的备份入口网络设备。在这些示例中,由与初级入口网络设备相关联的消息指定的客户站点标识符不同于由与备份入口网络设备相关联的消息指定的客户站点标识符。
在一些示例中,作为选择初级入口网络设备的一部分,网络设备50可以基于客户站点标识符来确定源候选列表。作为选择备份入口网络设备的一部分,网络设备50可以基于与初级入口网络设备相关联的客户站点标识符来修整源候选列表。网络设备50可以基于修整后的源候选列表来选择多个入口网络设备中的一个或多个入口网络设备中的基于索引号发送多播加入消息的一个入口网络设备。
在一些示例中,网络设备50可以响应于发送给初级入口网络设备的多播加入消息(例如多播加入消息30A)来从初级入口网络设备(例如入口PE路由器20A)接收第一多个流。网络设备50可以响应于发送给备份入口网络设备的多播加入消息(例如多播加入消息30C)来从备份入口网络设备(入口PE路由器20C)接收第二多个流。网络设备50可以向接收器18转发第一多个流的至少一部分。在一些示例中,网络设备50可以向多播接收器转发第二多个流的至少一部分。在这种示例中,第一多个流的至少一部分包含第一内容(例如电视频道1至50),并且第二多个流的至少一部分包含第二内容(例如电视频道51至100),并且第一内容不同于第二内容。
在一些示例中,来自多个入口网络设备中的每个入口网络设备的消息包括多播源和多播组的自动发现消息。在一些示例中,网络设备50包括网络的出口提供方边缘路由器,并且多个入口网络设备包括网络的多个入口提供方边缘路由器。在这种示例中,接收消息包括接收分别包括指定客户站点标识符的BGP扩展社区属性的边界网关协议(BGP)多播虚拟私有网络(MVPN)自动发现消息。
本文描述的技术可以容易地实现,因为新的功能性必须仅被添加到例如MVPN模块中的控制平面上。该解决方案可能易于操作和管理,并且可以提供一种满足客户要求的方式,该客户要求与负载平衡、冗余性或任播部署中的负载平衡和冗余性相关。
本公开所描述的技术至少部分地可以被实现在硬件、软件、固件或其任何组合中。例如,所描述的技术的各个方面可以在一个或多个处理器内实现,该一个或多个处理器包括一个或多个微处理器、数字信号处理器(DSP)、专用集成电路(ASIC)、现场可编程门阵列(FPGA)或者任何其他等效的集成或离散逻辑电路系统以及这种组件的任何组合。术语“处理器”或者“处理电路系统”可能通常指单独的或者与其他逻辑电路系统组合的前述逻辑电路系统或者任何其他等效的电路系统中的任何一个。包括硬件的控制单元也可以执行本公开的一种或多种技术。
这种硬件、软件和固件可以被实现在相同的设备内或者单独的设备内以支持本公开所描述的各种操作和功能。另外,所描述的单元、模块或者组件中的任何一个可以一起或者单独地被实现为离散逻辑设备,而不是互操作逻辑设备。作为模块或者单元的不同特征的描绘旨在强调不同的功能方面,而并不一定意味着这种模块或者单元必须由单独的硬件或软件组件实现。相反,与一个或多个模块或者单元相关联的功能性可以由单独的硬件或软件组件执行,或者被集成在共有的或者单独的硬件或软件组件内。
本公开所描述的技术也可以在包含指令的计算机可读介质(诸如计算机可读存储介质)中实施或编码。例如,当指令被执行时,在计算机可读介质中嵌入或编码的指令可以使可编程处理器或其他处理器执行方法。计算机可读介质可以包括非瞬态计算机可读存储介质以及瞬时通信介质。计算机可读存储介质(有形的且非瞬态的)可以包括随机存取存储器(RAM)、只读存储器(ROM)、可编程只读存储器(PROM)、可擦除可编程只读存储器(EPROM)、电可擦除可编程只读存储器(EEPROM)、闪存、硬盘、CD-ROM、软盘、盒式磁带、磁性介质、光学介质或者其他计算机可读存储介质。应该理解的是,术语“计算机可读存储介质”是指物理存储介质而非信号、载波或其他瞬时介质。
各种示例已经在本公开中被描述。这些和其他示例在以下权利要求的范围内。
Claims (19)
1.一种方法,包括:
由网络的出口网络设备从所述网络的多个入口网络设备中的每个入口网络设备接收消息,其中所述消息中的每个消息指定作为属于两个或更多个不同源的任播地址的多播源、多播组、以及唯一地标识所述任播地址可到达的客户网络设备的客户站点标识符;
由所述出口网络设备基于由所述消息指定的所述客户站点标识符来选择所述多个入口网络设备中的、针对所述多播源和多播组发送多个多播加入消息中的多播加入消息的一个入口网络设备;以及
由所述出口网络设备将所述多播加入消息发送给所述多个入口网络设备中的所选的所述一个入口网络设备。
2.根据权利要求1所述的方法,还包括:
在发送所述多播加入消息之后,由所述出口网络设备,与发送给每个入口网络设备的多个多播加入消息成比例地从所述多个入口网络设备中的一个或多个入口网络设备接收所述多播源和多播组的多播业务;以及
由所述出口网络设备转发所述多播业务。
3.根据权利要求1所述的方法,其中选择所述多个入口网络设备中的所述一个入口网络设备包括:
对所述多播加入消息的客户根地址和客户组地址中的字节应用哈希函数,以获得所述哈希函数的结果,所述哈希函数包括逐字节异或操作;
对所述哈希函数的所述结果取模n以确定索引号,其中n等于由所述出口网络设备接收的唯一客户站点标识符的总数;以及
基于所述索引号来选择所述多个入口网络设备中的一个或多个入口网络设备中的、向其发送多播加入消息的一个入口网络设备。
4.根据权利要求1至3中任一项所述的方法,其中所述多个入口网络设备中的所述一个入口网络设备被选择为初级入口网络设备,所述方法还包括:
由所述出口网络设备基于由与所述多个入口网络设备中的一个不同的入口网络设备相关联的消息指定的客户站点标识符,来选择所述多个入口网络设备中的所述一个不同的入口网络设备,作为针对所述多播源和多播组发送多个多播加入消息中的一个多播加入消息的备份入口网络设备;以及
由所述出口网络设备将所述一个多播加入消息发送给所选的所述备份入口网络设备,
其中由与所述初级入口网络设备相关联的消息指定的客户站点标识符不同于由与所述备份入口网络设备相关联的消息指定的所述客户站点标识符。
5.根据权利要求4所述的方法,其中选择所述初级入口网络设备还包括:
基于所述客户站点标识符来确定源候选列表,
其中选择所述备份入口网络设备包括:
基于与所述初级入口网络设备相关联的客户站点标识符来修整所述源候选列表;以及
基于修整后的所述源候选列表来选择所述多个入口网络设备中的一个或多个入口网络设备中的、向其发送多播加入消息的一个入口网络设备。
6.根据权利要求4所述的方法,还包括:
由所述出口网络设备响应于发送给所述初级入口网络设备的所述多播加入消息来从所述初级入口网络设备接收第一多个流;
由所述出口网络设备响应于发送给所述备份入口网络设备的所述多播加入消息来从所述备份入口网络设备接收第二多个流;以及
由所述出口网络设备向多播接收器转发所述第一多个流的至少一部分。
7.根据权利要求6所述的方法,还包括:
由所述出口网络设备向所述多播接收器转发所述第二多个流的至少一部分,
其中所述第一多个流的所述至少一部分包含第一内容,其中所述第二多个流的所述至少一部分包含第二内容,并且其中所述第一内容不同于所述第二内容。
8.根据权利要求1至3中任一项所述的方法,其中来自所述多个入口网络设备中的每个入口网络设备的所述消息包括所述多播源和所述多播组的自动发现消息。
9.根据权利要求1至3中任一项所述的方法,其中所述出口网络设备包括网络的出口提供方边缘路由器,其中所述多个入口网络设备包括所述网络的多个入口提供方边缘路由器,并且其中接收所述消息包括:接收边界网关协议BGP多播虚拟私有网络MVPN自动发送消息,所述BGP MVPN自动发送消息分别包括指定客户站点标识符的BGP扩展社区属性。
10.一种出口网络设备,包括:
至少一个计算机处理器;以及
存储器,包括指令,所述指令在由所述至少一个计算机处理器执行时使所述至少一个计算机处理器:
从网络的多个入口网络设备中的每个入口网络设备接收消息,其中所述消息中的每个消息指定作为属于两个或更多个不同源的任播地址的多播源、多播组、以及唯一地标识所述任播地址可到达的客户网络设备的客户站点标识符;
基于由所述消息指定的所述客户站点标识符来选择所述多个入口网络设备中的、针对所述多播源和多播组发送多个多播加入消息中的多播加入消息的一个入口网络设备;以及
将所述多播加入消息发送给所述多个入口网络设备中的所选的所述一个入口网络设备。
11.根据权利要求10所述的出口网络设备,其中所述指令在由所述至少一个计算机处理器执行时还使所述至少一个计算机处理器:
在发送所述多播加入消息之后,与发送给每个入口网络设备的多个多播加入消息成比例地从所述多个入口网络设备中的一个或多个多个入口网络设备接收所述多播源和多播组的多播业务;以及
转发所述多播业务。
12.根据权利要求10所述的出口网络设备,其中作为选择所述多个入口网络设备中的所述一个入口网络设备的一部分,所述指令在由所述至少一个计算机处理器执行时使所述至少一个计算机处理器:
对所述多播加入消息的客户根地址和客户组地址中的字节应用哈希函数,以获得所述哈希函数的结果,所述哈希函数包括逐字节异或操作;
对所述哈希函数的所述结果取模n以确定索引号,其中n等于由所述出口网络设备接收的唯一客户站点标识符的总数;以及
基于所述索引号来选择所述多个入口网络设备中的一个或多个入口网络设备中的、向其发送多播加入消息的一个入口网络设备。
13.根据权利要求10至12中任一项所述的出口网络设备,其中所述多个入口网络设备中的所述一个入口网络设备被选择为初级入口网络设备,并且其中所述指令在由所述至少一个计算机处理器执行时还使所述至少一个计算机处理器:
基于由与所述多个入口网络设备中的一个不同的入口网络设备相关联的消息指定的客户站点标识符,来选择所述多个入口网络设备中的所述一个不同的入口网络设备,作为针对所述多播源和多播组发送多个多播加入消息中的一个多播加入消息的备份入口网络设备;以及
将所述一个多播加入消息发送给所选的所述备份入口网络设备,
其中由与所述初级入口网络设备相关联的消息指定的客户站点标识符不同于由与所述备份入口网络设备相关联的消息指定的所述客户站点标识符。
14.根据权利要求13所述的出口网络设备,其中作为选择所述初级入口网络设备的一部分,所述指令在由所述至少一个计算机处理器执行时使所述至少一个计算机处理器:
基于所述客户站点标识符来确定源候选列表,
其中作为选择所述备份入口网络设备的一部分,所述指令在由所述至少一个计算机处理器执行时使所述至少一个计算机处理器:
基于与所述初级入口网络设备相关联的客户站点标识符来修整所述源候选列表;以及
基于修整后的所述源候选列表来选择所述多个入口网络设备中的一个或多个入口网络设备中的、向其发送多播加入消息的一个入口网络设备。
15.根据权利要求13所述的出口网络设备,其中所述指令在由所述至少一个计算机处理器执行时还使所述至少一个计算机处理器:
响应于发送给所述初级入口网络设备的所述多播加入消息来从所述初级入口网络设备接收第一多个流;
响应于发送给所述备份入口网络设备的所述多播加入消息来从所述备份入口网络设备接收第二多个流;以及
向多播接收器转发所述第一多个流的至少一部分。
16.根据权利要求15所述的出口网络设备,其中所述指令在由所述至少一个计算机处理器执行时还使所述至少一个计算机处理器:
向所述多播接收器转发所述第二多个流的至少一部分,
其中所述第一多个流的所述至少一部分包含第一内容,其中所述第二多个流的所述至少一部分包含第二内容,并且其中所述第一内容不同于所述第二内容。
17.根据权利要求10至12中任一项所述的出口网络设备,其中来自所述多个入口网络设备中的每个入口网络设备的所述消息包括所述多播源和所述多播组的自动发现消息。
18.根据权利要求10至12中任一项所述的出口网络设备,其中所述出口网络设备包括网络的出口提供方边缘路由器,其中所述多个入口网络设备包括所述网络的多个入口提供方边缘路由器,并且其中接收所述消息包括:接收边界网关协议BGP多播虚拟私有网络MVPN自动发送消息,所述BGP MVPN自动发送消息分别包括指定客户站点标识符的BGP扩展社区属性。
19.一种计算机可读存储介质,被编码有指令,所述指令用于使一个或多个可编程处理器执行根据权利要求1至9中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202410293039.0A CN117978721A (zh) | 2021-01-29 | 2021-04-22 | 用于任播部署的上游多播跳umh扩展 |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US17/248,585 | 2021-01-29 | ||
US17/248,585 US11811509B2 (en) | 2021-01-29 | 2021-01-29 | Upstream multicast hop (UMH) extensions for anycast deployments |
Related Child Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202410293039.0A Division CN117978721A (zh) | 2021-01-29 | 2021-04-22 | 用于任播部署的上游多播跳umh扩展 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114915588A true CN114915588A (zh) | 2022-08-16 |
CN114915588B CN114915588B (zh) | 2024-03-19 |
Family
ID=75659947
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202410293039.0A Pending CN117978721A (zh) | 2021-01-29 | 2021-04-22 | 用于任播部署的上游多播跳umh扩展 |
CN202110437988.8A Active CN114915588B (zh) | 2021-01-29 | 2021-04-22 | 用于任播部署的上游多播跳umh扩展 |
Family Applications Before (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202410293039.0A Pending CN117978721A (zh) | 2021-01-29 | 2021-04-22 | 用于任播部署的上游多播跳umh扩展 |
Country Status (2)
Country | Link |
---|---|
US (2) | US11811509B2 (zh) |
CN (2) | CN117978721A (zh) |
Citations (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP1045553A2 (en) * | 1999-03-16 | 2000-10-18 | Nortel Networks Limited | Virtual private networks and methods for their operation |
CN1905530A (zh) * | 2006-08-08 | 2007-01-31 | 杭州华为三康技术有限公司 | 组播点播方法及系统 |
CN1909467A (zh) * | 2006-07-07 | 2007-02-07 | 清华大学 | 在ip网络中采用单播地址来标识多播组的方法 |
CN101369907A (zh) * | 2007-08-15 | 2009-02-18 | 华为技术有限公司 | 组播业务的实现方法及其装置和系统 |
US20100046526A1 (en) * | 2001-03-19 | 2010-02-25 | Kireeti Kompella | Transport networks supporting virtual private networks, and configuring such networks |
US8958286B1 (en) * | 2012-03-12 | 2015-02-17 | Juniper Networks, Inc. | Fast reroute for multicast using maximally redundant trees |
US8995275B1 (en) * | 2012-07-31 | 2015-03-31 | Rockwell Collins, Inc. | Methods and systems for network traffic routing |
US20150288540A1 (en) * | 2014-04-08 | 2015-10-08 | Alcatel-Lucent Usa Inc. | Network device with service and client routing elements configured to support any-source multicast extranets |
CN105991302A (zh) * | 2015-03-20 | 2016-10-05 | 瞻博网络公司 | 可靠传输上使用注册的多播流覆盖 |
EP3226491A1 (en) * | 2016-03-30 | 2017-10-04 | Juniper Networks, Inc. | Hot root standby support for multicast |
CN107276904A (zh) * | 2016-03-31 | 2017-10-20 | 丛林网络公司 | 分发多播业务的方法和网络设备 |
US20190036717A1 (en) * | 2017-07-28 | 2019-01-31 | Juniper Networks, Inc. | Maximally redundant trees to redundant multicast source nodes for multicast protection |
US10382217B1 (en) * | 2016-03-30 | 2019-08-13 | Juniper Networks, Inc. | Single actual-forwarder election in multicast VPNs |
CN112242907A (zh) * | 2019-07-17 | 2021-01-19 | 瞻博网络公司 | 多播组成员资格管理 |
-
2021
- 2021-01-29 US US17/248,585 patent/US11811509B2/en active Active
- 2021-04-22 CN CN202410293039.0A patent/CN117978721A/zh active Pending
- 2021-04-22 CN CN202110437988.8A patent/CN114915588B/zh active Active
-
2023
- 2023-09-27 US US18/475,955 patent/US20240022444A1/en active Pending
Patent Citations (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP1045553A2 (en) * | 1999-03-16 | 2000-10-18 | Nortel Networks Limited | Virtual private networks and methods for their operation |
US20100046526A1 (en) * | 2001-03-19 | 2010-02-25 | Kireeti Kompella | Transport networks supporting virtual private networks, and configuring such networks |
CN1909467A (zh) * | 2006-07-07 | 2007-02-07 | 清华大学 | 在ip网络中采用单播地址来标识多播组的方法 |
CN1905530A (zh) * | 2006-08-08 | 2007-01-31 | 杭州华为三康技术有限公司 | 组播点播方法及系统 |
CN101369907A (zh) * | 2007-08-15 | 2009-02-18 | 华为技术有限公司 | 组播业务的实现方法及其装置和系统 |
US8958286B1 (en) * | 2012-03-12 | 2015-02-17 | Juniper Networks, Inc. | Fast reroute for multicast using maximally redundant trees |
US8995275B1 (en) * | 2012-07-31 | 2015-03-31 | Rockwell Collins, Inc. | Methods and systems for network traffic routing |
US20150288540A1 (en) * | 2014-04-08 | 2015-10-08 | Alcatel-Lucent Usa Inc. | Network device with service and client routing elements configured to support any-source multicast extranets |
CN105991302A (zh) * | 2015-03-20 | 2016-10-05 | 瞻博网络公司 | 可靠传输上使用注册的多播流覆盖 |
EP3226491A1 (en) * | 2016-03-30 | 2017-10-04 | Juniper Networks, Inc. | Hot root standby support for multicast |
US10382217B1 (en) * | 2016-03-30 | 2019-08-13 | Juniper Networks, Inc. | Single actual-forwarder election in multicast VPNs |
CN107276904A (zh) * | 2016-03-31 | 2017-10-20 | 丛林网络公司 | 分发多播业务的方法和网络设备 |
US20190081996A1 (en) * | 2016-03-31 | 2019-03-14 | Juniper Networks, Inc. | Selectively signaling selective tunnels in multicast vpns |
US20190036717A1 (en) * | 2017-07-28 | 2019-01-31 | Juniper Networks, Inc. | Maximally redundant trees to redundant multicast source nodes for multicast protection |
CN112242907A (zh) * | 2019-07-17 | 2021-01-19 | 瞻博网络公司 | 多播组成员资格管理 |
Non-Patent Citations (3)
Title |
---|
LUOYI FU; XINBING WANG: "Multicast Scaling Law in Multichannel Multiradio Wireless Networks", 《IEEE TRANSACTIONS ON PARALLEL AND DISTRIBUTED SYSTEMS》 * |
杨琛;李秉智;: "MPLS多播机制中模糊标签聚集的研究", no. 36 * |
胡家庆;: "Ad Hoc网络中的多播路由协议", 电脑知识与技术, no. 31 * |
Also Published As
Publication number | Publication date |
---|---|
US20220247585A1 (en) | 2022-08-04 |
US11811509B2 (en) | 2023-11-07 |
CN117978721A (zh) | 2024-05-03 |
EP4037255A1 (en) | 2022-08-03 |
US20240022444A1 (en) | 2024-01-18 |
CN114915588B (zh) | 2024-03-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107276904B (zh) | 分发多播业务的方法和网络设备 | |
US8339973B1 (en) | Multicast traceroute over MPLS/BGP IP multicast VPN | |
US8218429B2 (en) | Method and device for multicast traffic redundancy protection | |
US9992099B2 (en) | Protocol independent multicast designated router redundancy | |
US10382217B1 (en) | Single actual-forwarder election in multicast VPNs | |
CN109150580B (zh) | 协议无关多播加入熵 | |
US8611346B1 (en) | Multicast sparse-mode source redundancy | |
US10333828B2 (en) | Bidirectional multicasting over virtual port channel | |
CN113497766B (zh) | 使用源激活路由的evpn组播入口转发器选择 | |
JP4654278B2 (ja) | マルチキャストツリー割当方法および装置 | |
US20240137307A1 (en) | Weighted multicast join load balance | |
WO2019075674A1 (zh) | 传输组播报文的方法、网络设备和系统 | |
CN113630320B (zh) | 计算机网络内创建隧道的方法、入口网络装置及存储介质 | |
CN114915588B (zh) | 用于任播部署的上游多播跳umh扩展 | |
EP4037255B1 (en) | Upstream multicast hop (umh) extensions for anycast deployments | |
US11323364B2 (en) | Ingress replication procedures to facilitate migration to segment routing technology in a computer network | |
Rosen et al. | RFC 6513: Multicast in MPLS/BGP IP VPNs |
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 |