CN112468307A - 可靠传输上使用注册的多播流覆盖 - Google Patents
可靠传输上使用注册的多播流覆盖 Download PDFInfo
- Publication number
- CN112468307A CN112468307A CN202011323407.XA CN202011323407A CN112468307A CN 112468307 A CN112468307 A CN 112468307A CN 202011323407 A CN202011323407 A CN 202011323407A CN 112468307 A CN112468307 A CN 112468307A
- Authority
- CN
- China
- Prior art keywords
- routing device
- registration message
- source
- ingress
- multicast
- 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
- 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
-
- 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/026—Details of "hello" or keep-alive messages
-
- 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
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/16—Multipoint routing
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/42—Centralised routing
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明的各实施方式总体上涉及可靠传输上使用注册的多播流覆盖。具体地,示例方法包括交换目标问候消息以建立第一路由设备与第二路由设备之间的目标邻居连接,其中一个路由设备包括中央路由设备,并且其中另一个路由设备包括入口路由设备。该示例方法还包括处理指定共同与多播流相关联的源地址和标识符的源活动注册消息,其中该源活动注册消息还指示该多播流是活动的还是被撤回的。在处理源活动注册消息之后,该示例方法进一步包括处理指定出口路由设备和与该多播流相关联的至少标识符的接收器列表注册消息,其中该接收器列表注册消息还指示该出口路由设备是否请求接收与该多播流相关联的数据。
Description
本申请是申请日为2015年12月15日、申请号为201510938318.9、发明名称为“可靠传输上使用注册的多播流覆盖”的发明专利申请的分案申请。
技术领域
本公开涉及计算机网络,并且更具体地涉及在这样的网络上传输多播流数据。
背景技术
计算机网络是交换数据并共享资源的相互连接的计算设备的集合。在基于分组的网络中,计算设备通过将数据划分成被称为分组的小块来通信数据。网络内的诸如路由器的某些设备维护路由信息,路由信息描述通过网络的路由。以这种方式,分组可以单独地在网络上从源设备被路由至目的地设备。目的地设备从分组中提取数据并将数据汇集成其原始形式。将数据划分成分组使得源设备能够仅仅重新发送在传输期间可能丢失的那些个体分组。
计算机网络的示例包括企业网络、分支网络、服务提供商网络、家庭网络、虚拟专用网(VPN)、局域网(LAN)、虚拟LAN(VLAN)等等。在任何情况下,计算机网络可以使得位于远程的源和接收器能够共享数据。在一些情况下,计算机网络可以被配置为支持多播流量,例如互联网协议电视(IPTV)、桌面会议、公司广播、音乐和视频web广播以及其他形式的多媒体内容。作为示例,计算机网络可以利用协议无关多播(PIM)作为多播路由协议来建立通过计算机网络的分发树以将多播流量从源传输到针对特定多播组的接收器或订户设备。PIM可以以若干不同的模式操作,包括密集模式(DM)、稀疏模式(SM)、源特定模式(SSM)以及双向模式(BIDIR)。PIM、SM还可以支持任意源多播(ASM)模式。
按位索引显式复制(BIER)指定用于多播数据分组转发的特定类型架构。BIER提供多播分组转发通过多播域,但其不是必须要求任何显式树建立协议,并且其还不是必须要求中间节点以维护每流状态。
发明内容
在一个示例中,一种方法包括由第一路由设备与第二路由设备交换多个目标问候消息以建立该第一路由设备与该第二路由设备之间的目标邻居连接,其中该第一路由设备或该第二路由设备中的一个路由设备包括中央路由设备,并且其中该第一路由设备或该第二路由设备中的另一个路由设备包括与至少一个源设备通信耦合的入口路由设备。示例方法还包括由该第一路由设备使用与该第二路由设备的该目标邻居连接来处理指定共同与由该至少一个源设备提供的多播流相关联的源地址和标识符的源活动注册消息,并且其中该源活动注册消息还指示该多播流是活动的还是被撤回的。在处理源活动注册消息之后,该方法还包括由该第一路由设备使用与该第二路由设备的该目标邻居连接来处理指定出口路由设备和与多播流相关联的至少标识符的接收器列表注册消息,其中该接收器列表注册消息还指示出口路由设备是否请求接收与多播流相关联的数据。
在一个示例中,第一路由设备包括存储器和与该存储器通信的至少一个处理器。该至少一个处理器被配置为与第二路由设备交换多个目标问候消息以建立该第一路由设备与该第二路由设备之间的目标邻居连接,其中该第一路由设备或该第二路由设备中的一个路由设备包括中央路由设备,并且其中该第一路由设备或该第二路由设备中的另一个路由设备包括与至少一个源设备通信耦合的入口路由设备,以及被配置为使用与该第二路由设备的该目标邻居连接来处理指定共同与由该至少一个源设备提供的多播流相关联的源地址和标识符的源活动注册消息,其中该源活动注册消息还指示该多播流是活动的还是被撤回的。该至少一个处理器还被配置为在处理源活动注册消息之后,使用与该第二路由设备的该目标邻居连接来处理指定出口路由设备和与多播流相关联的至少标识符的接收器列表注册消息,其中接收器列表注册消息还指示出口路由设备是否请求接收与多播流相关联的数据。
在一个示例中,一种计算机可读存储介质包括指令,该指令当被执行时,使得第一路由设备的一个或多个处理器执行操作。该操作包括由第一路由设备与第二路由设备交换多个目标问候消息以建立该第一路由设备与该第二路由设备之间的目标邻居连接,其中该第一路由设备或该第二路由设备中的一个包括中央路由设备,并且其中该第一路由设备或该第二路由设备中的另一个包括与至少一个源设备通信耦合的入口路由设备,以及由该第一路由设备使用与该第二路由设备的该目标邻居连接来处理指定共同与由该至少一个源设备提供的多播流相关联的源地址和标识符的源活动注册消息,其中该源活动注册消息还指示该多播流是活动的还是被撤回的。该操作还包括在处理源活动注册消息之后,该方法还包括由该第一路由设备使用与该第二路由设备的该目标邻居连接来处理指定出口路由设备和与多播流相关联的至少标识符的接收器列表注册消息,其中接收器列表注册消息还指示出口路由设备是否请求接收与多播流相关联的数据。
在附图和下面的描述中阐述本公开的一个或多个示例的细节。本公开的其他特征、目的和优点将从描述和附图、以及从权利要求书变得容易理解。
附图说明
图1是图示了包括多个路由设备的示例网络的框图,其中一个路由设备(中央路由设备)与入口路由设备和出口路由设备建立相应的目标邻居连接。
图2是图示了图1中所示中央路由设备与入口路由设备之间示例消息流的示图。
图3是图示了图1中所示中央路由设备与出口路由设备之间示例消息流的示图。
图4是图示了图1中所示中央路由设备与入口路由设备之间另一示例消息流的示图。
图5是图示了诸如图1至图4中所示路由设备之一的示例路由设备的框图。
图6是图示了在中央路由设备与多个不同入口路由设备和出口路由设备之间建立的相应的目标邻居连接的示例的框图。
图7是图示了目标问候消息的示例表示的示意图。
图8是图示了注册消息的示例表示的示意图。
图9是图示了注册消息的另一示例表示的示意图。
图10是图示了入口路由设备与活动多播流之间的示例关联以及出口路由设备与感兴趣的多播流之间的示例关联的示意图。
图11是图示了存储与多播流相关联的信息的示例数据库的框图。
图12是图示了可以由路由设备(诸如图1至图6中所示路由设备中的一个或多个路由设备)实现的示例过程的流程图。
具体实施方式
本公开的技术使用协议独立多播(PIM)协议作为一个非限制示例通过定期目标问候消息的交换提供路由设备之间的可靠目标邻居连接,在某些实例中其可以提供路由设备之间的能力协商和发现。这些路由设备可以由一个或多个中间路由设备分离,因此彼此之间可能相距多跳。在一个示例中,该技术延伸了因特网工程任务组RFC 6229(Farinacci等人的“A Reliable Transport Mechanism for PIM”,2012年3月,以下称为“RFC 6559”)的概念,其全部内容通过引用并入于此,用于允许PIM注册状态信息通过可靠的传输连接(例如,目标邻居连接)进行发送,其可以潜在地为某些多播服务(如顾客多播、因特网协议电视(IPTV)、数据中心之间的内容复制等)提供更多的可扩展性。该技术还可以延伸或者与因特网工程任务组草案(Wijnands等人的“Multicast Using Bit Index ExplicitReplication”因特网草案,2015年2月,2015年8月6日到期,以下称为“BIERSpecifcation”)的概念相关联,其全部内容通过引用并入于此。另外,该技术还可以延伸或者与Peter等人的“Reliable Transport for PIM Register States draft-anish-reliable-pim-registers-00”因特网草案,2015年3月9日,Juniper网络公司,2015年9月10日到期(以下称为“Reliable Transport for PIM Register States”)的概念相关联,其全部内容通过引用并入于此。
在BIER架构中,入口路由设备(例如,PIM第一跳路由器)可以接收特定BIER域外部的针对特定组的多播数据分组。一个或多个出口路由设备(例如,PIM最后一跳路由器)可能对接收针对此特定组的多播数据分组感兴趣。入口路由设备了解到这些出口路由设备使用被称作BIER多播流覆盖的机制,并且继而能够建立BIER多播分组报头并且向BIER域中感兴趣的出口路由设备转发包括该分组报头的多播数据分组。感兴趣的出口路由设备各自接收多播数据分组并且将其转发至相应的接收器设备。BIER域可以被分成子域,在这种情况下入口路由设备向可以由子域标识符标识的给定子域中的感兴趣的出口路由设备发送多播数据分组。
BIER规范描述了如下三个部件:(1)路由铺垫;(2)BIER层;以及(3)多播流覆盖。路由铺垫提供了BIER域中参与路由设备之间的邻接建立过程,其通常可以是单播内部网关协议(IGP)。在各种示例中,所有入口路由设备、出口路由设备和中转路由设备参与基于IGP的BIER信号传输。BIER层包括用于跨BIER域从入口路由设备向出口路由设备发射多播数据分组的协议和过程。BIER规范详细描述了BIER层。
多播流覆盖部件包括与通过入口路由设备确定对接收由该入口路由设备接收的其BIER域外部的多播数据分组感兴趣的出口路由设备的集合相关的过程和协议。针对多播虚拟专用网络的边界网关协议(BGP-MVPN)过程可以作为向BIER提供多播流覆盖的机制之一。关于BGP-MVPN的其他细节可以在如下文档中找到,各文档的全部内容通过引用并入于此:(1)因特网工程任务组RFC 6514(Aggarwal等人的“BGP Encodings and Proceduresfor Multicast in MPLS/BGP IP VPN’s”,2012年2月,以下称为“RFC 6514”);以及(2)因特网工程任务组RFC 6515(Aggarwal等人的“IPv4 and IPv6Infrastructure Addresses inBGP Updates for Multicast VPN”,2012年2月,以下称为“RFC 6515”)。BGP-MVPN提供了站间用于交换多播接收器和发送器信息的信号传输机制。该信号传输经由BGP并且更多在VPN的上下文中。
然而,BIER规范没有限定或描述针对某些实现方式(例如,针对PIM、虚拟可扩展局域网(VxLAN)、非MVPN的实现方式)或部署(其中BGP-MVPN不可行)的多播流覆盖的细节。这里描述的技术处理此缺陷并且提供可以在BIER域中用于某种多播部署(例如,PIM、VxLAN、非MVPN、其中BGP-MVPN不优选或可行的MVPN技术)的多播流覆盖方法。
如下文进一步该,为了实现针对这种BIER部署的多播流覆盖,这里的技术提供了中央路由设备(例如,汇聚点(RP)或控制器)。出口路由设备可以向中央路由设备表达对特定组或源/组的兴趣,并且中央路由设备继而能够更新关于相应感兴趣出口路由设备的入口路由设备。使用PIM RP作为中央路由设备在许多实例中进行了深入研究,作为此功能的一部分已经由PIM RP根据现有网络工作组RFC4601(Fenner等人的“Protocol IndependentMulticast-Sparse Mode(PIM-SM):Protocol Specification(Revised)”,2006年8月,以下称为“RFC 4601”)执行,其全部内容通过引用并入于此。
在各种示例中,技术使用在中央路由设备与入口路由设备之间的目标问候邻接上以及中央路由设备与出口路由设备之间的目标问候邻接上建立的单独通信信道。单独通信信道可以基于可靠的PIM注册消息(如下文进一步该),即使还可以使用其他方法,诸如实现BGP和多播源发现协议(MSDP)的方法。
在本公开中,在与PIM实现相关联的各示例中,术语“入口路由设备”可以与PIM第一跳路由器(FHR)互换使用,并且出口路由设备可以与PIM最后一跳路由器(LHR)互换使用。在VxLAN情景下,入口路由设备和出口路由设备可以映射到相应提供商边缘路由器(PE)。
作为一个示例,在向中央路由设备发送初始目标问候消息之后,入口路由设备监听中央路由设备以连接到入口路由设备的主地址。一旦中央路由设备连接到入口路由设备,则在两个设备之间建立了目标邻居连接,该目标邻居连接可以包括可靠传输连接,其中,在一些情况下,入口路由设备可以扮演主动角色,而中央路由设备可以扮演被动角色。在一些实例中,如在RFC 6559中概述的,可靠连接可以利用保持活动消息来维护。
一旦建立了该可靠连接,则入口路由设备可以开始向中央路由设备发送关于入口路由设备活动的多播流的源地址和组地址。当这些流中的任何流稍后被撤回时,入口路由设备向中央路由设备发送更新消息以提供与已经被撤回的流相关联的源地址和组地址。以这种方式,当在入口路由设备与中央路由设备之间建立了目标邻居连接之后,入口路由设备能够利用其现有的且活动的多播流来更新中央路由设备。随后,入口路由设备向中央路由设备发送关于对这些流的状态的任何变化的增量更新。在各个示例中,由入口路由设备经由可靠连接向中央路由设备发送的消息可以被称为可靠注册消息。将在下面更详细地描述注册消息的实施方式。
类似地,中央路由设备和出口路由设备可以交换目标问候消息并且建立邻居连接。一旦此可靠连接建立,出口路由设备就可以开始向中央路由设备发送出口路由设备感兴趣的多播流的源和组地址。然后,出口路由设备可以向中央路由设备发送增量更新以在特定多播流的源/组地址中指示兴趣或撤回兴趣。在某些情况下,源地址可以包括通配符地址,指示出口路由设备对来自特定组的任何源的数据感兴趣。
在一些情况下,这些技术的实施方式可以提供硬状态(hard-state)、可靠传输机制以补充和/或替换对在PIM稀疏模式(SM)中的现有注册消息的使用并且潜在地消除对在中央路由设备与入口/出口路由设备之间的注册停止或空注册消息的使用的需求。技术还可以提供多播流覆盖方法,其可以用于针对某些多播部署的BIER域(例如,PIM、VxLAN、非MVPN、MVPN技术,其中BGP-MVPN不是优选或可行的)。
在一些示例中,共享相同任播地址的多个不同的中央路由设备可以交换目标问候消息以建立在这些中央路由设备之间的全网状(full mesh)的目标邻居连接。另外,在某些示例中,该技术允许入口路由设备或出口路由设备通过对目标问候消息的交换来发现操作在任意源多播(ASM)模式中的中央路由设备的主地址。
图1是图示了包括多个路由设备8、10、12、14、16、18、20和22的示例网络1的框图,在示例网络1中,一个这种设备(中央路由设备20)建立与入口路由设备8和出口路由设备14的相应目标邻居连接。路由设备8、10、12、14、16、18、20和22每个均被配置为在源设备与接收器设备之间路由多播流量,并且这种设备的一个或多个可以包括边缘路由器和/或核心路由器。多播流量的示例可以包括针对互联网协议电视(IPTV)、桌面会议、公司广播、音乐和视频在线广播以及其他形式的多媒体内容的内容。此外,网络1可以包括一个或多个BIER域和/或子域。
源设备2、4被通信地耦合到路由设备8,并且因此在该示例中路由设备8被称为入口路由设备。接收器设备6被通信地耦合到路由设备14,并且因此在该示例中路由设备14被称为出口路由设备。在各示例中,中央路由设备20被配置为操作为汇聚点(RP)并且因此可以被称为RP 20。尽管在图1中仅仅示出了一个入口路由设备8和一个出口路由设备14,但是在其他示例中,任何数量的入口路由设备和出口路由设备可以经由诸如路由设备10、12、16、18和22的一个或多个中介路由设备被通信地耦合到中央路由设备20。类似地,尽管在图1中仅仅示出了一个中央路由设备20,但是在其他示例中,任何数量的中央路由设备可以被包括在网络1中并且被通信地耦合到入口路由设备8和出口路由设备14。在一些示例中,如果中央路由设备20被配置为RP,则网络1中的一个或多个其他RP可以与中央路由设备20共享任播地址。
网络1可以是企业网络、校园网络、服务提供商网络、家庭网络或另一自治系统。在这些示例中的任何示例中,源设备2、4和接收器6可以经由网络1共享数据。在网络1作为企业网络的一个示例中,源设备2、4和接收器6中的每一个可以包括一个或多个服务器或位于单个办公地点的不同区域中的雇员计算机终端。在网络1作为企业网络的另一示例中,源设备2、4和接收器6中的每一个可以包括公司的远程办公室位置,使得企业网络1可以跨诸如互联网的公共网络来被扩展。附加地,然而,本公开的技术可适用于公共和私有两者的其他网络类型。其他网络类型的示例包括局域网(LAN)、虚拟局域网(VLAN)、虚拟专网(VPN)等等。在一些示例中,网络1可以被耦合到一个或多个附加的私有网络或公共网络,例如互联网。在其他示例中,网络1可以包括互联网或另一公共网络。在一些情况下,网络1可以包括多协议标签交换(MPLS)网络。
PIM可以以诸如稀疏模式(SM)的若干不同的模式操作,其还可以支持任意源多播(ASM)。RP 20是来自源设备2、4和接收器设备6的多播流量朝向其汇聚的路由设备。在图示的示例中,中央路由设备20、入口路由设备8、出口路由设备14以及路由设备10、12、16、18和22通过计算机网络1将多播流量从源设备2、4运载到接收器设备6。流量可以流过传输例如经由入口路由设备8从源设备2、4朝向中央路由设备20的多播流量上游以及例如经由出口路由设备14远离中央路由设备20朝向接收器设备6的下游的一个或多个路径或路由器。
接收器设备6可以订阅一个或多个多播组以接收多播流量。中央路由设备20可以获知并存储与针对接收器设备6表达感兴趣的特定范围的多播组的源设备(例如,源设备2、4)相关联的源地址。中央路由设备20、入口路由设备8、出口路由设备14和路由设备10、12、16、18和22可以使用PIM控制消息进行通信。
本公开的技术通过对目标问候消息的实施利用改进的消息格式(例如,类型-长度-值,或基于TLV的消息格式)引入在诸如中央路由设备20的第一路由设备与诸如入口路由设备8或出口路由设备14的第二路由设备之间的目标邻居连接的概念,该目标邻居连接可以包括可靠传输连接。这些路由设备可以被一个或多个其他中介路由设备分开,并且因此可以是远离彼此的多跳。例如,中央路由设备20和入口路由设备8可以被诸如图1中示出的路由设备16和18的一个或多个路由设备分开。在一个示例中,该技术允许在这样的目标邻居连接上发送多播流状态信息,其可以为诸如客户多播、互联网协议电视(IPTV)、数据中心之间的内容复制等等的某些多播服务提供更多的伸缩性。
一旦入口路由设备8学习到对特定多播组或源/组感兴趣的出口路由设备(例如,出口路由设备14)的列表,入口路由设备8就能够基于该出口路由设备的列表构建位图并且形成如BIER规范中概况的Bier多播分组报头。入口路由设备8在多播数据分组上使用此BIER报头并且根据BIER路由铺垫和/或BIER层将其转发至下一跳下游路由器,使得这些分组到达相应的出口路由设备。
在各示例中,出口路由设备14构建与中央路由设备20的目标邻接。类似地,入口路由设备8构建与中央路由设备20的目标邻接。出口路由设备14向中央路由设备20通知(例如,经由接收器活动注册消息的使用)其关于特定多播分组和/或多播源/组的“接收器兴趣”,并且中央路由设备20跟踪出口路由设备14的“接收器兴趣”。入口路由设备8也向中央路由设备20通知(例如,经由源活动注册消息的使用)其关于特定多播分组和/或多播源/组的“源活动”,并且中央路由设备20跟踪入口路由设备8的“源活动”。
中央路由设备20继而通过向入口路由设备8发送“接收器的列表”注册消息向入口路由设备8通知已经对多播分组和/或多播源/组表达过“接收器兴趣”的任意出口路由设备。入口路由设备8接收此信息,形成BIER报头,并且使用此BIER报头向“接收器的列表”注册消息中指示的出口路由设备发出多播数据分组。因此,如果入口路由设备8已经向中央路由设备20发送了指示特定源/组在入口路由设备8活动的源活动注册消息,并且出口路由设备14已经向中央路由设备20发送了指示对组或特定源/组感兴趣的接收器活动注册消息,则中央路由设备20可以在向入口路由设备8发送的接收器的列表”注册消息中指定出口路由设备14,使得入口路由设备8可以使用对应的BIER报头向出口路由设备14发送针对该组的多播数据分组。
在某些实例中,可以存在多个入口路由设备为特定多播流(例如,组或源/组)发送流量。在这些实例中,中央路由设备20可以关于来自出口路由设备的“接收器兴趣”(例如,通过向每个这种入口路由设备发送“接收器的列表”注册信息)更新每个入口路由设备。
如下文进一步详细该,这里的技术还提供入口路由设备和出口路由设备的跟踪。例如,在相同特定多播流的任意点,新的出口路由设备可以上线并且新的入口路由设备也可以上线。类似地,现有入口和/或出口路由设备也可以离线。在这种情况下,如下文进一步详细该,中央路由设备20跟踪这种事件(例如,在数据库中),并且可以用经更新的信息来更新适当的入口路由设备和/或出口路由设备。
如图1所示,第一路由设备(例如,中央路由设备20)可以(例如,使用PIM协议)与网络1中的第二路由设备(例如,入口路由设备8)交换目标问候消息来建立该第一路由设备与该第二路由设备之间的目标邻居连接24。这些目标问候消息可以与在RFC 4601中定义的PIM问候消息类似。然而,本公开的目标问候消息不局限于链接层次,而是相反可以存在接口层次并且具有单播地址作为目的地址并且使用单播路由(例如,经由路由设备16、18)遍历多跳以到达由目的地址标识的目标问候邻居(例如,中央路由设备20或入口路由设备8)。在一些情况下,这些目标问候消息的生存时间值可以被设定为系统默认生存时间值。
如下面将更详细地描述的,第一路由设备可以使用目标邻居连接24来处理指定共同与由该至少一个源设备提供的多播流相关联的源地址和标识符(例如,源地址)的源活动注册消息,并且该源活动注册消息还指示该多播流是活动的还是被撤回的。在处理源活动注册消息之后,第一路由设备使用与第二路由设备的目标邻居连接来处理指定出口路由设备和与多播流相关联的至少标识符(并且,在某些情况下,特定源地址)的接收器列表注册消息,其中接收器列表注册消息还指示出口路由设备是否请求接收与多播流相关联的数据。在各种情况下,标识符可以包括组标识符,诸如组地址。在特定非限制示例中,标识符可以包括与例如特定多播流相关联的VPN标识符和/或站点标识符。在以下描述的各部分中,仅出于图示的目的,假设标识符包括组地址。
例如,中央路由设备20可以从入口路由设备8接收第一目标问候消息,第一目标问候消息包括被寻址到中央路由设备20的单播地址(例如,中央路由设备20的任播地址或主地址)的第一单播消息。响应于接收到第一目标问候消息,中央路由设备20向入口路由设备8发送第二目标问候消息以确认对第一目标问候消息的接收。该第二目标问候消息包括被寻址到入口路由设备8的主单播地址的第二单播消息。这些目标问候消息的交换建立中央路由设备20与入口路由设备8之间的目标邻居连接24,其中在一些情况下,入口路由设备8可以扮演主动角色,并且中央路由设备20可以扮演被动角色。在一些示例中,如在以上引用的RFC 6559中所描述的,目标邻近连接24可以包括可靠传输连接(例如,传输控制协议(TCP)或流控制传输(SCTP)协议连接)。在一些情况下,可靠传输机制能够使用TCP或SCTP作为传输协议。如下面更详细地描述的,入口路由设备8和中央路由设备20也可以基于刷新定时器彼此周期性地“刷新”这些目标问候消息以证实入口路由设备8与中央路由设备20之间的目标邻居关系的持续存在。
一旦已经建立了目标邻近连接24,入口路由设备8可以使用目标邻近连接24向中央路由设备20发送针对多播流的一个或多个源活动注册消息。如以上所指出的,并且如将参考图2更详细地描述的,例如这些源活动注册消息可以包括多个多播流数据元素,每个多播流数据元素指定共同地与相应的多播流相关联的源地址和组地址。这些源活动注册消息向RP 20指示哪些多播流关于入口路由设备8是活动的并且哪些流已经被撤回。
一旦已经建立了目标邻近连接24,入口路由设备8能够向中央路由设备20发送给定源活动注册消息,给定源活动注册消息指示关于入口路由设备8活动的一个或多个流的整体列表以及从入口路由设备8被撤回的一个或多个流的整体列表。在各个示例中,各种源活动注册消息中的全部源活动注册消息由入口路由设备8经由目标邻近连接24被发送到中央路由设备20,目标邻近连接24可以包括使用用于传输协议的TCP或SCTP(作为非限制性示例)的可靠传输连接。另外,在一些情况下,目标邻近连接24的可靠传输机制可以在需要时(例如,当在从入口路由设备8的初始传输期间任何源活动注册消息被丢失或被损坏的情况下)处理任何源活动注册消息从入口路由设备8到中央路由设备20的重新传输。
例如,如果一组多播流已经关于入口路由设备8变得活动,则入口路由设备8向中央路由设备20发送具有这些活动流的源地址和组地址的源活动注册消息,使得中央路由设备20能够针对由入口路由设备8服务的这些活动流更新其状态信息。由中央路由设备20维护的状态信息标识针对每个活动多播流的相应的源地址和组地址。随后,如果这些流中的任何流在入口路由设备8处被撤回,则入口路由设备8向中央路由设备20发送指示已经被撤回的流的源地址和组地址的更新源活动注册消息。在接收到该更新的消息时,中央路由设备20更新其状态信息(例如,从状态信息删除针对撤回的流的源地址和组地址)。以这种方式,一旦建立了目标邻近连接24,则入口路由设备8能够利用其现有的且活动的多播流以及已经被撤回的任何流来持续地更新中央路由设备20。
通过与上文该类似的方式,中央路由设备20可以与出口路由设备14建立目标邻居连接26。如图3中进一步详细所示,一旦目标邻居连接26被建立,出口路由设备14就可以使用目标邻居连接26向中央路由设备20发送针对多播流的一个或多个接收器活动注册消息。这些接收器活动注册消息可以包括多个多播流数据元素,每个多播流数据元素指定至少与相应多播流相关联的组地址(并且,在某些实例中,特定源地址或通配符源地址,如下文进一步详细该)。这些接收器活动注册消息向中央路由设备20指示哪些多播流出口路由设备14感兴趣和/或哪些流不感兴趣(例如,从兴趣中撤回)。
一旦目标邻居连接26被建立,出口路由设备14就能够向中央路由设备20发送指示出口路由设备14感兴趣的一个或多个流的完整列表和/或出口路由设备14不感兴趣的一个或多个流的完整列表的给定接收器活动注册消息。在各示例中,各接收器活动注册消息中的所有接收器活动注册消息由出口路由设备14经由目标邻居连接26向中央路由设备20发送,该目标邻居连接26可以包括使用传输协议TCP或SCTP(作为非限制示例)的可靠传输连接。此外,在某些情况下,如果需要(例如,如果在从出口路由设备14的最初传输期间任意接收器活动注册消息丢失或中断),目标邻居连接26的可靠传输机制可以处理从出口路由设备14到中央路由设备20的任何接收器活动注册消息的重新传输。
例如,如果出口路由设备14对从相应多播流集接收多播流数据感兴趣,则入口路由设备8向中央路由设备20发送具有对感兴趣的这些流的源和组地址的接收器活动注册消息,使得中央路由设备20能够更新其状态信息。由中央路由设备20维护的状态信息标识出口路由设备感兴趣的每个多播流的相应源地址和组地址。随后,如果这些流中的任意流出口路由设备14不再感兴趣(例如,从兴趣中撤回),则出口路由设备14向中央路由设备20发送指示流的源和组地址已经从兴趣中撤回的更新接收器活动注册消息。在接收此更新消息之后,中央路由设备20更新其状态信息(例如,从状态信息中删除源和组地址)。通过此方式,一旦目标邻居连接26被建立,出口路由设备14就能够用与感兴趣或不感兴趣的流相关联的源和组信息连续地更新中央路由设备20。在某些示例中,出口路由设备14可以提供其感兴趣的组的前缀范围(例如,225.1/16)。在某些示例中,源地址可以是通配符(例如,*0.0.0.0)以指示出口路由设备14对来自该组任意源的流量感兴趣。
如图4中进一步详细所示,在中央路由设备20已经处理任意源活动注册消息之后,中央路由设备20可以使用目标邻居连接24来向入口路由设备8发送接收器注册消息的列表。例如,如果出口路由设备14先前向中央路由设备20发送了接收器活动注册消息以指示对与源地址和组地址(其中源地址可以包括指示对组的“任意”源感兴趣的通配符地址)相关联的多播流感兴趣,并且如果入口路由设备8先前向中央路由设备20发送了与源地址和组地址相关联的活动流的源活动注册消息,则中央路由设备20可以向入口路由设备8发送指定出口路由设备14的接收器注册消息的列表以及与流相关联的源和组。接收器注册消息的列表还指示出口路由设备14对该多播流感兴趣并且请求接收与该多播流相关联的数据。一旦针对该流的多播流数据可用(例如,由源设备2或4提供),则入口路由设备8可以在网络1中向出口路由设备14发出多播数据分组。如果网络1包括BIER域,则入口路由设备8可以形成BIER多播分组报头并且使用最短路径在BIER域上向出口路由设备14转发该数据分组,该出口路由设备14可以将其转发给接收器设备6。
如还将在下面更详细该,在一些示例中,共享相同任播地址的多个不同的中央路由设备可以交换目标问候消息以建立在这些中央路由设备之间的全网状目标邻居连接。另外,在某些示例中,本公开的技术允许入口路由设备(例如,入口路由设备8)通过对目标问候消息的交换来发现操作在任意源多播(ASM)模式中的中央路由设备的主地址(例如,中央路由设备20)。
在一些情况下,这些技术的实施方式可以提供硬状态、可靠传输机制以补充或甚至替换对在中央路由设备20与入口路由设备8之间或中央路由设备20与出口路由设备14之间的传统PIM SM注册消息、注册停止消息和/或空注册消息的使用。相反,入口路由设备8和出口路由设备14各自被配置为向中央路由设备20发送注册消息,每个注册消息包括针对相应多个多播流的源地址信息和组地址信息。对这样的消息的使用可以显著地减少入口路由设备8与中央路由设备20之间以及出口路由设备14与中央路由设备20之间的注册消息的量。入口路由设备8和出口路由设备14可以各自在这样的消息的通信中扮演主动角色,并且可以向中央路由设备20发送新的注册消息以便提供关于个体流的状态的增量更新(例如,当特定流在入口路由设备8已经变得活动或被撤回时,当特定流被出口路由设备14感兴趣或从兴趣中撤回时)。然而,如以上所指出的,每个个体注册消息可以包括针对多个不同流的源地址信息和组地址信息。
利用这种方法,在某些示例中,可靠传输机制可以帮助最小化目标邻居连接24上在入口路由设备8与中央路由设备20之间或者目标邻居连接26上在出口路由设备14与中央路由设备20之间的分组丢失。另外,本公开的技术可以使用目标邻居连接24和26提供在这些设备之间的改进的安全性。可靠传输机制可以帮助潜在地避免在这些设备之间交换的注册消息或其他信息的泛溢或超载。
图2是图示了图1中的中央路由设备20与入口路由设备8之间的示例消息流的图。图2图示了这样的消息流的一个非限制性示例。初始地,在获知中央路由设备20的地址时,入口路由设备8可以向中央路由设备20发送目标问候消息30。目标问候消息30是被寻址到中央路由设备20的单播消息。目标问候消息30的主源地址是入口路由设备8的地址,而包括单播地址的目的地址是中央路由设备20的主地址或任播地址。在图2的示例中,中央路由设备20是RP。在一些情况下,目标问候消息30还可以包括关于入口路由设备8的一个或多个能力或特征的信息。中央路由设备20可以处理目标问候消息30以发现这样的能力或特征和/或与入口路由设备8协商这些能力或特征中的一个或多个能力或特征。
在接收到目标问候消息30时,中央路由设备20可以向入口路由设备8发送目标问候消息32(回复)以确认由中央路由设备20对目标问候消息30的接收。目标问候消息32是被寻址到入口路由设备8的单播消息。目标问候消息32的主源地址是中央路由设备20的主地址,而包括单播地址的目的地址是入口路由设备8的主地址。在一些情况下,目标问候消息32可以具有次级源地址,次级源地址可以包括由中央路由设备20服务的任播地址。在一些情况下,目标问候消息32还可以包括关于中央路由设备20的一个或多个能力或特征的信息。入口路由设备8可以处理目标问候消息32以基于由入口路由设备8支持的能力或特征来发现中央路由设备20的这样的能力或特征和/或与中央路由设备20协商这些能力或特征中的一个或多个能力或特征。
如以上所指出的,如果中央路由设备20被配置为任播中央路由设备并服务任播地址,则入口路由设备8可以初始地发送具有作为中央路由设备20的任播地址的单播目的地址的目标问候消息30。在从中央路由设备20接收到目标问候消息32时,入口路由设备8能够进一步标识中央路由设备20的主地址,入口路由设备8在随后向中央路由设备20发送一个或多个注册消息时可以使用中央路由设备20的主地址。在这样的方式中,入口路由设备8能够标识任播中央路由设备20的主地址(例如,以发现服务入口路由设备8可以与其建立目标邻居连接的任播地址的最近的或当前的任播中央路由设备,即中央路由设备20)。在入口路由设备8与中央路由设备20交换目标问候消息30和32之后,在入口路由设备8与中央路由设备20之间建立了目标邻居连接24,其中在一些情况下,入口路由设备8可以在目标邻居关系中扮演主动角色并且中央路由设备20可以扮演被动角色。目标邻近连接24可以包括可靠传输连接。
入口路由设备8可以维护包括关于其目标邻居中的全部目标邻居的信息的邻近状态信息(例如,图5中示出的邻居状态信息108)。例如,入口路由设备8可以在其邻居状态信息中存储中央路由设备20的主地址和次级地址(例如,任播地址)以及由中央路由设备20支持的和/或在入口路由设备8与中央路由设备20之间协商的任何能力或特征。类似地,中央路由设备20可以维护包括关于其目标邻居中的全部目标邻居的信息的邻居状态信息(例如,邻居状态信息108)。例如,中央路由设备20可以在其邻居状态信息中存储入口路由设备8的主地址以及由入口路由设备8支持的和/或在入口路由设备8与中央路由设备20之间协商的任何能力或特征。
入口路由设备8与中央路由设备20还可以在处理目标问候消息(例如,目标问候消息30和目标问候消息32)时利用刷新和保持定时器,其可以与在以上引用的RFC 4601中概述的定时器类似。例如,在非限制性情况下,针对目标问候消息的默认刷新时间可以被设定为60秒(例如,是在RFC 4601中概述的默认链接层次问候时间的2倍),并且默认保持时间可以被设定为210秒(例如,默认刷新时间的3.5倍)。另外,入口路由设备8与中央路由设备20可以利用保持活动消息来检查彼此以及目标邻居连接24的活动性。在一个示例中,这些保持活动消息可以与在以上引用的RFC 6559中针对可靠连接24描述的保持活动消息类似。
关于目标邻居连接24,能够由于以下原因中的一个或多个原因发生连接丢失或可达性损失:(1)保持活动消息超时;(2)目标邻居丢失(例如,针对目标问候消息的保持定时器的超时);和/或(3)连接的关闭。在检测到这些条件中的任何条件时,入口路由设备8和/或中央路由设备20可以关闭目标邻居连接24并(例如,在宽限期之后)清除任何对应的状态信息,使得入口路由设备8和中央路由设备20可以随后重新建立新的目标邻居连接并且重新同步针对邻居关系的相应的状态信息(例如,图3中示出的相应的邻居状态信息108)。作为一个注意,如果中央路由设备20和/或入口路由设备8请求终止目标邻居关系,则中央路由设备20和/或入口路由设备8可以发送具有保持时间为零的目标问候消息。另外,如果中央路由设备20和/或入口路由设备8在特定时间点处确定与其他设备的重新连接或能力的重新协商是受保证的,则在一些示例中中央路由设备20和/或入口路由设备8可以改变目标问候消息的生成标识符(或如在RFC 6559和/或RFC 4601中被称为“GenID”)以便重置并重新初始化两个设备之间的目标邻居连接。在这些示例中,GenID可以被包含在两个设备之间交换的目标问候消息中的每个目标问候消息中。
在建立了目标邻近连接24之后,入口路由设备8可以使用中央路由设备20的主地址使用目标邻近连接24向中央路由设备20发送针对多播流的一个或多个源活动注册消息。如在图2的示例中示出的,入口路由设备8向中央路由设备20发送一个或多个消息34A-34N。这些源活动注册消息中的每个源活动注册消息包括多个多播流数据元素,每个多播流数据元素指定共同地与相应的多播流相关联的源地址和组地址。另外,这些源活动注册消息向中央路由设备20指示哪些多播流关于入口路由设备8是活动的并且哪些流已经被撤回。(下面诸如例如参考图8更详细地描述源活动注册消息和多播流数据元素的示例格式)。如果特定流在入口路由设备8处是活动的,则源活动注册消息的对应多播流数据元素可以指示该特定流要被添加到由中央路由设备20维护的流状态信息(例如,图5中示出的流状态信息109)。然而,如果特定流在入口路由设备8处是被撤回的,则源活动注册消息的对应多播流数据元素可以指示该特定流要从由中央路由设备20维护的流状态信息删除。
例如,如果一组多播流已经关于入口路由设备8变得活动,则入口路由设备8向中央路由设备20发送具有这些活动流的源地址和组地址的源活动注册消息34A,使得中央路由设备20能够针对在入口路由设备8处活动的并且由中央路由设备8服务的流更新其流状态信息。由中央路由设备20维护的流状态信息标识针对每个活动多播流的相应的源地址和组地址。随后,如果这些流中的任何流在入口路由设备8处被撤回,则入口路由设备8向中央路由设备20发送指示已经被撤回的流的源地址和组地址的另一源活动注册消息(例如,注册消息34N)。在接收到该更新的消息时,中央路由设备20更新其流状态信息(例如,删除针对撤回的流的源地址和组地址)。以这种方式,一旦建立了目标邻近连接24,则入口路由设备8能够利用其现有的且活动的多播流以及已经被撤回的任何流来持续地更新中央路由设备20。
基于由入口路由设备8发送的注册消息34A-34N的内容,中央路由设备20针对活动多播流更新其流状态信息。流状态信息标识针对每个活动多播流的相应的源地址和组地址,并且还可以标识从其接收到源地址信息和组地址信息的设备(例如,入口路由设备8)。作为一个示例,在从入口路由设备8接收到的给定源活动注册消息34A-34N中,针对在多播流数据元素中被指示为活动的每个多播流,中央路由设备20可以将相应的源地址和组地址添加到其流状态信息。另一方面,针对在给定源活动注册消息的多播流数据元素中被指示为撤回的每个多播流,中央路由设备20可以将相应的源地址和组地址从流状态信息移除。
为了提供对这样的源活动注册消息34A-34N的处理的非限制性示例,入口路由设备8可以经由目标邻居连接24向中央路由设备20发送第一注册消息34A,第一源活动注册消息34A包括多播流数据元素组。在该示例中,包含在注册消息34A中的该多播流数据元素组可以与第一组多播流相关联,第一组多播流即流1、流2和流3,其分别由入口路由设备8服务。
例如,第一多播流数据元素可以指定共同地与流1相关联的第一源地址S1和第一组地址G1。第一多播流数据元素还(例如,通过指示S1和G1要被添加到由中央路由设备20针对入口路由设备8维护的流状态信息)指示流1在入口路由设备8处是活动的。类似地,第二多播流数据元素指定共同地与流2相关联的第二源地址S2和第二组地址G2,并且还指示流2在入口路由设备8处是活动的。第三多播流数据元素指定共同地与流3相关联的第三源地址S3和第三组地址G3,并且还指示流3在入口路由设备8处是活动的。
在接收到注册消息34A之后,中央路由设备20可以通过基于注册消息34A中的第一多播流数据元素向状态信息添加指定针对流1的第一源地址S1和第一组地址G1的第一条目来更新其流状态信息。类似地,中央路由设备20可以基于第二多播流数据元素来添加指定针对流2的第二源地址S2和第二组地址G2的第二条目并且可以基于第三多播流数据元素来添加指定针对流3的第三源地址S3和第三组地址G3的第三条目。中央路由设备20的流状态信息中的第一条目、第二条目和第三条目分别指示流1、流2和流3在入口路由设备8处是活动的。在某些示例中,流状态信息可以包括针对特定组和/或组-源组合是活动的入口路由设备的列表,并且中央路由设备20可以在接收源活动注册消息34A之后更新此列表。在此情况下,流状态信息可以包括(或添加)三个入口路由设备的列表:一个与流1(S1,G1)相关联,一个与流2(S2,G2)相关联,以及一个与流3(S3,G3)相关联。这些列表中的每个列表可以包括针对入口路由设备8的条目,由于这些流中的每个流被指示为在入口路由设备8处是活动的。
然而,在稍后的时间点处,如果流1在入口路由设备8处变为被撤回,但是新的流(流4)变得活动,则入口路由设备8可以经由目标邻居连接24向中央路由设备20发送单独的注册消息34N。注册消息34N包括多播流数据元素组,其中第一数据元素指定共同地与流1相关联的第一源地址S1和第一组地址G1,并且还(例如,通过指示S1和G1要从由中央路由设备20针对入口路由设备8维护的流状态信息中删除)指示流1现在在入口路由设备8处被撤回。注册消息34N包括指定共同地与流4相关联的第四源地址S4和第四组地址G4的第二多播流数据元素,并且还(例如,通过指示S4和G4要被添加到由中央路由设备20维护的流状态信息)指示流4在入口路由设备8处是活动的。
在接收到注册消息34N之后,在某些实例中,中央路由设备20通过基于注册消息34N中的第一多播流数据元素从状态信息移除指定针对流1的第一源地址S1和第一组地址G1的第一条目来更新其流状态信息。然而,在某些情况下,在这么做之前,中央路由设备20可以更新针对流1活动的入口路由设备的列表。具体地,中央路由设备20可以删除此列表中针对入口路由设备8的条目,假设流1现在在入口路由设备8处删除。
附加地,中央路由设备20可以基于在注册消息34N中的第二多播流数据元素来添加指定针对流4的第四源地址S4和第四组地址G4的第四条目,指示流4在入口路由设备8处活动的。中央路由设备20还可以创建针对流4活动的入口路由设备的新列表,并且向此列表中添加入口路由设备8。在这样的方式中,入口路由设备8能够通过向中央路由设备20发送增量更新利用其现有的、活动的多播流来更新中央路由设备20。作为响应,中央路由设备20能够针对在入口路由设备8处活动的任何多播流更新流状态信息。
图3是图示了图1所示中央路由设备20与出口路由设备14之间示例消息流的框图。类似于上文参考图2描述的技术,图3图示了中央路由设备20与出口路由设备14之间目标问候消息40和42的交互以建立这些设备之间的目标邻居连接26。中央路由设备20和出口路由设备14两者均可以维护邻居状态信息,该邻居状态信息包括关于其相应目标邻居的每个目标邻居的信息。在图3的示例中,中央路由设备20是RP。
在目标邻居连接26被建立之后,入口路由设备8可以使用目标邻居连接26向中央路由设备20发送针对多播流的一个或多个接收器活动注册消息。如图3的示例中所示,出口路由设备14向中央路由设备20发送一个或多个接收器活动消息44A-44N。这些接收器活动注册消息中的每个接收器活动注册消息包括多个多播流数据元素,每个标识与相应多播流相关联的源地址和组地址。在某些实例中,源地址可以包括指示与指定组地址相关联的“任意”源的通用或通配符地址。此外,接收器活动注册消息向中央路由设备20指示哪些多播流出口路由设备14感兴趣以及哪些流不感兴趣(或从兴趣中撤回)。接收器活动注册消息和多播流数据元素的示例格式在下文进一步详细描述,诸如例如参考图8。
如果出口路由设备14感兴趣一个或多个特定流(例如,出口路由设备14请求接收与这些特定流相关联的任何数据),则接收器活动注册消息的对应多播流数据元素可以指示一个或多个特定流将被添加到由中央路由设备20维护的流状态信息(例如,图5中所示的流状态信息109)作为出口路由设备14感兴趣的流。然而,如果一个或多个特定流出口路由设备14不感兴趣或从兴趣中撤回,则接收器活动注册消息的对应多播流数据元素可以指示这些一个或多个特定流将从中央路由设备20维护的流状态信息中删除作为出口路由设备14不感兴趣的流。通过此方式,一旦目标邻居连接26被建立,入口路由设备8就能够针对出口路由设备14感兴趣或不感兴趣的流连续更新中央路由设备20。
基于由出口路由设备14发送的注册消息44A-44N的内容,中央路由设备20针对出口路由设备14感兴趣的活动多播流更新其流状态信息。流状态信息标识针对每个活动多播流的相应源地址和组地址,并且还可以标识从中接收该源和组地址信息的设备(例如,入口路由设备8)。在某些示例中,出口路由设备14可以提供其感兴趣的组的前缀范围(例如,225.1/16)。在某些示例中,源地址可以是通配符(例如,*0.0.0.0)以指示出口路由设备14对来自该组任意源的流量感兴趣。
作为一个示例,在从出口路由设备14接收的给定接收器活动注册消息44A-44N中,针对被指示为对多播流数据元素感兴趣的每个多播流,中央路由设备20可以向其流状态信息添加针对出口路由设备14的相应源地址和组地址。另一方面,针对在给定的接收器活动注册消息的多播流数据元素中被指示为从出口路由设备14感兴趣中撤回(或不感兴趣)的每个多播流,中央路由设备20可以从其流状态信息中移除针对出口路由设备14的相应源地址和组地址。
为了提供对这样的接收器活动注册消息44A-44N的处理的非限制性示例,出口路由设备14可以经由目标邻居连接26向中央路由设备20发送第一接收器活动注册消息44A,第一接收器活动注册消息44A包括多播流数据元素组。在该示例中,包含在接收器活动注册消息44A中的该多播流数据元素组可以与第一组多播流相关联,第一组多播流即流1、流2和流3,其分别被指示为出口路由设备14感兴趣(例如,出口路由设备14对从这些流的每个流接收多播流数据感兴趣)。
例如,第一多播流数据元素可以标识共同地与流1相关联的第一源地址S1和第一组地址G1。第一多播流数据元素还(例如,通过指示S1和G1要被添加到由中央路由设备20针对出口路由设备14维护的流状态信息)指示流1出口路由设备14感兴趣。类似地,第二多播流数据元素标识共同地与流2相关联的第二源地址S2和第二组地址G2,并且还指示流2出口路由设备14感兴趣。第三多播流数据元素标识共同地与流3相关联的第三源地址S3和第三组地址G3,并且还指示流3出口路由设备14感兴趣。在此示例中,S1、S2和/或S3可以分别包括指示与G1、G2或G3相关联的任意源的特定源地址或通配符源地址。
在接收到接收器活动注册消息44A之后,中央路由设备20可以通过基于注册消息44A中的第一多播流数据元素向状态信息添加标识针对流1的第一源地址S1和第一组地址G1的第一条目来更新其流状态信息。类似地,中央路由设备20可以基于第二多播流数据元素来添加标识针对流2的第二源地址S2和第二组地址G2的第二条目并且可以基于第三多播流数据元素来添加识别针对流3的第三源地址S3和第三组地址G3的第三条目。中央路由设备20的流状态信息中的第一条目、第二条目和第三条目分别指示出口路由设备14对流1、流2和流3感兴趣。
在某些示例中,流状态信息可以包括对特定组或源/组感兴趣的出口路由设备的列表,并且中央路由设备20可以在接收接收器活动注册消息44A之后更新此列表。在此情况下,流状态信息可以包括(或添加)三个出口路由设备的列表:一个与流1(S1,G1)相关联,一个与流2(S2,G2)相关联,以及一个与流3(S3,G3)相关联。这些列表中的每个列表可以包括针对出口路由设备14的条目,指示出口路由设备14对从这些流中的每个流接收多播流数据感兴趣。
然而,在稍后的时间点处,如果出口路由设备14将流1从兴趣中撤回,并对新的流(流4)表达感兴趣,则出口路由设备14可以经由目标邻居连接26向中央路由设备20发送单独的注册消息44N。注册消息44N包括多播流数据元素组,其中第一数据元素标识共同地与流1相关联的第一源地址S1和第一组地址G1,并且还(例如,通过指示S1和G1要从由中央路由设备20针对出口路由设备14维护的流状态信息删除)指示流1现在由出口路由设备14从兴趣中撤回。注册消息44N包括标识共同地与流4相关联的第四源地址S4和第四组地址G4的第二多播流数据元素,并且还(例如,通过指示S4和G4要被添加到由中央路由设备20针对出口路由设备14维护的流状态信息)指示出口路由设备14现在对流4感兴趣。在此示例中,S4可以包括特定源地址或指示与G4相关联的任意源的通配符源地址。
在接收到注册消息44N之后,在某些实例中,中央路由设备20通过基于注册消息44N中的第一多播流数据元素从状态信息移除标识针对流1的第一源地址S1和第一组地址G1的第一条目来更新其流状态信息。然而,在某些情况下,在这么做之前,中央路由设备20可以更新对流1感兴趣的出口路由设备的列表。具体地,中央路由设备20可以删除此列表中针对出口路由设备14的条目,假设出口路由设备14不再对流1感兴趣。在某些情况下,如下文进一步详细该,中央路由设备20还可以向针对其流1是活动的任意入口路由设备发送接收器注册消息的列表,以向任意这种入口路由设备通知出口路由设备14不再对流1感兴趣。
附加地,中央路由设备20可以基于在注册消息44N中的第二多播流数据元素来添加标识针对流4的第四源地址S4和第四组地址G4的第四条目,指示出口路由设备14对流4感兴趣。中央路由设备20还可以创建对流4感兴趣的出口路由设备的新列表,并且向此列表中添加出口路由设备14。在某些情况下,如下文进一步详细该,中央路由设备20还可以向针对其流4是活动的任意入口路由设备发送接收器注册消息的列表,以向任意这种入口路由设备通知出口路由设备14对流4感兴趣。
在这样的方式中,出口路由设备14能够通过向中央路由设备20发送增量更新针对其感兴趣的多播流来更新中央路由设备20。作为响应,中央路由设备20能够针对出口路由设备14感兴趣的任意多播流更新流状态信息。
图4是图示了图1所示中央路由设备20与入口路由设备8之间另一示例消息流的框图。在某些示例中,图4中图示的示例消息流可以是图2中所示中央路由设备20与入口路由设备8之间示例消息流的继续。在图4的示例中,中央路由设备20是RP。
在图4中,目标邻居连接24已经在中央路由设备20与入口路由设备8之间建立。此外,在某些示例中,可以假设入口路由设备8已经向中央路由设备20发送了一个或多个源活动注册消息(例如,图2中所示的源活动注册消息34A-34N),并且同样出口路由设备14可以已经向中央路由设备20发送了一个或多个接收器活动注册消息(例如,图3中所示的接收器活动注册消息44A-44N)。
如图4所示,中央路由设备20可以向入口路由设备8发送一个或多个接收器列表注册消息54A-54N。每个这种接收器列表注册消息可以指示出口路由设备14是否对一个或多个特定多播流感兴趣(并且请求接收与这些流相关联的数据)。接收器列表注册消息可以标识出口路由设备14(例如,通过地址)以及共同地与该多播流相关联的源地址和组地址。通过此方式,中央路由设备20可以发送一个或多个接收器列表注册消息54A-54N以通知入口路由设备8出口路由设备(例如,出口路由设备14)已经表达了对特定多播组或源/组感兴趣。(接收器注册消息中指定的源地址可以包括通用或通配符地址以指示与组相关联的“任意”源)。
为了提供对这样的接收器列表注册消息54A-54N的处理的非限制性示例,入口路由设备8可以先前已经经由目标邻居连接24向中央路由设备20发送了第一源活动注册消息34A,其包括可以至少与入口路由设备8服务的第一多播流(即流1)相关联的多播流数据元素组。例如,第一多播流数据元素可以标识共同地与流1相关联的第一源地址S1和第一组地址G1。第一多播流数据元素还指示流1在入口路由设备8处是活动的。中央路由设备20还可以在其流状态信息中更新针对流1(S1,G1)是活动的入口路由设备的列表。此列表包括针对入口路由设备8的条目,由于流1在入口路由设备8处是活动的。
出口路由设备14也可以先前已经经由目标邻居连接26向中央路由设备20发送了第一接收器活动注册消息44A,其包括可以至少与第一多播流(即流1)相关联的多播流数据元素组。例如,第一多播流数据元素可以标识共同地与流1相关联的第一源地址S1和第一组地址G1。此第一多播流数据元素还指示出口路由设备14对流1感兴趣。中央路由设备20还可以在其流状态信息中更新对流1(S1,G1)感兴趣的出口路由设备的列表。此列表包括针对出口路由设备14的条目,由于出口路由设备14对流1感兴趣。在此特定示例中,第一接收器活动注册消息44A的S1可以包括特定源地址。然而,在其他示例中,接收器活动注册消息中提供的源地址包括指示对来自相应多播流的任意源的数据感兴趣的通配符源地址。
因此,中央路由设备20可以向入口路由设备8发送包括用于标识流1的第一源地址S1和第一组地址G1并且还包括出口路由设备14的地址的接收器列表注册消息54A。接收器列表注册消息54A还可以指示出口路由设备14已经对流1感兴趣(例如,通过将添加/删除标志设置为“添加”)。通过这样的方式,入口路由设备8了解到出口路由设备14已经对流1感兴趣,并且可以随后经由网络1使用BIER报头向出口路由设备14发送针对流1的任何流数据,该BIER报头指定出口路由设备14作为该流数据的至少一个接收者。同样,在此示例中,接收器列表注册消息54A的S1可以包括特定源地址,然而在其他示例中,接收器列表注册消息中提供的源地址可以包括指示针对相应多播流的任意源的通配符源地址。
然而,在稍后的时间点处,出口路由设备14不再对流1感兴趣,其可以向中央路由设备20发送另一接收器活动注册消息44N。在接收此接收器活动注册消息44N之后,中央路由设备20可以确定哪个入口路由设备具有流1作为活动流。在此特定示例中,入口路由设备8具有流1作为活动流。因此,中央路由设备20可以向入口路由设备8发送另一接收器列表注册消息54A以指示出口路由设备14不再对接收针对流1的数据感兴趣。接收器列表注册消息54A包括用于标识流1的第一源地址S1和第一组地址G1并且还包括出口路由设备14的地址。接收器列表注册消息54A还可以指示出口路由设备14不再对流1感兴趣(例如,通过将添加/删除标志设置为“删除”)。通过这样的方式,入口路由设备8了解到出口路由设备14已经不再对流1感兴趣,
通常,每个接收器列表注册消息54A-54N可以包括针对一个或多个多播流的源/组地址信息。针对每个流,单独接收器列表注册消息还标识已经指示对相应流感兴趣或不感兴趣(例如,撤回兴趣)的一个或多个出口路由设备。接收器列表注册消息中针对每个流的添加/删除标志可以指定相应一个或多个出口路由设备已经对流感兴趣(例如,标志设置为“添加”)或不感兴趣(例如,标志设置为“删除”)。另外,接收器列表注册消息中针对给定流的源地址可以是通配符(例如,*0.0.0.0)用于指示一个或多个相应出口路由设备对来自组中任意源的流量感兴趣。
图5是图示了诸如图1至图4中示出的路由设备中的一个路由设备的示例路由设备80的框图。例如,路由设备8、10、12、14、16、18、20和/或22中的任何路由设备可以包括图5中图示的路由设备80。
在该示例中,路由设备80包括经由进入链接90A-90N(“进入链接90”)接收多播分组并且经由出站链接92A-92N(“出站链接92”)发送多播分组的接口卡88A-88N(“IFC 88”)。IFC 88通常经由多个接口端口被耦合到链接90、92。路由设备80还包括控制单元82,控制单元82确定接收到的分组的路由并且因此经由IFC 88转发分组。
控制单元82可以包括路由引擎84和转发引擎86。路由引擎84操作为针对路由设备80的控制平面并且包括可以提供用于执行多个并发进程的多任务操作环境的操作系统。路由引擎84可以实施一种或多种路由协议102以执行路由进程。例如,路由协议102可以包括用于与计算机网络(例如,网络1)中的其他路由设备交换路由信息并且用于更新路由信息94的边界网关协议(BGP)103。路由引擎84还可以实施用于与其他路由交换链接状态信息的内部网关协议(IGP)协议,诸如链接状态路由协议开放式最短路径优先(OSPF)和/或中介系统到中介系统(IS-IS)。
路由信息94可以描述路由设备80驻留在其中的计算机网络的拓扑结构。路由信息94描述计算机网络内的各种路由以及针对每个路由合适的下一跳,例如沿着路由中的每个路由的邻近路由设备。在图示的示例中,路由信息94包括进入接口(IIF)列表95和指示IFC88中的哪个被连接到每个路由中的邻近路由设备的外出接口(OIF)列表96。
另外,路由协议102可以包括PIM 104,并且具体为PIM SM,用于通过计算机网络(例如,网络1)与其他路由设备路由多播流量。路由引擎84还可以实施PIM 104以更新状态信息98。状态信息98可以描述针对网络的路由设备之间的链路的当前状态。在某些示例中,当网络1包括一个或多个BIER域或子域(如BIER规范中所概括)时,路由引擎84和/或转发引擎86可以用于实现路由铺垫和/或BIER层。
路由引擎84分析存储的路由信息94和状态信息98并生成用于转发引擎86的转发信息106。转发信息106可以例如标识特定下一跳和对应的IFC 88和用于输出链接92的物理输出端口。转发信息106可以是被编程到专用转发芯片、一系列表格、复杂数据库、链接列表、基数树、数据库、平面文件或各种其他数据结构中的基数树。在图5图示的示例中,转发信息106包括转发路由,该转发路由包括用于将多播流量转发到邻近路由设备的特定路由。一般地,当路由设备80经由入站链接90中的一个入站链接接收多播分组时,控制单元82根据转发信息106确定用于分组的下一跳,并且根据该下一跳来转发分组。
如图5所示,并且如以上参考图2至图4所描述的,状态信息98还包括邻居状态信息108和流状态信息109。路由设备80可以维护邻居状态信息108以包括关于其目标邻居和目标邻居连接中的全部的信息。路由设备80可以在邻居状态信息108中存储利用其已经建立目标邻居连接的目标邻居的地址,以及与这样的连接中的每个连接相关联的任何能力或特征信息。例如,如果路由设备80包括已经与中央路由设备(例如,中央路由设备20)建立了目标邻居连接(例如,目标邻居连接24)的入口路由设备(例如,入口路由设备8),则路由设备可以在邻居状态信心108中存储中央路由设备的主地址和任何次级地址(例如,任意播地址)以及由中央路由设备支持的或已经在两个设备之间被协商的任何能力或特征。一般地,邻居状态信息108可以包括这样的地址和能力/特征信息。
状态信息98还包括流状态信息109,流状态信息109包括与由路由设备80服务的和/或路由设备80或其他路由设备(例如,出口路由设备)感兴趣的活动流相关联的信息。路由设备80响应于从另一路由设备接收到注册消息(例如,图2中示出的注册消息34A-34N,图3中示出的注册消息44A-44N,图4中示出的接收器列表注册消息54A-54N)来维护并更新流状态信息109。例如,路由设备80可以从第二路由设备接收用于指示一个或多个多播流的组在第二路由设备处已经变得活动的源活动注册消息。在这样的示例中,路由设备80可以存储与流状态信息109中的这些活动流中的每个活动流相关联的源地址和组地址。流状态信息109标识针对每个活动多播流的相应的源地址和组地址。在一些实例中,路由设备80还可以在流状态信息109中存储已经从其接收到源地址信息和组地址信息的第二路由设备的地址(例如,主地址)。
随后,如果这些流中的任何流在第二路由设备处被撤回,则路由设备80可以从第二路由设备接收指定已经被撤回的流的源地址和组地址的另一源活动注册消息。在接收到该更新的消息时,路由设备80更新其流状态信息109(例如,删除针对撤回的流的源地址和组地址,并且在某些情况下还删除第二路由设备的地址)。以这种方式,一旦已经与路由设备80建立了目标邻居连接,则路由设备80能够持续地更新其流状态信息109以添加针对现有的且活动的多播流的源地址信息和组地址信息,并且删除针对已经被撤回的任何流的源地址信息和组地址信息。
在其他示例中,路由设备80可以从第二路由设备接收接收器活动注册消息用于指示第二路由设备感兴趣的一个或多个多播流的组。在此示例中,路由设备80可以存储与流状态信息109中这些流的每个流相关联的源和组地址。流状态信息109标识针对每个活动多播流的相应源和组地址。如上文该,在某些情况下,源地址可以包括指示与该组相关联的任意源的通配符地址。在某些实例中,路由设备80还可以在流状态信息109中存储已经从其接收了源和组地址信息的第二路由设备的地址(例如,主地址)。
随后,如果第二路由设备不再对这些流中的任意流感兴趣,则路由设备80可以从第二路由设备接收指定该流的源和组地址已经从兴趣中撤回的另一接收器活动注册消息。在接收此更新消息之后,路由设备80更新其流状态信息109(例如,删除针对撤回流的源和组地址)。通过此方式,一旦与路由设备80建立目标邻居连接,路由设备80就能够继续更新其流状态信息109以添加针对感兴趣的多播流的源和组地址信息,以及删除针对已经从兴趣中撤回的任意流的源和组地址信息。在接收源活动和/或接收器活动注册消息之后,路由设备80可以向一个或多个入口路由设备发送接收器列表注册消息以提供针对特定出口路由设备感兴趣的流或者已经由特定出口路由设备从兴趣中撤回的流的更新源和/或组信息。
在某些示例中,路由设备80可以发送(例如,如果路由设备80是中央路由设备)或接收(例如,如果路由设备80是入口路由设备)接收器列表注册信息以指示一个或多个多播流的组针对注册消息中指示的一个或多个出口路由设备是感兴趣的或从兴趣中撤回的。在这样的示例中,如果路由设备80是入口路由设备,则路由设备80可以将与感兴趣的这些流的每个流相关联的源和组地址存储在流状态信息109中,并且还可以存储对这些相应流感兴趣的出口路由设备的地址。如上文该,在某些情况下,源地址可以包括指示对来自与该组相关联的任意源的数据感兴趣(或不感兴趣)的通配符地址。在此示例中,路由设备80能够基于出口路由设备的列表构建位图,形成Bier多播分组报头,以及使用此BIER报头向接收器列表注册消息中指示的出口路由设备发出多播数据分组。因此,任意明确树建立协议可能不是必须的,并且中间节点可能不需要维护任何每流状态。
如果接收器列表注册消息指示针对指示的出口路由设备特定流不被感兴趣或从兴趣中撤回,则路由设备80(其可以包括入口路由设备)更新其流状态信息109(例如,删除不再对注册消息中指示的流感兴趣的出口路由设备的地址)。通过此方式,一旦与路由设备80建立目标邻居连接,路由设备80就能够连续更新其流状态信息109以指示哪些出口路由设备对特定多播流感兴趣。
仅出于示例性目的示出了图5中图示的路由设备80的架构。本公开不一定限于该架构。在其他示例中,路由设备80可以以各种方式被配置。在一个示例中,控制单元82的功能中的一些功能可以被分布在IFC 88内。在另一示例中,控制单元82可以包括操作为从路由器的多个分组转发引擎。
控制单元82可以单独地被实施在软件或硬件中,或者可以被实施为软件、硬件或固件的组合。例如,控制单元82可以包括执行软件指令的一个或多个处理器。在这种情况下,控制单元82的各种软件模块可以包括存储在诸如计算机存储器或存储设备的计算机可读存储介质上的可执行指令。
图6是图示了在中央路由设备20与多个不同入口路由设备8、200之间以及还在中央路由设备20与多个不同出口路由设备14、206之间建立的目标邻居连接的示例的框图。一般地,中央路由设备(诸如中央路由设备20)可以与一个或多个入口路由设备建立相应的目标邻居连接,并且还可以与一个或多个出口路由设备建立相应的目标邻居连接。另外,虽然未在图6中示出,但每个中央路由设备还可以能够与一个或多个其他中央路由设备建立相应的目标邻居连接。具体地,在一些示例中,在中央路由设备服务相同的任播地址时或在这些中央路由设备还充当针对不同多播源的入口路由设备时,这些中央路由设备(例如,RP)可以彼此形成目标邻居关系。在图6的示例中,图示的目标邻居连接中的每个目标邻居连接可以包括可靠传输连接。
参考图6,中央路由设备20以诸如先前该的方式与入口路由设备8建立目标邻居连接24。类似地,中央路由设备与入口路由设备200建立了目标邻居连接202。中央路由设备20、入口路由设备8和入口路由设备200中的每一个可以各自存储与其相应的目标邻居和目标邻居连接相关联的邻居状态信息(例如,图5中示出的邻居状态信息108)。
附加地,中央路由设备20以诸如先前该的方式与出口路由设备14建立目标邻居连接26。类似地,中央路由设备与出口路由设备206建立了目标邻居连接204。中央路由设备20、出口路由设备14和出口路由设备206中的每一个可以各自存储与其相应的目标邻居和目标邻居连接相关联的邻居状态信息(例如,图5中示出的邻居状态信息108)。
另外,虽然未示出,但是中央路由设备20可以与另一单独中央路由设备建立单独目标邻居连接。为了这样做,中央路由设备20和另一中央路由设备可以交换目标问候消息并且存储包括中央路由设备20或另一中央路由设备的相应的主地址的关于此目标邻居连接的状态信息以及潜在地存储与目标邻居连接202相关联的任何能力/特征。
另外,这些中央路由设备还可以支持PIM ASM并且各自服务相同的任播地址。一般地,服务任播地址的中央路由设备(例如,RP)可以被配置为存储服务相同的任播地址的其他中央路由设备的主地址,并且这些中央路由设备可以共同地形成全网状的目标邻居关系。因此,如果中央路由设备20和另一中央路由设备两者都服务相同的任播地址,则中央路由设备20存储另一中央路由设备的主地址,并且另一中央路由设备存储中央路由设备20的主地址。
在某些示例中,本公开的技术允许路由设备8、200、14或206中的任何路由设备通过交换目标问候消息以及相应目标邻居连接的建立来发现中央路由设备20和/或另一中央路由设备的主地址。中央路由设备20和/或另一中央路由设备的任播地址和主地址可以被存储在邻居状态信息108(图5)中。因此,在任何时间点处,路由设备8、200、14或206中的任一个可以能够通过交换目标问候消息来发现服务给定任播地址的最近或当前的任播中央路由设备的主地址(例如,中央路由设备20或另一中央路由设备的主地址)。
如果中央路由设备20和另一中央路由设备均被配置为共享相同任播地址的任播RP,则中央路由设备20还可以向其他中央路由设备传输其从路由设备8、200、14或206中的一个或多个接收的任意注册消息。因此,中央路由设备20可以使用其与另一中央路由设备的目标邻居连接作为中央路由设备中共享相同任播地址的全网状目标邻居连接的一部分以维护关于多播流的流状态信息,并且这些中央路由设备可以交换从单独路由设备(诸如路由设备8、200、14或206)接收的注册消息。另外,在故障或其他问题的情况下,这些路由设备可以从第一中央路由设备(例如,中央路由设备20)过渡到共享相同任播地址的另一中央路由设备,并且可以继续向该第二中央路由设备发送注册消息使得对多播流量的处理可以继续。
图7是图示了目标问候消息的示例表示的概念图。在一些示例中,目标问候消息的表示可以被称为类型-长度-值或TLV表示。在本公开中讨论的各种目标问候消息,包括图2和图3中示出的目标问候消息,可以具有图7中示出的格式。如之前所指出的,目标问候消息可以具有单播地址作为目的地址,并且它们可以使用单播路由来遍历多跳以到达由目的地址标识的目标问候邻居。
如在图7的示例中示出的,目标问候消息可以包括字段300、字段302、字段304、字段306、字段308和字段310。字段300具有指定针对目标问候消息的消息类型的值(例如,用于目标问候消息类型的值为三十六)。字段302具有指定字段304、字段306、字段308和字段310的组合字节长度的值(例如,值为四个字节)。在非限制性示例中,字段300和字段302中的每个域在长度上为两个字节。
字段304具有指定目标问候消息的发送者是否请求在目标邻居关系中扮演FHR/入口路由设备的角色的值。在一个示例中,域304在长度上为一位并且具有一(例如,发送者请求扮演FHR/入口路由设备的角色)或零(例如,发送者不请求扮演FHR/入口路由设备的角色)的值。
字段306具有指定目标问候消息的发送者是否是能够根据当前状态扮演目标邻居关系中的中央路由设备/RP的角色的设备的值。在一个示例中,域306在长度上为一位并且具有一(例如,发送器能够扮演中央路由设备/RP的角色)或零(例如,发送器不能够扮演中央路由设备/RP的角色)的值。如果特定中央路由设备/RP服务任播中央路由设备/RP地址,则在一些示例中该中央路由设备/RP应当将字段306的值设定为一。
字段308可以包括在传输时被设定为零并且在接收时忽略的保留域。在一个示例中,字段308在长度上为二十六位。
最终,字段310可以被提供用于某些(例如,实验)用途,例如发出实验能力或特征的信号。例如,如果发送者支持特定能力或特征,则其可以相应地设定字段310的值。交换目标问候消息的路由设备可以使用这样的消息的字段310中的信息以在建立目标邻居连接时发现和/或协商一个或多个能力/特征。在一个示例中,字段310在长度上为四位。
图8是图示了注册消息的示例表示的概念图。在一些示例中,注册消息的表示可以被称为类型-长度-值或TLV表示。在本公开中讨论的各种注册消息,包括图2中示出的注册消息34A-34N和图3中示出的注册消息44A-44N,可以具有图8中示出的格式。
如在图8的示例中示出的,注册消息可以包括字段400、字段402、字段404、字段406、字段408A-408N、字段410A-410N、字段412A-412N和字段414A-414N。字段400具有指定消息类型的值(例如,对于IPv4多播流值为三,对于IPV6多播流值为四)。字段402具有指定字段404、字段406、字段408A-408N、字段410A-410N、字段412A-412N和字段414A-414N的共同字节长度的值。在非限制性示例中,字段400和字段402中的每个字段在长度上为两个字节。
字段402是具有可以在一些情况下仅仅在传输时被设定为零并且在接收时忽略的值的保留字段。然而,在某些情况下,字段414的值可以与应用到整个消息的属性相关联。字段406还可以被保留用于实验用途。在非限制性示例中,字段404在长度上为二十八位并且字段406在长度上为四位。
如之前所讨论的,每个注册消息可以包括多个多播流数据元素。例如,在图8的示例中,字段408A、字段410A、字段412A和字段414A的值可以与多播流数据元素“A”相关联,并且字段408N、字段410N、字段412N和字段414N的值可以与多播流数据元素“N”相关联。多播流数据元素“A”与特定多播流“A”相关联,并且多播流数据元素“N”与特定多播流“N”相关联。
字段410A是具有可以在一些情况下仅仅在传输时被设定为零并且在接收时忽略的值的保留字段。然而,在某些情况下,字段410A的值可以与应用到多播流“A”的属性和/或包括在多播流数据元素“A”中的源地址和组地址相关联。在非限制性示例中,字段410A在长度上为三十一位。
字段408A指明源地址412A和标识符414A是否要被添加或被删除。通常,字段414A可以包括任意标识符,但在以下描述中,假设字段414A包括组地址。在一个示例中,字段408A在长度上为一位,字段408A具有为一(例如,添加)或零(例如,删除)的值。当入口路由设备设定字段408A的值以指示源地址412A和组地址414A要被添加时,入口路由设备已经将多播流“A”标识为在入口路由设备处为活动流,使得中央路由设备可以添加针对该流的流状态信息(例如,源地址412A和组地址414A)。另一方面,如果字段408A的值指示源地址412A和组地址414A要被删除时,入口路由设备已经将多播流“A”标识为在入口路由设备处被撤回,使得中央路由设备可以删除针对该流的流状态信息(例如,源地址412A和组地址414A)。
字段412A指定与多播流“A”相关联的源地址。在非限制性示例中,字段412A具有四的字节长度和对应于在没有任何编码的情况下IPv4流的源地址的值,而在其他示例中,字段412A具有十六的字节长度和对应于在没有任何编码的情况下IPv6流的源地址的值。
字段414A指定与多播流“A”相关联的组地址。在非限制性示例中,字段414A具有四的字节长度和对应于在没有任何编码的情况下IPv4流的组地址的值,而在其他示例中,字段414A具有十六的字节长度和对应于在没有任何编码的情况下IPv6流的组地址的值。
字段408N、字段410N、字段412N和字段414N类似于字段408A、字段410A、字段412A和字段414A但是相反对应于多播流数据元素“N”。任何数量的多播流数据元素可以被包括在给定注册消息中,并且每个特定多播流数据元素与活动的(例如,要被添加的)或被撤回的(例如,要被删除的)的相应的多播流相关联。
如上文该,在某些情况下,图8中所示的格式可以用于接收器活动注册消息,诸如图3中所示的接收器活动注册消息。在这些情况下,在某些实例中,图8中所示的注册消息TLV还可以包括针对地址的字段或者针对出口路由设备/最后一跳路由器的其他标识符。在某些情况下,图8中所示的格式可以被扩展和/或修改供与接收器列表注册消息一起使用。例如,该格式可以被扩展以包括接收器列表注册消息中包括的出口路由设备的一个或多个地址或标识符的列表。
在其他示例中,可以利用除了或代替图8中所示格式的消息/分组格式,诸如针对接收器活动、源活动和/或接收器列表注册消息。下面描述了某些非限制示例。在这些非限制示例的一个或多个非限制示例中,假设某些消息包括一个或多个组地址,虽然在各其他示例中,这些组地址可以由一个或多个通用标识符(诸如一个或多个通用组标识符)替换。
在某些示例中,针对接收器活动注册消息,还可以使用下文所示的分组格式:
针对接收器活动注册消息的示例分组格式
在此示例中,0到31位在分组格式的顶部示出,并且该格式每个所示的行可以包括32位。PIM版本和类型可以在指示的字段中指定,其中PIM类型可以具有指示该消息是接收器活动注册消息的值。如上所示,示例分组格式可以包括针对已经发送了接收器活动消息的设备的最后一跳路由器(出口路由设备)的地址的字段,其被示为“最后一跳路由器IP(BFR前缀)”,其中“BFR前缀”包括针对可以用于BIER实现的位转发路由器的前缀。
针对接收器活动注册消息的示例分组格式可以指定该消息中包括的组的数目,并且还指定针对该消息中表示的每个多播流的源和组地址。“A”位或标志指示添加还是撤回与组或源/组组合相关联的一个或多个流。例如,如果发送接收器活动注册消息的特定出口路由设备对特定流感兴趣,则其可以将“A”位设置为1(例如,添加)。然而,如果该出口路由设备对该流不感兴趣,则其可以将“A”位设置为0(例如,撤回)。“A”位的值可以应用于独立流,在此情况下接收器活动消息中的每个流具有其自己独立并且不同的“A”位值,或者在某些情况下,“A”位的值可以应用于该消息中表示的所有流。
接收器活动消息的每个流可以由源/组地址组合表示,并且“#组”字段可以指示消息中表示的流的数目。然而,源地址可以是通配符地址(例如,*0.0.0.0)以指示已经发送接收器活动消息的出口路由设备对来自指示组的任意源的流量感兴趣(或不感兴趣)。此外,针对任意独立组地址,出口路由设备可以提供其感兴趣的组的前缀范围(例如,225.1/16)。
在某些示例中,针对源活动注册消息,还可以使用下面示出的分组格式:
针对源活动注册消息的示例分组格式
在此示例中,0到31位在分组格式的顶部示出,并且该格式每个所示的行可以包括32位。PIM版本和类型可以在指示的字段中指定,其中PIM类型可以具有指示该消息是源活动注册消息的值。
针对源活动注册消息的示例分组格式可以指定该消息中包括的组的数目,并且还指定针对该消息中表示的每个多播流的源和组地址。“A”位或标志指示添加还是撤回与组或源/组组合相关联的一个或多个流。例如,如果特定流在入口路由设备处是活动的,则发送源活动消息的入口路由设备可以将“A”位设置为1(例如,添加)。然而,如果该流在入口路由设备处撤回,则该入口路由设备可以将“A”位设置为0(例如,撤回)。“A”位的值可以应用于独立流,在此情况下源活动消息中的每个流具有其自己独立并且不同的“A”位值,或者在某些情况下,“A”位的值可以应用于该消息中表示的所有流。源活动消息的每个流可以由源/组地址组合表示,并且“#组”字段可以指示该消息中表示的流的数目。因此,虽然上文针对源活动注册消息示出的示例分组格式仅图示了针对特定流的一个组/源地址对,但是可以包括任意数目的组/源地址对,并且“#组”字段可以指示对(例如,流)的数目。
图9是图示了注册消息的另一示例表示的示意图。在某些示例中,接收器列表注册消息(诸如图4中所示的接收器列表注册消息54A-54N)可以具有图9中所示的分组格式。
如图9的示例中所示,接收器列表注册消息可以包括字段430、432、434、436、438、440、442、444、446和450A-450N。在非限制示例中,字段430的长度为4位、字段430的长度为4位、字段430的长度为4位、字段430的长度为4位、字段432的长度为4位、字段434的长度为8位、字段436的长度为16位、字段438的长度为1位、字段440的长度为23位、字段442的长度为8位以及字段444、446和450A-450N各自的长度为32位。
字段430具有指定PIM版本的值,并且字段432具有指定消息类型的值。消息类型可以指示该消息是接收器列表注册消息类型。字段434和440各自可以是保留字段,并且字段436是校验和字段。
字段438指定添加还是撤回与组或源/组组合相关联的一个或多个流。例如,如果该消息中针对特定流指定的出口路由设备对该流感兴趣,则字段438中的“A”位可以被设置成1(例如,添加)。然而,如果该消息中针对该流指定的对应出口路由设备对该流不感兴趣或已经从兴趣中撤回,则字段438中的“A”位可以被设置成0(例如,撤回)。
图9中所示接收器列表注册消息的示例分组格式可以在字段442中指定该消息中包括的组的数目,并且还可以指定针对该消息中表示的每个多播流的源和组地址。另外,针对消息中表示的每个多播流,还提供一个或多个出口路由设备的地址,其中这些出口路由设备对相应流感兴趣或不感兴趣。在图9的示例中,字段442可以指示存在一个组和相关联的流,其中字段444指定标识符(例如,组地址)并且字段446指定针对此相应流的源地址。字段450A-450N指定已经对此相应流表达了感兴趣或不感兴趣的一个或多个出口路由设备的地址。
然而,在字段442指示存在针对多个相应流的多个组的其他示例中,图9中图示的分组格式可以被扩展以包括多个组/源地址对,类似于字段444和446的对。另外,针对每个组/源地址对,分组格式可以包括类似于字段450A-450N的字段以指定已经对每个相应流(例如,在每个相应组/源地址对)表达了感兴趣或不感兴趣的一个或多个出口路由设备的地址。在这些示例中,字段438中的“A”值可以应用于该消息中表示的所有流。然而,在某些备选示例中,每个相应流可以具有相关联“A”位值,在此情况下类似于字段438的字段可以针对每个组/源地址对包括在图9的消息格式中以指示针对每个组/源地址对指定的对应出口路由设备对每个相应流是感兴趣还是不感兴趣。
在某些示例中,图9中所示的分组格式中包括的源地址(例如,源地址446)可以是通配符地址(例如,*0.0.0.0)以指示接收器列表消息中针对给定流指定的一个或多个出口路由设备对来自指定组(例如,与字段444中指定组地址相关联的组)的任意源的流量感兴趣(或不感兴趣)。通常,针对上文描述和/或图8和/或图9中所示各种不同示例分组格式,针对“源地址”的字段包括在相应分组格式中。此“源地址”可以包括与特定源相关联的特定地址,或者如上文该,在某些情况下,源地址可以是通配符地址,或者甚至被设置为预定值以指示与特定组相关联的“任意源”。
在某些情况下,多播流覆盖可以变成所涉及的位,因为入口路由设备和出口路由设备可以在不同时间上线。例如,如果在问候消息已经交换并且建立了多播转发(例如,基于BIER架构)之后新的入口路由设备和/或出口路由设备上线,则中央路由设备(例如,中央路由设备20)可以具体地更新向这些新入口路由设备提供的新信息。为了解决这种情况,中央路由设备可以实现能够用于有效管理该信息并且还保持状态最新的某些过程。
在某些示例中,中央路由设备(例如,在下文示例中进一步描述的RP)可以维护数据库(例如,RP-dB)以跟踪组,针对该特定组是活动的入口路由设备和针对该特定组表达过感兴趣的出口路由设备。通过此方式,RP可以跟踪状态并根据最新信息更新入口路由设备。例如,RP-dB可以包括或包括在图5中所示的状态信息98(例如,流状态信息109)中。
图10是图示了入口路由设备与活动多播流之间的示例关联性以及出口路由设备与感兴趣的多播流之间的示例关联性的示意图。图10中图示的关联性信息可以被存储在RP-dB中。图11是图示了存储与多播流相关联的信息(诸如例如图10中图示的信息)的示例数据库500(例如,RP-dB)的框图。图10中图示的关联性信息和/或图11中图示的数据库500可以包括或包括在图5中所示的状态信息98(例如,流状态信息109)中。
如图10的示例中所示,各种不同的入口路由设备(例如,第一跳路由器)具有活动多播流。在此示例中,入口路由设备被表示为F1、F2、F3、F4和F5。各种不同的出口路由设备(例如,最后一跳路由器)已经对某些多播流表达了感兴趣。出口路由设备被表示为L1、L2、L3和L4。不同组或源/组在图10中被表示为(*,G1)、(S1,G1)、(S2,G1)、(S2,G3)、(*,G4)、(S4,G4)和(S5,G5)。
在图10中,与(S1,G1)相关联的多播流在F1是活动的,并且F1正发送针对此流的流量。类似地,F2和F3各自正发送针对与(S2,G1)相关联的流的流量,由于此流在F2和F3是活动的。F3也正在发送针对与(S3,G3)相关联的流的流量。F4正发送针对与(S4,G4)相关联的流的流量,并且F5正发送针对与(S5,G5)相关联的流的流量。
如图10中所示,L1、L2和L3各自对与G1相关联的任意多播流数据感兴趣,并且监听针对与G1相关联的任意多播流数据的数据。L4对与G4相关联的任意多播流数据感兴趣。L1和L4各自对与(S5,G5)相关联的多播流数据感兴趣。
作为一个示例,与图10中所示多播流中的每个多播流(即,(*,G1)、(S1,G1)、(S2,G1)、(S2,G3)、(*,G4)、(S4,G4)和(S5,G5))相关联的组或源/组信息可以包括在图11中所示的数据库500的流组/源信息502中。针对每组或源/组,入口路由设备/流信息504包括正发送针对相应组或源/组的流量的入口路由设备的列表。针对每组或源/组,出口路由设备/流信息506包括已经表达了对相应组或源/组感兴趣的出口路由设备的列表。
因此,基于图10中所示的示例,信息504可以包括以下列表:(1)包括针对(S1,G1)的F1(例如,F1的地址)的第一列表;(2)包括针对(S2,G1)的F2和F3的第二列表;(3)包括针对(S3,G3)的F3的第三列表;(4)包括针对(S4,G4)的F4的第四列表;以及(5)包括针对(S5,G5)的F5的第五列表。信息506可以包括以下列表:(1)包括针对(*,G1)的L1、L2和L3的第一列表;(2)包括针对(*,G4)的L4的第二列表;以及(3)包括针对(S5,G5)的L1和L5的第三列表。
存在可以在RP出现的各种不同触发,其可以使得RP采取对应的动作以尝试确保状态同步。在以下示例描述中,不同的触发以T1、T2、T3和T4表示,并且响应于这些触发由RP采取的动作被表示为A1、A2、A3、A4、A5、A6、A7、A8、A9和A10。
在下文描述的非限制示例中,不同触发T1、T2、T3和T4通常如表1所示被定义如下:
表1
响应于这些触发由RP采取的不同动作A1、A2、A3、A4、A5、A6、A7、A8、A9和A10通常如表2所示被定义如下:
表2
使用上文定义的触发和动作,RP可以执行响应于特定触发的特定动作组。例如,RP可以执行下面在表3中所列的动作:
触发 | 响应于触发采取的动作 |
T1 | A1,A2,A7 |
T2 | A1,A3,A8 |
T3 | A9,A5,A4 |
T4 | A10,A6,A4 |
表3
这些实例动作现在将更详细描述。触发T1在RP从针对(*/S,G)的特定出口L(例如,出口路由设备L1、L2、L3或L4)接收接收器活动注册消息时出现。术语“(*/S,G)”指示特定源/组(S,G)可以被指定(例如,(S1,G1)),或者只是组可以针对任意源(*,G)指定(例如,(*,G1))。出口路由设备指定(例如,使用先前该的A位/标志)接收器活动注册消息中的ADD以指示对(*/S,G)感兴趣。作为响应,RP执行动作A1、A2和A7。在动作A1中,RP将(*/S,G)填充在RP-dB中(例如,流组/源信息502)以支持未来跟踪。在动作A2中,RP跟踪出口L以用状态的任何未来更新来更新入口。因此,RP向针对(*/S,G)的出口列表(例如,在出口路由设备/流信息506)添加出口L。在动作A7,RP确定是否存在已经针对(*/S,G)发送源活动注册消息的入口路由设备。RP遍历针对(*/S,G)的入口列表中(例如,在入口路由设备/流信息504)的入口,并且针对此列表中包括的每个入口F,RP向相应入口F发送具有出口-组信息的接收器列表注册消息(L:(*/S,G))-ADD。在接收器列表消息中,针对(*/S,G),消息包括已经对(*/S,G)表达了感兴趣的每个出口L的标识符(例如,地址)。
作为一个非限制示例,T1可以在RP从对(S5,G5)表达感兴趣(ADD)的出口L1接收接收器活动注册消息时出现。作为响应,RP执行动作A1、A2和A7。在动作A1中,RP将(S5,G5)填充在RP-dB中,如果尚不存在。在动作A2中,RP向针对(S5,G5)的出口列表添加出口L1。在动作A7中,RP确定是否存在已经针对(S5,G5)发送源活动注册消息的入口路由设备。RP遍历针对(S5,G5)的入口列表中的入口,并且针对此列表中包括的每个入口,RP向相应入口发送接收器列表注册消息以指示哪些出口路由设备已经对(S5,G5)表达了感兴趣。在此特定示例中,如图10所示,入口F5可以是针对(S5,G5)的列表中的唯一入口。RP可以向入口F5发送接收器列表消息,其将出口L1标识为对针对(S5,G5)的接收数据表达感兴趣。
触发T2在RP从入口F接收针对(S,G)的源活动注册消息时出现以指示(S,G)在针对多播数据转发的入口F处是活动的。入口路由设备指定(例如,使用先前该的A位/标志)源活动注册消息中的ADD以指示(*/S,G)是活动的。作为响应,RP执行动作A1、A3和A8。在动作A1中,RP将(S,G)填充在RP-dB中,如果尚不存在,以支持未来跟踪。在动作A3中,RP跟踪入口F以用状态的任何未来更新来更新入口。因此,RP向针对(S,G)的入口列表添加入口F。在动作A8中,RP确定是否存在已经针对(*/S,G)发送接收器活动注册消息的出口,如出口可能已经对(S,G)或针对G的任意源(诸如,(*,G))表达过。RP遍历针对(*/S,G)的出口列表中的出口,并且针对每个出口L,RP将出口L包括在向接收器列表消息中的新入口F发送的针对(*/S,G)的出口-组信息中(L:(*/S,G)-ADD。在接收器列表消息中,针对(*/S,G),该消息包括已经对(*/S,G)表达了感兴趣的每个出口L的标识符(例如,地址)。
作为一个非限制示例,T2可以在RP从针对(S4,G4)的入口F4接收源活动注册消息时(如图10中所示)出现以指示(S4,G4)在针对多播数据转发的入口F4处是活动的。作为响应,RP执行动作A1、A3和A8。在动作A1中,RP将(S4,G4)填充在RP-dB中,如果尚不存在,以支持未来跟踪。在动作A3中,RP跟踪入口F4以用状态的任何未来更新来更新入口。因此,RP向针对(S4,G4)的入口列表添加入口F4。在动作A8中,RP确定是否存在已经针对(S4,G4)或只有(*,G4)发送接收器活动注册消息的出口。RP遍历针对(S4,G4)的出口列表中的出口,并且针对该列表中的每个出口,RP将出口包括在向接收器列表消息中的入口F4发送的针对(S4,G4)的出口-组信息中。因此,接收器列表消息指示哪些出口路由设备已经对(S4,G4)或(*,G4)表达了感兴趣。在图10所示的示例中,出口L4已经对(*,G4)表达了感兴趣。因此,RP向入口F4发送接收器列表消息以指示出口L4对(*,G4)感兴趣。在接收器列表消息中,针对(*,G4)的源地址可以包括通配符字符以指示任何源,源地址可以包括针对G4的地址,并且出口路由设备可以包括出口L4的地址。
关于附加触发T3和T4,触发T3在RP从特定出口L接收接收器活动注册消息时出现,指示此出口L对(*/S,G)不感兴趣或撤回兴趣。出口路由设备指定(例如,使用先前该的A位/标志)接收器活动注册消息中的撤回以指示对(*/S,G)不感兴趣或撤回兴趣。作为响应,RP执行动作A9、A5和A4。在动作A9中,RP确定是否存在已经针对(*/S,G)发送了源活动注册消息的入口路由设备。RP遍历针对(*/S,G)的入口列表中(例如,在入口路由设备/流信息504中)的入口,并且针对此列表中包括的每个入口F,RP向相应入口F发送具有出口-组信息的接收器列表注册消息(L:(*/S,G))-WITHDRAW。在接收器列表消息中,针对(*/S,G),消息包括已经对(*/S,G)撤回兴趣的每个出口L的标识符(例如,地址)。在动作A5中,RP在RP-dB中(例如,在出口路由设备/流信息506中)移除来自针对(*/S,G)的出口列表的出口L。在动作A4中,如果针对(*/S,G)的出口列表和入口列表各自为空,则RP从RP-dB中(例如,从流组/源信息502中)移除(*/S,G)。
触发T4在RP从入口F接收针对(S,G)的源活动注册消息时出现,以指示(S,G)被撤回并且不再在针对多播数据转发的入口F活动。作为响应,RP执行动作A10、A6和A4。在动作A10中,RP确定是否存在已经发送接收器活动注册消息以指示对(*/S,G)感兴趣的出口路由设备。RP遍历针对(*/S,G)的出口列表中(例如,在出口路由设备/流信息506中)的出口,并且针对此列表中包括的每个出口L,RP将出口L包括在向接收器列表消息中的入口F发送的针对(*/S,G)的出口-组信息中(L:(*/S,G))-WITHDRAW。在接收器列表消息中,针对(*/S,G),消息包括针对(*/S,G)的每个出口L的标识符(例如,地址)。在动作A6中,RP在RP-dB中(例如,在入口路由设备/流信息504中)移除来自针对(*/S,G)的入口列表的入口F。在动作A4中,如果针对(*/S,G)的出口列表和入口列表各自为空,则RP从RP-dB中(例如,从流组/源信息502中)移除(*/S,G)。
通过上文该的技术,包括新出口的转发入口路由设备可以了解到已经对特定组或源/组表达了兴趣的任何新的出口路由设备。同样,通过入口和出口路由设备的上述跟踪,RP将其状态与网络保持同步并且可以通过可靠迅速的方式用最新的精确信息来更新入口路由设备。
图12是图示了由路由设备(诸如由图1至图6中示出的路由设备的一个或多个路由设备)来实施的示例过程600的流程图。过程600包括操作602、604和606以及下面叙述的各种其他可能的操作。
第一路由设备(例如,中央路由设备20)与第二路由设备(例如,入口路由设备8)交换(例如,使用PIM协议)多个目标问候消息(例如,目标问候消息30、32)以建立该第一路由设备与该第二路由设备之间的目标邻居连接(例如,目标邻居连接24),其中该第一路由设备或该第二路由设备中的一个包括中央路由设备,并且其中该第一路由设备或该第二路由设备中的另一个包括与至少一个源设备(例如,源设备2、4)通信耦合的入口路由设备(602)。
第一路由设备使用与第二路由设备的目标邻居连接来处理指定共同与由该至少一个源设备提供的多播流相关联的源地址和标识符(例如,组地址)的源活动注册消息(例如,源活动注册消息34A、34N),并且其中该源活动注册消息还指示该多播流是活动的还是被撤回的(604)。在处理该源活动注册消息之后,由该第一路由设备使用与该第二路由设备的该目标邻居连接来处理指定出口路由设备(例如,出口路由设备14)和与该多播流相关联的至少该标识符的接收器列表注册消息(例如,接收器列表注册消息54A、54N),其中该接收器列表注册消息还指示该出口路由设备是否请求接收与该多播流相关联的数据(606)。
目标邻居连接可以包括可靠传输连接,第一路由设备可以包括该中央路由设备,并且第二路由设备包括该入口路由设备。交换该多个目标问候消息包括由中央路由设备从该入口路由设备接收第一目标问候消息,第一目标问候消息包括被寻址到该中央路由设备的第一单播消息,以及由该中央路由设备向该入口路由设备发送第二目标问候消息以确认对该第一目标问候消息的接收,其中该第二目标问候消息包括被寻址到该入口路由设备的第二单播消息。在此示例中,处理该源活动注册消息包括由该中央路由设备使用该目标邻居连接从该入口路由设备接收该源活动注册消息,该源活动注册消息指示该多播流在该入口路由设备处是活动的还是被撤回的,以及处理该接收器列表注册消息包括使用该目标邻居连接从该中央路由设备向该入口路由设备发送该接收器列表注册消息。
过程600可以包括由该中央路由设备基于该源活动注册消息来更新在该入口路由设备处是活动的多播流的状态信息,其中如果该源活动注册消息指示该多播流是活动的,则该中央路由设备向该状态信息添加该源地址和该标识符,以及其中如果该源活动注册消息指示该多播流是被撤回的,则该中央路由设备从该状态信息移除该源地址和该标识符。
在某些情况下,接收器列表注册消息还指定与该多播流相关联的该源地址。在某些情况下,接收器列表注册消息的源地址可以指定(例如,使用针对源地址的通配符地址)与针对多播流的组地址相关联的任意源。
标识符可以包括组地址,并且源活动注册消息可以包括多个多播流数据元素,其中该源活动注册消息的每个多播流数据元素指定共同与相应多播流相关联的特定源地址和特定组地址。源活动注册消息的每个多播流数据元素还可以指示该相应多播流是活动的还是被撤回的。
在某些示例中,标识符包括组地址,多个目标问候消息包括第一多个目标问候消息,目标邻居连接包括第一目标邻居连接,第一路由设备包括中央路由设备,并且第二路由设备包括入口路由设备。在这些示例中,过程600可以进一步包括:在处理该接收器列表注册消息之前,由该中央路由设备与该出口路由设备交换(例如,使用PIM协议)第二多个目标问候消息以在该中央路由设备与该出口路由设备之间建立第二目标邻居连接(例如,目标邻居连接26),以及由该中央路由设备使用与该出口路由设备的该第二目标邻居连接来接收指定与该多播流相关联的至少该组地址的接收器活动注册消息(例如,接收器活动注册消息44A、44N),并且其中该接收器活动注册消息还指示该出口路由设备是否请求接收与该多播流相关联的数据。
在某些情况下,接收器活动注册消息还指定与该多播流相关联的该源地址。在某些情况下,接收器活动注册消息的源地址可以指定(例如,使用针对源地址的通配符地址)与针对多播流的组地址相关联的任意源。接收器活动注册消息可以包括多个多播流数据元素,其中该接收器活动注册消息的每个多播流数据元素指定与相应多播流相关联的至少特定组地址,并且其中该接收器活动注册消息的每个多播流数据元素还指示该出口路由设备是否请求接收与该相应多播流相关联的数据。
在某些示例中,出口路由设备包括第一出口路由设备,并且接收器活动注册消息包括第一接收器活动注册消息。在这些示例中,过程600进一步包括:在处理该接收器列表注册消息之前,由该中央路由设备与第二出口路由设备交换(例如,使用PIM协议)第三多个目标问候消息以建立该中央路由设备与该第二出口路由设备之间的第三目标邻居连接,以及由该中央路由设备使用与该第二出口路由设备的该第三目标邻居连接来接收指定与该多播流相关联的至少该组地址的第二接收器活动注册消息,并且其中该第二接收器活动注册消息还指示该第二出口路由设备是否请求接收与该多播流相关联的数据。此外,在这些示例中,处理该接收器列表注册消息包括使用该第一目标邻居连接从该中央路由设备向该入口路由设备发送该接收器列表注册消息,其中该接收器列表注册消息还指定该第二出口路由设备和与该多播流相关联的至少该组地址,以及其中该接收器列表注册消息还指示该第二出口路由设备是否请求接收与该多播流相关联的数据。
在某些示例中,处理该接收器列表注册消息可以进一步包括指定已经各自与中央路由设备建立了相应目标邻居连接并且先前已经向中央路由设备发送了指定至少组地址的相应源活动注册消息的一个或多个附加入口路由设备,以及从中央路由设备向一个或多个附加入口路由设备发送接收器列表消息。
在某些示例中,多个目标问候消息包括第一多个目标问候消息,目标邻居连接包括第一目标邻居连接,第一路由设备包括该中央路由设备,其中该第二路由设备包括该入口路由设备,其中该入口路由设备包括第一入口路由设备,并且该源活动注册消息包括第一源活动注册消息。在这些示例中,过程600进一步包括:由该中央路由设备与第二入口路由设备交换(例如,使用PIM协议)第二多个目标问候消息以在该中央路由设备与该第二入口路由设备之间建立第二目标邻居连接,由该中央路由设备使用与该第二入口路由设备的该第二目标邻居连接来接收指定共同与该多播流相关联的该源地址和该标识符的第二源活动注册消息,并且其中该第二源活动注册消息还指示该多播流在该第二入口路由设备处是活动的还是被撤回的。处理该接收器列表注册消息可以包括使用该第一目标邻居连接从该中央路由设备向该第一入口路由设备发送该接收器列表注册消息,其中过程600进一步包括使用该第二目标邻居连接从该中央路由设备向该第二入口路由设备发送该接收器列表注册消息。
在某些示例中,该目标邻居连接包括可靠传输连接,该第一路由设备包括该入口路由设备并且该第二路由设备包括该中央路由设备,并且处理该源活动注册消息包括由该入口路由设备使用该目标邻居连接向该中央路由设备发送该源活动注册消息。在这些示例中,处理该接收器列表注册消息包括由该入口路由设备使用该目标邻居连接从该中央路由设备接收该接收器列表注册消息,并且过程600进一步包括:响应于确定该接收器列表注册消息指示该出口路由设备请求接收与该多播流相关联的数据,从该入口路由设备向该出口路由设备发送与该多播流相关联的多播数据分组。发送多播数据分组可以进一步包括生成指示出口路由设备的分组报头,并且经由一个或多个中间路由设备将分组报头与每个多播数据分组一起向出口路由设备发送。在某些示例中,系统包括用于实现这里该技术的任意技术的装置,包括上文参考图12该的技术。在某些示例中,计算机可读存储介质包括指令,该指令当被执行时,使得一个或多个处理器执行这里该技术的任意技术,包括上文参考图12该的技术。
示例1:一种方法,包括:由第一路由设备与第二路由设备交换多个目标问候消息以建立该第一路由设备与该第二路由设备之间的目标邻居连接,其中该第一路由设备或该第二路由设备中的一个路由设备包括中央路由设备,并且其中该第一路由设备或该第二路由设备中的另一个路由设备包括与至少一个源设备通信耦合的入口路由设备;由该第一路由设备使用与该第二路由设备的该目标邻居连接来处理指定共同与由该至少一个源设备提供的多播流相关联的源地址和标识符的源活动注册消息,其中该源活动注册消息还指示该多播流是活动的还是被撤回的;以及在处理该源活动注册消息之后,由该第一路由设备使用与该第二路由设备的该目标邻居连接来处理指定出口路由设备和与该多播流相关联的至少该标识符的接收器列表注册消息,其中该接收器列表注册消息还指示该出口路由设备是否请求接收与该多播流相关联的数据。
示例2:根据示例1该的方法,其中该目标邻居连接包括可靠传输连接,其中该第一路由设备包括该中央路由设备并且该第二路由设备包括该入口路由设备,其中交换该多个目标问候消息包括:由该中央路由设备从该入口路由设备接收第一目标问候消息,该第一目标问候消息包括被寻址到该中央路由设备的第一单播消息;以及由该中央路由设备向该入口路由设备发送第二目标问候消息以确认对该第一目标问候消息的接收,其中该第二目标问候消息包括被寻址到该入口路由设备的第二单播消息,其中处理该源活动注册消息包括由该中央路由设备使用该目标邻居连接从该入口路由设备接收该源活动注册消息,该源活动注册消息指示该多播流在该入口路由设备处是活动的还是被撤回的,以及其中处理该接收器列表注册消息包括使用该目标邻居连接从该中央路由设备向该入口路由设备发送该接收器列表注册消息。
示例3:根据示例2该的方法,进一步包括:由该中央路由设备基于该源活动注册消息来更新在该入口路由设备处是活动的多播流的状态信息,其中如果该源活动注册消息指示该多播流是活动的,则该中央路由设备向该状态信息添加该源地址和该标识符,以及其中如果该源活动注册消息指示该多播流是被撤回的,则该中央路由设备从该状态信息移除该源地址和该标识符。
示例4:根据示例1至3中任一项该的方法,其中该接收器列表注册消息还指定与该多播流相关联的该源地址。
示例5:根据示例1至4中任一项该的方法,其中该标识符包括组地址,其中该源活动注册消息包括多个多播流数据元素,其中该源活动注册消息的每个多播流数据元素指定共同与相应多播流相关联的特定源地址和特定组地址,并且其中该源活动注册消息的每个多播流数据元素还指示该相应多播流是活动的还是被撤回的。
示例6:根据示例1至5中任一项该的方法,其中该标识符包括组地址,其中该多个目标问候消息包括第一多个目标问候消息,其中该目标邻居连接包括第一目标邻居连接,其中该第一路由设备包括该中央路由设备,其中该第二路由设备包括该入口路由设备,并且其中该方法进一步包括:在处理该接收器列表注册消息之前,由该中央路由设备与该出口路由设备交换第二多个目标问候消息以在该中央路由设备与该出口路由设备之间建立第二目标邻居连接;以及由该中央路由设备使用与该出口路由设备的该第二目标邻居连接来接收指定与该多播流相关联的至少该组地址的接收器活动注册消息,并且其中该接收器活动注册消息还指示该出口路由设备是否请求接收与该多播流相关联的数据。
示例7:根据示例6该的方法,其中该接收器活动注册消息还指定与该多播流相关联的该源地址。
示例8:根据示例6该的方法,其中该接收器活动注册消息包括多个多播流数据元素,其中该接收器活动注册消息的每个多播流数据元素指定与相应多播流相关联的至少特定组地址,并且其中该接收器活动注册消息的每个多播流数据元素还指示该出口路由设备是否请求接收与该相应多播流相关联的数据。
示例9:根据示例6该的方法,其中该出口路由设备包括第一出口路由设备,其中该接收器活动注册消息包括第一接收器活动注册消息,并且其中该方法进一步包括:在处理该接收器列表注册消息之前,由该中央路由设备与第二出口路由设备交换第三多个目标问候消息以建立该中央路由设备与该第二出口路由设备之间的第三目标邻居连接;以及由该中央路由设备使用与该第二出口路由设备的该第三目标邻居连接来接收指定与该多播流相关联的至少该组地址的第二接收器活动注册消息,并且其中该第二接收器活动注册消息还指示该第二出口路由设备是否请求接收与该多播流相关联的数据。
示例10:根据示例9该的方法,其中处理该接收器列表注册消息包括使用该第一目标邻居连接从该中央路由设备向该入口路由设备发送该接收器列表注册消息,其中该接收器列表注册消息还指定该第二出口路由设备和与该多播流相关联的至少该组地址,以及其中该接收器列表注册消息还指示该第二出口路由设备是否请求接收与该多播流相关联的数据。
示例11:根据示例1至10中任一项该的方法,其中该多个目标问候消息包括第一多个目标问候消息,其中该目标邻居连接包括第一目标邻居连接,其中该第一路由设备包括该中央路由设备,其中该第二路由设备包括该入口路由设备,其中该入口路由设备包括第一入口路由设备,其中该源活动注册消息包括第一源活动注册消息,其中处理该接收器列表注册消息包括使用该第一目标邻居连接从该中央路由设备向该第一入口路由设备发送该接收器列表注册消息,并且其中该方法进一步包括:由该中央路由设备与第二入口路由设备交换第二多个目标问候消息以在该中央路由设备与该第二入口路由设备之间建立第二目标邻居连接;由该中央路由设备使用与该第二入口路由设备的该第二目标邻居连接来接收指定共同与该多播流相关联的该源地址和该标识符的第二源活动注册消息,并且其中该第二源活动注册消息还指示该多播流在该第二入口路由设备处是活动的还是被撤回的;以及使用该第二目标邻居连接从该中央路由设备向该第二入口路由设备发送该接收器列表注册消息。
示例12:根据示例1至11中任一项该的方法,其中该目标邻居连接包括可靠传输连接,其中该第一路由设备包括该入口路由设备并且该第二路由设备包括该中央路由设备,其中处理该源活动注册消息包括由该入口路由设备使用该目标邻居连接向该中央路由设备发送该源活动注册消息,其中处理该接收器列表注册消息包括由该入口路由设备使用该目标邻居连接从该中央路由设备接收该接收器列表注册消息,以及其中该方法进一步包括:响应于确定该接收器列表注册消息指示该出口路由设备请求接收与该多播流相关联的数据,从该入口路由设备向该出口路由设备发送与该多播流相关联的多播数据分组。
示例13:一种第一路由设备,包括:存储器;以及与该存储器通信的至少一个处理器,该至少一个处理器被配置为:与第二路由设备交换多个目标问候消息以建立该第一路由设备与该第二路由设备之间的目标邻居连接,其中该第一路由设备或该第二路由设备中的一个路由设备包括中央路由设备,并且其中该第一路由设备或该第二路由设备中的另一个路由设备包括与至少一个源设备通信耦合的入口路由设备;使用与该第二路由设备的该目标邻居连接来处理指定共同与由该至少一个源设备提供的多播流相关联的源地址和标识符的源活动注册消息,其中该源活动注册消息还指示该多播流是活动的还是被撤回的;以及在处理该源活动注册消息之后,使用与该第二路由设备的该目标邻居连接来处理指定出口路由设备和与该多播流相关联的至少该标识符的接收器列表注册消息,其中该接收器列表注册消息还指示该出口路由设备是否请求接收与该多播流相关联的数据。
示例14:根据示例13该的第一路由设备,其中该至少一个处理器被配置为执行示例2至12中任一项该的方法。
示例15:一种计算机可读存储介质包括指令,该指令当被执行时,使得第一路由设备的一个或多个处理器执行以下操作,包括:由第一路由设备与第二路由设备交换多个目标问候消息以建立该第一路由设备与该第二路由设备之间的目标邻居连接,其中该第一路由设备或该第二路由设备中的一个路由设备包括中央路由设备,并且其中该第一路由设备或该第二路由设备中的另一个路由设备包括与至少一个源设备通信耦合的入口路由设备;由该第一路由设备使用与该第二路由设备的该目标邻居连接来处理指定共同与由该至少一个源设备提供的多播流相关联的源地址和标识符的源活动注册消息,并且其中该源活动注册消息还指示该多播流是活动的还是被撤回的;以及在处理该源活动注册消息之后,由该第一路由设备使用与该第二路由设备的该目标邻居连接来处理指定出口路由设备和与该多播流相关联的至少该标识符的接收器列表注册消息,其中该接收器列表注册消息还指示该出口路由设备是否请求接收与该多播流相关联的数据。
示例16:根据示例14该的计算机可读存储介质,其中该指令当被执行时,使得该第一路由设备的该至少一个处理器执行根据示例2至11中的任一项该的方法。
本公开中描述的技术可以至少部分地被实施在硬件、软件、固件或其任何组合中。例如,所描述的技术的各种方面可以被实施在一个或多个处理器内,该一个或多个处理器包括一个或多个微处理器、数字信号处理器(DSP)、专用集成电路(ASIC)、现场可编程门阵列(FPGA)或任何其他等效集成电路或分立逻辑电路以及这样的部件的任何组合。术语“处理器”或“处理电路”一般可以指单独的或与其他逻辑电路组合的前述逻辑电路中的任何电路或任何其他等效电路。包括硬件的控制单元还可以执行本公开的技术中的一个或多个技术。
这样的硬件、软件和固件可以被实施在相同设备内或分离的设备内以支持本公开中描述的各种操作和功能。另外,所描述的单元、模块或部件中的任何单元、模块或部件可以一起被实施或单独地被实施为分立但可互操作的逻辑设备。将不同特征作为模块或单元的描绘旨在突出不同的功能方面并且不一定暗示这样的模块或单元必需由单独的硬件或软件部件来实现。更确切地说,与一个或多个模块或单元相关联的功能可以由单独的硬件或软件部件来执行,或被集成在共同或单独的硬件或软件部件内。
本公开中描述的技术还可以被体现或被编码在包含指令的、诸如非瞬态计算机可读存储介质的计算机可读介质中。嵌入或编码在计算机可读介质中的指令可以例如在指令被运行时使得可编程处理器或其他处理器执行方法的一个或多个操作。有形且非瞬态的计算机可读存储介质可以包括随机存取存储器(RAM)、只读存储器(ROM)、可编程只读存储器(PROM)、可擦除可编程只读存储器(EPROM)、电可擦除可编程只读存储器(EEPROM)、快闪存储器、硬盘、CD-ROM、软盘、磁带、磁性介质、光学介质或其他计算机可读存储介质。应当理解,术语“计算机可读存储介质”指物理存储介质而非信号、载波或其他瞬态介质。
已经描述了本公开的各种实施例。这些示例和其他示例在以下权利要求书的范围内。
Claims (12)
1.一种方法,包括:
由入口路由设备与包括汇聚点的中央路由设备交换多个目标问候消息,多个目标问候消息使用协议无关多播(PIM)协议来在所述入口路由设备和所述中央路由设备之间建立目标邻居连接,其中所述目标邻居连接包括可靠的传输连接,并且其中所述入口路由设备被通信地耦合到至少一个源设备;
由所述入口路由设备使用目标邻居连接向所述中央路由设备发送源活动注册消息,所述源活动注册消息指定与由所述至少一个源设备提供的多播流相关联的源地址和标识符,其中所述源活动注册消息指示所述多播流在所述入口路由设备处是活动的;
在发送指示所述多播流在所述入口路由设备处是活动的所述源活动注册消息后,由所述入口路由设备使用所述目标邻居连接从所述中央路由设备接收接收器列表注册消息,所述接收器列表注册消息指定出口路由设备和至少所述标识符,所述标识符与所述多播流相关联,其中所述接收器列表注册消息还指示所述出口路由设备请求对与所述多播流相关联的数据的接收;以及
在接收到所述接收器列表注册消息后,当所述多播流是活动的时,由所述入口路由设备向所述出口路由设备发送与所述多播流相关联的所述数据。
2.根据权利要求1所述的方法,还包括:
由所述入口路由设备基于所述接收器列表注册消息来更新状态信息,以指示所述出口路由设备请求对与所述多播流相关联的所述数据的接收,其中所述状态信息包括所述出口路由设备的地址和至少所述标识符,所述标识符与所述多播流相关联。
3.根据权利要求1所述的方法,其中交换所述多个目标问候消息包括:
由所述入口路由设备使用所述目标邻居连接向所述中央路由设备发送第一目标问候消息,所述第一目标问候消息包括被寻址到所述中央路由设备的第一单播消息;以及
由所述入口路由设备使用所述目标邻居连接从所述中央路由设备接收第二目标问候消息,以确认所述中央路由设备对所述第一目标问候消息的接收,其中所述第二目标问候消息包括被寻址到所述入口路由设备的第二单播消息。
4.根据权利要求1所述的方法,其中所述接收器列表注册消息还指定与所述多播流相关联的所述源地址。
5.根据权利要求1所述的方法,其中所述标识符包括与所述多播流相关联的组地址,其中所述源活动注册消息包括多个多播流数据元素,其中所述源活动注册消息的每个多播流数据元素指定与相应多播流相关联的特定源地址和特定组地址,并且其中所述源活动注册消息的每个多播流数据元素还指示所述相应多播流是活动的还是被撤回的。
6.根据权利要求1所述的方法,
其中所述出口路由设备包括第一出口路由设备,
其中所述接收器列表注册消息还指定第二出口路由设备和至少所述标识符,所述标识符与所述多播流相关联,
其中所述接收器列表注册消息还指示所述第二出口路由设备请求对与所述多播流相关联的所述数据的接收,以及
其中发送与所述多播流相关联的所述数据包括:由所述入口路由设备向所述第一出口路由设备和所述第二出口路由设备中的每一个发送与所述多播流相关联的所述数据。
7.根据权利要求1所述的方法,其中所述源活动注册消息包括第一源活动注册消息,并且其中所述方法还包括:
在将与所述多播流相关联的所述数据发送到所述出口路由设备后,由所述入口路由设备使用所述目标邻居连接向所述中央路由设备发送第二源活动注册消息,所述第二源活动注册消息指定与由所述至少一个源设备提供的所述多播流相关联的所述源地址和所述标识符,其中所述第二源活动注册消息指示所述多播流被撤回并且在所述入口路由设备处不再是活动的。
8.根据权利要求1所述的方法,其中所述接收器列表注册消息包括第一接收器列表注册消息,并且所述方法还包括:
在将与所述多播流相关联的所述数据发送到所述出口路由设备后,由所述入口路由设备使用所述目标邻居连接从中央路由设备接收第二接收器列表注册消息,所述第二接收器列表注册消息指定所述出口路由设备和至少所述标识符,所述标识符与所述多播流相关联,其中所述第二接收器列表注册消息还指示所述出口路由设备不再请求对与所述多播流相关联的其他数据的接收;以及
在接收到所述第二接收器列表注册消息后,由所述入口路由设备禁止将与所述多播流相关联的所述其他数据发送到所述出口路由设备。
9.根据权利要求8所述的方法,还包括:
由所述入口路由设备基于所述第二接收器列表注册消息来更新状态信息,以指示所述出口路由设备不再请求对与所述多播流相关联的所述数据的接收,其中所述状态信息包括所述出口路由设备的地址和至少所述标识符,所述标识符与所述多播流相关联。
10.根据权利要求1所述的方法,其中发送与所述多播流相关联的所述数据包括:
生成指示所述出口路由设备的分组报头;以及
由所述入口路由设备经由一个或多个中间路由设备来将所述分组报头与多个多播流分组中的每个多播流分组一起发送到所述出口路由设备,所述多个多播流分组与所述多播流相关联。
11.一种入口路由设备,包括:
存储器;以及
与所述存储器通信的至少一个处理器,所述至少一个处理器被配置为:
与包括汇聚点的中央路由设备交换多个目标问候消息,所述多个目标问候消息使用协议无关多播(PIM)协议来在入口路由设备和所述中央路由设备之间建立目标邻居连接,其中所述目标邻居连接包括可靠的传输连接,并且其中所述入口路由设备被通信地耦合到至少一个源设备;
使用目标邻居连接向所述中央路由设备发送源活动注册消息,所述源活动注册消息指定与由所述至少一个源设备提供的多播流相关联的源地址和标识符,其中所述源活动注册消息指示所述多播流在所述入口路由设备处是活动的;
在发送指示所述多播流在所述入口路由设备处是活动的所述源活动注册消息后,使用所述目标邻居连接从所述中央路由设备接收接收器列表注册消息,所述接收器列表注册消息指定出口路由设备和至少所述标识符,所述标识符与所述多播流相关联,其中所述接收器列表注册消息还指示所述出口路由设备请求对与所述多播流相关联的数据的接收;以及
在接收到所述接收器列表注册消息后,当所述多播流是活动的时,向所述出口路由设备发送与所述多播流相关联的所述数据。
12.根据权利要求11所述的入口路由设备,其中所述至少一个处理器还被配置为执行根据权利要求2-10中任一项所述的方法。
Applications Claiming Priority (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
IN1411/CHE/2015 | 2015-03-20 | ||
IN1411CH2015 | 2015-03-20 | ||
US14/728,021 US9843513B2 (en) | 2015-03-20 | 2015-06-02 | Multicast flow overlay using registration over a reliable transport |
US14/728,021 | 2015-06-02 | ||
CN201510938318.9A CN105991302B (zh) | 2015-03-20 | 2015-12-15 | 可靠传输上使用注册的多播流覆盖 |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510938318.9A Division CN105991302B (zh) | 2015-03-20 | 2015-12-15 | 可靠传输上使用注册的多播流覆盖 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112468307A true CN112468307A (zh) | 2021-03-09 |
CN112468307B CN112468307B (zh) | 2022-09-27 |
Family
ID=55587107
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011323407.XA Active CN112468307B (zh) | 2015-03-20 | 2015-12-15 | 用于网络管理的方法和设备 |
CN201510938318.9A Active CN105991302B (zh) | 2015-03-20 | 2015-12-15 | 可靠传输上使用注册的多播流覆盖 |
Family Applications After (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510938318.9A Active CN105991302B (zh) | 2015-03-20 | 2015-12-15 | 可靠传输上使用注册的多播流覆盖 |
Country Status (3)
Country | Link |
---|---|
US (2) | US9843513B2 (zh) |
EP (2) | EP3451596B1 (zh) |
CN (2) | CN112468307B (zh) |
Families Citing this family (28)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9843513B2 (en) | 2015-03-20 | 2017-12-12 | Juniper Networks, Inc. | Multicast flow overlay using registration over a reliable transport |
US20160359720A1 (en) * | 2015-06-02 | 2016-12-08 | Futurewei Technologies, Inc. | Distribution of Internal Routes For Virtual Networking |
US9749221B2 (en) * | 2015-06-08 | 2017-08-29 | International Business Machines Corporation | Multi-destination packet handling at overlay virtual network tunneling endpoints |
WO2017205099A1 (en) * | 2016-05-24 | 2017-11-30 | Level 3 Communications, Llc | Route selection system for a communication network and method of operating the same |
US10917927B2 (en) | 2017-05-12 | 2021-02-09 | Telefonaktiebolaget Lm Ericsson (Publ) | Local identifier locator network protocol (ILNP) breakout |
US10574589B2 (en) | 2017-09-28 | 2020-02-25 | Nokia Technologies Oy | Multicast based on bit indexed explicit replication |
US10498667B2 (en) * | 2017-09-28 | 2019-12-03 | Nokia Technologies Oy | Multicast based on bit indexed explicit replication |
US10469278B2 (en) | 2017-10-24 | 2019-11-05 | Cisco Technology, Inc. | Method and device for multicast content delivery |
CN109995634B (zh) * | 2017-12-29 | 2021-08-17 | 中兴通讯股份有限公司 | 一种组播虚拟专用网络的承载方法和设备 |
US10462233B2 (en) * | 2018-01-23 | 2019-10-29 | Charter Communications Operating, Llc | Protocol for anycast based discovery of local resources |
US10581624B2 (en) * | 2018-03-21 | 2020-03-03 | Nokia Solutions And Networks Oy | Hierarchical bit indexed replication of multicast packets |
US10587495B2 (en) * | 2018-03-21 | 2020-03-10 | Nokia Solutions And Networks Oy | Hierarchical bit indexed replication of multicast packets |
US10992580B2 (en) * | 2018-05-07 | 2021-04-27 | Cisco Technology, Inc. | Ingress rate limiting in order to reduce or prevent egress congestion |
US10855577B2 (en) * | 2018-08-21 | 2020-12-01 | Cisco Technology, Inc. | Service traffic replication and dynamic policy enforcement in a multi-cloud service mesh |
US11632354B2 (en) | 2018-08-30 | 2023-04-18 | Cisco Technology, Inc. | Methods and apparatuses for source discovery |
EP3878214B1 (en) | 2018-11-07 | 2024-04-03 | Telefonaktiebolaget LM Ericsson (publ) | Local identifier locator network protocol (ilnp) breakout |
US10862697B2 (en) * | 2019-03-05 | 2020-12-08 | Cisco Technology, Inc. | Multicast source discovery mechanism to avoid multicast-traffic sync between active multi-homing peers or any cast gateway L2 stretch |
CN114884867A (zh) | 2019-03-08 | 2022-08-09 | 华为技术有限公司 | 一种bier报文的发送方法和装置 |
US11153214B2 (en) * | 2019-04-19 | 2021-10-19 | Cisco Technology, Inc. | In service flow capability update in guaranteed bandwidth multicast network |
AU2020264092A1 (en) * | 2019-04-25 | 2021-08-12 | Deere & Company | Systems, methods and controllers for secure communications |
US11405306B2 (en) * | 2019-05-30 | 2022-08-02 | Cisco Technology, Inc. | Technique for dynamic discovery, update and propagation of multicast stream capabilities in a capability-aware network |
CN112054962B (zh) * | 2019-06-06 | 2021-12-14 | 华为技术有限公司 | 一种实现组播的方法和装置 |
CN112311668B (zh) * | 2019-07-26 | 2022-03-29 | 华为技术有限公司 | 一种处理bier报文的方法、网络设备及系统 |
US12009984B2 (en) * | 2020-09-23 | 2024-06-11 | Nokia Solutions And Networks Oy | Targeted neighbor discovery for border gateway protocol |
CN114598644A (zh) * | 2020-12-02 | 2022-06-07 | 华为技术有限公司 | Bier报文转发的方法、设备以及系统 |
US11811509B2 (en) | 2021-01-29 | 2023-11-07 | Juniper Networks, Inc. | Upstream multicast hop (UMH) extensions for anycast deployments |
CN115226038A (zh) * | 2021-04-19 | 2022-10-21 | 中兴通讯股份有限公司 | 组播实现方法、路由设备和存储介质 |
US12028251B2 (en) * | 2022-02-03 | 2024-07-02 | Karunesh Rama KAIMAL | Methods and systems for routing network traffic among organizations using a service-oriented protocol |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1503507A (zh) * | 2002-11-26 | 2004-06-09 | ��Ϊ��������˾ | 实现组播源到汇聚点注册的方法 |
US20070214359A1 (en) * | 2006-03-13 | 2007-09-13 | Cisco Technology, Inc. | System and method for providing secure multicasting across virtual private networks |
CN101292474A (zh) * | 2005-10-21 | 2008-10-22 | 微软公司 | 应用级多播架构 |
US7519733B1 (en) * | 2004-05-13 | 2009-04-14 | Cisco Technology, Inc. | Arrangement in a router for establishing multicast group hierarchy and coalescence |
US20100054245A1 (en) * | 2008-09-02 | 2010-03-04 | Cisco Technology, Inc. | System and method for multicasting in an internet protocol virtual private network environment |
CN103947154A (zh) * | 2011-11-22 | 2014-07-23 | 瑞典爱立信有限公司 | 在远程多播复制网络(rmr)中的路由器管理多播流 |
CN104052672A (zh) * | 2014-05-30 | 2014-09-17 | 杭州华三通信技术有限公司 | 一种基于lisp的组播实现方法和设备 |
CN104335537A (zh) * | 2012-06-08 | 2015-02-04 | 思科技术公司 | 用于层2多播多路径传送的系统和方法 |
Family Cites Families (23)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7613160B2 (en) | 2002-12-24 | 2009-11-03 | Intel Corporation | Method and apparatus to establish communication with wireless communication networks |
EP1530316A1 (en) | 2003-11-10 | 2005-05-11 | Go Networks | Improving the performance of a wireless packet data communication system |
US7564806B1 (en) | 2004-08-30 | 2009-07-21 | Juniper Networks, Inc. | Aggregate multicast trees for multicast virtual private networks |
US7818757B1 (en) | 2005-07-18 | 2010-10-19 | Sybase, Inc. | Method for guaranteeing processing of messages in a continuous processing system |
US8582468B2 (en) | 2006-03-13 | 2013-11-12 | Cisco Technology, Inc. | System and method for providing packet proxy services across virtual private networks |
WO2007123227A1 (ja) | 2006-04-21 | 2007-11-01 | Panasonic Corporation | マルチキャストパケット転送装置及びマルチキャストパケット管理装置並びにマルチキャストパケット受信装置 |
WO2007122503A2 (en) * | 2006-04-24 | 2007-11-01 | Nokia Corporation | Reliable multicast/broadcast in a wireless network |
CN100550757C (zh) * | 2006-12-26 | 2009-10-14 | 上海贝尔阿尔卡特股份有限公司 | 组播通信网络中联合注册的方法及装置 |
JP4825696B2 (ja) | 2007-01-22 | 2011-11-30 | アラクサラネットワークス株式会社 | パケット中継装置 |
US20100303072A1 (en) | 2007-11-28 | 2010-12-02 | Petri Jokela | Multicast Source Mobility |
US8510551B1 (en) | 2008-11-10 | 2013-08-13 | Juniper Networks, Inc. | Policy handling for multicast transmissions |
US8406125B2 (en) | 2010-03-19 | 2013-03-26 | Brocade Communications Systems, Inc. | Synchronization of multicast information using incremental updates |
US8638787B2 (en) * | 2010-05-20 | 2014-01-28 | Cisco Technology, Inc. | Multicast hello on demand |
US8537816B2 (en) | 2010-12-29 | 2013-09-17 | Avaya, Inc. | Multicast VPN support for IP-VPN lite |
US20130188638A1 (en) * | 2012-01-23 | 2013-07-25 | Cisco Technology, Inc. | Multicast Source Registration |
US9210072B2 (en) | 2013-03-08 | 2015-12-08 | Dell Products L.P. | Processing of multicast traffic in computer networks |
US9325605B2 (en) | 2013-03-15 | 2016-04-26 | Cisco Technology, Inc. | On-demand boot strap router source announcements |
US20150085862A1 (en) | 2013-09-24 | 2015-03-26 | Hangzhou H3C Technologies Co., Ltd. | Forwarding Multicast Data Packets |
CN104579980B (zh) * | 2013-10-18 | 2018-05-15 | 新华三技术有限公司 | 一种组播数据报文转发方法及设备 |
CN104579981B (zh) * | 2013-10-18 | 2018-10-26 | 新华三技术有限公司 | 一种组播数据报文转发方法及设备 |
US9660898B2 (en) | 2014-12-19 | 2017-05-23 | Juniper Networks, Inc. | Enhanced protocol independent multicast source registration over a reliable transport |
US9843513B2 (en) | 2015-03-20 | 2017-12-12 | Juniper Networks, Inc. | Multicast flow overlay using registration over a reliable transport |
US9832290B2 (en) | 2015-09-30 | 2017-11-28 | Juniper Networks, Inc. | Protocol independent multicast register optimization |
-
2015
- 2015-06-02 US US14/728,021 patent/US9843513B2/en active Active
- 2015-12-15 CN CN202011323407.XA patent/CN112468307B/zh active Active
- 2015-12-15 CN CN201510938318.9A patent/CN105991302B/zh active Active
-
2016
- 2016-03-16 EP EP18196980.9A patent/EP3451596B1/en active Active
- 2016-03-16 EP EP16160624.9A patent/EP3070890B1/en active Active
-
2017
- 2017-11-17 US US15/815,993 patent/US10476793B2/en active Active
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1503507A (zh) * | 2002-11-26 | 2004-06-09 | ��Ϊ��������˾ | 实现组播源到汇聚点注册的方法 |
US7519733B1 (en) * | 2004-05-13 | 2009-04-14 | Cisco Technology, Inc. | Arrangement in a router for establishing multicast group hierarchy and coalescence |
CN101292474A (zh) * | 2005-10-21 | 2008-10-22 | 微软公司 | 应用级多播架构 |
US20070214359A1 (en) * | 2006-03-13 | 2007-09-13 | Cisco Technology, Inc. | System and method for providing secure multicasting across virtual private networks |
US20100054245A1 (en) * | 2008-09-02 | 2010-03-04 | Cisco Technology, Inc. | System and method for multicasting in an internet protocol virtual private network environment |
CN103947154A (zh) * | 2011-11-22 | 2014-07-23 | 瑞典爱立信有限公司 | 在远程多播复制网络(rmr)中的路由器管理多播流 |
CN104335537A (zh) * | 2012-06-08 | 2015-02-04 | 思科技术公司 | 用于层2多播多路径传送的系统和方法 |
CN104052672A (zh) * | 2014-05-30 | 2014-09-17 | 杭州华三通信技术有限公司 | 一种基于lisp的组播实现方法和设备 |
Non-Patent Citations (2)
Title |
---|
B. FENNER等: ""Protocol Independent Multicast - Sparse Mode (PIM-SM): Protocol Specification (Revised)"", 《RFC4601》 * |
刘春江: "IPv6网络中组播路由――PIM技术研究", 《光通信研究》 * |
Also Published As
Publication number | Publication date |
---|---|
EP3451596A1 (en) | 2019-03-06 |
EP3070890A1 (en) | 2016-09-21 |
EP3070890B1 (en) | 2018-10-17 |
EP3451596B1 (en) | 2021-04-28 |
CN105991302B (zh) | 2020-11-13 |
US10476793B2 (en) | 2019-11-12 |
CN112468307B (zh) | 2022-09-27 |
US20160277463A1 (en) | 2016-09-22 |
CN105991302A (zh) | 2016-10-05 |
US9843513B2 (en) | 2017-12-12 |
US20180077060A1 (en) | 2018-03-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105991302B (zh) | 可靠传输上使用注册的多播流覆盖 | |
CN105721310B (zh) | 用于处理多播流数据的方法和设备 | |
US10616063B1 (en) | Stateless multicast in IP networks | |
US8625465B1 (en) | Auto-discovery of virtual private networks | |
WO2018006671A1 (zh) | 报文发送方法和装置、网络架构、计算机存储介质 | |
US9832290B2 (en) | Protocol independent multicast register optimization | |
WO2018072704A1 (zh) | 报文传输方法、装置、节点和计算机存储介质 | |
US9838303B2 (en) | PIM source discovery by last hop router | |
US9288067B2 (en) | Adjacency server for virtual private networks | |
CN113630320B (zh) | 计算机网络内创建隧道的方法、入口网络装置及存储介质 | |
US11323364B2 (en) | Ingress replication procedures to facilitate migration to segment routing technology in a computer network | |
CN114915588B (zh) | 用于任播部署的上游多播跳umh扩展 | |
Ferdaus et al. | Routing: internet routing protocols and algorithms |
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 |