CN112565067A - 用于多播保护的到冗余多播源节点的最大冗余树 - Google Patents

用于多播保护的到冗余多播源节点的最大冗余树 Download PDF

Info

Publication number
CN112565067A
CN112565067A CN202011447457.9A CN202011447457A CN112565067A CN 112565067 A CN112565067 A CN 112565067A CN 202011447457 A CN202011447457 A CN 202011447457A CN 112565067 A CN112565067 A CN 112565067A
Authority
CN
China
Prior art keywords
network
multicast
mrt
node
redundant
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
Application number
CN202011447457.9A
Other languages
English (en)
Other versions
CN112565067B (zh
Inventor
R·W·基布勒
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 CN112565067A publication Critical patent/CN112565067A/zh
Application granted granted Critical
Publication of CN112565067B publication Critical patent/CN112565067B/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/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
    • 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/1863Arrangements for providing special services to substations for broadcast or conference, e.g. multicast comprising mechanisms for improved reliability, e.g. status reports
    • H04L12/1877Measures taken prior to transmission
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/44Star or tree networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/22Alternate routing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/48Routing tree calculation
    • H04L45/484Routing tree calculation using multiple routing trees
    • 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/60Network streaming of media packets
    • H04L65/61Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio
    • H04L65/611Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio for multicast or broadcast
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/40Bus networks
    • H04L12/40169Flexible bus arrangements
    • H04L12/40176Flexible bus arrangements involving redundancy
    • 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
    • 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/128Shortest path evaluation for finding disjoint paths
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W40/00Communication routing or communication path finding
    • H04W40/02Communication route or path selection, e.g. power-based or shortest path routing
    • H04W40/026Route selection considering the moving speed of individual devices

Landscapes

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

Abstract

总体上,描述了用于使得网络设备(或“节点”)的网络能够从冗余多播源向出口网络节点提供冗余多播流的技术。在一些示例中,出口网络节点(或用于网络的控制器)计算从出口网络节点到虚拟代理节点的最大冗余树(MRT),虚拟代理节点被出口网络节点虚拟地添加到网络拓扑,用于冗余多播流的冗余多播源。

Description

用于多播保护的到冗余多播源节点的最大冗余树
本申请是国家申请日为2018年6月29日、国家申请号为201810711931.0、发明名称为“用于多播保护的到冗余多播源节点的最大冗余树”的中国发明专利申请的分案申请。
技术领域
本公开内容涉及计算机网络,并且更具体地涉及在计算机网络内转发网络流量。
背景技术
由协议定义了如下的过程:分组交换网络中的被称为路由器的网络设备通过该过程相互通信来散布如下的信息,该信息允许这些路由器选择计算机网络上的任何两个节点之间的路线。被称为链路状态协议的一种类型的路由协议允许路由器交换并且积累链路状态信息,即,描述网络内的各种链路的信息。利用典型的链路状态路由协议,路由器交换与关联于网络链路的可用接口、度量以及其他变量有关的信息。这允许路由器构造它自己的对网络的拓扑或映射。链路状态协议的一些示例包括开放最短路径优先(OSPF)协议以及中间系统到中间系统(IS-IS)协议,这些协议是内部网关协议(IGP)。
网络上的两个设备之间的连接一般被称为链路。不同自主系统的设备之间的连接被称为外部链路,而同一自主系统内的设备之间的连接被称为内部链路。许多常规的计算机网络,包括因特网,被设计为在个体的链路失效的情况中动态地重新路由数据分组。一经链路的失效,路由器就将新的连接性信息传输给相邻设备,允许每个设备更新其本地路由表。链路可能由于任何数量的原因而失效,诸如设备之间的物理基础设施的失效,或者与该链路对接的设备的失效。
当网络中的链路或路由器失效时,使用传统链路状态协议(诸如OSPF和IS-IS)的路由器可能花费长时间来响应于由网络中的节点失效和链路失效所引起的拓扑改变而适配它们的转发表。适配转发表的过程被称为收敛(convergence)。发生这个时间延迟是因为从失效的恢复需要每个节点重新计算最短路径算法来运算针对网络中的受影响节点的下一跳。直到这些下一跳被重新计算,被发往失效的链路的流量才可以被丢弃。一些部署花费大约500毫秒至数秒的时间用于检测网络中的失效以及从网络中的失效恢复。这些大的收敛时间可能不利地影响因特网语音(VoIP)和多媒体应用的性能,它们对流量损失极为敏感。服务提供商正在要求端到端的失效检测和恢复时间少于50毫秒。
使用多播,网络将多播分组分发给可能位于不同子网上并且被配置为多播组的成员的感兴趣的接收器集。协议无关多播(PIM)是用于在网络中创建多播分发树用于分发分组的协议的一个示例。用于多播内容的冗余多播源可以被配置有公共的任播IP地址,并且每个冗余多播源输出单独的相同的多播流。由于冗余,在网络出现故障或冗余多播源之一出现故障的情况下,单播路由收敛于故障周围,并且网络构建新的多播分发树以分发多播分组,例如从仍然活动的多播源。
存在用于建立多点标签交换路径(LSP)的协议的多点扩展,例如LDP的多点扩展(mLDP)。在mLDP中,可以根据出口发起的信令模型来建立多点LSP,在该模型中,每个出口节点发起用于多点LSP的标签信息,该标签信息通过沿着朝向根节点的路径的一个或多个中间转接路由器向上游传播。用于多点LSP的标签信息包括为多点LSP分配的发送节点的标签,以及基于根节点地址和不透明值来唯一地标识多点LSP的转发等价类(FEC)。然后,由网络使用多点LSP来向感兴趣的接收器集递送多播流量。
发明内容
总体上,描述了用于使得网络设备(或“节点”)的网络能够从冗余多播源向出口网络节点提供冗余多播流的技术。在一些示例中,出口网络节点(或用于网络的控制器)计算从出口网络节点到虚拟代理节点的最大冗余树(MRT),虚拟代理节点被出口网络节点虚拟地添加到网络拓扑,用于冗余多播流的冗余多播源。MRT是基于网络的拓扑而计算的并且以虚拟代理节点为根的树对,其中沿着该树对中的第一MRT从出口网络节点到虚拟代理节点的路径以及沿着该树对中的第二MRT从出口网络节点到同一虚拟代理节点的路径共享拓扑中最小数目的节点和最小数目的链路。换言之,第一MRT和第二MRT的路径在网络的拓扑中尽可能不相交。出口网络节点经由第一MRT和第二MRT中的每个来输出请求接收多播流的单独的第一和第二加入消息。
因为加入消息的路径导致网络沿着被加入消息遍历的路径的反向路径递送所请求的多播流,所以网络可以沿着第一MRT的路径(被第一加入消息遍历)的反向路径向出口网络节点递送冗余多播流中的第一冗余多播流,并且沿着第二MRT的路径(被第二加入消息遍历)的反向路径向出口网络节点递送冗余多播流中的第二冗余多播流。出口网络节点可以向感兴趣的接收器转发多播流中的至少一个。
本公开的技术可以提供一个或多个优点。例如,这些技术可以提供到代理节点的最大冗余(并且在一些情况下不相交的)路径,并且对应地提供到冗余多播源的最大冗余(并且在一些情况下不相交的)路径。由于网络沿着用于该MRT对的反向路径从冗余多播源向出口网络节点递送冗余多播流,所以冗余多播流遍历通过网络到出口网络节点的最大冗余(并且在一些情况下不相交的)路径。当构成由多播流遍历的路径中的任一路径的多播源、网络节点或链路发生故障时,出口网络节点可以快速切换以将另一仍然可用的多播流递送给感兴趣的接收器。在冗余多播源具有公共的任播IP地址,并且出口网络节点无法确定哪些路线通往通告任播IP地址的同一节点以及哪些路线通往不同节点的情况下,等成本多路径(ECMP)路线的情况可能就是这样,这些技术附加地可以避免在其他多播保护方法中出现的问题,诸如仅多播快速重新路由(MoFRR)。
在一个示例中,一种方法包括:由根据网络拓扑而连接的网络节点的网络的出口网络节点使用网络的路由信息来计算从出口网络节点到虚拟代理节点的最大冗余树对(MRT),其中虚拟代理节点作为MRT的根,并且MRT对在被修改为包括虚拟代理节点的网络拓扑的网络图中具有相应的链路,相应的链路用于将虚拟代理节点与网络的第一网络节点和网络的第二网络节点虚拟地耦合,其中网络的第一网络节点和第二网络节点使用相应的冗余多播流来分发由第一网络节点从第一源设备接收的和由第二网络节点从第二源设备接收的多播内容,其中第一源设备和第二源设备是多播内容的冗余多播源;由出口网络节点经由沿着MRT对中的第一MRT的路径来输出请求接收冗余多播流中的一个冗余多播流的第一消息;以及由出口网络节点经由沿着MRT对中的第二MRT的路径来输出请求接收冗余多播流中的一个冗余多播流的第二消息。
在一个示例中,一种网络设备被配置为作为根据网络拓扑而连接的网络节点的网络的出口网络节点来操作,网络设备包括一个或多个可编程处理器,一个或多个可编程处理器可操作地耦合到存储器并且被配置为:使用用于网络的路由信息来计算从网络设备到虚拟代理节点的最大冗余树(MRT)对,其中虚拟代理节点作为MRT的根,并且MRT对在被修改为包括虚拟代理节点的网络拓扑的网络图中具有相应的链路,相应的链路用于将虚拟代理节点与网络的第一网络节点和网络的第二网络节点虚拟地耦合,其中网络的第一网络节点和第二网络节点使用相应的冗余多播流来分发由第一网络节点从第一源设备接收的和由第二网络节点从第二源设备接收的多播内容,其中第一源设备和第二源设备是针对多播内容的冗余多播源;经由沿着MRT对中的第一MRT的路径来输出请求接收冗余多播流中的一个冗余多播流的第一消息;以及经由沿着MRT对中的第二MRT的路径来输出请求接收冗余多播流中的一个冗余多播流的第二消息。
在一个示例中,一种包括指令的非暂态计算机可读存储介质,这些指令在被执行时引起根据网络拓扑而连接的网络节点的网络的网络设备的一个或多个可编程处理器:使用用于网络的路由信息来计算从网络设备到虚拟代理节点的最大冗余树(MRT)对,其中虚拟代理节点作为MRT的根,并且MRT对在被修改为包括虚拟代理节点的网络拓扑的网络图中具有相应的链路,相应的链路用于将虚拟代理节点与网络的第一网络节点和网络的第二网络节点虚拟地耦合,其中网络的第一网络节点和第二网络节点使用相应的冗余多播流来分发由第一网络节点从第一源设备接收的和由第二网络节点从第二源设备接收的多播内容,其中第一源设备和第二源设备是针对多播内容的冗余多播源;由网络设备经由沿着MRT对中的第一MRT的路径来输出请求接收冗余多播流中的一个冗余多播流的第一消息;以及由网络设备经由沿着MRT对中的第二MRT的路径来输出请求接收冗余多播流中的一个冗余多播流的第二消息。
下面在附图和描述中阐述一个或多个示例的细节。根据本描述和各示图并且根据权利要求,其他的特征、目的、以及优点将是明显的。
附图说明
图1A至1B是示出根据本公开的技术的包括具有网络设备的示例网络的系统的框图;
图2A至2B是示出根据本公开的技术的包括具有网络设备的示例网络的系统的框图;
图3是示出根据本公开的技术的包括具有网络设备的示例网络的系统的框图;
图4是示出根据本公开中描述的技术的示例网络设备的框图;以及
图5是示出根据本公开中描述的技术的用于网络设备的示例操作模式的流程图。
贯穿附图和文本,相同的附图标记指代相同的元素。
具体实施方式
图1A至1B是示出根据本公开的技术的包括具有网络设备12A至12H(在本文中示出并且备选地描述为“节点12”)的示例网络4的系统10的框图。每个节点12可以是路由器,或者可以是包括路由能力的另一网络设备。节点12使用链路状态路由协议,诸如开放最短路径优先(OSPF)协议、中间系统到中间系统(IS-IS)协议、路由信息协议(RIP)和增强型内部网关路由协议(EIGRP),以经由路由协议消息来交换路由信息,以了解网络14的拓扑。路由协议可以被称为内部网关协议(IGP)。入口节点12H输出路由通告,其符合路由协议并且指示从入口节点12H开始的多播源14A的IP地址N1的可达性。入口节点12D输出路由通告,其符合路由协议并且指示从入口节点12D开始的多播源14B的IP地址N1的可达性。虽然使用术语“IP地址”作为示例,但是对于所描述的技术可以使用其他形式的层3(网络层)地址。
节点12通过链路16A至16H(“链路16”)以网络拓扑彼此连接。虽然为了简化和示例的目的而示出包括以图1A至1B所示的特定网络拓扑布置的节点12A至12H的示例,但是在各种示例中,网络4可以包括以各种拓扑(未示出)布置的各种数目的网络设备。关于OSPF的进一步细节在Moy,J.的1998年4月的RFC 2328“OSPF Version 2”中找到,其全部内容通过引用并入本文。关于IS-IS的进一步细节在Callon,R.的1990年12月的RFC 1195“Use of OSIIS-IS for Routing in TCP/IP and Dual Environments”中找到,其全部内容通过引用并入本文。
网络4将从任何多播源14A、14B接收的多播流分发给连接到网络4的感兴趣的接收器,诸如接收器8。多播源14中的每一个表示为多播组输出多播流的计算设备,诸如真实和/或虚拟服务器,多播组是多播流的感兴趣的接收器集。多播源14中的每一个可以被定位在连接到网络4的远程网络中。多播源14A经由链路11A连接到入口节点12H,入口节点12H将多播流22“入口”到网络4以递送给一个或多个出口节点,诸如出口节点12A,出口节点12A可以将多播流22“出口”到连接到出口节点的感兴趣的接收器。多播源14B经由链路11B连接到入口节点12D,入口节点12D将多播流22B入口到网络4以递送给一个或多个出口节点,诸如出口节点12A,出口节点12A可以将多播流22B出口到连接到出口节点的感兴趣的接收器。在一些示例中,链路11A、11B表示网络,并且可以包括用于将源14连接到相应的入口节点12H、12D的一个或多个路由器或其他网络设备。节点12中的每一个可以执行以下中的一项或多项:协议无关多播(PIM)、多点标签分发协议(mLDP,备选地称为“多播LDP”)、具有流量工程扩展的资源预留协议(RSVP-TE)、或用于在网络中建立多播分发树的其他协议。
多播源14是冗余多播源,因为多播源14A、14B中的每个为多播组(例如,PIM稀疏模式(PIM-SM)或PIM任一源多播(PIM-ASM))或多播信道(例如,PIM源特定多播(PIM-SSM))源送冗余多播流22A、22B中的对应的冗余多播流,其中多播信道由多播组和特定的多播源两者来标识。每个冗余多播流22A、22B提供相同的内容。多播流22各自表示从多播源14向感兴趣的接收器传送内容的多播分组(或“多播流量”)集。多播内容可以包括例如因特网协议电视(IPTV)、桌面会议、公司广播、音乐和视频网络广播以及其他形式的多媒体内容。多播流的分组可以各自具有源IP地址,源IP地址是输出多播流的多播源的IP地址。例如,多播流22A的分组可以具有N1的源IP地址。
任播是一种分组路由技术,其中被称为任播IP地址(或者更简单地称为“任播地址”)的单个IP地址从网络中的多个位置被通告。基于路由信息,网络的节点向广播任播地址的多个位置中在逻辑上最近的位置转发被寻址到任播地址的分组。在图1A至1B的示例中,冗余多播源14被配置有公共的任播IP地址N1,用于源送冗余多播流22。N1可以是IPv4或IPv6任播地址。因为入口节点12H、12D都是N1的入口节点,所以两个入口节点12H、12D都可以单独地通告到N1的路线。使用PIM-SSM加入源特定多播信道的请求可以将N1指定为多播信道的源。
接收器8是用于多播流22的感兴趣的接收器设备。接收器8可以包括个人计算机、膝上型计算机、工作站、个人数字助理(PDA)、智能电话、网络就绪设备、电视或者能够访问网络4并且接收多播流的其他计算设备。接收器8可以发布因特网组管理协议(IGMP)消息或其他协议消息,以请求加入多播源14源送多播流22的多播组或多播信道。用于多播流22的网络4的出口节点(诸如出口节点12A)可以从感兴趣的接收器接收IGMP消息,并且响应地输出消息(诸如PIM加入消息或LDP标签映射消息),请求接收多播流22以由出口节点递送给感兴趣的接收器。
每个节点12可以基于链路状态路由信息来计算将被用来到达网络14中的其他节点12的下一跳,并且可以将所计算的下一跳安装在所存储的用于转发去往这些其他节点的网络流量的转发信息中。这些下一跳可以被称为“主下一跳”。在正常的IGP路由中,每个路由器具有到所有目的地的最短路径树。从特定目的地D的角度来看,这看起来像是反向SPT(rSPT)。
网络图是反映网络拓扑的图,其中所有链路恰好连接两个节点,并且广播链路已经被变换为标准伪节点表示。本文中使用的术语“2连接”是指不具有“切割顶点”的图,即,在网络被分割之前需要移除两个节点的图。“切割顶点”是其移除将分割网络的一个顶点。“切割链路”是其移除将分割网络的一个链路。根据定义,切割链路必须连接在两个切割顶点之间。如果有多个并行链路,如果移除并行链路集将分割网络,则这些多个并行链路在本文档中被称为切割链路。
冗余树(RT)是树对,其中沿着第一树从任何节点X到根R的路径与沿着第二树从同一节点X到根的路径节点不相交。这些可以在2连接图中计算。最大冗余树(MRT)是树对,其中沿着第一树从任何节点X到根R的路径和沿着第二树从同一节点X到根的路径共享最小数目的节点和最小数目的链路。每个这样的共享节点是切割顶点。任何共享链路是切割链路。任何RT是MRT,但很多MRT不是RT。即使在单个链路或节点发生故障之后,MRT也可以保持冗余。如果计算以每个目的地为根的MRT对,则在单个链路或节点发生故障的情况下,所有目的地保持沿着一个MRT可达,只要故障链路/节点不由该MRT对共享。MRT对中的MRT有时被区分为“红色MRT”和“蓝色MRT”。
对于每个以目的地为根的MRT对,在蓝色MRT上存在从每个节点X到目的地D的路径,这个路径与红色MRT上的路径尽可能地不相交。沿着两个MRT到2连接图的给定目的地根的两个路径是节点不相交的,而在任何非2连接图中,只有切割顶点和切割边可以被两个路径包含。
用于多播流22的网络4的出口节点(诸如出口节点12A)可以从感兴趣的接收器接收IGMP消息,并且响应地输出消息(诸如PIM加入消息),请求接收多播流22以由出口节点递送给感兴趣的接收器。
例如,并且如上所述,出口节点12A可以从接收器8接收请求接收多播流22的IGMP消息(例如,IGMP报告)或其他消息。根据本公开中描述的技术,出口节点12A计算从出口节点12A到表示冗余多播流22的冗余多播源14的虚拟代理节点17的最大冗余树(MRT)21A、21B。基于由出口节点12A使用一个或多个路由协议获取的路由信息或者基于由出口节点12A的运营商提供的配置信息,路由信息或配置信息指示网络4的网络拓扑,出口节点12A将从入口节点12H、12D中的每个可达的虚拟代理节点17添加到网络拓扑,以获取经修改的网络拓扑。在指示网络拓扑包括冗余多播流22的冗余多播源14的配置信息的情况下,出口节点12A响应于接收到接收多播流22的请求来读取配置信息,以确定是否存在冗余多播流22的冗余多播源14,并且如果是,则出口节点12A如上所述添加虚拟代理节点17。
经修改的网络拓扑是由出口节点12A修改为包括虚拟代理节点17,以及将虚拟代理节点17与入口节点12H、12D虚拟地连接的虚拟链路18A、18B的网络4的网络拓扑的表示。经修改的网络拓扑可以指定将入口节点12H连接到虚拟代理节点17的虚拟链路18A是将入口节点12H连接到源14A的链路11A。经修改的网络拓扑还可以指定将入口节点12D连接到虚拟代理节点17的虚拟链路18B是将入口节点12D连接到源14B的链路11B。经修改的网络拓扑还可以指定虚拟代理节点17具有作为冗余多播源14的共享任播IP地址N1的IP地址。虽然使用虚拟代理节点17来表示从入口节点12H、12D中的每个到N1的下一跳,但是虚拟代理节点17由出口节点12A的控制平面在逻辑上创建,用于生成经修改的网络拓扑,并且在网络4中没有对应的真实节点或其他网络设备。
出口节点12A使用经修改的网络拓扑来计算从出口节点12A到虚拟代理节点17的、以虚拟代理节点17为根的MRT对。所计算的MRT对在图1A至1B中被描绘为红色MRT 21A和蓝色MRT 21B。虽然MRT 21A被示出为遍历入口节点12H到虚拟代理节点17,并且MRT 21B被示出为遍历入口节点12D到虚拟代理节点17,但是与经修改的网络拓扑中的虚拟代理节点17相关联的IP地址是冗余多播源14的共享的任播IP地址N1。因此,安装到入口节点12H以根据经修改的网络拓扑将分组转发给N1的转发状态将引起入口节点12H向源14A递送承载N1作为目的地地址的分组,因为根据网络4的实际网络拓扑,源14A是入口节点12H的逻辑上最近的、配置有任播IP地址N1设备。同样,安装到入口节点12D以根据经修改的网络拓扑将分组转发给N1的转发状态将引起入口节点12D向源14B递送承载N1作为目的地地址的分组,因为根据网络4的实际网络拓扑,源14B是入口节点12D的逻辑上最近的、配置有任播IP地址N1的设备。
在计算了MRT 21之后并且响应于从接收器8接收到请求接收多播流22的IGMP消息(例如,IGMP报告)或其他消息,出口节点12A发送在MRT 21A的路径上接收多播流22的请求24A并且发送在MRT 21B的路径上接收多播流22的请求24B。接收多播流22的每个请求24A、24B可以是用于接收由网络4使用IP多播传送的多播流22的PIM加入消息、用于接收由网络4使用mLDP传送的多播流22的LDP标签映射消息、或者用于请求接收多播流22的朝向多播源14上游发送的其他消息。请求24A可以具有作为任播IP地址N1的目的地IP地址。请求24B可以具有作为任播IP地址N1的目的地IP地址。出口节点12A可以使用诸如LDP或RSVP-TE等用于传送请求24A、24B的信令协议来沿着每个MRT 21建立标签交换路径(LSP)或其他转发隧道或覆盖层。在一些示例中,根据本文中关于出口节点12A所描述的技术,网络4中的每个节点12独立地计算从出口节点12A开始并且以虚拟代理节点17为根的MRT对21。每个节点12存储用于该MRT对21的转发信息,并且可以向上游提供LDP标签,以使得上游节点能够标识用于在MRT 21中的一个上而不是经由默认最短路径递送的流量(例如,请求24)。在一些示例中,PIM加入消息或LDP标签映射消息可以指示用于转发加入请求或LDP标签映射消息的转发拓扑,例如,MRT 21A拓扑或MRT 21B拓扑。出口节点12A可以将用于该MRT对21的MRT下一跳对安装到出口节点12A的转发信息。
诸如根据在用于MRT 21A的节点中配置的转发状态或者基于指示MRT 21A拓扑的请求24A,出口节点12A、节点12E、节点12G和入口节点12H沿着MRT 21A的路径转发请求24A。入口节点12H在映射到任播IP地址N1的出站接口上输出请求24A,对于入口节点12H,出站接口是针对链路11A的接口。
诸如根据在用于MRT 21B的节点中配置的转发状态或者基于指示MRT 21A拓扑的请求24A,出口节点12A、节点12B、节点12C和入口节点12D沿着MRT 21B的路径转发请求24B。入口节点12D在映射到任播IP地址N1的出站接口上输出请求24B,对于入口节点12D,出站接口是针对链路11B的接口。
节点12E、12G和12H中的每个可以处理经由沿着MRT 21A的路径接收的请求24A,并且添加转发状态以引起节点向发送节点转发与请求24A相对应的多播流22A。多播流、流程或流量包括一个或多个分组。例如,节点12E经由与节点12A的链路16F来接收请求24A,并且响应地添加转发状态(例如,用于IP多播的多播分发树状态或用于mLDP的LSP标签),以引起节点12F向出口节点12A转发多播流22A。节点12G经由与节点12E的链路16E来接收请求24A,并且响应地添加转发状态,以引起节点12G向节点12E转发多播流22A。入口节点12H经由与节点12G的链路16D来接收请求24A,并且响应地添加转发状态以引起入口节点12H向节点12G转发多播流22A。节点12B、12C和12D可以以类似于上面关于处理请求24A所描述的方式来处理经由沿着MRT 21B的路径接收的请求24B。
由此,网络4经由作为MRT 21A的反向路径的路径来递送由多播源14A源送的并且入口到入口节点12H的多播流。网络4经由作为MRT 21B的反向路径的路径来递送由多播源14B源送的并且入口到入口节点12D的多播流。因为该MRT对21的反向路径也是最大冗余树,所以多播流22沿着最大冗余的路径遍历网络4。在某些情况下,在网络的拓扑允许处,路径不相交。出口节点12A是用于PIM多播或mLDP域的出口节点,其可以包括网络4的节点。出口节点12A将多播流22中的主多播流22(例如,图1A至1B中的多播流22A)转发给接收器8,接收器8是用于多播流22的多播组或多播信道的感兴趣的接收器。出口节点12B丢弃备用多播流22(例如,图1A至1B中的多播流22B)。在一些示例中,出口节点12A基于多播流22的健康状况来确定要将多播流22中的哪个转发给接收器8。
图1B示出了在与MRT 21相对应的主路径上的链路或节点或多播源的故障,这个故障阻止将多播流22A沿着用于MRT 21A的反向路径转发给出口节点12A。在所示的示例中,链路11A被描绘为发生故障。出口节点12A检测由主路径上的故障引起的多播流22A的故障。例如,出口节点12A可以检测本地接口的故障,如同针对单播快速重新路由而进行的。故障检测可以使用信号丢失或探测分组丢失(例如,双向转发探测(BFD))来执行。该选项可以与其他选项相结合使用,如下所述。无论分组是在哪个接口上接收到的,都可以通过比较针对多播流22A、22B接收的类似分组来执行故障检测(以及出口节点12A的转发),但仅仅转发所接收的第一分组。故障检测可以通过假定针对给定数据流的最小已知分组速率来执行。如果在由最小已知分组速率限定的时间帧内未在用于多播流22A的主反向路径转发(RPF)接口上接收到分组,则出口路由器12A假定主路径故障并且切换到辅助RPF接口。主多播流24A的故障检测可以使用未在上面列出的其他技术来执行。
响应于检测到多播流22A的故障,出口节点12A切换到多播流22B。也就是说,出口节点12A开始将多播流22B转发给感兴趣的接收器8,如图1B所示。
本公开的技术可以提供一个或多个优点。例如,这些技术可以提供从出口节点12A到虚拟代理节点17的最大冗余(并且在一些情况下不相交的)路径21,并且对应地提供从出口节点12A到冗余多播源14的最大冗余(并且在一些情况下不相交的)路径。由于网络4沿着该MRT对的反向路径从冗余多播源14向出口网络节点递送冗余多播流22,所以冗余多播流22遍历通过网络4到出口节点12A的最大冗余(并且在一些情况下不相交的)路径。这向出口节点12A提供多播实时——实时功能,使得在构成由多播流22A遍历的主路径的一部分的多播源14A、网络节点12或链路16发生故障时,出口节点12A因此可以快速切换以将其他多播流递送给感兴趣的接收器8。因为这些技术可以防止头端(多播源14)故障,所以结合头端冗余,这些技术可以提高到感兴趣的接收器的多播流冗余度和可靠性。
这些技术另外可以避免在诸如图1A至1B所示的情况(即,冗余多播源14具有公共的任播IP地址)下可能在其他多播保护方法中出现的问题,例如仅多播快速重新路由(MoFRR)。在这种情况下,出口节点12A不能确定经由节点12E、12F、12B中的任一节点到N1的哪些路线通往通告任播IP地址的同一节点、以及哪些路线通往不同节点,等成本多路径(ECMP)路线的情况可能就是这样。
例如,MoFRR使用ECMP模式用于主和辅助路径选择。如果IGP将两个ECMP路径安装到源,则无环路备选方案是主下一跳。如果多播树针对ECMP模式MoFRR被启用,则路由器安装它们作为主和辅助上游多播跳(UMH),它们是可以用于到达多播树的根的候选下一跳。在发生故障之前,只有从主UMH路径接收的分组被处理,而从辅助UMH接收的分组被丢弃在MoFRR中。如果存在超过两个到源的ECMP路径,则选择其中一个作为主UMH,另一个作为辅助UMH,并且主和辅助的选择是本地决策。
对于网络4的网络拓扑,存在三条到N1的路径:路径A{12A→12E→12G→12H→N1}、路径B{12A→12F→12G→12H→N1}以及路径C{12A→12B→12C→12D→N1}。如果出口节点12A将要应用MoFRR用于多播递送和多播流保护,则出口节点12A可以选择通向多播源14A的ECMP路径A和B作为主路径和辅助路径,因为出口节点12A不能在ECMP模式下使用MoFRR来确定路径A和B通向多播源14A,而只有路径C通向多播源14B。路径A和B不是最大冗余的,并且在源14A、链路11A、入口节点12H、链路16D和节点12G处具有单个故障点。本公开的技术可以解决这个缺陷,以为请求24A、24B分别遍历多播源14A、14B提供最大冗余路径。这些技术适用于ECMP和非ECMP路径两者(即,根据用于网络4的其他示例拓扑中的IGP度量,MRT 21可以是或不是相等成本的)。由此,这些技术可以改进多播流22的冗余度,并且可以增强到感兴趣的接收器的多播递送的可靠性。
图2A至2B是示出根据本公开的技术的包括示例网络的系统的框图。系统30与图1A至1B的系统10类似,但是在系统30中,多播源34A具有IP地址N3并且多播源34B具有不同的IP地址N4。N3和N4可以是非任播IP地址。然而,多播源34在其他方面类似于图1A至1B的多播源10,因为多播源34源送多播内容的冗余多播流22A至22B。
出口节点12A获取冗余源数据36,冗余源数据36指示多播源34A、34B是用于多播内容的多播流22的冗余多播源。作为示例,网络4的运营商可以向出口节点12A配置包括冗余源数据36的配置信息。备选地,出口节点12A可以比较多播流22A、22B,确定流是冗余的,并且作为响应生成冗余源数据36。备选地,接收器8可以发送用于接收冗余多播流22A、22B的冗余请求,出口节点12A可以将其解释为指示多播流22A、22B是冗余的,并且作为响应生成冗余源数据36。预期对出口节点12A和系统30的其他增强,用于使得出口节点12A能够将多播源34A、34B视为用于多播内容的多播流22的冗余多播源。
至少基于冗余源数据36,出口节点12A将多播源34A、34B确定为多播流22的冗余多播源。响应于这个确定和来自接收器8的接收多播流22中的一个的请求,出口节点12A应用上面关于图1A至1B所描述的技术,以基于被修改为包括虚拟代理节点38的经修改的网络拓扑来计算最大冗余树对21A、21B。出口节点12A然后可以输出相应的请求24A、24B,用于使用上面关于图1A至1B描述的用于在路径上转发请求24A、24B的任何技术来在沿着MRT 21A、21B的路径上转发。
为了计算该MRT对21,出口节点12A从冗余源数据36确定:多播源34A、34B可以表示为从入口节点12H、12D可达的单个虚拟代理节点38。使用网络4的路由信息,出口节点12A修改网络4的网络拓扑,以包括具有占位符IP地址Nx的虚拟代理节点。Nx可以是没有被网络4的其他节点共享的任何IP地址。在一些示例中,出口节点12A可以将Nx设置为N3和N4中的一个。
出口节点12A生成经修改的网络拓扑以包括虚拟代理节点38和将虚拟代理节点38与入口节点12H、12D虚拟地连接的虚拟链路39A、39B。经修改的网络拓扑可以指定:将入口节点12H连接到虚拟代理节点38的虚拟链路39A是将入口节点12H连接到源34A的链路11A,其中链路11A的N3端点被替换为Nx。经修改的网络拓扑也可以指定:将入口节点12D连接到虚拟代理节点38的虚拟链路39B是将入口节点12D连接到源34B的链路11B,其中链路11B的N4端点被替换为Nx。然后,出口节点12A使用经修改的网络拓扑来计算该MRT对21。虽然虚拟代理节点38用于表示从入口节点12H、12D中的每个开始的下一跳,但是虚拟代理节点38由出口节点12A的控制平面在逻辑上创建,用于生成经修改的网络拓扑,并且在网络4中没有对应的真实节点或其他网络设备。
在网络4的示例中,MRT 21A具有路径{12A→12E→12G→12H→Nx(虚拟代理节点38,经由链路11A)},并且MRT 21B具有路径{12A→12B→12C→12D→Nx(虚拟代理节点38,经由链路11B)}。在使用经修改的网络拓扑计算MRT 21A、21B之后,在一些情况下,出口节点12A可以通过将Nx替换为N3来修改针对MRT 21A计算的路径,并且通过将Nx替换为N4来修改针对MRT 21B计算的路径。以这种方式经修改的MRT 21A具有路径{12A→12E→12G→12H→源34A},并且以这种方式经修改的MRT21B具有路径{12A→12B→12C→12D→源34B}。
出口节点12A输出用于沿着MRT 21A的路径转发的请求24A,并且出口节点12A输出用于沿着MRT 21B的路径转发的请求24B。出口节点12A随后沿着用于MRT 21A、21B的相应的反向路径接收冗余多播流22A、22B,并且在丢弃多播流22B的同时将多播流22A转发给感兴趣的接收器8。
出口节点12A还可以如关于图1A至1B的出口节点12A所描述的那样进行操作。例如,如图1B,图2B示出了由于多播源34A的故障或者沿着MRT 21A的反向路径的链路或节点的故障而导致的系统30中的多播流22A的故障。出口节点12B检测到故障并且切换到以多播实时——实时方式转发多播流22B。
上述技术可以类似地适用于mLDP。在这种情况下,出口节点12A使用虚拟代理节点38计算到冗余mLDP根节点(入口节点12H、12D)的MRT对。
图3是示出根据本公开的技术的包括具有网络设备112A至112G(“节点112”)的示例网络104的系统100的框图。源114是源送用于至少部分由网络104递送的多播流122的多播源。源114至少在某些方面类似于源14和34中的任何一个。源114可以具有任何任播IP地址,或者可以不具有任何任播IP地址。与系统10和30相比,节点112类似于节点12,链路116类似于链路16,接收器108类似于接收器8,链路111类似于链路11,链路109类似于链路9。请求124A、124B可分别类似于系统10和30的请求24A、24B。
在系统100中,节点112F和112C被配置为用于任播RP的汇集点(RP)节点。通常,多播(非任播)RP作为多播源来操作,并且用于多播流的所有多播流量在RP上收敛,但是当RP发生故障时收敛速度可能较慢。特别是在多播中,共享树上可以存在更接近的RP,并且因此单个RP的使用并不理想。与具有单个RP的多播RP相比,任播RP能够通过为相同的组或组范围启用多个RP,而绕过每个多播组具有一个活动RP这一限制。虽然多播RP不是用于多播流的源服务器,但是多播源RP可以被视为多播源。
对于常规的任播RP,多个RP共享单播IP地址并且共享一个或多个多播源的源信息。当RP发生故障时,通过单播路由,源和接收器被定向到剩余的活动RP。也就是说,然后,用于共享IP地址的单播路由收敛到在逻辑上最接近的下一RP,并且网络构建新的多播树。常规任播RP的收敛时间因此将是单播收敛的时间量加上从剩余的活动RP构建新的多播树所需要的时间。
为了负载平衡和冗余的目的,针对网络104的运营商或控制器可以向网络104配置任播RP(这里是RP节点112F、112C)。RP节点112F、112C共享一个单播IP地址N5,N5随后是任播地址并且使用网络104中的IGP来通告。发送到任播地址N5的分组被网络104递送给由IGP确定的逻辑上最近的RP节点112F、112C。任播寻址可以以PIM稀疏模式来使用,以向RP添加负载均衡和流量可靠性。通常,针对一个RP的源对于使用多播源发现协议(MSDP)的其他RP是已知的。例如,源114和接收器108使用由IGP确定的最接近的RP。RP节点112F、112C经由PIM注册来接收多播源114的指示,并且如果RP节点112F、112C具有(*,G)条目,则为源114创建(S,G)状态并且将最短路径树加入源114,以接收(S,G)多播信道的多播流122。入口节点112G将多播流122作为相应的多播流122A、122B复制到RP节点112F、112C。
响应于接收到用于接收由RP节点112F、112C中的任一个“源送”的多播流的请求,出口节点112A应用上面关于图1A至1B描述的技术,以基于被修改为包括虚拟代理节点117的经修改的网络拓扑来计算最大冗余树对121A、121B(“MRT 121”)。出口节点112A可以基于由出口节点112A存储的配置信息来生成经修改的网络拓扑,该配置信息指示RP节点112F、112C是多播流122的冗余源。然后,出口节点112A可以输出相应的请求124A、124B,用于使用上面关于图1A至1B描述的用于在路径上转发请求124A、124B的任何技术来在沿着MRT121A、121B的路径上转发。
为了计算该MRT对121,出口节点112A将具有共享IP地址N5的RP节点112F、112C表示为从节点112D、112B可达的单个虚拟代理节点117。使用网络104的路由信息,出口节点112A修改网络104的网络拓扑,以包括具有IP地址N5的虚拟代理节点117。
因此,经修改的网络拓扑是被出口节点112A修改为包括虚拟代理节点117和将虚拟代理节点117与节点112D、112B虚拟地连接的虚拟链路118A、118B的网络104的网络拓扑的表示。经修改的网络拓扑可以指定:将入口节点112D连接到虚拟代理节点117的虚拟链路118A是将节点112D连接到RP节点112F的链路116E。经修改的网络拓扑还可以指定:将节点112B连接到虚拟代理节点117的虚拟链路118B是将节点112B连接到RP节点112C的链路116B。经修改的网络拓扑还可以指定:代理节点117具有作为冗余RP节点112F、112C的共享任播IP地址N5的IP地址。虽然使用虚拟代理节点117来表示从节点112D、112B中的每个到N5的下一跳,但是虚拟代理节点117由出口节点112A创建,用于生成经修改的网络拓扑,并且在网络104中没有对应的真实节点或其他网络设备。
在网络104的示例中,MRT 121A具有路径{112A→112D→N5(虚拟代理节点117,经由链路116E)},并且MRT 121B具有路径{112A→112B→N5(虚拟代理节点117,经由链路116B)}。出口节点112A输出用于沿着用于MRT 121A的路径转发的请求124A,并且出口节点112A输出用于沿着用于MRT 121B的路径转发的请求124B。出口节点112A随后沿着用于MRT121A、121B的相应的反向路径接收冗余多播流122A、122B,并且在丢弃多播流122B的同时将多播流122A转发给感兴趣的接收器108。
出口节点112A还可以如关于图1A至1B的出口节点112A所描述的那样进行操作。例如,如图1B,图2B示出了由于RP节点112F的故障或者沿着用于MRT 121A的反向路径的链路或节点的故障而导致的系统100中的多播流122A的故障。出口节点112B检测到故障,并且切换到以多播实时——实时方式转发多播流122B。
在一些示例中,RP节点112C、112F中的每个可以应用本文中关于图1A至1B的出口节点12A描述的技术,以计算从RP节点到多播源114的最大冗余树对,并且通过输出用于经由沿着所计算的最大冗余树的相应路径来接收多播流122的冗余请求来加入用于多播流122的多播共享树。以这种方式,RP节点112C、112F中的每个可以在从源114开始的最大冗余(并且在一些情况下不相交的)路径上接收冗余多播流122。相应地,这样的示例可以在具有任播RP冗余和最大冗余路径的多播共享树上提供完整的多播实时——实时支持。
上述技术可以类似地应用于mLDP。在这种情况下,出口节点112A使用虚拟代理节点117来计算到作为冗余mLDP根节点的RP节点112C、112F的MRT对。
图4是示出根据本公开中描述的技术的示例网络设备的框图。通常,网络设备200可以以基本上类似于先前的示图中所图示的方式来操作,并且可以表示先前的附图示出的任何网络设备、路由器或节点。例如,网络设备200可以表示出口节点12A、112A中的任何一个。网络设备200包括耦合到转发部件205的控制单元202。网络设备200包括接口卡206A至206N(“IFC 206”),其经由入站链路207A至207N(“入站链路207”)接收分组并且经由出站链路208A至208N(“出站链路208”)发送分组。IFC 206包括耦合到入站链路207和出站链路208的接口端口(未示出)。虽然示例网络设备200具有由分离的硬件和/或软件部件执行的分叉控制平面和转发平面,但是应用本公开中描述的技术的一些示例网络设备可以具有执行控制平面和转发平面二者的操作的硬件和/或软件部件。
控制单元202提供包括耦合到一个或多个存储器设备211的一个或多个可编程处理器213的硬件环境。控制单元202还可以包括诸如磁盘驱动器等存储设备(未示出)。控制单元202的硬件环境执行用于网络设备200的控制平面,该网络设备200包括操作系统,包括内核218,该操作系统提供用于执行并发进程的多任务操作环境。例如,路由过程222表示一个或多个过程,其执行用于发送和接收用于网络的路由、路径建立、管理和/或配置信息的协议216,该网络包括网络设备200。所示示例中的协议216包括:OSPF 216A、IS-IS 216B、因特网组管理协议216C、LDP 216D、mLDP 216E和PIM 216N。在所示示例中没有示出的其他协议可以包括:例如,RSVP-TE、边界网关协议(BGP)和RIP。网络设备200可以不执行任何示出的协议216。例如,网络设备200可以执行OSPF 216A而不执行IS-IS 216B,或者反之亦然,或者两者都不执行。
路由过程222执行用于获取路由信息以存储到路由信息库(RIB)220和链路状态数据库(LSDB)221的协议,以反映其所连接的网络和其他网络实体的当前拓扑。RIB 220和LSDB 221可以描述网络设备200驻留在其中的计算机网络的拓扑,并且还可以包括通过计算机网络中的共享树的路线。RIB 220和LSDB 221描述计算机网络内的各种路线、以及每个路线的合适的下一跳,即沿着每个路线的相邻的路由设备。在一些情况下,RIB 220和/或LSDB 221可以同时包括用于多个拓扑(诸如默认(最短路径)拓扑和由MRT模块220计算的MRT 225的拓扑)的路线和相关联的下一跳。
路由过程222和内核218可以处理被包括在RIB 220和LSDB 221中的路由信息,以生成将网络目的地与特定的下一跳、对应的IFC 206和输出链路208的物理输出端口相关联的软件转发信息库(FIB)214。基于软件FIB 214,内核218对转发部件205进行编程以安装转发信息作为硬件FIB 214'。
转发部件205表示提供网络流量的高速转发的硬件和逻辑功能。转发部件205可以包括用FIB 214'编程的一个或多个转发芯片的集合,FIB 214'利用特定的下一跳和相应的输出接口端口来映射网络目的地和/或MPLS标签。通常,当网络设备200经由入站链路207中的一个接收到分组时,转发部件205基于分组内的信息、通过遍历FIB 214来标识用于数据分组的相关联的下一跳。转发部件205在出站链路208中根据FIB 214映射到的对应的下一跳的出站链路上转发分组。转发部件205可以是分布在通过交换结构互连的一个或多个线卡之间的分布式的多个转发部件。
FIB 214可以是被编程到专用转发芯片、一系列表、复杂数据库、链路列表、基数树、数据库、平面文件或各种其他数据结构中的基数树。FIB 214可以包括用于将用于给定多播组的多播流量转发给相邻路由设备的特定路线。通常,当网络设备200经由入站链路207中的一个接收到多播分组时,转发部件205根据FIB 214'确定用于分组的下一跳,并且根据下一跳转发分组。
路由过程222为默认路由拓扑选择主下一跳。例如,路由过程222可以在表示用于包括网络设备200的图的网络拓扑的图G上执行最短路径优先(SPF)计算(其中网络设备200作为源S),以计算到图G中的所有目的地节点的主下一跳。该SPF计算被表示为SPF(S,G)。路由过程222可以从RIB 220和/或LSDB 221获取构成图G的信息。计算SPF(S,G)允许路由过程222获取从S到由图G表示的网络拓扑中的所有节点的最佳距离。在一些示例中,路由过程222可以选择具有最优(例如,最低成本)距离的下一跳作为主下一跳,并且将选择的主下一跳安装到FIB 214。
根据本文中描述的技术,路由过程222的MRT模块220可以应用最大冗余树算法来计算与一个或多个多播源相关联的每个代理节点的MRT对(即,蓝色和红色)。例如,MRT模块220针对其计算一对不相交的MRT的目的地可以是与路由设备相关联的目的地、单播目的地前缀或IP地址;任播IP地址,诸如用于任何多播源14或34的地址、以及RP节点112F、112C的地址;或者用于修改包括网络设备200的网络的网络拓扑的虚拟代理节点的地址。
冗余树是提供朝向其公共根的不相交的路径的定向生成树。这些冗余树只在网络是2边连接的情况下存在并且提供链路保护,并且在网络是2连接的情况下提供节点保护。这种连接性在实际网络中可能并非如此,无论是由于架构还是由于先前的故障。最大冗余树在实际网络中很有用,因为无论网络拓扑如何,它们都是可计算的。计算最大冗余树,以便在多个树之间仅共享切割边或切割顶点。用于计算MRT的计算上可行的算法可以基于诸如LSDB 221和/或RIB 223等的通用网络拓扑数据库。MRT算法变体可以计算O(e)或O(e+nlogn),其中e是网络图中的边的数目,n是用于网络拓扑的网络图中的节点的数目。
最大冗余树(MRT)算法的制定可以使其非常适合在路由器中使用。通常,MRT和冗余树的一个方面是树不一定提供最短迂回路径。在构建树时使用最短路径优先算法,并且包括网络中的所有链路作为用于一个路径或另一路径的可能性可以改善这一点。提供最短迂回路径需要到目的地的特定于故障的迂回路径,但是MRT的状态减少优势在于:按每个目的地(根)而不是按每个目的地和每个故障来建立迂回。
可以使用各种算法来计算用于任何网络拓扑的MRT,其中的一些算法如下命名或描述。这些可能导致计算速度和路径长度之间的折衷。算法可以计算完整的MRT或者仅仅是下一跳。路由器在网络中的每个节点的每个MRT对上的下一跳的计算可以在O(e)时间内完成,其中e是网络图中边的数目。很多算法被设计为在真实网络中工作。例如,正如SPF一样,算法基于通用网络拓扑数据库,不需要消息传递。网络中的节点可以被配置为应用一致的决胜值,以确保IGP区域中的所有路由器计算出相同的以目的地为根的MRT。
对于具有冗余多播源(包括任播RP节点的这样的源)的网络拓扑,MRT模块220可以修改网络拓扑的网络图,以生成经修改的网络图(下文中称为“经修改的网络拓扑”),经修改的网络图包括虚拟代理节点,虚拟代理节点将冗余多播源表示为从具有与冗余多播源的直接链路的网络的节点可达的单个目的地。上面关于图1A至1B、图2A至2B和图3描述了这样的网络拓扑和生成这样的经修改的网络拓扑的示例。MRT模块220计算以虚拟代理节点为根的MRT对225,其中用于MRT 225的源潜在地包括用于网络的多播流量的出口节点。路由过程222可以处理MRT 225路径,以生成相应的转发下一跳,用于沿着到由虚拟代理节点表示的多播源的MRT中的任一个,来将单播分组转发给由虚拟代理节点表示的多播源。例如,去往多播源的单播分组可以传输本文中描述的请求24或124。路由过程222将转发信息安装到FIB 214,用于由内核218向转发部件205配置作为FIB214'。
通过网络设备200的MRT转发可以根据是否考虑IP或LDP单播流量而不同。在逻辑上,可以使用相同的IP地址或LDP转发等价类(FEC),并且然后也可以使用两位来表达要使用的拓扑。拓扑选项为(00)IGP/SPT、(01)蓝色MRT、(10)红色MRT。这可能会对IP和LDP产生不同的后果,因为LDP可以在顶部添加拓扑标签或从LDP标签空间获取两个备用位。
一旦MRT模块220计算了MRT,这两个MRT集可以被转发平面(由转发部件205应用FIB 214'在网络设备200中执行)看作本质上是两个附加的拓扑。因此,同样的考虑适用于沿着MRT转发,以处理多个拓扑。对于LDP,可能需要避免隧道传输,因为对于至少节点保护,隧道传输需要知道远程LDP标签映射,并且因此需要有针对性的LDP会话和相关联的管理复杂性。下面介绍可以用于处理多个MRT拓扑并且标记发送到MRT拓扑上的分组的两种不同的示例机制。
被称为选项A的第一选项是将MRT拓扑编码在标签中。例如,除了发送用于FEC的单个标签之外,网络设备200的LDP 216D将提供具有其相关联的MRT颜色的两个附加标签。每个附加标签指定与最大冗余树之一相关联的MRT拓扑(蓝色或红色)。这两个附加标签可以存储在MRT标签224中。该方法可能很简单,但是可以减少用于其他用途的标签空间。这种方法也可以增加存储标签和LDP 216D所要求的通信所需要的内存。
被称为选项B的第二选项是创建拓扑标识标签(“拓扑id标签”)。拓扑id标签可以被存储在MRT标签224中,并且可以是LDP标签。在这种方法中,LDP 216D使用多协议标签交换(MPLS)的标签堆叠能力,并且通过新的FEC类型指定仅两个附加标签,每个相关联的MRT颜色一个标签。在将分组发送到MRT上时,LDP 216D首先交换LDP标签,并且然后推送用于该MRT颜色的拓扑id标签。当接收到带有拓扑id标签的分组时,LDP 216D弹出拓扑id标签,并且使用拓扑id标签与栈中的下一标签相结合来引导下一跳的选择。例如,LDP 216D在FIB214内查找下一内部标签或分组的IP地址(在IP的情况下),并且该查找返回一组下一跳集。然后,LDP 216D使用拓扑id标签在集合中进行选择。例如,如果拓扑id标签指示应当使用蓝色MRT,则LDP 216D使用蓝色MRT的下一跳(或下一跳的栈)。类似地,如果拓扑id标签指示应当使用红色MRT,则LDP 216D使用红色MRT的下一跳(或下一跳的栈)。如果没有拓扑id标签,则LDP216D可能只使用最短路径树(SPT)下一跳(主下一跳)。如果合适,LDP 216D然后交换剩余的标签(在适当的情况下),并且如果对于使用下一跳必要,则推送拓扑id标签,并且在与下一跳相关联的出站接口上输出带标签的分组。
拓扑id标签方法对附加标签、存储器和LDP通信的使用最少。拓扑id标签方法的确增加了分组的大小以及所要求的标签操作和查找的复杂性。例如,拓扑id标签方法可以使用与上下文感知标签空间所需要的机制相同的机制。例如,顶级拓扑id标签可以给出上下文,并且下一标签可以给出下一跳。关于上下文感知标签空间的进一步细节可以在2016年1月26日发布的题为“TRANSMITTING PACKET LABEL CONTEXTS WITHIN COMPUTER NETWORKS”的美国专利9,246,801中找到,其全部内容通过引用并入本文。
注意,对于LDP单播转发,无论在标签中使用拓扑标识标签还是编码拓扑,都不需要如在IP单播转发情况下所要求的每个路由器的附加环回。这是因为LDP标签被逐跳使用,以标识蓝色MRT和红色MRT转发树。
LDP模块216D可以以各种方式被配置有LDP的扩展。例如,LDP模块216D可以被配置为指定标签中的拓扑。也就是说,当在标签映射消息中发送将FEC映射到标签的标签映射时,LDP模块216D可以具有在FEC TLV中包括拓扑标识符并且发送相关联的标签TLV的能力。FEC TLV将包括被分配用于指定MRT和相关联的MRT颜色的多拓扑标识符(MT-ID)。在拓扑标识标签的示例中,LDP将被扩展以定义新的FEC类型,该类型描述用于MRT的拓扑和相关联的MRT颜色。另一示例选项可以是:LDP 216D在每个接口上通告指示原始传入接口将会是什么的标签。
对于IP单播流量,可以使用隧道传输。隧道出口可以是该区域中的原始目的地、下下一跳等。如果隧道出口是原始目的地路由器,则流量保持在具有次优路由的冗余树上。如果隧道出口是下下一跳,则针对ABR的多宿主前缀和节点故障的保护不可用。隧道出口的选择是路由器本地决定。
以下是用于标记IP分组以指示接收设备应当使用哪个MRT来转发所接收的IP分组的几个选项。首先,网络设备200可以经由LDP LSP来隧道传输IP分组。这具有更多的安装路由器可以进行线速封装和解封装的优点。另外,不需要分配或发送附加的IP地址。这个方法中的选项A是使用LDP目标拓扑标签。MRT模块220可以使用指示目的地和MRT两者的标签。该方法允许简单地隧道传输到下下一跳以及到IGP区域目的地。该方法中的选项B是使用LDP拓扑标签。MRT模块220可以使用IP分组顶部的拓扑标识符标签。这很简单,并且不要求用于代理节点的附加标签。如果需要隧道传输到下下一跳,则双深度标签栈可以与[拓扑id标签,下下一跳标签]一起使用。
另一种方法是在IP或其他隧道传输机制(例如,通用路由封装)中隧道传输IP分组。支持该选项的每个路由器可以宣告两个附加的环回地址及其相关联的MRT颜色。这些地址分别用作蓝色MRT或红色MRT IP隧道的目的地地址。宣告的附加环回地址允许传输节点将流量标识为沿着蓝色MRT或红色MRT树拓扑转发,以到达隧道目的地。IGP(诸如OSPF 216A或IS-IS 216B)可以扩展为:按每个路由器采用这两个附加环回地址的宣告以及相关联的MRT颜色。可能使用的另一选项是“纯”IP单播选项,该IP单播选项使用新的IP(IPv4或IPv6)逐跳选项来指定MRT颜色。使用IP选项的网络设备200可以处理快速路径中的IP选项,而不是将分组馈送给线卡以进行处理。
对于与多播源相关联的虚拟代理节点,附接到经修改的网络拓扑中的虚拟代理节点的每个网络设备可以宣告具有相关联的MRT颜色的两个公共IP地址。这可以涉及配置以及前面提到的IGP扩展。同样,在LDP的情况下,可以宣告另外的两个FEC绑定。
通常,当网络设备200接收到分组时,转发部件205可以使用所接收的分组的标签作为关键字来进行FIB 214'的查找。FIB 214'可以返回下一跳集,包括主下一跳和任何备选下一跳(例如,最短路径和MRT下一跳)。当使用拓扑id标签时,转发部件205可以对拓扑id标签进行查找以找到正确的上下文,并且然后使用所接收的分组的下一标签作为关键字,并且FIB 214'可以返回与用于第二标签的拓扑id相关联的下一跳集;这些下一跳将用于蓝色MRT或红色MRT拓扑。在另一种方法中,转发部件205可以使用接收的分组的第二标签作为关键字来进行FIB 214'的查找。FIB 214'可以返回多个下一跳集,并且拓扑ID标签被用于选择要使用的适当的下一跳集。
OSPF模块216A和IS-IS模块216B可以被扩展为包括向附近路由器宣告附加能力的能力。例如,OSPF模块216A和IS-IS模块216B可以被扩展以宣告各种能力,包括路由器是否支持MRT,路由器使用LDP还是IP还是GRE还是另一隧道协议进行MRT隧道传输。OSPF模块216A和IS-IS模块216B也可以被扩展以通告拓扑关联。例如,网络设备200可以通告回送地址,并且将宣告的回送地址与无论是蓝色还是红色的MRT相关联。OSPF模块216A和IS-IS模块216B也可以被扩展,以通告具有用于冗余多播源的虚拟代理节点的MRT的公共地址。
图4所示的网络设备200的架构仅出于示例的目的被示出。本公开不限于该架构。在其他示例中,网络设备200可以以各种方式来配置。例如,控制单元202和转发部件205的一些功能可以分布在IFC206内。作为另一示例,归属于控制单元202的操作可以由转发部件执行,反之亦然,或者由公共硬件或操作环境执行。
路由过程222、转发部件205或网络设备200的其他部件可以检测主多播流的故障,并且重新编程FIB 214'以切换到将备用多播流转发给感兴趣的接收器。
控制单元202和转发部件205均可以各自单独地以软件或硬件来实施,或者可以被实施为软件、硬件、或固件的组合。例如,一个或多个处理器213可以包括用于执行软件指令的处理电路。在该情况中,控制单元202的各种软件模块和协议可以包括计算机可读介质中存储、具体化、或编码的可执行指令,计算机可读介质诸如包含指令的计算机可读存储介质。在计算机可读介质中具体化或编码的指令例如当这些指令被执行时可以促使可编程处理器、或其他处理器、或处理电路来执行操作。计算机可读存储介质可以包括随机访问存储器(RAM)、只读存储器(ROM)、可编程只读存储器(PROM)、可擦除可编程只读存储器(EPROM)、电子可擦除可编程只读存储器(EEPROM)、非易失性随机访问存储器(NVRAM)、闪存、硬盘、CD-ROM、软盘、盒式磁带、磁性介质、光学介质、或者其他计算机可读存储介质。
图5是示出根据本公开中描述的技术的网络设备的示例操作模式的流程图。操作模式500关于网络设备200来描述,但是可以由本公开中描述的其他网络设备来执行。此外,步骤502至510可以由不生成和输出用于接收特定多播流的请求的网络设备来执行,如在步骤512中指定的。
网络设备200执行一个或多个路由协议216,以获取用于包括网络设备200并且具有网络拓扑的网络的路由信息(502)。网络设备200可以将路由信息存储到RIB 223和/或LSDB 221。网络的节点能够使用诸如mLDP、PIM或RSVP多播中的任一种的多播机制来递送多播流。网络设备200标识附接到网络或在网络内的冗余多播源(诸如多播服务器或任播RP),其中冗余多播源可以向网络中的单独的节点输出用于多播组(*,G)或多播信道(S,G)的相应的冗余多播流(504)。例如,冗余多播源可以具有到在到网络中的网络设备200的最短路径上的不同节点的链路。
基于路由信息,网络设备200生成网络的网络拓扑的网络图或其他表示,并且修改网络图以添加表示冗余多播源的虚拟代理节点(506)。然后,网络设备200针对经修改的网络图计算以虚拟代理节点为根的最大冗余树对(508)。下面提供用于执行步骤506和508的示例操作的进一步描述。
生成树被定义为包含连接网络图中的所有节点的链路的树。在经由深度优先搜索而计算的生成树的上下文中,“后边”是将节点x的后代与x的祖先连接的链路。“2连接群集”是2连接的最大的节点集。术语“2边连接”是指其中至少两个链路必须被移除以分割网络的网络图。在具有至少一个切割顶点的网络图中,将会有多个2连接集群。术语“块”是指2连接群集、切割边或孤立顶点。有向无环图(DAG)是其中所有链路都是定向的并且没有循环的图。几乎有向无环图(ADAG)是在所有到达根的链路都被移除的情况下是DAG的图。广义ADAG(GADAG)是作为所有块的ADAG的组合的图。
用于计算MRT对的算法可以处理整个网络图不是2连接的任意网络拓扑、以及网络图是2连接的更容易的情况。每个MRT是生成树。该MRT对提供从每个节点X到MRT的根的两个路径。这些路径共享最小数目的节点和最小数目的链路。每个这样的共享节点是切割顶点。任何共享链路是切割链路。
这样的算法的示例包括“用低点继承和SPF来构建以寻找MRT的通用GADAG”(即,低点继承GADAG)和“用SPF和SPF来构建以寻找MRT的通用GADAG”(即,基于SPF的GADAG)。附加的背景信息参见G.Eyedi的“Novel Algorithms for IP Fast Reroute”,Department ofTelecommunications and Media Informatics,Budapest University of Technologyand Economics,2011年2月。用于计算MRT的其他算法以下文章中描述:Enyedi等人,“OnFinding Maximally Redundant Trees in Strictly Linear Time”,IEEE Symposium onComputers and Communications,2009。用于使用具有代理节点的网络图来计算MRT的其他算法参见:2014年10月14日发布的题为“Fast Reroute Using Maximally RedundantTree”的美国专利No.8,861,340,其通过引用并入本文,如同在本文中完全阐述一样。
虚拟代理节点是添加到网络图以表示冗余多播源的节点,诸如在本地MRT支持网络设备(网络节点12或112)外部的多播服务器或网络的任播RP网络设备。虚拟代理节点的关键属性是流量不能转接它们。对于本文中的MRT计算,用于经修改的网络图的虚拟代理节点是用于MRT的根,并且不由该MRT对中的任何一个转接。在一些示例中,虚拟代理节点将冗余多播源替换为网络可达的目的地,其中利用从最后一跳路由器到多播源的现有链路,新节点通过相应的最后一跳路由器连接到多播源并且可达到多播源。
网络节点的集合X可以针对经修改的网络图(包括虚拟代理节点V)中的一个或多个目的地来计算其MRT。对于V,具体地,确定集合X内的两个无环路邻居,其到V的距离最短;这两个邻居将被称为NX_1和NX_2。在图1A至1B的示例中,NX_1和NX_2分别是入口节点12H和12D。现在计算到连接到NX_1和NX_2的V的MRT。在这种情况下,MRT可以包括从NX_1和NX_2到冗余多播源(由虚拟代理节点17表示)的输出接口;具有这样的接口的路由器将从分组中移除MRT指示,但是将其转发出所要求的接口。
在一些情况下,在计算出初始GADAG(包括添加所有链路)之后,可以将这样的临时或代理节点添加到网络图。每个附接路由器可以移除MRT标记,并且然后将流量转发给MRT支持路由器的岛之外的冗余多播源中的任一个。如果存在拓扑id标签,则不再需要更多。
返回到操作模式500,网络设备200可以是IGMP路由器,并且接收IGMP加入请求或接收由冗余多播源源送的多播流的其他请求,其中该请求可以由感兴趣的接收器发出(510)。网络设备200生成两个PIM连接、mLDP连接(例如,LDP标签映射消息)或接收多播流的其他请求,并且在每个所计算的MRT的路径上输出请求之一(512)。请求可以具有相同的目的地(源的共享任播IP地址),或者在某些情况下具有不同的目的地(用于冗余多播源的不同IP地址)。在一些示例中,网络设备200可以响应于接收到接收多播流的请求来执行步骤504、506、508。
网络设备200随后在MRT的每个反向路径上从冗余多播源接收冗余多播流的多播流,并且网络设备200将多播流中的主多播流(由网络设备选择为主多播流)转发给感兴趣的接收器(514)。响应于检测到主多播流的故障,网络设备200切换到备用多播流,并且开始将备用多播流转发给感兴趣的接收器(516)。
本公开内容中所描述的这些技术可以至少部分地以硬件、软件、固件、或者它们的任何组合来实施。例如,所描述的技术的各种方面可以被实施在一个或多个处理器内,该一个或多个处理器包括一个或多个微处理器、数字信号处理器(DSP)、专用集成电路(ASIC)、现场可编程门阵列(FPGA)、或者任何其他等效集成或分立逻辑电路、以及这样的部件的任何组合。术语“处理器”或“处理电路”可以一般性地指代前述逻辑电路中的单独的或者与其他逻辑电路相组合的任何逻辑电路,或者任何其他等效电路。包括硬件的控制单元也可以执行本公开内容的这些技术中的一种或多种技术。
这样的硬件、软件、以及固件可以被实施在相同的设备内或者分离的设备内,以支持本公开内容中所描述的各种技术。另外,所描述的单元、模块、或部件中的任何一项可以一起被实施或者分离地被实施为分立但是可互操作的逻辑设备。将不同特征描绘为模块或单元意图为突出不同的功能方面,并且不必然暗示这样的模块或单元必须由分离的硬件、固件或软件部件来实现。更确切地,与一个或多个模块或单元相关联的功能可以由分离的硬件、固件或软件部件来执行,或者被集成在共同或分离的硬件、固件或软件部件内。
本公开中描述的技术还可以实施或编码在包括用指令编码的计算机可读介质的制造品中。嵌入或编码在包括编码的计算机可读介质的制造品中的指令可以引起一个或多个可编程处理器或其他处理器实现本文中描述的技术中的一个或多个,诸如当被包括或编码在计算机可读介质中的指令由一个或多个处理器执行时。计算机可读存储介质可以包括随机存取存储器(RAM)、只读存储器(ROM)、可编程只读存储器(PROM)、可擦除可编程只读存储器(EPROM)、电可擦除可编程只读存储器(EEPROM)、闪存、硬盘、光盘ROM(CD-ROM)、软盘、盒式磁带、磁介质、光学介质或其他计算机可读介质。在一些示例中,制造品可以包括一个或多个计算机可读存储介质。
在一些示例中,计算机可读存储介质可以包括非暂态介质。术语“非暂态”可以指示存储介质没有被实施在载波或传播信号中。在某些示例中,非暂态存储介质可以(例如,在RAM或高速缓存中)存储可以随时间变化的数据。

Claims (20)

1.一种方法,包括:
在网络的网络节点中,配置针对从所述网络节点到虚拟代理节点的最大冗余树(MRT)对的转发状态,所述虚拟代理节点表示输出针对多播内容的第一冗余多播流的第一多播源,并且还表示输出针对所述多播内容的第二冗余多播流的第二多播源;
由所述网络节点根据针对所述MRT对中的第一MRT的所述转发状态,转发请求接收针对所述多播内容的多播流的第一消息;以及
由所述网络节点根据针对所述MRT对中的第二MRT而被配置的所述转发状态,转发请求接收针对所述多播内容的多播流的第二消息。
2.根据权利要求1所述的方法,其中所述网络包括根据网络拓扑的网络节点,所述方法还包括:
使用用于所述网络的路由信息,通过修改所述网络拓扑的网络图以包括所述虚拟代理节点,来生成经修改的网络图,第一网络链路虚拟地将所述虚拟代理节点与所述网络节点中的第一网络节点耦合,所述第一网络节点使来自所述第一多播源的所述第一冗余多播流进入所述网络中,并且第二网络链路虚拟地将所述虚拟代理节点与所述网络节点中的第二网络节点耦合,所述第二网络节点使来自所述第二多播源的所述第二冗余多播流进入所述网络中;以及
使用所述经修改的网络图,用作为所述MRT对的根的所述虚拟代理节点来计算所述MRT对。
3.根据权利要求2所述的方法,还包括:
由所述网络节点经由一个或多个路由协议消息获取用于所述网络的所述路由信息。
4.根据权利要求2所述的方法,
其中所述第一MRT包括虚拟地将所述虚拟代理节点与所述第一网络节点耦合的所述第一网络链路,并且
其中所述第二MRT包括虚拟地将所述虚拟代理节点与所述第二网络节点耦合的所述第二网络链路。
5.根据权利要求1所述的方法,
其中所述第一多播源和所述第二多播源被配置有共享因特网协议地址,以分别用于源送所述第一冗余多播流和所述第二冗余多播流,并且
其中所述虚拟代理节点在被修改为包括所述虚拟代理节点的所述网络拓扑的所述网络图中具有所述共享因特网协议地址。
6.根据权利要求1所述的方法,
其中所述网络包括根据网络拓扑的网络节点,
其中所述第一多播源被配置有用于源送所述第一冗余多播流的第一因特网协议地址,并且所述第二多播源被配置有用于源送所述第二冗余多播流的不同的第二因特网协议地址,所述方法还包括:
获取指示所述第一多播源和所述第二多播源是针对所述多播内容的冗余多播源的数据;以及
响应于所述获取和使用用于所述网络的路由信息,生成所述网络拓扑的经修改的网络图,以包括所述虚拟代理节点,所述虚拟代理节点具有第三因特网协议地址。
7.根据权利要求6所述的方法,还包括:
在计算所述MRT对之后,将所述第一MRT修改为具有作为所述第一多播源的所述第一因特网协议地址的目的地;以及
在计算所述MRT对之后,将所述第二MRT修改为具有作为所述第二多播源的所述第二因特网协议地址的目的地。
8.根据权利要求1所述的方法,其中所述第一多播源和所述第二多播源是所述网络的网络节点,并且被配置为作为具有用于分发相应的所述冗余多播流的共享因特网协议地址的任播汇集点来操作。
9.根据权利要求1所述的方法,
由所述网络节点响应于所述第一消息,经由所述第一MRT的反向路径接收所述第一冗余多播流;
由所述网络节点响应于所述第二消息,经由所述第二MRT的反向路径接收所述第二冗余多播流;以及
由所述网络节点向感兴趣的接收器转发所述第一冗余多播流。
10.根据权利要求9所述的方法,还包括:
由所述网络节点响应于检测到所述第一冗余多播流的故障来向所述感兴趣的接收器转发所述第二冗余多播流。
11.根据权利要求1所述的方法,
其中配置针对所述MRT对的所述转发状态包括:由所述网络节点向转发信息库安装用于沿着所述第一MRT的路径的第一下一跳和用于沿着所述第二MRT的路径的第二下一跳,
其中根据所述转发状态转发所述第一消息包括:经由所述第一下一跳转发所述第一消息,并且
其中根据所述转发状态转发所述第二消息包括:经由所述第二下一跳转发所述第二消息。
12.根据权利要求1所述的方法,还包括:
由所述网络节点从控制器接收描述所述MRT对的数据,
其中配置针对所述MRT对的所述转发状态包括:由所述网络节点至少基于描述所述MRT对的所述数据配置针对所述MRT对的所述转发状态。
13.根据权利要求1所述的方法,还包括:
由所述网络节点从控制器接收所述转发状态。
14.根据权利要求1所述的方法,其中所述网络节点是针对用于所述多播内容的多播共享树的汇集点节点。
15.一种计算设备,包括:
针对具有网络拓扑的网络节点的网络的路由信息;
处理电路,所述处理电路被耦合到存储器;
路由协议过程,所述路由协议过程被配置为由所述处理电路执行以:
使用所述路由信息生成所述网络拓扑的经修改的网络图,以包括:
虚拟代理节点,
第一网络链路,所述第一网络链路虚拟地将所述虚拟代理节点与所述网络节点中的第一网络节点耦合,所述第一网络节点使来自第一多播源的、针对多播内容的第一冗余多播流进入所述网络中,以及
第二网络链路,所述第二网络链路虚拟地将所述虚拟代理节点与所述网络节点中的第二网络节点耦合,所述第二网络节点使来自第二多播源的、针对所述多播内容的第二冗余多播流进入所述网络中;以及
使用所述经修改的网络图,计算从所述网络节点中的网络节点到所述虚拟代理节点的MRT对;以及
获取转发状态,所述转发状态从所述MRT对被生成,并且使所述网络节点经由所述MRT对中的第一MRT输出请求接收针对所述多播内容的多播流的第一消息,以及经由所述MRT对中的第二MRT输出请求接收针对所述多播内容的多播流的第二消息。
16.根据权利要求15所述的计算设备,其中为了获取所述转发状态,所述路由协议过程被配置为基于所述MRT对来生成所述转发状态。
17.根据权利要求15所述的计算设备,其中所述路由协议过程被配置为将所述转发状态输出到所述网络节点以用于配置所述网络节点。
18.根据权利要求15所述的计算设备,其中所述路由协议过程还被配置为经由一个或多个路由协议消息来获取用于所述网络的所述路由信息。
19.根据权利要求15所述的计算设备,其中所述计算设备包括以下一项:用于所述网络的控制器或所述网络节点。
20.一种非瞬态计算机可读存储介质,包括指令,所述指令在被执行时使网络的网络节点的一个或多个可编程处理器:
配置针对从所述网络节点到虚拟代理节点的最大冗余树(MRT)对的转发状态,所述虚拟代理节点表示输出针对多播内容的第一冗余多播流的第一多播源,并且还表示输出针对所述多播内容的第二冗余多播流的第二多播源;
根据针对所述MRT对中的第一MRT的所述转发状态,转发请求接收针对所述多播内容的多播流的第一消息;以及
根据针对所述MRT对中的第二MRT而被配置的所述转发状态,转发请求接收针对所述多播内容的多播流的第二消息。
CN202011447457.9A 2017-07-28 2018-06-29 用于多播保护的到冗余多播源节点的最大冗余树 Active CN112565067B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US15/663,566 2017-07-28
US15/663,566 US10554425B2 (en) 2017-07-28 2017-07-28 Maximally redundant trees to redundant multicast source nodes for multicast protection
CN201810711931.0A CN109309623B (zh) 2017-07-28 2018-06-29 用于多播保护的到冗余多播源节点的最大冗余树

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
CN201810711931.0A Division CN109309623B (zh) 2017-07-28 2018-06-29 用于多播保护的到冗余多播源节点的最大冗余树

Publications (2)

Publication Number Publication Date
CN112565067A true CN112565067A (zh) 2021-03-26
CN112565067B CN112565067B (zh) 2022-10-11

Family

ID=62951821

Family Applications (2)

Application Number Title Priority Date Filing Date
CN202011447457.9A Active CN112565067B (zh) 2017-07-28 2018-06-29 用于多播保护的到冗余多播源节点的最大冗余树
CN201810711931.0A Active CN109309623B (zh) 2017-07-28 2018-06-29 用于多播保护的到冗余多播源节点的最大冗余树

Family Applications After (1)

Application Number Title Priority Date Filing Date
CN201810711931.0A Active CN109309623B (zh) 2017-07-28 2018-06-29 用于多播保护的到冗余多播源节点的最大冗余树

Country Status (3)

Country Link
US (2) US10554425B2 (zh)
EP (3) EP3767881B1 (zh)
CN (2) CN112565067B (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113820977A (zh) * 2021-09-03 2021-12-21 重庆大学 一种用于信号灯的双链路远程冗余控制系统及方法

Families Citing this family (25)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10554425B2 (en) 2017-07-28 2020-02-04 Juniper Networks, Inc. Maximally redundant trees to redundant multicast source nodes for multicast protection
US10942666B2 (en) * 2017-10-13 2021-03-09 Cisco Technology, Inc. Using network device replication in distributed storage clusters
CN111801914B (zh) * 2017-12-21 2023-04-14 瑞典爱立信有限公司 用于在最大不相交路径上转发网络业务的方法和设备
CN112995028A (zh) * 2018-06-30 2021-06-18 华为技术有限公司 一种传输路径故障的处理方法、装置及系统
US10700938B2 (en) * 2018-07-31 2020-06-30 Cisco Technology, Inc. Efficient configuration of multicast flows
US11025444B2 (en) * 2018-09-17 2021-06-01 Cisco Technology, Inc. Multicast traffic optimization in multihomed edge network elements
US10917337B1 (en) 2019-01-17 2021-02-09 Juniper Networks, Inc. Time to live (TTL) handing for segment routing ping/traceroute
CN113260929B (zh) * 2019-01-23 2024-05-24 西门子股份公司 用于故障安全数据传输的方法、网络节点、计算机程序和计算机可读介质
US11025522B2 (en) * 2019-05-04 2021-06-01 Juniper Networks, Inc. Path monitoring system (PMS) controller or ingress node based multiprotocal label switching (MPLS) ping and traceroute in inter- autonomous system (AS) segment routing (SR) networks
US11310154B2 (en) * 2019-09-25 2022-04-19 Cisco Technology, Inc. Enabling multicast-label-distribution-protocol (mLDP) on non-mLDP devices
CN112822097B (zh) * 2019-11-15 2024-06-18 华为技术有限公司 报文转发的方法、第一网络设备以及第一设备组
US11336569B2 (en) 2020-02-11 2022-05-17 Juniper Networks, Inc. Ping and traceroute in inter-autonomous system (AS) segment routing (SR) networks without requiring headend router or path monitoring system (PMS) controller knowledge of topology outside of origin as
US20210273880A1 (en) * 2020-02-28 2021-09-02 Carrier Corporation Single node multiple forwarding paths
CN113364680A (zh) * 2020-03-06 2021-09-07 华为技术有限公司 一种sr策略的发布、接收方法及装置
US11329907B2 (en) * 2020-06-02 2022-05-10 Cisco Technology, Inc., A California Corporation Establishing a multicast flow path through a network using multicast resources currently associated with a different multicast flow path
US11582054B2 (en) * 2020-06-11 2023-02-14 Juniper Networks, Inc. Multicast source discovery protocol (MSDP) loop avoidance
US11695685B2 (en) * 2020-06-16 2023-07-04 Nokia Solutions And Networks Oy Supporting candidate path selection
TWI733560B (zh) * 2020-08-13 2021-07-11 瑞昱半導體股份有限公司 網路交換器及其網路交換器系統
US11516115B2 (en) 2020-08-18 2022-11-29 Juniper Networks, Inc. Weighted multicast join load balance
JP2022038416A (ja) * 2020-08-26 2022-03-10 ソニーグループ株式会社 情報処理装置、情報処理方法、コンピュータプログラム及び情報処理システム
US11811509B2 (en) * 2021-01-29 2023-11-07 Juniper Networks, Inc. Upstream multicast hop (UMH) extensions for anycast deployments
US11689449B2 (en) 2021-05-04 2023-06-27 Cisco Technology, Inc. Node protection for a software defined replicator
US11855874B2 (en) * 2021-08-03 2023-12-26 Arista Networks, Inc. Multi-tiered clos network fabric reverse path forwarding device selection
CN115733840A (zh) * 2021-08-30 2023-03-03 华为技术有限公司 发送报文的方法、发送报文的控制方法及装置
WO2024092284A1 (en) * 2023-01-11 2024-05-02 Futurewei Technologies, Inc. Algorithms for shortest paths to neighbors

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20130033978A1 (en) * 2011-08-01 2013-02-07 Toerless Eckert Source Alive Route Injection
US20130077475A1 (en) * 2011-09-27 2013-03-28 Telefonaktiebolaget L M Ericsson (Publ) Optimizing Endpoint Selection of MRT-FRR Detour Paths
US8861340B1 (en) * 2012-03-12 2014-10-14 Juniper Networks, Inc. Fast reroute using maximally redundant trees
US8958286B1 (en) * 2012-03-12 2015-02-17 Juniper Networks, Inc. Fast reroute for multicast using maximally redundant trees
CN104662851A (zh) * 2012-06-01 2015-05-27 瑞典爱立信有限公司 用上游激活分组增强pim快速重新路由
US9100328B1 (en) * 2012-03-12 2015-08-04 Juniper Networks, Inc. Forwarding mechanisms for fast reroute using maximally redundant trees
CN105453496A (zh) * 2013-08-07 2016-03-30 瑞典爱立信有限公司 分组网络中具有谨慎恢复的冗余路径的自动建立
CN106170952A (zh) * 2014-01-21 2016-11-30 瑞典爱立信有限公司 用于在数据网络中部署最大冗余树的方法和系统

Family Cites Families (58)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6032194A (en) 1997-12-24 2000-02-29 Cisco Technology, Inc. Method and apparatus for rapidly reconfiguring computer networks
US6556541B1 (en) 1999-01-11 2003-04-29 Hewlett-Packard Development Company, L.P. MAC address learning and propagation in load balancing switch protocols
US6721275B1 (en) 1999-05-03 2004-04-13 Hewlett-Packard Development Company, L.P. Bridged network stations location revision
US6977930B1 (en) 2000-02-14 2005-12-20 Cisco Technology, Inc. Pipelined packet switching and queuing architecture
US6732182B1 (en) * 2000-05-17 2004-05-04 Worldcom, Inc. Method for generating packet loss report by a data coordinator in a multicast data transmission network utilizing a group shortest path tree
CA2371432A1 (en) 2001-02-13 2002-08-13 Telecommunications Research Laboratory Restoration of ip networks using precalculated restoration routing tables
FI115271B (fi) 2001-05-28 2005-03-31 Nokia Corp Menetelmä ja järjestelmä nopean elpymisprosessin toteuttamiseksi lähiverkossa
KR100420956B1 (ko) 2002-02-09 2004-03-02 주식회사 케이티 Mpls 망에서 대체 경로를 공유하는 방법, 대체 경로를설정하는 레이블 스위칭 라우터 및 그 시스템
JP3799010B2 (ja) 2002-12-19 2006-07-19 アンリツ株式会社 メッシュ型ネットワーク用ブリッジ
US7508774B2 (en) 2003-04-28 2009-03-24 Alcatel-Lucent Usa Inc. Extensions to the spanning tree protocol
US7283741B2 (en) 2003-06-06 2007-10-16 Intellambda Systems, Inc. Optical reroutable redundancy scheme
US7558217B2 (en) 2003-08-15 2009-07-07 Hewlett-Packard Development Company, L.P. Method and system for initializing host location information across smart bridge topology changes
GB2421158B (en) 2003-10-03 2007-07-11 Avici Systems Inc Rapid alternate paths for network destinations
EP1545070A1 (en) 2003-12-18 2005-06-22 Alcatel Network with spanning tree for guiding information
US7630298B2 (en) 2004-10-27 2009-12-08 Cisco Technology, Inc. Method and apparatus for forwarding data in a data communications network
US8085755B2 (en) * 2005-04-01 2011-12-27 Cisco Technology, Inc. Data driven route advertisement
EP1763204B1 (en) 2005-09-13 2013-12-04 Unify GmbH & Co. KG System and method for redundant switches taking into account learning bridge functionality
US7821972B1 (en) 2005-09-29 2010-10-26 Cisco Technology, Inc. System and method for building large-scale layer 2 computer networks
US8274989B1 (en) 2006-03-31 2012-09-25 Rockstar Bidco, LP Point-to-multipoint (P2MP) resilience for GMPLS control of ethernet
US7899049B2 (en) 2006-08-01 2011-03-01 Cisco Technology, Inc. Methods and apparatus for minimizing duplicate traffic during point to multipoint tree switching in a network
CN101155124B (zh) 2006-09-27 2011-09-14 华为技术有限公司 一种实现组播快速重路由的方法
US20080107027A1 (en) 2006-11-02 2008-05-08 Nortel Networks Limited Engineered paths in a link state protocol controlled Ethernet network
US8279749B2 (en) 2006-11-27 2012-10-02 Cisco Technology, Inc. Failure protection for P2MP tunnel head-end node
US8014291B2 (en) 2006-11-28 2011-09-06 Cisco Technology, Inc. Relaxed constrained shortest path first (R-CSPF)
US7701940B2 (en) 2007-03-09 2010-04-20 Cisco Technology, Inc. Inter-domain point-to-multipoint path computation in a computer network
CN101335695B (zh) 2007-06-27 2012-11-07 华为技术有限公司 点到多点标签交换路径的头节点保护方法、装置和设备
US7668116B2 (en) 2007-07-06 2010-02-23 Cisco Technology, Inc. Root node shutdown messaging for multipoint-to-multipoint transport tree
GB0800478D0 (en) 2008-01-11 2008-02-20 Nortel Networks Ltd Improved loop avoidance for multicast transport networks
US8533280B1 (en) * 2008-05-02 2013-09-10 BitGravity, Inc. Distributed origin content delivery network
FR2931604A1 (fr) 2008-05-23 2009-11-27 France Telecom Technique de protection dans un reseau de communication en mode connecte d'un arbre primaire point a multipoint.
US7859995B2 (en) 2008-09-30 2010-12-28 Alcatel-Lucent Usa Inc. Protected-far-node-based solution for fault-resilient MPLS/T-MPLS multicast services
US8780696B2 (en) 2008-11-17 2014-07-15 Telefonaktiebolaget L M Ericsson (Publ) System and method of implementing lightweight not-via IP fast reroutes in a telecommunications network
US9246801B1 (en) 2008-12-12 2016-01-26 Juniper Networks, Inc. Transmitting packet label contexts within computer networks
US8817596B2 (en) 2009-01-09 2014-08-26 Futurewei Technologies, Inc. Protecting ingress and egress of a label switched path
US8743677B2 (en) 2009-01-16 2014-06-03 Cisco Technology, Inc. VPLS N-PE redundancy with STP isolation
JP5419974B2 (ja) 2009-02-19 2014-02-19 華為技術有限公司 ポイントツーマルチポイントドメイン間マルチプロトコルラベルスイッチングトラフィックエンジニアリング経路計算のシステム、及び方法
ES2361545B1 (es) 2009-02-24 2012-05-08 Universidad De Alcala De Henares Procedimiento de encaminamiento de tramas de datos y puente de red.
US8619785B2 (en) 2009-04-28 2013-12-31 Ciena Corporation Pre-computing alternate forwarding state in a routed ethernet mesh network
US7990893B1 (en) 2009-05-19 2011-08-02 Juniper Networks, Inc. Fast prefix-based network route filtering
US8165121B1 (en) 2009-06-22 2012-04-24 Juniper Networks, Inc. Fast computation of loop free alternate next hops
US8243585B2 (en) * 2009-08-25 2012-08-14 Alcatel Lucent Method and apparatus for fault-resilient multicast using multiple sources
US8184628B2 (en) 2009-08-28 2012-05-22 Cisco Technology, Inc. Network based multicast stream duplication and merging
CA2775951A1 (en) 2009-10-02 2011-04-07 Telefonaktiebolaget L M Ericsson (Publ) Technique for controlling data forwarding in computer networks
US8634289B2 (en) 2009-12-31 2014-01-21 Alcatel Lucent Efficient protection scheme for MPLS multicast
US8773978B2 (en) 2010-02-15 2014-07-08 Futurewei Technologies, Inc. System and method for protecting ingress and egress of a point-to-multipoint label switched path
US8885459B2 (en) 2010-02-26 2014-11-11 Futurewei Technologies, Inc. System and method for computing a backup ingress of a point-to-multipoint label switched path
US8611346B1 (en) * 2010-06-18 2013-12-17 Cisco Technology, Inc. Multicast sparse-mode source redundancy
WO2012000557A1 (en) 2010-07-01 2012-01-05 Telefonaktiebolaget Lm Ericsson (Publ) Method and apparatus for dissemination of information between routers
WO2012013251A1 (en) 2010-07-30 2012-02-02 Telefonaktiebolaget Lm Ericsson (Publ) Method and apparatus for handling network resource failures in a router
US8451717B2 (en) * 2010-07-30 2013-05-28 Alcatel Lucent Method and apparatus for rapid switchover from primary to standby multicast trees
US9363168B2 (en) 2011-03-31 2016-06-07 Telefonaktiebolaget Lm Ericsson (Publ) Technique for operating a network node
CN104272677B (zh) 2011-11-11 2017-04-26 华为技术有限公司 基于点到多点的多播标签分发协议本地保护解决方案
US9571387B1 (en) * 2012-03-12 2017-02-14 Juniper Networks, Inc. Forwarding using maximally redundant trees
US9270426B1 (en) 2012-09-11 2016-02-23 Juniper Networks, Inc. Constrained maximally redundant trees for point-to-multipoint LSPs
US8638659B2 (en) 2012-06-01 2014-01-28 Telefonaktiebolaget L M Ericsson (Publ) Enhancements to PIM fast re-route with downstream notification packets
US9860110B2 (en) * 2015-09-30 2018-01-02 Juniper Networks, Inc. Multicast only fast re-route over remote loop-free alternate backup path
CN107689915A (zh) * 2016-08-04 2018-02-13 中兴通讯股份有限公司 报文转发方法及装置
US10554425B2 (en) 2017-07-28 2020-02-04 Juniper Networks, Inc. Maximally redundant trees to redundant multicast source nodes for multicast protection

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20130033978A1 (en) * 2011-08-01 2013-02-07 Toerless Eckert Source Alive Route Injection
US20130077475A1 (en) * 2011-09-27 2013-03-28 Telefonaktiebolaget L M Ericsson (Publ) Optimizing Endpoint Selection of MRT-FRR Detour Paths
US8861340B1 (en) * 2012-03-12 2014-10-14 Juniper Networks, Inc. Fast reroute using maximally redundant trees
US8958286B1 (en) * 2012-03-12 2015-02-17 Juniper Networks, Inc. Fast reroute for multicast using maximally redundant trees
US9100328B1 (en) * 2012-03-12 2015-08-04 Juniper Networks, Inc. Forwarding mechanisms for fast reroute using maximally redundant trees
CN104662851A (zh) * 2012-06-01 2015-05-27 瑞典爱立信有限公司 用上游激活分组增强pim快速重新路由
CN105453496A (zh) * 2013-08-07 2016-03-30 瑞典爱立信有限公司 分组网络中具有谨慎恢复的冗余路径的自动建立
CN106170952A (zh) * 2014-01-21 2016-11-30 瑞典爱立信有限公司 用于在数据网络中部署最大冗余树的方法和系统

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
ANDREA TASSI;IOANNIS CHATZIGEORGIOU;: "Optimized network-coded scalable video multicasting over eMBMS networks", 《2015 IEEE INTERNATIONAL CONFERENCE ON COMMUNICATIONS (ICC)》 *
李立朝等: "HIP组播路由机制研究与实现", 《微型机与应用》 *

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113820977A (zh) * 2021-09-03 2021-12-21 重庆大学 一种用于信号灯的双链路远程冗余控制系统及方法
CN113820977B (zh) * 2021-09-03 2024-04-19 重庆大学 一种用于信号灯的双链路远程冗余控制系统及方法

Also Published As

Publication number Publication date
CN109309623A (zh) 2019-02-05
EP4203421A1 (en) 2023-06-28
CN109309623B (zh) 2020-11-20
EP3435595A1 (en) 2019-01-30
US10554425B2 (en) 2020-02-04
US20190036717A1 (en) 2019-01-31
EP3767881B1 (en) 2023-03-22
EP3435595B1 (en) 2020-10-07
US20200177401A1 (en) 2020-06-04
US11444793B2 (en) 2022-09-13
EP3767881A1 (en) 2021-01-20
CN112565067B (zh) 2022-10-11

Similar Documents

Publication Publication Date Title
CN109309623B (zh) 用于多播保护的到冗余多播源节点的最大冗余树
US10536324B2 (en) Per-prefix LFA FRR with bit indexed explicit replication
US10129075B2 (en) Multicast only fast re-route over remote loop-free alternate backup path
US9716648B2 (en) System and method for computing point-to-point label switched path crossing multiple domains
US9860161B2 (en) System and method for computing a backup ingress of a point-to-multipoint label switched path
US7602702B1 (en) Fast reroute of traffic associated with a point to multi-point network tunnel
US8842522B2 (en) Incremental deployment of MRT based IPFRR
US20140286195A1 (en) Service Instance Applied to MPLS Network
US8976646B2 (en) Point to multi-point based multicast label distribution protocol local protection solution
US9571387B1 (en) Forwarding using maximally redundant trees
US11646960B2 (en) Controller provided protection paths
US9781030B1 (en) Fast re-route protection using GRE over MPLS
EP3151489A1 (en) Mldp multicast only fast re-route over remote loop-free alternate backup path
WO2020021558A1 (en) Methods, apparatus and machine-readable media relating to path computation in a communication network
Papán et al. The new PIM-SM IPFRR mechanism

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