CN105721310B - 用于处理多播流数据的方法和设备 - Google Patents

用于处理多播流数据的方法和设备 Download PDF

Info

Publication number
CN105721310B
CN105721310B CN201510628736.8A CN201510628736A CN105721310B CN 105721310 B CN105721310 B CN 105721310B CN 201510628736 A CN201510628736 A CN 201510628736A CN 105721310 B CN105721310 B CN 105721310B
Authority
CN
China
Prior art keywords
routing device
address
multicast
target
message
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201510628736.8A
Other languages
English (en)
Other versions
CN105721310A (zh
Inventor
R·克布勒
J·拉马林加姆
A·彼得
V·纳加拉詹
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Juniper Networks Inc
Original Assignee
Juniper Networks Inc
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Juniper Networks Inc filed Critical Juniper Networks Inc
Publication of CN105721310A publication Critical patent/CN105721310A/zh
Application granted granted Critical
Publication of CN105721310B publication Critical patent/CN105721310B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/12Shortest path evaluation
    • H04L45/122Shortest path evaluation by minimising distances, e.g. by selecting a route with minimum of number of hops
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/16Multipoint routing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/02Details
    • H04L12/16Arrangements for providing special services to substations
    • H04L12/18Arrangements for providing special services to substations for broadcast or conference, e.g. multicast
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/02Details
    • H04L12/16Arrangements for providing special services to substations
    • H04L12/18Arrangements for providing special services to substations for broadcast or conference, e.g. multicast
    • H04L12/185Arrangements for providing special services to substations for broadcast or conference, e.g. multicast with management of multicast group membership
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/74Address processing for routing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/70Admission control; Resource allocation
    • H04L47/80Actions related to the user profile or the type of traffic
    • H04L47/806Broadcast or multicast traffic
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/70Admission control; Resource allocation
    • H04L47/82Miscellaneous aspects
    • H04L47/828Allocation of resources per group of connections, e.g. per group of users
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • H04L61/45Network directories; Name-to-address mapping
    • H04L61/4535Network directories; Name-to-address mapping using an address exchange platform which sets up a session between two nodes, e.g. rendezvous servers, session initiation protocols [SIP] registrars or H.323 gatekeepers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/1066Session management
    • H04L65/1073Registration or de-registration
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/02Topology update or discovery
    • H04L45/026Details of "hello" or keep-alive messages

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Business, Economics & Management (AREA)
  • General Business, Economics & Management (AREA)
  • Multimedia (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本公开涉及在可靠传输上的增强型协议无关多播源注册。在一个示例中,一种方法包括由第一路由设备使用协议无关多播(PIM)协议与第二路由设备交换多个目标问候消息,以建立第一路由设备与第二路由设备之间的目标近邻连接,其中第一路由设备经由至少一个中介路由设备与第二路由设备交换多个目标问候消息,并且其中第一路由设备或第二路由设备中的至少一个路由设备包括汇聚点(RP)。示例方法还包括由第一路由设备使用目标近邻连接来处理包括多个多播流数据元素的注册消息,其中每个多播流数据元素标识共同地与相应的多播流相关联的源地址和组地址,并且其中每个多播流数据元素还指示相应的多播流是活动的还是被撤回的。

Description

用于处理多播流数据的方法和设备
技术领域
本公开涉及计算机网络,并且更具体地涉及在这样的网络上传输多播流数据。
背景技术
计算机网络是交换数据并共享资源的相互连接的计算设备的集合。在基于分组的网络中,计算设备通过将数据划分成被称为分组的小块来通信数据。网络内的诸如路由器的某些设备维护路由信息,路由信息描述通过网络的路由。以这种方式,分组可以单个地在网络上从源设备被路由至目的设备。目的设备从分组中提取数据并将数据汇集成其原始形式。将数据划分成分组使得源设备能够仅仅重新发送在传输期间可能丢失的那些个体分组。
计算机网络的示例包括企业网络、分支网络、服务提供商网络、家庭网络、虚拟专用网(VPN)、局域网(LAN)、虚拟LAN(VLAN)等等。在任何情况下,计算机网络可以使得位于远程的源和接收器能够共享数据。在一些情况下,计算机网络可以被配置为支持多播流量,例如互联网协议电视(IPTV)、桌面会议、公司广播、音乐和视频web广播以及其他形式的多媒体内容。作为示例,计算机网络可以利用协议无关多播(PIM)作为多播路由协议来建立通过计算机网络的分发树以将多播流量从源传输到针对特定多播组的接收器或订户设备。PIM可以以若干不同的模式操作,包括密集模式(DM)、稀疏模式(SM)、源特定模式(SSM)以及双向模式(BIDIR)。PIM、SM还可以支持任意源多播(ASM)模式。
发明内容
在一个示例中,一种方法包括由第一路由设备使用协议无关多播(PIM)协议与第二路由设备交换多个目标问候消息以建立所述第一路由设备与所述第二路由设备之间的目标近邻连接,其中所述第一路由设备经由至少一个中介路由设备与所述第二路由设备交换所述多个目标问候消息,并且其中所述第一路由设备或所述第二路由设备中的至少一个路由设备包括汇聚点(RP)。示例方法还包括由所述第一路由设备使用与所述第二路由设备的所述目标近邻连接来处理包括多个多播流数据元素的注册消息,其中每个多播流数据元素标识共同地与相应的多播流相关联的源地址和组地址,并且其中每个多播流数据元素还指示所述相应的多播流是活动的还是被撤回的。
在一个示例中,第一路由设备包括至少一个处理器。所述至少一个处理器被配置为使用协议无关多播(PIM)协议与第二路由设备交换多个目标问候消息以建立所述第一路由设备与所述第二路由设备之间的目标近邻连接,其中所述第一路由设备经由至少一个中介路由设备与所述第二路由设备交换所述多个目标问候消息,并且其中所述第一路由设备或所述第二路由设备中的至少一个路由设备包括汇聚点(RP)。所述至少一个处理器还被配置为使用与所述第二路由设备的所述目标近邻连接来处理包括多个多播流数据元素的注册消息,其中每个多播流数据元素标识共同地与相应的多播流相关联的源地址和组地址,并且其中每个多播流数据元素还指示所述相应的多播流是活动的还是被撤回的。
在一个示例中,一种计算机可读存储介质包括指令,所述指令当被执行时,使得第一路由设备的至少一个处理器执行操作。所述操作包括使用协议无关多播(PIM)协议与第二路由设备交换多个目标问候消息以建立所述第一路由设备与所述第二路由设备之间的目标近邻连接,其中所述第一路由设备经由至少一个中介路由设备与所述第二路由设备交换所述多个目标问候消息,并且其中所述第一路由设备或所述第二路由设备中的至少一个路由设备包括汇聚点(RP)。所述操作还包括使用与所述第二路由设备的所述目标近邻连接来处理包括多个多播流数据元素的注册消息,其中每个多播流数据元素标识共同地与相应的多播流相关联的源地址和组地址,并且其中每个多播流数据元素还指示所述相应的多播流是活动的还是被撤回的。
在附图和下面的描述中阐述本公开的一个或多个示例的细节。本公开的其他特征、目的和优点将从描述和附图、以及从权利要求书变得显而易见。
附图说明
图1是图示了包括多个路由设备的示例网络的框图,在所述示例网络中,诸如汇聚点(RP)的一个设备与诸如第一跳路由器(FHR)的另一设备建立目标近邻连接。
图2是图示了在图1中图示的RP与FHR之间的示例消息流的图。
图3是图示了诸如图1或图2中示出的路由设备中的一个路由设备的示例路由设备的框图。
图4是图示了在多个RP与多个FHR之间建立的目标近邻连接的示例的框图。
图5是图示了在与第一RP的初始连接已经被关闭之后与第二RP建立目标近邻连接的示例FHR的框图。
图6是图示了目标问候消息的示例表示的概念图。
图7是图示了注册消息的示例表示的概念图。
图8是图示了由路由设备、诸如由图1-5中示出的RP或FHR中的一个或多个来实施的示例过程的流程图。
具体实施方式
本公开的技术通过使用协议无关多播(PIM)交换周期性的目标问候消息来提供诸如汇聚点(RP)的第一路由设备与诸如第一跳路由器(FHR)的第二路由设备之间的可靠目标近邻连接,在一些实例中其可以提供路由设备之间的协商和发现能力。这些路由设备可以被一个或多个其他中介路由设备分开,并且因此可以是远离彼此的多跳。在一个示例中,所述技术扩展互联网工程任务组RFC 6559(“A Reliable Transport Mechanism for PIM”,Farinacci等,2012年3月,下文称为“RFC 6559”)的概念,将其整体内容通过引用并入本文中,以允许在可靠传输连接(例如,目标近邻连接)上发送PIM注册状态信息,其可以潜在地为诸如客户多播、互联网协议电视(IPTV)、数据中心之间的内容复制等的某些多播服务提供更多的伸缩性。
作为一个示例,在向RP发送初始目标问候消息之后,FHR监听RF以连接到FHR的主地址。一旦RP连接到FHR,则在两个设备之间建立了目标近邻连接,所述目标近邻连接可以包括可靠传输连接,其中,在一些情况下,FHR可以扮演主动角色,而RP可以扮演被动角色。在一些实例中,如在RFC 6559中概述的,可靠连接可以利用保持活动消息来维护。
一旦建立了该可靠连接,则FHR可以开始向RP发送关于FHR活动的多播流的源地址和组地址。当这些流中的任何流稍后被撤回时,FHR向RP发送更新消息以提供与已经被撤回的流相关联的源地址和组地址。以这种方式,当在FHR与RP之间建立了目标近邻连接之后,FHR能够利用其现有的且活动的多播流来更新RP。随后,FHR向RP发送关于对这些流的状态的任何变化的增量更新。在各个示例中,由FHR经由可靠连接向RP发送的消息可以被称为可靠注册消息。将在下面更详细地描述注册消息的实施方式。
在一些情况下,这些技术的实施方式可以提供硬状态(hard-state)、可靠传输机制以补充和/或替换对在PIM稀疏模式(SM)中的现有注册消息的使用并且潜在地消除对在RP与FHR之间的注册停止或空注册消息的使用的需求。在一些示例中,共享相同任播地址的多个不同的RP可以交换目标问候消息以建立在这些RP之间的全网状(full mesh)的目标近邻连接。另外,在某些示例中,如将在下面更详细地描述的,所述技术允许FHR通过对目标问候消息的交换来发现操作在任意源多播(ASM)模式中的RP的主地址。
图1是图示了包括多个路由设备8、10、12、14、16、18、20和22的示例网络1的框图,在示例网络1中,诸如汇聚点(RP)20的一个设备与诸如第一跳路由器(FHR)8的另一设备建立目标近邻连接24,目标近邻连接24包括可靠传输连接。路由设备8、10、12、14、16、18、20和22每个均被配置为在源设备与接收器设备之间路由多播流量并且可以包括边缘路由器和/或核心路由器。尽管在图1中图示了两个示例源设备2、4和一个示例接收器设备6,但是在其他示例中,任何数量的源设备、接收器设备和路由设备可以被包括在网络1中。多播流量的示例可以包括针对互联网协议电视(IPTV)、桌面会议、公司广播、音乐和视频在线广播以及其他形式的多媒体内容的内容。
源设备2、4被通信地耦合到路由设备8,并且因此在该示例中路由设备8被称为FHR8。接收器设备6被通信地耦合到路由设备14,并且因此在该示例中路由设备14被称为最后一跳接收器(LHR)。路由设备20被配置为操作为汇聚点并且因此被称为RP 20。尽管在图1中仅仅示出了一个FHR 8和一个LHR 14,但是在其他示例中,任何数量的FHR和LHR可以经由诸如路由设备10、12、16、18和22的一个或多个中介路由设备被通信地耦合到RP 20。类似地,尽管在图1中仅仅示出了一个RP 20,但是在其他示例中,任何数量的RP可以被包括在网络1中并且被通信地耦合到FHR 8和LHR 14。在一些示例中,网络1中的一个或多个其他RP可以与RP 20共享任播地址。
网络1可以是企业网络、校园网络、服务提供商网络、家庭网络或另一自治系统。在这些示例中的任何示例中,源设备2、4和接收器6可以经由网络1共享数据。在网络1作为企业网络的一个示例中,源设备2、4和接收器6中的每一个可以包括一个或多个服务器或位于单个办公地点的不同区域中的雇员计算机终端。在网络1作为企业网络的另一示例中,源设备2、4和接收器6中的每一个可以包括公司的远程办公室位置,使得企业网络1可以跨诸如互联网的公共网络来被扩展。附加地,然而,本公开的技术可适用于公共和私有两者的其他网络类型。其他网络类型的示例包括局域网(LAN)、虚拟局域网(VLAN)、虚拟专网(VPN)等等。在一些示例中,网络1可以被耦合到一个或多个附加的私有网络或公共网络,例如互联网。在其他示例中,网络1可以包括互联网或另一公共网络。在一些情况下,网络1可以包括多协议标签交换(MPLS)网络。
网络1可以利用PIM作为多播路由协议来建立通过网络1的分发树以将从源2、4向接收器6传输到针对特定多播组的多播流量。PIM可以以诸如稀疏模式(SM)的若干不同的模式操作,其还可以支持任意源多播(ASM)。RP 20是来自源设备2、4和接收器设备6的多播流量朝向其汇聚的路由设备。RP 20被用作针对一系列多播组的共享的分发树。在图示的示例中,RP 20、FHR 8、LHR 14以及路由设备10、12、16、18和22通过计算机网络1经由共享树将的多播流量从源设备2、4运载到接收器设备6。该共享树可以包括传输例如经由FHR 8从源设备2、4朝向RP 20的多播流量上游以及例如经由LHR 14远离RP 20朝向接收器设备6的下游的一个或多个路径。
接收器设备6可以订阅一个或多个多播组以接收多播流量。RP 20可以获知并存储与针对接收器设备6所属的特定范围的多播组的源设备(例如,源设备2、4)相关联的源地址。RP 20、FHR 8、LHR 14和路由设备10、12、16、18和22使用包括加入请求和修剪请求的PIM控制消息进行通信,以传播用于加入或离开多播流量的从接收器(例如,接收器设备6)向源(例如,源设备2、4)上游的多播组的请求。
作为示例,当LHR 14检测到接收器设备6要接收针对特定多播组的流量时,LHR 14可以向RP 20发送(*,G)加入控制消息。更具体地,LHR 14可以确定RP 20的地址,其负责包括特定多播组的多播组范围。LHR 14发送(*,G)加入控制消息,因为LHR 14不知道多播组的源。当例如路由设备22的上游路由设备接收到(*,G)加入控制消息时,路由设备22进一步向RP 20上游转发加入控制消息。另外,(*,G)多播树状态被实例化在(*,G)加入控制消息在去往RP 20的途中经过的例如路由设备22的每个路由设备中。根据该过程,路由设备可以在概念上建立在网络1上的共享树。在接收到(*,G)加入控制消息时,RP 20处理(*,G)加入控制消息并且可以在其可用时开始向LHR 14发送针对多播组的多播流量。LHR 14将接收到的多播流量提供到接收器设备6。
作为一个示例,PIM、SM通常使用组状态以从源设备2、4向RP 20本地转发针对多播组的多播流量以用于分发到属于多播组的共享树中的所有设备。例如,FHR 8可以经由路由设备16、18从源设备2、4向RP 20上游转发多播流量。反过来,RP 20将多播流量下游转发到路由设备22和LHR 14,路由设备22和LHR 14具有针对多播组的状态,并且向接收器设备6转发。
在常规PIM、SM中,FHR 8可以使用PIM注册机制将多播流量作为控制平面载荷流量从源设备2、4隧穿(tunnel)至RP 20。初始地,多播流量可以包括被称为PIM注册消息的单播封装的数据分组,但是在RP 20已经初始化向源设备2、4的源特定加入以实例化(S,G)路由设备16、18中的多播树状态之后,源设备2、4最终开始经由FHR 8向RP 20本地转发非封装的数据分组。为了避免处理个体数据分组的两种副本(例如,封装的副本和非封装的副本),RP20可以向FHR 8发送注册停止消息以防止FHR 8不必要地向RP 20发送单播封装的数据分组。在接收到注册停止消息之后,FHR 8可以启动注册停止定时器以维护该状态,并且就在定时器超时之前,FHR 8向RP 20发送空注册消息以允许RP 20刷新在FHR 8处的注册停止信息。
然而,该传统方法可能具有某些缺陷。PIM注册消息通常不单独地在数据平面或单独地在控制平面被孤立处理,因为两种功能通常包含在注册机制中。附加地,注册消息、注册停止消息以及空注册消息传统上支持运载仅仅与单个(S,G)流有关的信息。因此,作为一个示例,在标准以太网帧中,可能存在针对大量(S,G)流的信息,并且传统方法可能使得RP20发送大量注册停止消息,以及使得FHR 8向RP 20发送等同的大量空注册消息。另外,PIM注册状态传统上被维护为要求来自FHR 8的恒定刷新(例如,每六十秒一次)的软状态。该恒定刷新能够导致FHR 8与RP 20之间的大量不必要通信,尤其是在RP 20服务大量流的情况下。
另外,如以上所指出的,FHR 8可以利用注册停止定时器(例如,从FHR 8向RP 20发送空注册消息的时间起五秒的定时器值)。如果来自RP 20的注册停止消息丢失或被延迟,并且注册停止定时器超时,则FHR 8可以开始将封装的数据分组作为控制平面消息转发到RP20,其可能不是令人期望的。另外,传统PIM注册机制可以具有某些潜在的安全性问题,因为数据注册消息作为单播消息从FHR 8被发送到RP 20。
本公开的技术通过对目标问候消息的实施利用改进的消息格式(例如,类型-长度-值,或基于TLV的消息格式)引入在诸如RP 20的第一路由设备与诸如FHR 8的第二路由设备之间的目标近邻连接的概念,所述目标近邻连接可以包括可靠传输连接。这些路由设备可以被一个或多个其他中介路由设备分开,并且因此可以是远离彼此的多跳。例如,RP20和FHR 8可以被诸如图1中示出的路由设备16和18的一个或多个路由设备分开。在一个示例中,所述技术允许在这样的目标近邻连接上发送多播流状态信息,其可以为诸如客户多播、互联网协议电视(IPTV)、数据中心之间的内容复制等等的某些多播服务提供更多的伸缩性。
如图1所示,第一路由设备(例如,RP 20)可以使用PIM协议与网络1中的第二路由设备(例如,FHR 8)交换目标问候消息来建立所述第一路由设备与所述第二路由设备之间的目标近邻连接24,其中所述第一路由设备经由至少一个中介路由设备(例如,路由设备16、18)与所述第二路由设备交换所述目标问候消息,并且其中所述第一路由设备或所述第二路由设备中的至少一个路由设备包括汇聚点(RP)。这些目标问候消息可以与在网络工作组RFC 4601(“协议无关多播-稀疏模式(PIM-SM):协议说明(修订)”,Fenner等人,2006年8月,下文称为“RFC 4601”)中定义的PIM问候消息类似,将其整体内容通过引用并入本文中。然而,本公开的目标问候消息不局限于链接层次,而是相反存在接口层次并且具有单播地址作为目的地址并且使用单播路由(例如,经由路由设备16、18)遍历多跳以到达由目的地址标识的目标问候近邻(例如,RP 20或FHR 8)。在一些情况下,这些目标问候消息的生存时间值可以被设定为系统默认生存时间值。
如下面将更详细地描述的,第一路由设备可以使用目标近邻连接24来处理包括多个多播流数据元素的注册消息。每个多播流数据元素标识共同地与相应的多播流相关联的源地址和组地址,并且每个多播流数据元素还指示相应的多播流是活动的还是被撤回的。
例如,RP 20可以从FHR 8接收第一目标问候消息,第一目标问候消息包括被寻址到RP 20的单播地址(例如,RP 20的任播地址或主地址)的第一单播消息。响应于接收到第一目标问候消息,RP 20向FHR 8发送第二目标问候消息以确认对第一目标问候消息的接收。该第二目标问候消息包括被寻址到FHR 8的主单播地址的第二单播消息。这些目标问候消息的交换建立RP 20与FHR 8之间的目标近邻连接24,其中在一些情况下,FHR 8可以扮演主动角色,并且RP 20可以扮演被动角色。在一些示例中,如在以上引用的RFC 6559中所描述的,目标邻近连接24可以包括可靠传输连接(例如,传输控制协议(TCP)或流控制传输(SCTP)协议连接)。在一些情况下,可靠传输机制能够使用TCP或SCTP作为传输协议。
如下面更详细地描述的,FHR 8和RP 20也可以基于刷新定时器彼此周期性地“刷新”这些目标问候消息以证实FHR 8与RP 20之间的目标近邻关系的持续存在。
一旦已经建立了目标邻近连接24,FHR 8可以使用目标邻近连接24向RP 20发送针对多播流的一个或多个注册消息。如以上所指出的,并且如将参考图2更详细地描述的,这些注册消息包括多个多播流数据元素,每个多播流数据元素标识共同地与相应的多播流相关联的源地址和组地址。这些注册消息向RP 20指示哪些多播流关于FHR 8是活动的并且哪些流已经被撤回。一旦已经建立了目标邻近连接24,FHR 8能够向RP 20发送给定注册消息,给定注册消息指示关于FHR 8活动的一个或多个流的整体列表以及从FHR 8被撤回的一个或多个流的整体列表。在各个示例中,各种注册消息中的全部注册消息由FHR 8经由目标邻近连接24被发送到RP 20,目标邻近连接24可以包括使用用于传输协议的TCP或SCTP(作为非限制性示例)的可靠传输连接。另外,在一些情况下,目标邻近连接24的可靠传输机制可以在需要时(例如,当在从FHR 8的初始传输期间任何注册消息被丢失或被损坏的情况下)处理任何注册消息从FHR 8到RP 20的重新传输。
例如,如果一组多播流已经关于FHR 8变得活动,则FHR 8向RP 20发送具有这些活动流的源地址和组地址的注册消息,使得RP 20能够针对由FHR 8服务的这些活动流更新其状态信息。由RP 20维护的状态信息标识针对每个活动多播流的相应的源地址和组地址。随后,如果这些流中的任何流在FHR 8处被撤回,则FHR 8向RP 20发送指示已经被撤回的流的源地址和组地址的更新注册消息。在接收到该更新的消息时,RP 20更新其状态信息(例如,从状态信息删除针对撤回的流的源地址和组地址)。以这种方式,一旦建立了目标邻近连接24,则FHR 8能够利用其现有的且活动的多播流以及已经被撤回的任何流来持续地更新RP20。
如还将在下面更详细地参考图4所描述的,在一些示例中,共享相同任播地址的多个不同的RP可以交换目标问候消息以建立在这些RP之间的全网状目标近邻连接。另外,在某些示例中,本公开的技术允许FHR(例如,FHR 8)通过对目标问候消息的交换来发现操作在任意源多播(ASM)模式中的RP的主地址(例如,RP 20)。
在一些情况下,这些技术的实施方式可以提供硬状态、可靠传输机制以补充或甚至替换对在RP 20与FHR 8之间的传统PIM SM注册消息、注册停止消息和/或空注册消息的使用。相反,FHR 8被配置为向RP 20发送注册消息,每个注册消息包括针对多个多播流的源地址信息和组地址信息。对这样的消息的使用可以显著地减少FHR 8与RP 20之间的注册消息的量,因为FHR 8在这样的消息的通信中扮演主动角色,并且仅仅向RP 20发送新的注册消息以便提供关于个体流的状态的增量更新(例如,当特定流已经变得活动或被撤回时)。然而,如以上所指出的,每个个体注册消息可以包括针对多个不同流的源地址信息和组地址信息。
利用这种方法,在某些示例中,FHR 8可以避免向RP 20发送单播封装的多播流量数据,从而当将这样的流量路由到网络1中的接收器(例如,接收器设备6)时减少RP 20上的处理开支和负担。作为结果,在各个示例中,可靠传输机制可以提供拥塞控制的形式以潜在地避免FHR 8与RP 20之间的信息(例如,从FHR 8发送到RP 20的注册消息)的泛溢(flooding)或超载。另外,可靠传输机制可以在目标邻近连接24上帮助最小化在FHR 8与RP20之间的分组丢失。
另外,本公开的技术可以使用目标邻近连接24提供在FHR 8与RP 20之间的改进的安全性。如以上所指出的,可靠传输机制可以帮助潜在地避免在FHR 8与RP 20之间交换的注册消息或其他信息的泛溢或超载。
另外,本技术可以允许实现域内和域间两者的源发现的可扩展性。如图1所示,RP20和FHR 8可以建立目标邻近连接24,并且RP 20可以接收来自FHR 8的关于针对耦合到FHR8的源设备2、4的活动流和撤回流的注册消息。如还在图4和图5中示出的,FHR可以与共享相同任播地址的不同的RP建立目标邻近连接,并且个体RP还可以与共享相同任播地址的其他RP建立目标邻近连接。FHR可以向这些RP中的任何RP发送关于针对耦合到这些相应的FHR的源设备的活动流和撤回流的注册消息,并且FHR还可以发现服务给定任播地址的最近的或当前的任播RP。在一些情况下,这可以提供自动发现过程。
图2是图示了图1中的RP 20与FHR 8之间的示例消息流的图。图2图示了这样的消息流的一个非限制性示例。初始地,在获知RP 20的地址时,FHR 8可以向RP 20发送目标问候消息30。目标问候消息30是被寻址到RP 20的单播消息。目标问候消息30的主源地址是FHR 8的地址,而包括单播地址的目的地址是RP 20的主地址或任播地址。在一些情况下,目标问候消息30还可以包括关于FHR 8的一个或多个能力或特征的信息。RP 20可以处理目标问候消息30以发现这样的能力或特征和/或与FHR 8协商这些能力或特征中的一个或多个能力或特征。
在接收到目标问候消息30时,RP 20可以向FHR 8发送目标问候消息32(答复)以确认由RP 20对目标问候消息30的接收。目标问候消息32是被寻址到FHR 8的单播消息。目标问候消息32的主源地址是RP 20的主地址,而包括单播地址的目的地址是FHR 8的主地址。在一些情况下,目标问候消息32可以具有次级源地址,次级源地址可以包括由RP 20服务的任播地址。在一些情况下,目标问候消息32还可以包括关于RP 20的一个或多个能力或特征的信息。FHR 8可以处理目标问候消息32以基于由FHR 8支持的能力或特征来发现RP 20的这样的能力或特征和/或与RP 20协商这些能力或特征中的一个或多个能力或特征。
如以上所指出的,如果RP 20被配置为任播RP并服务任播地址,则FHR 8可以初始地发送具有作为RP 20的任播地址的单播目的地址的目标问候消息30。在从RP20接收到目标问候消息32时,FHR 8能够进一步标识RP 20的主地址,FHR 8在随后向RP 20发送一个或多个注册消息时可以使用RP 20的主地址。在这样的方式中,FHR 8能够标识任播RP 20的主地址(例如,以发现服务FHR 8可以与其建立目标近邻连接的任播地址的最近的或当前的任播RP,即RP 20)。在FHR 8与RP 20交换目标问候消息30和32之后,在FHR 8与RP 20之间建立了目标近邻连接24,其中在一些情况下,FHR 8可以在目标近邻关系中扮演主动角色并且RP20可以扮演被动角色。目标邻近连接24可以包括可靠传输连接。
FHR 8可以维护包括关于其目标近邻中的全部目标近邻的信息的邻近状态信息(例如,图3中示出的近邻状态信息108)。例如,FHR 8可以在其近邻状态信息中存储RP 20的主地址和次级地址(例如,任播地址)以及由RP 20支持的和/或在FHR 8与RP 20之间协商的任何能力或特征。类似地,RP 20可以维护包括关于其目标近邻中的全部目标近邻的信息的近邻状态信息(例如,近邻状态信息108)。例如,RP 20可以在其近邻状态信息中存储FHR 8的主地址以及由FHR 8支持的和/或在FHR 8与RP 20之间协商的任何能力或特征。
FHR 8与RP 20还可以在处理目标问候消息(例如,目标问候消息30和目标问候消息32)时利用刷新和保持定时器,其可以与在以上引用的RFC 4601中概述的定时器类似。例如,在非限制性情况下,针对目标问候消息的默认刷新时间可以被设定为60秒(例如,是在RFC 4601中概述的默认链接层次问候时间的2倍),并且默认保持时间可以被设定为210秒(例如,默认刷新时间的3.5倍)。另外,FHR 8与RP 20可以利用保持活动消息来检查彼此以及目标近邻连接24的活动性。在一个示例中,这些保持活动消息可以与在以上引用的RFC6559中针对可靠连接24描述的保持活动消息类似。
关于目标近邻连接24,能够由于以下原因中的一个或多个原因发生连接丢失或可达性损失:(1)保持活动消息超时;(2)目标近邻丢失(例如,针对目标问候消息的保持定时器的超时);和/或(3)连接的关闭。在检测到这些条件中的任何条件时,FHR 8和/或RP 20可以关闭目标近邻连接24并(例如,在宽限期之后)清除任何对应的状态信息,使得FHR 8和RP20可以随后重新建立新的目标近邻连接并且重新同步针对近邻关系的相应的状态信息(例如,图3中示出的相应的近邻状态信息108)。作为一个注意,如果RP 20和/或FHR 8请求终止目标近邻关系,则RP 20和/或FHR 8可以发送具有保持时间为零的目标问候消息。另外,如果RP 20和/或FHR 8在特定时间点处确定与其他设备的重新连接或能力的重新协商是受保证的,则在一些示例中RP 20和/或FHR 8可以改变目标问候消息的生成标识符(或如在RFC6559和/或RFC 4601中被称为“GenID”)以便重置并重新初始化两个设备之间的目标近邻连接。在这些示例中,GenID可以被包含在两个设备之间交换的目标问候消息中的每个目标问候消息中。
在建立了目标邻近连接24之后,FHR 8可以使用RP 20的主地址使用目标邻近连接24向RP 20发送针对多播流的一个或多个注册消息。如在图2的示例中示出的,FHR 8向RP20发送一个或多个消息34A-34N。这些注册消息中的每个注册消息包括多个多播流数据元素,每个多播流数据元素标识共同地与相应的多播流相关联的源地址和组地址。另外,这些注册消息向RP 20指示哪些多播流关于FHR 8是活动的并且哪些流已经被撤回。(下面参考图7更详细地描述注册消息和多播流数据元素的示例格式)。如果特定流在FHR 8处是活动的,则注册消息的对应多播流数据元素可以指示该特定流要被添加到由RP 20维护的流状态信息(例如,图3中示出的流状态信息109)。然而,如果特定流在FHR 8处是被撤回的,则注册消息的对应多播流数据元素可以指示该特定流要从由RP 20维护的流状态信息删除。
例如,如果一组多播流已经关于FHR 8变得活动,则FHR 8向RP 20发送具有这些活动流的源地址和组地址的注册消息34A,使得RP 20能够针对在FHR 8处活动的并且由RP 8服务的流更新其流状态信息。由RP 20维护的流状态信息标识针对每个活动多播流的相应的源地址和组地址。随后,如果这些流中的任何流在FHR 8处被撤回,则FHR 8向RP 20发送指示已经被撤回的流的源地址和组地址的另一注册消息(例如,注册消息34N)。在接收到该更新的消息时,RP 20更新其流状态信息(例如,删除针对撤回的流的源地址和组地址)。以这种方式,一旦建立了目标邻近连接24,则FHR 8能够利用其现有的且活动的多播流以及已经被撤回的任何流来持续地更新RP 20。
基于由FHR 8发送的注册消息34A-34N的内容,RP 20针对由RP 20服务的活动多播流更新其流状态信息。流状态信息标识针对每个活动多播流的相应的源地址和组地址,并且还可以标识从其接收到源地址信息和组地址信息的设备(例如,FHR 8)。作为一个示例,在从FHR 8接收到的给定注册消息34A-34N中,针对在多播流数据元素中被指示为活动的每个多播流,RP 20可以将相应的源地址和组地址添加到其流状态信息。另一方面,针对在给定注册消息的多播流数据元素中被指示为撤回的每个多播流,RP 20可以将相应的源地址和组地址从流状态信息移除。
为了提供对这样的注册消息34A-34N的处理的非限制性示例,FHR 8可以经由目标近邻连接24向RP 20发送第一注册消息34A,第一注册消息34A包括多播流数据元素组。在该示例中,包含在注册消息34A中的该多播流数据元素组可以与第一组多播流相关联,第一组多播流即流1、流2和流3,其分别由FHR 8服务。
例如,第一多播流数据元素可以标识共同地与流1相关联的第一源地址S1和第一组地址G1。第一多播流数据元素还(例如,通过指示S1和G1要被添加到由RP 20维护的流状态信息)指示流1在FHR 8处是活动的。类似地,第二多播流数据元素标识共同地与流2相关联的第二源地址S2和第二组地址G2,并且还指示流2在FHR 8处是活动的。第三多播流数据元素标识共同地与流3相关联的第三源地址S3和第三组地址G3,并且还指示流3在FHR 8处是活动的。
在接收到注册消息34A时,RP 20可以通过基于注册消息34A中的第一多播流数据元素向状态信息添加标识针对流1的第一源地址S1和第一组地址G1的第一条目来更新其流状态信息。类似地,RP 20可以基于第二多播流数据元素来添加标识针对流2的第二源地址S2和第二组地址G2的第二条目并且可以基于第三多播流数据元素来添加识别针对流3的第三源地址S3和第三组地址G3的第三条目。RP 20的流状态信息中的第一条目、第二条目和第三条目分别指示流1、流2和流3在FHR 8处是活动的。
然而,在稍后的时间点处,如果流1在FHR 8处变为被撤回,但是新的流——流4变得活动,则FHR 8可以经由目标近邻连接24向RP 20发送单独的注册消息34N。注册消息34N包括多播流数据元素组,其中第一数据元素标识共同地与流1相关联的第一源地址S1和第一组地址G1,并且还(例如,通过指示S1和G1要从由RP 20维护的流状态信息被删除)指示流1现在在FHR 8处被撤回。注册消息34N包括标识共同地与流4相关联的第四源地址S4和第四组地址G4的第二多播流数据元素,并且还(例如,通过指示S4和G4要被添加到由RP 20维护的流状态信息)指示流4在FHR 8处是活动的。
在接收到注册消息34N时,RP 20通过基于注册消息34N中的第一多播流数据元素从状态信息移除标识针对流1的第一源地址S1和第一组地址G1的第一条目来更新其流状态信息。附加地,RP 20可以基于在注册消息34N中的第二多播流数据元素来添加标识针对流4的第四源地址S4和第四组地址G4的第四条目,指示流4在FHR 8处活动的。在这样的方式中,FHR 8能够通过向RP 20发送增量更新利用其现有的、活动的多播流来更新RP 20。作为响应,RP 20能够针对在FHR 8处活动的并且由RP 20服务的任何多播流更新流状态信息。
图3是图示了诸如图1或图2中示出的路由设备中的一个路由设备的示例路由设备80的框图。例如,路由设备8、10、12、14、16、18、20和/或22中的任何路由设备可以包括图3中图示的路由设备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和指示IFC 88中的哪个被连接到每个路由中的邻近路由设备的外出接口(OIF)列表96。例如,给定路由可以包括用于给定多播组G的多播流量的路由。在该示例中,IIF列表95可以包括到共享树中的所有下游路由设备的接口的列表,并且OIF列表96可以包括到具有针对多播组的状态的上游路由设备和下游路由设备的接口的列表。
另外,路由协议102可以包括PIM 104,并且具体为PIM SM,用于将多播流量路由通过具有根据路由信息94和状态信息98在概念上形成到共享树中的其他设备的计算机网络(例如,网络1)。路由引擎84还可以实施PIM 104以更新状态信息98。状态信息98可以描述针对网络的共享树中的路由设备之间的链接的当前状态。在图示的示例中,状态信息98包括描述哪些邻近路由设备属于针对共享树的范围内的哪些多播组的组状态信息99。
路由引擎84分析存储的路由信息94和状态信息98并生成用于转发引擎86的转发信息106。转发信息106可以将例如针对某些多播组的网络目的地与特定下一跳和对应的IFC 88和用于输出链接92的物理输出端口相关联。转发信息106可以是被编程到专用转发芯片、一系列表格、复杂数据库、链接列表、基数树、数据库、平面文件或各种其他数据结构中的基数树。在图3图示的示例中,转发信息106包括转发路由,所述转发路由包括用于将针对给定多播组的多播流量转发到邻近路由设备的特定路由。一般地,当路由设备80经由入站链接90中的一个入站链接接收多播分组时,控制单元82根据转发信息106确定用于分组的下一跳,并且根据该下一跳来转发分组。
如图3所示,并且如以上参考图2所描述的,状态信息98还包括近邻状态信息108和流状态信息109。路由设备80可以维护近邻状态信息108以包括关于其目标近邻和目标近邻连接中的全部的信息。路由设备80可以在近邻状态信息108中存储利用其已经建立目标近邻连接的目标近邻的地址,以及与这样的连接中的每个连接相关联的任何能力或特征信息。例如,如果路由设备80包括已经与RP(例如,RP 20)建立了目标近邻连接(例如,目标近邻连接24)的FHR(例如,FHR 8),则路由设备可以在近邻状态信心108中存储RP的主地址和任何次级地址(例如,任意播地址)以及由RP支持的或已经在两个设备之间被协商的任何能力或特征。一般地,近邻状态信息108可以包括这样的地址和能力/特征信息。
状态信息98还包括流状态信息109,流状态信息109包括与由路由设备80服务的活动流相关联的信息。路由设备80响应于从另一路由设备接收到注册消息(例如,图2中示出的注册消息34A-34N)来维护并更新流状态信息109。例如,路由设备80可以从第二路由设备接收用于指示一个或多个多播流的组在第二路由设备处已经变得活动的注册消息。在这样的示例中,路由设备80可以存储与流状态信息109中的这些活动流中的每个活动流相关联的源地址和组地址。流状态信息109标识针对每个活动多播流的相应的源地址和组地址。在一些实例中,路由设备80还可以在流状态信息109中存储已经从其接收到源地址信息和组地址信息的第二路由设备的地址(例如,主地址)。
随后,如果这些流中的任何流在第二路由设备处被撤回,则路由设备80可以从第二路由设备接收指定已经被撤回的流的源地址和组地址的另一注册消息。在接收到该更新的消息时,路由设备80更新其流状态信息109(例如,删除针对撤回的流的源地址和组地址)。以这种方式,一旦已经与路由设备80建立了目标近邻连接,则路由设备80能够持续地更新其流状态信息109以添加针对现有的且活动的多播流的源地址信息和组地址信息,并且删除针对已经被撤回的任何流的源地址信息和组地址信息。
仅出于示例性目的示出了图3中图示的路由设备80的架构。本公开不一定限于该架构。在其他示例中,路由设备80可以以各种方式被配置。在一个示例中,控制单元82的功能中的一些功能可以被分布在IFC 88内。在另一示例中,控制单元82可以包括操作为从路由器的多个分组转发引擎。
控制单元82可以单独地被实施在软件或硬件中,或者可以被实施为软件、硬件或固件的组合。例如,控制单元82可以包括执行软件指令的一个或多个处理器。在这种情况下,控制单元82的各种软件模块可以包括存储在诸如计算机存储器或存储设备的计算机可读存储介质上的可执行指令。
图4是图示了在多个RP与多个FHR之间建立的目标近邻连接的示例的框图。在图4的示例中,两个单独的RP,即RP 20和RP 204,各自被通信地耦合到多个不同的FHR。一般地,每个RP可以与一个或多个FHR建立相应的目标近邻连接,并且每个RP还可以能够与一个或多个其他RP建立相应的目标近邻连接。尤其,在一些示例中,在RP服务相同的任播地址时或在这些RP还充当针对不同多播源的FHR时,这些RP可以彼此形成目标近邻关系。在图4和图5的示例中,图示的目标近邻连接中的每个目标近邻连接可以包括可靠传输连接。
参考图4,RP 20已经与FHR 8建立目标近邻连接24并且与FHR 30建立单独的目标近邻连接200。RP 20与FHR 8可以以与以上描述的方式类似的方式建立目标近邻连接24。以类似的方式,RP 20与FHR 30可以建立目标近邻连接200。RP 20、FHR 8和FHR 30中的每一个可以各自存储与其相应的目标近邻和目标近邻连接相关联的近邻状态信息(例如,图3中示出的近邻状态信息108)。例如,FHR 8可以维护针对目标近邻连接24的近邻状态信息以指示与RP 20的目标近邻关系。该状态信息可以包括RP 20的主地址、RP 20的任何次级(例如,任播)地址以及与目标近邻连接24相关联的RP 20和/或FHR 8的任何能力/特征。FHR 30可以维护针对目标近邻连接200的相似近邻状态信息。
RP 20可以维护关于与FHR 8的目标近邻连接24和与FHR 30的目标近邻连接200两者的近邻状态信息。针对目标近邻连接24,RP 20的近邻状态信息可以指示与FHR 8的目标近邻关系并且可以包括FHR 8的地址以及与目标近邻连接24相关联的RP 20和/或FHR 8的任何能力/特征。RP 20可以维护关于针对目标近邻连接200的FHR 30的相似状态信息。
如图4所示,第二且单独的RP 204被通信地耦合到FHR 206和FHR 208。RP 204已经以与以上描述的方式类似的方式与FHR 206建立了目标近邻连接210并且与FHR 208建立了单独的目标近邻连接212。RP 204、FHR 206和FHR 208中的每一个还可以各自以与以上描述的方式类似的方式存储与其相应的目标近邻和目标近邻连接相关联的近邻状态信息(例如,图3中示出的近邻状态信息108)。FHR 8、FHR 30、FHR 206和FHR 208可以各自被通信地耦合到一个或多个源设备。(例如,如图1所示,FHR 8可以被耦合到源设备2、4。)
另外,RP 20和RP 204可以建立目标近邻连接202,目标近邻连接202是两个个体RP之间的连接。为了这样做,RP 20和RP 204可以交换目标问候消息并且各自存储包括RP 20或RP 204的相应的主地址的关于目标近邻连接202的状态信息以及潜在地存储与目标近邻连接202相关联的RP 20和RP 204的任何能力/特征。
另外,RP 20和RP 204还可以支持PIM ASM并且各自服务相同的任播地址。一般地,服务任播地址的RP可以被配置为存储服务相同的任播地址的其他RP的主地址,并且这些RP可以共同地形成全网状的目标近邻关系。因此,如果RP 20和RP 204两者都服务相同的任播地址,则RP 20存储RP 204的主地址,并且RP 204存储RP 20的主地址。通过形成RP 20与RP204之间的目标近邻关系,在假设RP 20和RP 204共享相同的任播地址的情况下,FHR 8、FHR30、FHR 206和/或FHR 208中的任一个可以与RP 20或RP 204建立目标近邻连接。另外,如果FHR 8、FHR 30、FHR 206和/或FHR 208中的任一个已经与RP 20或RP 204中的一个建立了目标近邻连接并且(例如,由于故障或其他问题)该相应的连接丢失,则FHR 8、FHR 30、FHR206和/或FHR 208可以与RP 20或RP 204中的另一个建立目标近邻连接。
在图4的示例中,FHR 8、FHR 30、FHR 206和FHR 208中的每一个可以存储由RP 20和RP 204两者共享的任播地址。在某些示例中,本公开的技术允许这些FHR中的任何FHR通过交换目标问候消息来发现RP 20和/或RP 204的主地址。一旦FHR 8、FHR 30、FHR 206和/或FHR 208已经在建立相应的目标近邻连接期间从RP 20或RP 204接收到目标问候消息(例如,图2中示出的目标问候消息32),则FHR 8、FHR 30、FHR 206和/或FHR 208可以处理该目标问候消息以标识被包括在目标问候消息中的RP 20或RP 204的主地址。RP 20和/或RP204的任播地址和主地址可以被存储在近邻状态信息108(图2)中。因此,在任何时间点处,FHR 8、FHR 30、FHR 206和/或FHR 208中的任一个可以能够通过与RP 20或RP 204交换目标问候消息来发现服务给定任播地址的最近的任播RP或当前的任播RP的主地址(例如,RP 20或RP 204的主地址)。
在图4中示出的特定示例中,在RP 20和RP 204共享相同的任播地址的情况下,如分别由目标近邻连接24和200所指示的,RP 20可以是针对FHR 8和FHR 30的最近的任意播RP或当前的任意播RP。同样地,如分别由目标近邻连接210和212所指示的,RP 204可以是针对FHR 206和FHR 208的最近的任意播RP或当前的任意播RP。如下面将更详细地参考图5所描述的,如果与RP 20或RP 204中的一个的给定目标近邻连接(例如,由于故障或其他问题)被丢失,则FHR 8、FHR 30、FHR 206和/或FHR 208中的任一个可以与RP 20或RP 204中的另一个交换目标问候消息以标识该另一RP的主地址,该另一RP可以充当具有相同的任播地址的下一最近的任播RP或当前的任播RP。
一旦已经建立了目标近邻连接24和200,则FHR 8和FHR 30可以以与例如以上参考图2描述的方式类似的方式向RP 20发送注册消息,并且RP 20可以相应地更新其流状态信息。例如,FHR 8可以使用目标邻近连接24向RP 20发送针对多播流的一个或多个注册消息。这些注册消息中的每个注册消息包括多个多播流数据元素,每个多播流数据元素标识共同地与相应的多播流相关联的源地址和组地址。另外,这些注册消息向RP 20指示哪些多播流关于FHR 8是活动的并且哪些流已经被撤回。类似地,FHR 30可以使用目标近邻连接200来发送一个或多个注册消息,其中注册消息指示哪些多播流在FHR 30处是活动的或被撤回的。在接收到这些注册消息时,RP 20更新其流状态信息(例如,图3中示出的流状态信息109)以例如基于相应的流正在被添加还是删除来添加或删除源地址信息和组地址信息。
另外,然而,如果RP 20被配置为任播RP,则RP 20将这些状态消息发送到具有相同的任播地址的任何其他RP。因此,如果RP 20和RP 204两者具有相同的任播地址,则RP 20可以向RP 204传输从FHR 8和/或FHR 30接收到的任何注册消息。响应于接收到这样的注册消息,RP 204可以基于包含在这些消息中的源地址信息和组地址信息来针对与FHR 8和/或FHR 30相关联的多播流更新其自己的流状态信息。RP 204将不重新传输从RP 20接收到的注册消息。以这样的方式,RP 204可以使用与RP 20的其目标近邻连接202作为在具有相同的任播地址的任播RP之间的全网状的目标近邻连接的一部分,以维护关于与FHR 8和FHR30相关联的多播流的流状态信息。
RP 204还可以使用目标近邻连接210来从FHR 206接收注册消息,并且还可以使用目标近邻连接212来从FHR 208接收注册消息,从而相应地更新其流状态信息。如果RP 20和RP 204两者都被配置为共享相同的任播地址的任播RP,则RP 204还可以向RP 20传输从FHR206和/或FHR 208接收到的任何注册消息。RP 20将不重新传输从RP 204接收到的注册消息。然后,RP 20针对与FHR 206和/或FHR 208相关联的多播流更新其流状态信息。因此,RP20可以使用与RP 204的其目标近邻连接202作为在具有相同的任播地址的任播RP之间的全网状的目标近邻连接的一部分,以维护关于与FHR 206和FHR 208相关联的多播流的流状态信息。
在一些示例中,RP不重新传输其已经从具有相同的任播地址的另一任播RP接收到的任何注册消息。因此,如果例如RP 20和RP 204两者都被配置为共享相同的任播地址的任播RP并且RP 204从RP 20接收到从FHR 8和/或FH 30发送的一个或多个注册消息,则RP 204不向另一RP重新传输这些消息。类似地,在该示例中,RP 20不重新传输其从RP 204接收到的任何注册消息。
图5是图示了在其与第一RP的初始连接已经被关闭之后与第二RP建立目标近邻连接的示例FHR的框图。例如,继续图4的示例,在初始地建立了图4中示出的初始目标近邻连接中的全部初始目标近邻连接之后,有可能可以存在关于RP 20的问题和/或故障。在这样的情形下,与FHR 8的目标近邻连接24和与FHR 30的目标近邻连接200可以(例如,在关闭连接、问候消息保持和/或保持活动定时器超时时)由RP 20关闭或以其他方式失效。例如,FHR8可以确定其与RP 20的目标近邻连接24已经被关闭或以其他方式失效,并且FHR 30可以确定其与RP 20的目标近邻连接200已经被关闭或以其他方式失效。
然而,假设RP 20和RP 204已经初始地被配置为共享相同的任播地址的任播RP,则如图5中示出的,FHR 8和FHR 30两者可以建立与作为到FHR 8和FHR 30的下一最近任播RP的RP 204的新的目标近邻连接。在其近邻状态信息(例如,图3中示出的近邻状态信息108)中,FHR 8和FHR 30中的每一个可以具有之前存储的RP 20的任播地址。在关闭与RP 20的这些目标近邻连接时,FHR 8和FHR 30可以各自清除对应于这些连接的存储的状态信息,并且还可以利用由RP 204共享的存储的RP 20的任播地址,以建立与RP 204的新的目标连接并且以存储针对这些新的连接的更新的近邻状态信息。
如图5所示,FHR 8可以与RP 204交换目标问候消息以建立目标近邻连接220,并且FHR 30可以与RP 204交换目标问候消息以建立目标近邻连接222。FHR 8和FHR 30中的每一个在向RP 204发送目标问候消息时都可以使用RP 204的任播地址。在交换这些问候消息期间,FHR 8和FHR 30两者都可以接收并存储RP 204的主地址。FHR 8、FHR 30和RP 204中的每一个可以更新其相应的近邻状态信息(例如,近邻状态信息108)以存储关于FHR 8与RP 204之间或FHR 30与RP 204之间的目标近邻关系的状态信息。因为RP 204共享与RP 20相同的任播地址,FHR 8和FHR 30各自能够在交换目标问候消息期间标识RP 204的主地址(例如,以发现新的、最近的或当前的任播RP,FHR 8和FHR 30利用其建立目标近邻连接,即RP204)。
与以上描述的技术类似地,在建立了目标近邻连接220和222时,FHR 8和FHR 30可以分别开始向RP 204发送关于任何相应的活动的或被撤回的多播流的状态的注册消息(例如,使用RP 204的主地址)。在接收到这些注册消息时,RP 204更新关于分别由FHR 8和FHR30处理的多播流的状态的其流状态信息(例如,图3中示出的流状态信息109)。在这样的方式中,当RP 20和RP 204初始地被配置为共享相同的任播地址的任播RP时,FHR 8和FHR 30可以在故障转移或其他问题的情况下从第一RP转变到第二RP,并且可以继续向该第二RP发送注册消息使得对多播流量的处理可以继续。
图6是图示了目标问候消息的示例表示的概念图。在一些示例中,目标问候消息的表示可以被称为类型-长度-值或TLV表示。在本公开中讨论的各种目标问候消息,包括图2中示出的目标问候消息330和32,可以具有图6中示出的格式。如之前所指出的,目标问候消息可以具有单播地址作为目的地址,并且它们可以使用单播路由来遍历多跳以到达由目的地址标识的目标问候近邻。
如在图6的示例中示出的,目标问候消息可以包括域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在长度上为四位。
图7是图示了注册消息的示例表示的概念图。在一些示例中,注册消息的表示可以被称为类型-长度-值或TLV表示。在本公开中讨论的各种注册消息,包括图2中示出的注册消息34A-34N,可以具有图7中示出的格式。
如在图7的示例中示出的,注册消息可以包括域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在长度上为四位。
如之前所讨论的,每个注册消息可以包括多个多播流数据元素。例如,在图7的示例中,域408A、域410A、域412A和域414A的值可以与多播流数据元素“A”相关联,并且域408N、域410N、域412N和域414N的值可以与多播流数据元素“N”相关联。多播流数据元素“A”与特定多播流“A”相关联,并且多播流数据元素“N”与特定多播流“N”相关联。
域410A是具有可以在一些情况下仅仅在传输时被设定为零并且在接收时忽略的值的保留域。然而,在某些情况下,域410A的值可以与应用到多播流“A”的属性和/或包括在多播流数据元素“A”中的源地址和组地址相关联。在非限制性示例中,域410A在长度上为三十一位。
域408A指明源地址412A和组地址414A是否要被添加或被删除。在一个示例中,域408A在长度上为一位,域408A具有为一(例如,添加)或零(例如,删除)的值。当FHR设定域408A的值以指示源地址412A和组地址414A要被添加时,FHR已经将多播流“A”标识为在FHR处为活动流,使得RP可以添加针对该流的流状态信息(例如,源地址412A和组地址414A)。另一方面,如果域408A的值指示源地址412A和组地址414A要被删除时,FHR已经将多播流“A”标识为在FHR处被撤回,使得RP可以删除针对该流的流状态信息(例如,源地址412A和组地址414A)。
域412A指定与多播流“A”相关联的源地址。在非限制性示例中,域412A具有四的字节长度和对应于在没有任何编码的情况下IPv4流的源地址的值,而在其他示例中,域412A具有十六的字节长度和对应于在没有任何编码的情况下IPv6流的源地址的值。
域414A指定与多播流“A”相关联的组地址。在非限制性示例中,域414A具有四的字节长度和对应于在没有任何编码的情况下IPv4流的组地址的值,而在其他示例中,域414A具有十六的字节长度和对应于在没有任何编码的情况下IPv6流的组地址的值。
域408N、域410N、域412N和域414N类似于域408A、域410A、域412A和域414A但是相反对应于多播流数据元素“N”。任何数量的多播流数据元素可以被包括在给定注册消息中,并且每个特定多播流数据元素与活动的(例如,要被添加的)或被撤回的(例如,要被删除的)的相应的多播流相关联。
图8是图示了由路由设备、诸如由图1-5中示出的RP或FHR中的一个或多个来实施的示例过程50的流程图。过程500包括操作502和504以及下面叙述的各种其他可能的操作。
如图8所示,第一路由设备可以使用PIM协议与第二路由设备交换目标问候消息以建立第一路由设备与第二路由设备之间的目标近邻连接(502)。第一路由设备经由至少一个中介路由设备(例如,图1中示出的路由设备16和/或18)与第二路由设备交换目标问候消息,并且第一路由设备或第二路由设备中的至少一个路由设备包括RP。第一路由设备使用与第二路由设备的目标近邻连接来处理包括多播流数据元素的注册消息(504)。每个多播流数据元素标识共同地与相应的多播流相关联的源地址和组地址,并且每个多播流数据元素还指示相应的多播流是活动的还是被撤回的。
例如,第一路由设备包括RP(例如,RP 20)并且第二路由设备可以包括耦合到提供至少一个多播流的至少一个源设备的FHR(例如,FHR 8)。在该示例中,目标近邻连接包括可靠传输连接,并且交换目标问候消息包括由RP从FHR接收包括被寻址到RP的第一单播消息的第一目标问候消息(例如,目标问候消息30),并且由RP向FHR发送第二目标问候消息(目标问候消息32)以确认对第一目标问候消息的接收,其中第二目标问候消息包括被寻址到FHR的第二单播消息,其中第二目标问候消息的源地址包括RP的主地址,并且其中第二目标问候消息的次级地址包括RP的任播地址。处理所述注册消息包括由所述RP使用所述目标近邻连接从所述FHR接收所述注册消息(例如,注册消息34A或34N),其中所述注册消息由所述FHR发送到所述RP的所述主地址。
RP可以基于所述注册消息来更新针对在所述FHR处活动的并且由所述RP服务的多播流的状态信息(例如,流状态信息109),其中所述状态信息标识针对每个活动的多播流的相应的源地址和组地址。例如,针对在给定注册消息的在多播流数据元素中被指示为活动的每个多播流,RP可以至少通过向流状态信息添加相应的源地址和组地址来更新状态信息。针对在所述注册消息的所述多播流数据元素中被指示为被撤回的每个多播流,RP可以将所述相应的源地址和组地址从所述状态信息移除。
为了提供非限制性示例,RP可以接收包括第一多个多播流数据元素的第一注册消息。所述第一多个多播流数据元素中的一个多播流数据元素标识共同地与特定多播流相关联的特定源地址和特定组地址,并且该多播流数据元素还可以指示所述特定多播流在所述FHR处是活动的。RP可以通过向所述状态信息添加标识共同地与所述特定多播流相关联的所述特定源地址和所述特定组地址的条目来更新所述状态信息,所述条目指示所述特定多播流在所述FHR处是活动的。
在接收到第一注册消息之后,RP可以使用目标近邻连接从FHR接收包括第二多个多播流数据元素的第二注册消息,其中所述第二多个多播流数据元素中的一个多播流数据元素标识共同地与特定多播流相关联的特定源地址和特定组地址。该多播流数据元素还可以指示特定多播流现在在FHR处被撤回。作为响应,RP从所述状态信息移除标识针对所述特定多播流的所述特定源地址和所述特定组地址的条目。
在一些示例中,RP包括具有任播地址的第一RP,并且目标问候消息包括第一多个目标问候消息。第一RP可以是与第二RP(例如,RP 204)共享相同的任播地址的任播RP,第二RP与第一RP具有相同的任播地址。第一RP能够与第二RP交换第二多个问候消息以建立第一RP与第二RP之间的目标近邻连接。在从FHR接收到注册消息时,第一RP使用其与第二RP的目标近邻连接来向第二RP发送从FHR接收到的注册消息。第二RP不重新发送从第一RP接收到的注册消息。
参考回图8中示出的操作502和504,在一些示例中,第一路由设备包括第一跳路由器(FHR),所述第一跳路由器被耦合到提供至少一个多播流的至少一个源设备,并且第二路由设备包括RP。在这些示例中,目标近邻连接包括可靠传输连接,并且交换目标问候消息包括由FHR向RP发送包括被寻址到RP的第一单播消息的第一目标问候消息,并且由FHR从RP接收第二目标问候消息以确认对第一目标问候消息的接收,第二目标问候消息包括被寻址到FHR的第二单播消息。第二目标问候消息的源地址包括RP的主地址,并且第二目标问候消息的次级地址包括RP的任播地址。处理注册消息包括由FHR使用目标近邻连接来向RP的主地址发送所述注册消息。如果第一目标问候消息被寻址到RP的任意播地址。在一些情况下,如早前所描述的,FHR可以向RP的任播地址发送第一目标问候消息。
如果RP包括与第二RP共享相同的任播地址的第一RP,则多个目标问候消息包括第一多个目标问候消息,在给定时间点处,FHR可以确定与第一RP的目标近邻连接已经失效。作为响应,FHR可以与第二RP交换第二多个目标问候消息来建立所述FHR与所述第二RP之间的目标近邻连接,其中所述第一RP和所述第二RP共享相同的任播地址。
另外,如之前所述描述的,目标问候消息的交换可以包括发现和/或协商第一路由设备和/或第二路由设备的一个或多个能力或特征。这些能力或特征可以被存储在每个相应的路由设备的状态信息(例如,图3中示出的近邻状态信息108)中。
示例1:一种方法,包括:由第一路由设备使用协议无关多播(PIM)协议与第二路由设备交换多个目标问候消息以建立所述第一路由设备与所述第二路由设备之间的目标近邻连接,其中所述第一路由设备经由至少一个中介路由设备与所述第二路由设备交换所述多个目标问候消息,并且其中所述第一路由设备或所述第二路由设备中的至少一个路由设备包括汇聚点(RP);以及由所述第一路由设备使用与所述第二路由设备的所述目标近邻连接来处理包括多个多播流数据元素的注册消息,其中每个多播流数据元素标识共同地与相应的多播流相关联的源地址和组地址,并且其中每个多播流数据元素还指示所述相应的多播流是活动的还是被撤回的。
示例2:根据示例1所述的方法,其中所述目标近邻连接包括可靠传输连接,其中所述第一路由设备包括所述RP并且所述第二路由设备包括第一跳路由器(FHR),所述第一跳路由器被耦合到提供至少一个多播流的至少一个源设备,其中交换所述多个目标问候消息包括:由所述RP从所述FHR接收第一目标问候消息,所述第一目标问候消息包括被寻址到所述RP的第一单播消息;以及由所述RP向所述FHR发送第二目标问候消息以确认对所述第一目标问候消息的接收,其中所述第二目标问候消息包括被寻址到所述FHR的第二单播消息,其中所述第二目标问候消息的源地址包括所述RP的主地址,并且其中所述第二目标问候消息的次级地址包括所述RP的任播地址;并且其中处理所述注册消息包括,由所述RP使用所述目标近邻连接从所述FHR接收所述注册消息,所述注册消息由所述FHR发送到所述RP的所述主地址。
示例3:根据示例2所述的方法,还包括:由所述RP基于所述注册消息来更新针对在所述FHR处活动的并且由所述RP服务的多播流的状态信息,其中所述状态信息标识针对每个活动的多播流的相应的源地址和组地址。
示例4:根据示例3所述的方法,其中更新所述状态信息包括:针对在所述注册消息的所述多个多播流数据元素中被指示为活动的每个多播流,向所述状态信息添加所述相应的源地址和组地址;以及针对在所述注册消息的所述多个多播流数据元素中被指示为被撤回的每个多播流,从所述状态信息移除所述相应的源地址和组地址。
示例5:根据示例3-4中的任一项所述的方法,其中接收所述注册消息包括,接收包括第一多个多播流数据元素的第一注册消息,其中所述第一多个多播流数据元素中的一个多播流数据元素标识共同地与特定多播流相关联的特定源地址和特定组地址,所述第一多个多播流数据元素中的所述一个多播流数据元素还指示所述特定多播流在所述FHR处是活动的;并且其中更新所述状态信息包括,向所述状态信息添加标识共同地与所述特定多播流相关联的所述特定源地址和所述特定组地址的条目,所述条目指示所述特定多播流在所述FHR处是活动的。
示例6:根据示例5所述的方法,还包括:在接收到所述第一注册消息之后,由所述RP使用所述目标近邻连接从所述FHR接收包括第二多个多播流数据元素的第二注册消息,其中所述第二多个多播流数据元素中的一个多播流数据元素标识共同地与所述特定多播流相关联的所述特定源地址和所述特定组地址,所述第二多个多播流数据元素中的所述一个多播流数据元素还指示所述特定多播流现在在所述FHR处是被撤回的;以及从所述状态信息移除标识针对所述特定多播流的所述特定源地址和所述特定组地址的所述条目。
示例7:根据示例2-6所述的方法,其中所述RP包括具有所述任播地址的第一RP,其中所述多个目标问候消息包括第一多个目标问候消息,所述方法还包括:由所述第一RP与具有与所述第一RP相同的任播地址的第二RP交换第二多个问候消息以建立所述第一RP与所述第二RP之间的目标近邻连接;以及从所述第一RP向所述第二RP发送从所述FHR接收到的所述注册消息,其中所述第二RP不重新传输从所述第一RP接收到的所述注册消息。
示例8:根据示例1-7中的任一项所述的方法,其中所述目标近邻连接包括可靠传输连接,其中所述第一路由设备包括第一跳路由器(FHR),所述第一跳路由器被耦合到提供至少一个多播流的至少一个源设备,其中所述第二路由设备包括所述RP,其中交换所述多个目标问候消息包括:由所述FHR向所述RP发送第一目标问候消息,所述第一目标问候消息包括被寻址到所述RP的第一单播消息;以及由所述FHR从所述RP接收第二目标问候消息以确认对所述第一目标问候消息的接收,其中所述第二目标问候消息包括被寻址到所述FHR的第二单播消息,其中所述第二目标问候消息的源地址包括所述RP的主地址,并且其中所述第二目标问候消息的次级地址包括所述RP的任播地址;并且处理所述注册消息包括,由所述FHR使用所述目标近邻连接向所述RP的所述主地址发送所述注册消息。
示例9:根据示例8所述的方法,其中发送所述第一目标问候消息包括,由所述FHR向所述RP的所述任播地址发送所述第一目标问候消息。
示例10:根据示例9所述的方法,其中所述RP包括具有所述任播地址的第一RP,其中所述多个目标问候消息包括第一多个目标问候消息,并且其中所述方法还包括:由所述FHR确定与所述第一RP的所述目标近邻连接已经失效;以及由所述FHR与具有与所述第一RP相同的任播地址的第二RP交换第二多个目标问候消息以建立所述FHR与所述第二RP之间的目标近邻连接,其中所述第一RP和所述第二RP共享相同的任播地址。
示例11:根据示例1-10中的任一项所述的方法,其中交换所述多个目标问候消息包括,发现所述第二路由设备的一个或多个能力或特征。
示例12:一种第一路由设备,包括:至少一个处理器,所述至少一个处理器被配置为:使用协议无关多播(PIM)协议与第二路由设备交换多个目标问候消息以建立所述第一路由设备与所述第二路由设备之间的目标近邻连接,其中所述第一路由设备经由至少一个中介路由设备与所述第二路由设备交换所述多个目标问候消息,并且其中所述第一路由设备或所述第二路由设备中的至少一个路由设备包括汇聚点(RP);以及使用与所述第二路由设备的所述目标近邻连接来处理包括多个多播流数据元素的注册消息,其中每个多播流数据元素标识共同地与相应的多播流相关联的源地址和组地址,并且其中每个多播流数据元素还指示所述相应的多播流是活动的还是被撤回的。
示例13:根据示例12所述的第一路由设备,其中所述至少一个处理器被配置为执行根据权利要求2-11中的任一项所述的方法。
示例14:一种包括指令的计算机可读存储介质,所述指令当被执行时,使得第一路由设备的至少一个处理器执行操作,所述操作包括:使用协议无关多播(PIM)协议与第二路由设备交换多个目标问候消息以建立所述第一路由设备与所述第二路由设备之间的目标近邻连接,其中所述第一路由设备经由至少一个中介路由设备与所述第二路由设备交换所述多个目标问候消息,并且其中所述第一路由设备或所述第二路由设备中的至少一个路由设备包括汇聚点(RP);以及使用与所述第二路由设备的所述目标近邻连接来处理包括多个多播流数据元素的注册消息,其中每个多播流数据元素标识共同地与相应的多播流相关联的源地址和组地址,并且其中每个多播流数据元素还指示所述相应的多播流是活动的还是被撤回的。
示例15:根据示例14所述的计算机可读存储介质,其中所述指令当被执行时,使得所述第一路由设备的所述至少一个处理器执行根据示例2-11中的任一项所述的方法。
本公开中描述的技术可以至少部分地被实施在硬件、软件、固件或其任何组合中。例如,所描述的技术的各种方面可以被实施在一个或多个处理器内,所述一个或多个处理器包括一个或多个微处理器、数字信号处理器(DSP)、专用集成电路(ASIC)、现场可编程门阵列(FPGA)或任何其他等效集成电路或分立逻辑电路以及这样的部件的任何组合。术语“处理器”或“处理电路”一般可以指单独的或与其他逻辑电路组合的前述逻辑电路中的任何电路或任何其他等效电路。包括硬件的控制单元还可以执行本公开的技术中的一个或多个技术。
这样的硬件、软件和固件可以被实施在相同设备内或分离的设备内以支持本公开中描述的各种操作和功能。另外,所描述的单元、模块或部件中的任何单元、模块或部件可以一起被实施或单独地被实施为分立但可互操作的逻辑设备。将不同特征作为模块或单元的描绘旨在突出不同的功能方面并且不一定暗示这样的模块或单元必需由单独的硬件或软件部件来实现。更确切地说,与一个或多个模块或单元相关联的功能可以由单独的硬件或软件部件来执行,或被集成在共同或单独的硬件或软件部件内。
本公开中描述的技术还可以被体现或被编码在包含指令的、诸如非瞬态计算机可读存储介质的计算机可读介质中。嵌入或编码在计算机可读介质中的指令可以例如在指令被运行时使得可编程处理器或其他处理器执行方法的一个或多个操作。有形且非瞬态的计算机可读存储介质可以包括随机存取存储器(RAM)、只读存储器(ROM)、可编程只读存储器(PROM)、可擦除可编程只读存储器(EPROM)、电可擦除可编程只读存储器(EEPROM)、快闪存储器、硬盘、CD-ROM、软盘、磁带、磁性介质、光学介质或其他计算机可读存储介质。应当理解,术语“计算机可读存储介质”指物理存储介质而非信号、载波或其他瞬态介质。
已经描述了本公开的各种实施例。这些示例和其他示例在以下权利要求书的范围内。

Claims (13)

1.一种用于处理多播流数据的方法,包括:
由第一路由设备使用协议无关多播(PIM)协议与第二路由设备交换多个目标问候消息,以建立所述第一路由设备与所述第二路由设备之间的目标近邻连接,其中所述第一路由设备包括汇聚点,所述汇聚点经由至少一个中介路由设备与所述第二路由设备交换所述多个目标问候消息,其中所述第二路由设备包括第一跳路由器,所述第一跳路由器被通信耦合到提供至少一个多播流的至少一个源设备,并且其中交换所述多个目标问候消息包括:
由所述第一路由设备从所述第二路由设备接收第一目标问候消息,所述第一目标问候消息包括被寻址到所述第一路由设备的第一单播消息;以及
由所述第一路由设备向所述第二路由设备发送第二目标问候消息,以确认对所述第一目标问候消息的接收,其中所述第二目标问候消息包括被寻址到所述第二路由设备的第二单播消息;以及
由所述第一路由设备使用所述目标近邻连接来从所述第二路由设备接收包括多个多播流数据元素的注册消息,其中每个多播流数据元素标识共同地与相应的多播流相关联的源地址和组地址,并且其中每个多播流数据元素还指示所述相应的多播流是活动的还是被撤回的。
2.根据权利要求1所述的方法,
其中所述目标近邻连接包括可靠传输连接,
其中所述第二目标问候消息的源地址包括所述第一路由设备的主地址,
其中所述第二目标问候消息的次级地址包括所述第一路由设备的任播地址,并且
其中所述注册消息被寻址到所述第一路由设备的所述主地址。
3.根据权利要求1所述的方法,还包括:
由所述第一路由设备基于所述注册消息来更新针对在所述第二路由设备处活动的并且由所述第一路由设备服务的多播流的状态信息,其中所述状态信息标识针对每个活动的多播流的相应的源地址和组地址。
4.根据权利要求3所述的方法,其中更新所述状态信息包括:
针对在所述注册消息的所述多个多播流数据元素中被指示为活动的每个多播流,向所述状态信息添加所述相应的源地址和组地址;以及
针对在所述注册消息的所述多个多播流数据元素中被指示为被撤回的每个多播流,从所述状态信息移除所述相应的源地址和组地址。
5.根据权利要求3所述的方法,
其中接收所述注册消息包括,接收包括第一多个多播流数据元素的第一注册消息,
其中所述第一多个多播流数据元素中的一个多播流数据元素标识共同地与特定多播流相关联的特定源地址和特定组地址,所述第一多个多播流数据元素中的所述一个多播流数据元素还指示所述特定多播流在所述第二路由设备处是活动的;并且
其中更新所述状态信息包括,向所述状态信息添加标识共同地与所述特定多播流相关联的所述特定源地址和所述特定组地址的条目,所述条目指示所述特定多播流在所述第二路由设备处是活动的。
6.根据权利要求5所述的方法,还包括:
在接收到所述第一注册消息之后,由所述第一路由设备使用所述目标近邻连接从所述第二路由设备接收包括第二多个多播流数据元素的第二注册消息,其中所述第二多个多播流数据元素中的一个多播流数据元素标识共同地与所述特定多播流相关联的所述特定源地址和所述特定组地址,所述第二多个多播流数据元素中的所述一个多播流数据元素还指示所述特定多播流现在在所述第二路由设备处是被撤回的;以及
从所述状态信息移除标识针对所述特定多播流的所述特定源地址和所述特定组地址的所述条目。
7.根据权利要求2所述的方法,其中所述第一路由设备包括具有所述任播地址的第一汇聚点,其中所述多个目标问候消息包括第一多个目标问候消息,所述方法还包括:
由所述第一路由设备与包括第二汇聚点的第三路由设备交换第二多个问候消息,以建立所述第一路由设备与所述第三路由设备之间的目标近邻连接,所述第二汇聚点具有与所述第一路由设备相同的任播地址;以及
从所述第一路由设备向所述第三路由设备发送从所述第二路由设备接收到的所述注册消息,其中所述第三路由设备不重新传输从所述第一路由设备接收到的所述注册消息。
8.根据权利要求1所述的方法,其中交换所述多个目标问候消息包括:发现所述第二路由设备的一个或多个能力或特征。
9.一种用于处理多播流数据的方法,包括:
由第一路由设备使用协议无关多播(PIM)协议与第二路由设备交换多个目标问候消息,以建立所述第一路由设备与所述第二路由设备之间的目标近邻连接,其中所述第一路由设备包括第一跳路由器,所述第一跳路由器被通信耦合到提供至少一个多播流的至少一个源设备,其中所述第二路由设备包括汇聚点,其中所述第一路由设备经由至少一个中介路由设备与所述第二路由设备交换所述多个目标问候消息,并且其中交换所述多个目标问候消息包括:
由所述第一路由设备向所述第二路由设备发送第一目标问候消息,所述第一目标问候消息包括被寻址到所述第二路由设备的第一单播消息;以及
由所述第一路由设备从所述第二路由设备接收第二目标问候消息,以确认对所述第一目标问候消息的接收,其中所述第二目标问候消息包括被寻址到所述第一路由设备的第二单播消息;
以及
由所述第一路由设备使用所述目标近邻连接来向所述第二路由设备发送包括多个多播流数据元素的注册消息,其中每个多播流数据元素标识共同地与相应的多播流相关联的源地址和组地址,并且其中每个多播流数据元素还指示所述相应的多播流是活动的还是被撤回的。
10.根据权利要求9所述的方法,
其中所述目标近邻连接包括可靠传输连接,
其中所述第二目标问候消息的源地址包括所述第二路由设备的主地址,
其中所述第二目标问候消息的次级地址包括所述第二路由设备的任播地址;并且
其中所述注册消息被寻址到所述第二路由设备的所述主地址。
11.根据权利要求10所述的方法,其中发送所述第一目标问候消息包括,由所述第一路由设备向所述第二路由设备的所述任播地址发送所述第一目标问候消息。
12.根据权利要求10所述的方法,其中所述第二路由设备包括具有所述任播地址的第一汇聚点,其中所述多个目标问候消息包括第一多个目标问候消息,并且其中所述方法还包括:
由所述第一路由设备确定与所述第二路由设备的所述目标近邻连接已经失效;以及
由所述第一路由设备与具有第二汇聚点的第三路由设备交换第二多个目标问候消息,以建立所述第一路由设备与所述第三路由设备之间的目标近邻连接,所述第二汇聚点具有与所述第二路由设备相同的任播地址。
13.一种第一路由设备,包括:
至少一个处理器,所述至少一个处理器被配置为执行根据权利要求1-12中的任一项所述的方法。
CN201510628736.8A 2014-12-19 2015-09-28 用于处理多播流数据的方法和设备 Active CN105721310B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US14/576,830 2014-12-19
US14/576,830 US9660898B2 (en) 2014-12-19 2014-12-19 Enhanced protocol independent multicast source registration over a reliable transport

Publications (2)

Publication Number Publication Date
CN105721310A CN105721310A (zh) 2016-06-29
CN105721310B true CN105721310B (zh) 2020-07-24

Family

ID=54291026

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201510628736.8A Active CN105721310B (zh) 2014-12-19 2015-09-28 用于处理多播流数据的方法和设备

Country Status (3)

Country Link
US (1) US9660898B2 (zh)
EP (1) EP3035592B1 (zh)
CN (1) CN105721310B (zh)

Families Citing this family (11)

* Cited by examiner, † Cited by third party
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
US10942666B2 (en) * 2017-10-13 2021-03-09 Cisco Technology, Inc. Using network device replication in distributed storage clusters
US10462233B2 (en) * 2018-01-23 2019-10-29 Charter Communications Operating, Llc Protocol for anycast based discovery of local resources
CN108600110B (zh) * 2018-04-24 2020-12-29 新华三技术有限公司 一种pim报文处理方法和装置
US11032186B2 (en) * 2018-08-21 2021-06-08 Vmware, Inc. First hop router identification in distributed virtualized networks
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
US11601295B2 (en) 2019-09-23 2023-03-07 Juniper Networks, Inc. Content delivery with reliable multicast using a redundant unicast overlay network
US20220094601A1 (en) * 2020-09-23 2022-03-24 Nokia Solutions And Networks Oy Targeted neighbor discovery for border gateway protocol
US11102107B1 (en) * 2020-10-12 2021-08-24 Cisco Technology, Inc. BIER overlay signaling enhancement
US11770465B2 (en) * 2020-10-20 2023-09-26 Nokia Solutions And Networks Oy Supporting multiple transport options for border gateway protocol
US11658903B2 (en) * 2021-04-06 2023-05-23 Arista Networks, Inc. Network device route programming

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101461181A (zh) * 2006-04-24 2009-06-17 诺基亚公司 无线网络中可靠的多播/广播
CN103475665A (zh) * 2013-09-18 2013-12-25 杭州华三通信技术有限公司 一种区分协议无关组播协议组播组类型的方法及装置
CN103595645A (zh) * 2013-11-19 2014-02-19 杭州华三通信技术有限公司 一种组播流量管理方法及装置

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8582468B2 (en) * 2006-03-13 2013-11-12 Cisco Technology, Inc. System and method for providing packet proxy services across virtual private networks
US20100303072A1 (en) * 2007-11-28 2010-12-02 Petri Jokela Multicast Source Mobility
US7969981B2 (en) 2008-09-02 2011-06-28 Cisco Technology, Inc. System and method for multicasting in an internet protocol virtual private network environment
US20110228772A1 (en) * 2010-03-19 2011-09-22 Brocade Communications Systems, Inc. Providing multicast services without interruption upon a switchover
US8638787B2 (en) * 2010-05-20 2014-01-28 Cisco Technology, Inc. Multicast hello on demand
US20130188638A1 (en) * 2012-01-23 2013-07-25 Cisco Technology, Inc. Multicast Source Registration
US9325605B2 (en) * 2013-03-15 2016-04-26 Cisco Technology, Inc. On-demand boot strap router source announcements

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101461181A (zh) * 2006-04-24 2009-06-17 诺基亚公司 无线网络中可靠的多播/广播
CN103475665A (zh) * 2013-09-18 2013-12-25 杭州华三通信技术有限公司 一种区分协议无关组播协议组播组类型的方法及装置
CN103595645A (zh) * 2013-11-19 2014-02-19 杭州华三通信技术有限公司 一种组播流量管理方法及装置

Also Published As

Publication number Publication date
CN105721310A (zh) 2016-06-29
US9660898B2 (en) 2017-05-23
EP3035592B1 (en) 2018-11-07
US20160182358A1 (en) 2016-06-23
EP3035592A1 (en) 2016-06-22

Similar Documents

Publication Publication Date Title
CN105721310B (zh) 用于处理多播流数据的方法和设备
US10476793B2 (en) Multicast flow overlay using registration over a reliable transport
US9832290B2 (en) Protocol independent multicast register optimization
US9847931B2 (en) Processing of multicast traffic in computer networks
US8717934B2 (en) Multicast source move detection for layer-2 interconnect solutions
US9736054B2 (en) Multicast active source discovery and management for layer-2 interconnect solutions
US9838303B2 (en) PIM source discovery by last hop router
EP3151488A1 (en) Multicast only fast re-route over remote loop-free alternate backup path
US10382217B1 (en) Single actual-forwarder election in multicast VPNs
US9288067B2 (en) Adjacency server for virtual private networks
CN112543107B (zh) 具有使用冗余单播覆盖网络的可靠多播的内容递送
US9998292B2 (en) PIM source discovery by last hop router on shared tree
EP3907940B1 (en) Ingress replication procedures to facilitate migration to segment routing technology in a computer network
US20210392009A1 (en) Multicast source discovery protocol (msdp) loop avoidance
US11323364B2 (en) Ingress replication procedures to facilitate migration to segment routing technology in a computer network
EP3923529A1 (en) Multicast source discovery protocol (msdp) loop avoidance

Legal Events

Date Code Title Description
C06 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