CN103795626A - 组播快速保护倒换的方法与装置 - Google Patents
组播快速保护倒换的方法与装置 Download PDFInfo
- Publication number
- CN103795626A CN103795626A CN201410056363.7A CN201410056363A CN103795626A CN 103795626 A CN103795626 A CN 103795626A CN 201410056363 A CN201410056363 A CN 201410056363A CN 103795626 A CN103795626 A CN 103795626A
- Authority
- CN
- China
- Prior art keywords
- path
- standby
- multicast
- main
- flux
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/12—Shortest path evaluation
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/02—Details
- H04L12/16—Arrangements for providing special services to substations
- H04L12/18—Arrangements for providing special services to substations for broadcast or conference, e.g. multicast
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/64—Hybrid switching systems
- H04L12/6418—Hybrid transport
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/16—Multipoint routing
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/28—Routing or path finding of packets in data switching networks using route fault recovery
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L49/00—Packet switching elements
- H04L49/20—Support for services
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明提供一种组播快速保护倒换的方法与装置,该方法包括:确定到源节点的主路径和备路径,所述备路径与所述主路径具有最小尾重合;通过所述主路径和所述备路径同时接收上游邻节点复制的组播流量,并将所述主路径接收的组播流量复制给下游邻节点;若所述主路径发生故障,将所述备路径接收的组播流量复制给下游邻节点。本发明通过主备路径可以最小尾重合,克服了组播网络中故障保护倒换需要路由节点到组播源存在的主备路径物理拓扑完全分离的问题,扩大了组播网络中故障保护倒换可覆盖的范围。
Description
技术领域
本发明涉及一种通信技术,尤其涉及一种组播快速保护倒换的方法与装置。
背景技术
交互式网络电视(Internet Protocol Television,简称:IPTV)和增强型广播多播服务(Evolved Multimedia Broadcast Multicast Service,简称:eMBMS)通常采用组播技术来有效降低对设备、带宽的压力。在IPTV和eMBMS中,运营商中心,组播源(source)将流量通过组播方式发送到与用户侧连接的运营商边缘路由器(Provider Edge,简称:PE),使得PE可以将流量进一步转发到用户侧。
IP组播协议主要有用于主机注册的互联网组管理协议(Internet GroupManagement Protocol,简称:IGMP),用于用户侧主机向PE发送IGMP加入报文注册,和用于组播选路转发的组播路由协议。组播路由协议通常使用协议无关组播(Protocol Independent Multicast,简称:PIM)。PIM协议和单播路由协议无关,只要单播路由协议能产生路由表项即可。
现有技术中,通常采用组播快速重路由(multicast only fast reroute,简称:MoFRR)实现故障保护倒换,以减少承载组播流量的网际协议(Internet Protocol,简称:IP)网络故障造成的服务中断。MoFRR在PE节点中应用,要求PE到组播源存在两条物理拓扑(topo)完全分离路径。PE分别向主路径(primary)和备路径(secondary)的上游节点发送PIM加入报文(join)加入到组播路由网络,之后通过两条路径同时接收组播源发送的组播流量。正常情况下,PE接收到流量后,根据主路径进行逆向路径转发(Reverse Path Forwarding,简称:RPF)检查,主路径接收到的流量RPF匹配,将主路径接收的流量转发给用户侧(Receiver),备份路径接收到的流量,RPF不匹配,则直接丢弃。当主路径出现故障时,PE根据备路径进行RPF检查,使得PE从备路径接收到的流量能够通过RPF检查而不会被丢弃,保证用户侧能正常接收到流量。
然而,一旦PE不存在到组播源的两条物理topo完全分离的主备路径,则不能采用上述方案进行故障保护倒换的要求。
发明内容
本发明提供一种组播快速保护倒换的方法与装置,以克服现有技术中组播故障保护倒换需要路由节点到组播源存在的主备路径物理拓扑完全分离的问题。
第一方面,本发明实施例提供一种组播快速保护倒换的方法,包括:
确定到源节点的主路径和备路径,所述备路径与所述主路径具有最小尾重合;
通过所述主路径和所述备路径同时接收上游邻节点复制的组播流量,并将所述主路径接收的组播流量复制给下游邻节点;
若所述主路径发生故障,将所述备路径接收的组播流量复制给下游邻节点。
在第一方面的第一种可能的实现方式中,所述确定到源节点的主路径和备路径,所述备路径与所述主路径具有最小尾重合,包括:
确定到所述源节点的最短路径为所述主路径;
排除所述主路径,确定到所述源节点是否存在路径;
若排除所述主路径存在到所述源节点的路径,采用所述路径中的最短路径作为所述备路径;
若排除所述主路径不存在到所述源节点的路径,将所述主路径的最后一跳作为所述备路径的最后一跳,并执行确定到所述源节点的备路径的步骤。
根据第一方面的第一种可能的实现方式,在第二种可能的实现方式中,还包括:
若将所述主路径的最后一跳Nx作为所述备路径的最后一跳不存在到所述源节点的备路径,则将所述主路径的最后两跳作为所述备路径的最后两跳,并执行确定所述备路径的步骤;
若将所述主路径的最后两跳作为所述备路径的最后两跳不存在到所述源节点的备路径,则依此类推,直到确定到所述源节点的备路径。
根据第一方面的第一或第二种可能的实现方式,在第一方面的第三种可能的实现方式中,所述确定到所述源节点的备路径之后,还包括:
将所述备路径上的所有节点组成第一集合;
以所述主路径的最后一跳Nx为根,确定以所述主路径最后一跳Nx为根的逆向最短路径树RSPT上的所有子树,将所述所有子树上的节点组成第二集合;
若所述第二集合与所述第一集合的交集不为空,确定所述交集中在所述备路径上距离最远的节点Nj;
采用所述逆向最短路径树RSPT上到所述节点Nj的子树上的所有节点和所述备路径上所述节点Nj到所述源节点上的所有节点组成的路径替换所述备路径,作为到所述源节点的最终备路径。
在第一方面的第四种可能的实现方式中,所述通过所述主路径和所述备路径同时接收上游邻节点复制的组播流量,并将所述主路径接收的组播流量复制给下游邻节点,包括:
将所述主路径与上游邻节点的接口作为主入口,所述备路径与上游邻节点的接口作为备入口;
通过所述主入口接收上游邻节点复制的组播流量,通过所述备入口接收上游邻节点复制的组播流量,并将所述主入口接收的组播流量复制给下游邻节点;
若所述主路径发生故障,将所述备路径接收的组播流量复制给下游邻节点,包括:
若所述主入口发生故障,将所述备入口接收的组播流量复制给下游邻节点。
根据第一方面的第四种可能的实现方式,在第一方面的第五种可能的实现方式中,所述将所述主路径与上游邻节点的接口作为主入口,所述备路径与上游邻节点的接口作为备入口之后,还包括:
接收PIM加入报文;
判断接收所述PIM加入报文的接口是否为主入口;
若接收所述PIM加入报文的接口不为主入口,则标记所述接口为主出口;
所述将所述主入口接收的组播流量复制给下游邻节点,包括:将所述主入口接收的组播流量通过所述主出口复制给下游邻节点;
所述若所述主入口发生故障,将所述备入口接收的组播流量复制给下游邻节点,包括:
切换所述备入口为主入口,并将切换前的所述备入口接收的组播流量通过所述主出口复制给下游邻节点。
根据第一方面的第五种可能的实现方式,在第一方面的第六种可能的实现方式中,若接收所述PIM加入报文的接口为主入口,则标记所述接口为备出口;
所述通过所述备入口接收上游邻节点复制的组播流量之后,还包括:
若所述主入口未发生故障,将所述备入口接收的组播流量通过所述备出口复制给下游邻节点。
根据第一方面的第六种可能的实现方式,在第一方面的第七种可能的实现方式中,所述接收PIM加入报文之后,还包括:
判断是否存在主出口和/或备出口;
若存在主出口,则通过所述主入口向上游邻节点发送PIM加入报文;和/或,若存在备出口,则通过所述备入口向上游邻节点发送PIM加入报文。
根据第一方面的第五至第七种任一可能的实现方式,在第一方面的第八种可能的实现方式中,还包括:
接收PIM离开消息;
删除收到所述PIM离开消息的出接口,所述收到所述PIM离开消息的出接口为主出口或备出口;
判断是否存在主出口和/或备出口;
若不存在主出口,则通过所述主入口向上游节点发送PIM离开消息,和/或,若不存在备出口,则通过所述备入口向上游邻节点发送PIM离开消息。
根据第一方面的第四种至第八种任一可能的实现方式,在第一方面的第九种可能的实现方式中,所述通过所述主入口接收上游邻节点复制的组播流量,通过所述备入口接收上游邻节点复制的组播流量之后,并将所述主入口接收的组播流量复制给下游邻节点之前,还包括:
根据所述主路径对所述主入口接收的上游邻节点复制的组播流量进行逆向路径转发RPF检查;
根据所述备路径对所述备入口接收的上游邻节点复制的组播流量进行逆向路径转发RPF检查。
根据第一方面的第六至第九种任一可能的实现方式,在第一方面的第十种可能的实现方式中,所述若所述主入口未发生故障,将所述备入口接收的组播流量通过所述备出口复制给下游邻节点之前,还包括:
判断是否存在备出口;
若不存在备出口,则将所述备入口接收的组播流量丢弃。
根据第一方面的第六至第十种任一可能的实现方式,在第一方面的第十一种可能的实现方式中,还包括:
若所述主入口发生变化,将新的主入口接收到的组播流量通过主出口复制给下游邻节点;
判断旧的主入口是否是新的备入口;
若所述旧的主入口是新的备入口,则将所述旧的主入口切换成所述备入口,并且将切换前所述旧的主入口接收到的组播流量通过备出口复制给下游邻节点;
若所述旧的主入口不是新的备入口,则向所述旧的主入口发送PIM离开消息,删除所述旧的主入口,并且丢弃所述旧的主入口接收到的组播流量。
根据第一方面的第六至第十一种任一可能的实现方式,在第一方面的第十二种可能的实现方式中,还包括:
若需要切换备出口为主出口,则立即切换所述备出口为所述主出口;
若需要切换主出口为备出口,则延时切换所述主出口为所述备出口。
第二方面,本发明实施例提供一种组播快速保护倒换的装置,包括:
路径确定模块,用于确定到源节点的主路径和备路径,所述备路径与所述主路径具有最小尾重合;
组播处理模块,用于通过所述主路径和所述备路径同时接收上游邻节点复制的组播流量,并将所述主路径接收的组播流量复制给下游邻节点;
故障处理模块,用于若所述主路径发生故障,将所述备路径接收的组播流量复制给下游邻节点。
在第二方面的第一种可能的实现方式中,所述路径确定模块,具体用于:
确定到所述源节点的最短路径为所述主路径;
排除所述主路径,确定到所述源节点是否存在路径;
若排除所述主路径存在到所述源节点的路径,采用所述路径中的最短路径作为所述备路径;
若排除所述主路径不存在到所述源节点的路径,将所述主路径的最后一跳作为所述备路径的最后一跳,并执行确定到所述源节点的备路径的步骤。
根据第二方面的第一种可能的实现方式,在第二种可能的实现方式中,所述路径确定模块,还用于:
若将所述主路径的最后一跳Nx作为所述备路径的最后一跳不存在到所述源节点的备路径,则将所述主路径的最后两跳作为所述备路径的最后两跳,并执行确定所述备路径的步骤;
若将所述主路径的最后两跳作为所述备路径的最后两跳不存在到所述源节点的备路径,则依此类推,直到确定到所述源节点的备路径。
根据第二方面的第一或第二种可能的实现方式,在第二方面的第三种可能的实现方式中,所述路径确定模块,在确定到所述源节点的备路径之后,还用于:
将所述备路径上的所有节点组成第一集合;
以所述主路径的最后一跳Nx为根,确定以所述主路径最后一跳Nx为根的逆向最短路径树RSPT上的所有子树,将所述所有子树上的节点组成第二集合;
若所述第二集合与所述第一集合的交集不为空,确定所述交集中在所述备路径上距离最远的节点Nj;
采用所述逆向最短路径树RSPT上到所述节点Nj的子树上的所有节点和所述备路径上所述节点Nj到所述源节点上的所有节点组成的路径替换所述备路径,作为到所述源节点的最终备路径。
在第二方面的第四种可能的实现方式中,所述组播处理模块,包括:
接口处理单元,用于将所述主路径与上游邻节点的接口作为主入口,所述备路径与上游邻节点的接口作为备入口;
流量处理单元,用于通过所述主入口接收上游邻节点复制的组播流量,通过所述备入口接收上游邻节点复制的组播流量,并将所述主入口接收的组播流量复制给下游邻节点;
所述故障处理模块,具体用于:
若所述主入口发生故障,将所述备入口接收的组播流量复制给下游邻节点。
根据第二方面的第四种可能的实现方式,在第二方面的第五种可能的实现方式中,所述接口处理单元,在将所述主路径与上游邻节点的接口作为主入口,所述备路径与上游邻节点的接口作为备入口之后,还用于:
接收PIM加入报文;
判断接收所述PIM加入报文的接口是否为主入口;
若接收所述PIM加入报文的接口不为主入口,则标记所述接口为主出口;
所述流量处理单元,具体用于:
将所述主入口接收的组播流量通过所述主出口复制给下游邻节点;
所述故障处理模块,具体用于:
切换所述备入口为主入口,并将切换前的所述备入口接收的组播流量通过所述主出口复制给下游邻节点。
根据第二方面的第五种可能的实现方式,在第二方面的第六种可能的实现方式中,所述接口处理单元,还用于:
若接收所述PIM加入报文的接口为主入口,则标记所述接口为备出口;
所述流量处理单元在通过所述备入口接收上游邻节点复制的组播流量之后,还用于:
若所述主入口未发生故障,将所述备入口接收的组播流量通过所述备出口复制给下游邻节点。
根据第二方面的第六种可能的实现方式,在第二方面的第七种可能的实现方式中,所述接口处理单元在接收PIM加入报文之后,还用于:
判断是否存在主出口和/或备出口;
若存在主出口,则通过所述主入口向上游邻节点发送PIM加入报文;和/或,若存在备出口,则通过所述备入口向上游邻节点发送PIM加入报文。
根据第二方面的第五至第七种任一可能的实现方式,在第二方面的第八种可能的实现方式中,所述接口处理单元,还用于:
接收PIM离开消息;
删除收到所述PIM离开消息的出接口,所述收到所述PIM离开消息的出接口为主出口或备出口;
判断是否存在主出口和/或备出口;
若不存在主出口,则通过所述主入口向上游节点发送PIM离开消息,和/或,若不存在备出口,则通过所述备入口向上游邻节点发送PIM离开消息。
根据第二方面的第四种至第八种任一可能的实现方式,在第二方面的第九种可能的实现方式中,所述流量处理单元在通过所述主入口接收上游邻节点复制的组播流量,通过所述备入口接收上游邻节点复制的组播流量之后,并在将所述主入口接收的组播流量复制给下游邻节点之前,还用于:
根据所述主路径对所述主入口接收的上游邻节点复制的组播流量进行逆向路径转发RPF检查;
根据所述备路径对所述备入口接收的上游邻节点复制的组播流量进行逆向路径转发RPF检查。
根据第二方面的第六至第九种任一可能的实现方式,在第二方面的第十种可能的实现方式中,所述流量处理单元,在若所述主入口未发生故障,将所述备入口接收的组播流量通过所述备出口复制给下游邻节点之前,还用于:
判断是否存在备出口;
若不存在备出口,则将所述备入口接收的组播流量丢弃。
根据第二方面的第六至第十种任一可能的实现方式,在第二方面的第十一种可能的实现方式中,所述接口处理单元,还用于:
若所述主入口发生变化,将新的主入口接收到的组播流量通过主出口复制给下游邻节点;
判断旧主入口是否是新的备入口;
若所述旧主入口是新的备入口,则将所述旧主入口切换成所述备入口,并且,所述流量处理单元,还用于:
将切换前所述旧主入口接收到的组播流量通过备出口复制给下游邻节点;
若所述旧主入口不是新的备入口,向所述旧主入口发送PIM离开消息,删除所述旧主入口,并且,所述流量处理单元,还用于:
丢弃所述旧主入口接收到的组播流量。
根据第二方面的第六至第十一种任一可能的实现方式,在第二方面的第十二种可能的实现方式中,所述接口处理单元,还用于:
若需要切换备出口为主出口,则立即切换所述备出口为所述主出口;
若需要切换主出口为备出口,则延时切换所述主出口为所述备出口。
第三方面,本发明实施例提供一种网络设备,包括如第二方面以及第二方面的第一至第十二种任一可能的实现方式中所述的组播快速保护倒换的装置。
基于上述方案,本发明通过主备路径可以最小尾重合,克服了组播网络中故障保护倒换需要路由节点到组播源存在的主备路径物理拓扑完全分离的问题,扩大了组播网络中故障保护倒换可覆盖的范围。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本发明提供的组播快速保护倒换的方法实施例一的流程图;
图1a为图1所示方法实施例可适用的一种网络拓扑图;
图2为本发明提供的组播快速保护倒换的方法实施例二的流程图;
图2a为图2所示方法实施例可适用的一种网络拓扑图;
图2b为图2所示方法实施例中确定逆向最短路径树RSTP的示意图;
图3为本发明提供的组播快速保护倒换的方法实施例三的流程图;
图3a为图1a所示网络拓扑图中各节点的接口角色示意图;
图3b为图1a所示网络拓扑图中任一节点的接口角色示意图;
图3c为图3所示方法实施例中主入口发生故障的网络拓扑示意图;
图4为本发明提供的组播快速保护倒换的装置实施例一的结构示意图;
图5为本发明提供的组播快速保护倒换的装置实施例二的结构示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
图1为本发明提供的组播快速保护倒换的方法实施例一的流程图,如图1所示,该方法实施例,包括:
步骤101、确定到源节点的主路径和备路径,备路径与主路径具有最小尾重合;
其中,所述最小尾重合,指主路径尾端的节点和备路径的尾端节点有重合,并且该重合的节点数最小。
步骤102、通过主路径和备路径同时接收上游邻节点复制的组播流量,并将主路径接收的组播流量复制给下游邻节点;
步骤103、若主路径发生故障,将备路径接收的组播流量复制给下游邻节点。
其中,步骤102中,在接收组播流量之前,需向主路径上游邻节点和备路径的上游邻节点发送协议无关组播PIM加入报文,以加入到组播路由网路,使得上游邻节点向自身复制组播流量;同时接收下游邻节点发送的PIM加入报文或者IGMP加入报文,从而将接收到的组播流量,向下游邻节点发送。
进一步地,步骤101中,确定到源节点的主路径和备路径,备路径与主路径具有最小尾重合,包括:
确定到源节点的最短路径为主路径;
排除主路径,确定到源节点是否存在路径;
若排除主路径存在到源节点的路径,采用路径中的最短路径作为备路径;
其中,该最短路径为具有最小链路开销(cost)的路径。
若排除主路径不存在到源节点的路径,将主路径的最后一跳作为备路径的最后一跳,并执行确定到源节点的备路径的步骤;
若将主路径的最后一跳Nx作为备路径的最后一跳不存在到源节点的备路径,则将主路径的最后两跳作为备路径的最后两跳,并执行确定备路径的步骤;
若将主路径的最后两跳作为备路径的最后两跳不存在到源节点的备路径,则依此类推,直到确定到源节点的备路径。
图1a为图1所示方法实施例可适用的一种网络拓扑图,该种网络拓扑中不存在往返链路开销不一致的场景,以该图1a为例来说明该方法实施例,如图1a所示,该网络拓扑图包含源节点S,该源节点可以为组播源,也可以为组播网络中的汇聚点(Rendezvous Point,简称:RP),路由节点R1~R5,和每个路由节点的接收者(Receiver,简称:Rer),本发明中以R表示路由节点,S表示源节点,Rer表示R上连接的接收者,不再赘述。如图1a所示,路由节点之间往返链路开销(cost)相同,比如说均为10,其中R1与S直接相连,不存在备路径,对于不存在备路径的路由节点不在本发明的限定范围内。值得注意的是本发明实施例也适用于其他路由节点链路开销不同但往返链路开销一致的复杂网络拓扑,其实现原理是类似的,具体不再赘述。
具体来说,该方法实施例的执行主体可以为组播路由网络中的任意路由节点包括边缘路由节点,以路由节点R4为例,R4在确定主路径为R3-R1之后,排除主路径上的所有节点,确定是否存在到源节点S的路径:若存在,则采用其中最短的路径为R3到源节点S的备路径,若不存在,则将主路径的最后一跳R1作为备路径的最后一跳,确定经过所述最后一跳到源节点S是否存在路径,若存在,采用其中最短的路径作为R3到源节点的备路径,此时为R5-R2-R1,若不存在,则继续将主路径的最后两跳作为所述备路径的最后两跳,以此类推,直到确定出到源节点S的备路径。对于R2~R5中的其他节点,也可以类似确定其到源节点S的主备路径,不再赘述,其主备路径上的节点如下表一所示。
确定主备路径之后,每个节点分别向主备路径的上游邻节点发送PIM加入报文,以使主备路径的上游邻节点在接收到组播流量后,将该组播流量复制给主备路径的下游邻节点,保证每个节点均可以从主备路径上同时接收到两份相同的组播流量,其中,主备路径接收的组播流量如图1a中的带箭头直线表示,箭头表示流量的接收方向,实线箭头表示从主路径接收的组播流量,虚线箭头表示从备路径接收的组播流量。在主路径未发生故障的情况下,将从主路径接收的组播流量发送给接收者Rer和主路径的下游邻节点,若主路径发生故障,则与故障最近的节点,也可称为故障点,直接快速感知到故障发生,立即切换备路径为主路径,并将切换前备路径接收的组播流量发送给接收者Rer和主路径的下游邻节点,使得接收者Rer和主路径上的下游邻节点不需要感知故障的发生,仍可从主路径接收到组播流量,不会造成组播业务中断,从而实现组播快速保护倒换。
需说明的是,该方法实施例也适用于存在完全物理拓扑分离的主备路径的路由节点,并且对于本发明中的路由节点在通过主备路径接收到两份相同的组播流量之后,不触发断言机制(assert)选举,不再赘述。
表一、图1所示方法实施例确定的图1a中R2~R5的主备路径节点列表
节点 | 主路径 | 备路径 |
R2 | R1 | R5-R4-R3-R1 |
R3 | R1 | R4-R5-R2-R1 |
R4 | R3-R1 | R5-R2-R1 |
R5 | R2-R1 | R4-R3-R1 |
现有的MoFRR主要部署在边缘路由节点PE上,在实现组播快速保护时,必须要求被保护的路由节点到源节点的主备路径是完全物理拓扑分离的,对于图1a中,环形组网中路由节点R2~R5不存在两条完全物理分离的主备路径,则不能采用MoFRR进行组播快速保护。
该方法实施例,通过主备路径可以最小尾重合,克服了组播网络中故障保护倒换需要路由节点到组播源存在的主备路径物理拓扑完全分离的问题,扩大了组播网络中故障保护倒换可覆盖的范围。
图2为本发明提供的组播快速保护倒换的方法实施例二的流程图,该方法实施例为图1所示方法实施例中步骤101中确定到源节点的备路径的一种优选实施方式,以覆盖组播网络中可能存在路由节点之间往返链路开销不一致的场景,如图2所示,该方法实施例,包括如下步骤:
步骤201、将备路径上的所有节点组成第一集合;
步骤202、以主路径的最后一跳Nx为根,确定以主路径最后一跳Nx为根的逆向最短路径树RSPT上的所有子树,将所有子树上的节点组成第二集合;
步骤203、若第二集合与第一集合的交集不为空,确定交集中在备路径上距离最远的节点Nj;
步骤204、采用逆向最短路径树RSPT上到节点Nj的子树上的所有节点和备路径上节点Nj到源节点上的所有节点组成的路径替换备路径,作为到源节点的最终备路径。
图2a为图2所示方法实施例可适用的一种网络拓扑图,如图2a所示,该网络拓扑中路由节点R2~R6中存在往返链路cost不相同的情形,如图2a中路由节点R3与R4所示,R3到R4的链路cost和R4到R5的链路cost均为1,而其对应的反向链路cost则均为10,同样R1到R2的链路cost和R2到R3的链路cost均为10,而其对应的反向链路cost则均为1。
具体来说,以图2a中的路由节点R3为例进行说明该方法实施例中确定最终备路径的过程,其他路由节点类似,具体不再赘述。将R3作为当前节点Ni,首先可根据图1所示方法实施例中确定主备路径的步骤确定R3节点的主备路径,具体过程类似不再赘述,得到R3的主路径为R2-R1,R3的备路径为R4-R5-R6-R1,将该备路径为称为最短路径树(Shortest Path Tree,简称:SPT)备路径,将该SPT备路径上的所有节点的组成第一集合,记作集合P,P={R4,R5,R6,R1},之后以主路径的最后一跳Nx,也即节点R1为根,确定以Nx为根的逆向最短路径树(Reverse Shortest Path Tree,简称:RSPT)上R3的所有子树,此时R3的所有子树为,R4和R5,如图2b所示,将所有子树上的节点组成第二集合,记作集合Q,此时Q={R4,R5},接着再取第一集合与第二集合的交集,可得到,P∩Q={R4,R5},不为空,然后确定交集中在当前备路径上距离R3最远的节点Nj,此时容易得到Nj为R5,最后,取RSPT路径上R3到R5的子树上的所有节点,和当前备路径上R5到S之间的所有节点组成的路径,此时为R5-R6-R1,替换当前备路径,作为R3到S的最终备路径。
需说明的是,若存在等价多路径(Equal Cost Multipath,简称:ECMP)场景,主备路径选择时需要进行哈希hash计算,规则如下:任意点Ni计算SPT路径遇到ECMP时,基于互联网组group进行hash,hash规则全网统一;任意点Nx计算RSPT遇到ECMP,使用和SPT计算相同的hash规则,保证RSPT上任意节点Ni的路径计算结果和Ni计算的SPT路径一致;任意点Ni计算备路径时,如果主路径是ECMP场景,只要排除基于group进行hash选中的那条主路径,其他ECMP路径可以作为备路径的备选拓扑计算。
需说明的是,该方法实施例也适用于图1a所示的不存在往返链路开销不一致的网络拓扑,此时使用该方法实施例确定的最终备路径与采用图1所示方法实施例确定的备路径相同。
该方法实施例,在图1所示方法实施例的基础上,通过确定最终备路径,可实现故障保护倒换全场景覆盖。
图3为本发明提供的组播快速保护倒换的方法实施例三的流程图,该方法实施例在图1或图2所示方法实施例的基础上,增加了与邻节点之间的接口角色定义,为图1所示方法实施例中步骤102和步骤103在增加接口角色定义后的一种实施方式,如图3所示,该方法实施例,包括如下步骤:
步骤301、将主路径与上游邻节点的接口作为主入口,备路径与上游邻节点的接口作为备入口;
步骤302、通过主入口接收上游邻节点复制的组播流量,通过备入口接收上游邻节点复制的组播流量,并将主入口接收的组播流量复制给下游邻节点;
步骤303、若主入口发生故障,将备入口接收的组播流量复制给下游邻节点。
进一步地,步骤301之后,还包括:
接收PIM加入报文;
判断接收PIM加入报文的接口是否为主入口;
若接收PIM加入报文的接口不为主入口,则标记接口为主出口;
将主入口接收的组播流量复制给下游邻节点,包括:将主入口接收的组播流量通过主出口复制给下游邻节点;
若主入口发生故障,将备入口接收的组播流量复制给下游邻节点,包括:
切换备入口为主入口,并将切换前的备入口接收的组播流量通过主出口复制给下游邻节点。
若接收PIM加入报文的接口为主入口,则标记接口为备出口;
通过备入口接收上游邻节点复制的组播流量之后,还包括:
若主入口未发生故障,将备入口接收的组播流量通过备出口复制给下游邻节点。
优选地,接收PIM加入报文之后,还包括:
判断是否存在主出口和/或备出口;
若存在主出口,则通过主入口向上游邻节点发送PIM加入报文;和/或,若存在备出口,则通过备入口向上游邻节点发送PIM加入报文。
可选地,该方法实施例,还包括:
接收PIM离开消息;
删除收到PIM离开消息的出接口,收到PIM离开消息的出接口为主出口或备出口;
判断是否存在主出口和/或备出口;
若不存在主出口,则通过主入口向上游节点发送PIM离开消息,和/或,若不存在备出口,则通过备入口向上游邻节点发送PIM离开消息。
进一步地,步骤302中,通过主入口接收上游邻节点复制的组播流量,通过备入口接收上游邻节点复制的组播流量之后,并将主入口接收的组播流量复制给下游邻节点之前,还包括:
根据主路径对主入口接收的上游邻节点复制的组播流量进行逆向路径转发RPF检查;
根据备路径对备入口接收的上游邻节点复制的组播流量进行逆向路径转发RPF检查。
进一步地,若主入口未发生故障,将备入口接收的组播流量通过备出口复制给下游邻节点之前,还包括:
判断是否存在备出口;
若不存在备出口,则将备入口接收的组播流量丢弃。
可选地,该方法实施例,还包括:
若主入口发生变化,将新的主入口接收到的组播流量通过主出口复制给下游邻节点;
判断旧主入口是否是新的备入口;
若旧主入口是新的备入口,则将旧主入口切换成备入口,并且将切换前旧主入口接收到的组播流量通过备出口复制给下游邻节点;
若旧主入口不是新的备入口,则向旧主入口发送PIM离开消息,删除旧主入口,并且丢弃旧主入口接收到的组播流量。
优选地,该方法实施例,还包括:
若需要切换备出口为主出口,则立即切换备出口为主出口;
若需要切换主出口为备出口,则延时切换主出口为备出口。
具体来说,以图1a中节点R2~R5为例来进行说明接口角色定义过程,该接口角色定义过程也适用于其他复杂网络,其实现过程类似,具体不再赘述。在各节点确定到S的主备路径之后,按流量方向,将朝向主路径上游邻节点的接口作为主入口(Master Input,简称:Mi),并将朝向备路径上游邻节点的接口作为备入口(Backup Input,简称:Bi),并通过主备入口分别向主备路径的上游发送PIM加入报文join,以使上游节点根据接收PIM加入报文的接口标记主出口和备出口;之后根据接收到下游邻节点发送的加入报文,标记相应的主出口(Master Output,简称:Mo)和备出口(Backup Output,简称:Bo):若接收到PIM join报文的接口不为主入口Mi,则将该接口标记为主出口Mo,若接收到PIM join报文的接口为主入口Mi,则将该接口标记为备出口Bo,此处需要说明的是,若接收到Rer发送的IGMP加入报文,则将与Rer的接口,标记为主出口Mo。根据上述接口角色的定义规则,图1a中的R2~R5在定义好的接口角色示意图如图3a所示,其中带箭头的实线表示向主路径上游节点发送PIM加入报文的方向,带箭头的虚线表示向备路径上游节点发送PIM加入报文的方向。定义好接口角色后,各节点将主入口接收到的组播流量,向主出口复制,将备入口接收到的组播流量从备出口复制,若不存在备出口,则将备入口接收到的组播流量丢弃,若主入口发生故障,则切换备入口为主入口,并将切换前的备入口接收到的组播流量向主出口复制。
图3b为图1a所示网络拓扑图中任一节点的接口角色示意图,该路由节点可以为图1a中的存在主备路径、主备路径下游节点以及接收者Rer的路由节点R4或R5,如图3b所示,该节点存在4个接口角色:与主路径上游相连的主入口,用以通过主入口接收主路径上游节点复制的组播流量,以及与主路径下游节点或接收者Rer相连的主出口,用以通过主出口向主路径下游节点复制组播流量,该主路径的组播流量的传输方向如图3b中粗实线所示;与备路径上游相连的备入口,用以通过备入口接收备路径上游节点复制的组播流量,以及与备路径下游节点相连的备出口,用以通过备出口向备路径下游节点复制组播流量,该备路径的组播流量的传输方向如图3b中粗虚线所示。值得注意的是,在环形网络拓扑中,上述主路径的上游节点可能是备路径的下游节点,备路径的上游节点可能是主路径的下游节点。
图3c为图3所示方法实施例中主入口发生故障的网络拓扑示意图,以故障发生在R1与R2之间的网络链路上为例来说明该方法实施例的快速保护倒换过程,对于其他故障点(除了源节点S与R1之间的故障点外)其快速保护倒换过程类似,不再赘述。如图3b所示,带箭头实线表示主路径组播流量,带箭头虚线表示定义好各节点的接口角色之后,R1与R2的链路发生故障,则故障点R2可即时感知主入口Mi发生故障,具体感知技术,本发明不作限定,主入口Mi接收不到组播流量,此时,故障点R2直接触发入口角色切换,将备入口Bi立即切换为主入口Mi,并将切换前备入口Bi从R5接收到的组播流量,向所有主出口Mo复制,包括通过主出口Mo向R5复制,此时对于节点R5则不需要感知主路径发生故障,仍然可以从主入口Mi接收到组播流量,而现有技术MoFRR中,若主路径发生故障,对于节点R5需要通过IGP协议收敛或者流量触发来获知主路径发生故障,而通过IGP收敛容易存在倒换时间长的问题,并且通过流量触发由于组播流量自身可能存在中断,容易导致误倒换。故障点保护倒换后,故障点可以通过IGP扩散故障信息,使得其他路由节点进行收敛,重新计算主备路径,最终全网收敛。全网收敛后,存在主备路径发生变化的场景,此时,若主入口发生变化,则将新的主入口接收到的组播流量通过主出口复制给下游邻节点,判断旧主入口是否是新的备入口:若新的备入口,则将旧主入口切换成备入口,并且将切换前旧主入口接收到的组播流量通过备出口复制给下游邻节点,否则向旧主入口发送PIM离开消息,删除旧主入口,并且丢弃旧主入口接收到的组播流量;若需要切换备出口为主出口,则立即切换备出口为主出口;若需要切换主出口为备出口,则延时切换主出口为备出口,可设置一延时器hold-timer,在hold-timer超时之后才切换出口角色,以保证主出口的邻节点流量不会中断。
具体实现时,各路由节点在确定主备路径后,通过入接口包括主入口和备入口向上游节点发送PIM加入报文join,以使上游节点标记相应的出接口包括主出口和备出口,并在入接口收到组播流量后向对应的出接口复制;同时,各路由节点可以在自身需要离开组播网络时向主备路径上游节点发送PIM离开消息prune,以使上游节点在接收到PIM离开消息prune后,删除相应的出接口,并判断是否存在其他出接口包括主出口和备出口,若不存在主出口,则通过主入口也向上游发送PIM离开消息,若不存在备出口,则通过备入口也向上游发送PIM离开消息。
该实施例,在图1或图2所示方法实施例一的基础上,通过增加接口角色的定义,故障点直接故障触发接口角色切换进行保护倒换,实现故障点主路径所有下游节点的快速保护,不涉及故障传递问题,提高了故障时保护倒换的效率,并且可以避免误倒换。
图4为本发明提供的组播快速保护倒换的装置实施例一的结构示意图,如图4所示,该组播快速保护倒换的装置400,包括:路径确定模块401、组播处理模块402、故障处理模块403,其中,
路径确定模块401,用于确定到源节点的主路径和备路径,备路径与主路径具有最小尾重合;
组播处理模块402,用于通过主路径和备路径同时接收上游邻节点复制的组播流量,并将主路径接收的组播流量复制给下游邻节点;
故障处理模块403,用于若主路径发生故障,将备路径接收的组播流量复制给下游邻节点。
进一步地,路径确定模块401,具体用于:
确定到源节点的最短路径为主路径;
排除主路径,确定到源节点是否存在路径;
若排除主路径存在到源节点的路径,采用路径中的最短路径作为备路径;
若排除主路径不存在到源节点的路径,将主路径的最后一跳作为备路径的最后一跳,并执行确定到源节点的备路径的步骤。
若将主路径的最后一跳Nx作为备路径的最后一跳不存在到源节点的备路径,则将主路径的最后两跳作为备路径的最后两跳,并执行确定备路径的步骤;
若将主路径的最后两跳作为备路径的最后两跳不存在到源节点的备路径,则依此类推,直到确定到源节点的备路径。
优选地,路径确定模块401,在确定到源节点的备路径之后,还用于:
将备路径上的所有节点组成第一集合;
以主路径的最后一跳Nx为根,确定以主路径最后一跳Nx为根的逆向最短路径树RSPT上的所有子树,将所有子树上的节点组成第二集合;
若第二集合与第一集合的交集不为空,确定交集中在备路径上距离最远的节点Nj;
采用逆向最短路径树RSPT上到节点Nj的子树上的所有节点和备路径上节点Nj到源节点上的所有节点组成的路径替换备路径,作为到源节点的最终备路径。
该装置实施例,可用于执行图1或图2所示方法实施例中的技术方案,其实现原理和技术效果类似,不再赘述。
图5为本发明提供的组播快速保护倒换的装置实施例二的结构示意图,该实施例为图4所示装置实施例中组播处理模块402的一种具体实施方式,如图5所示,该组播快速保护倒换的装置500,包括图4所示的装置实施例中的路径确定模块401和故障处理模块403,其实现原理与图4所示装置实施例中类似,不再赘述。该组播快速保护倒换的装置500,还包括:接口处理单元501和流量处理单元502,其中,
接口处理单元501,用于将主路径与上游邻节点的接口作为主入口,备路径与上游邻节点的接口作为备入口;
流量处理单元502,用于通过主入口接收上游邻节点复制的组播流量,通过备入口接收上游邻节点复制的组播流量,并将主入口接收的组播流量复制给下游邻节点;
此时,相应地,故障处理模块403,具体用于:
若主入口发生故障,将备入口接收的组播流量复制给下游邻节点。
进一步地,接口处理单元501,在将主路径与上游邻节点的接口作为主入口,备路径与上游邻节点的接口作为备入口之后,还用于:
接收PIM加入报文;
判断接收PIM加入报文的接口是否为主入口;
若接收PIM加入报文的接口不为主入口,则标记接口为主出口;
流量处理单元502,具体用于:
将主入口接收的组播流量通过主出口复制给下游邻节点;
相应地,故障处理模块403,具体用于:
切换备入口为主入口,并将切换前的备入口接收的组播流量通过主出口复制给下游邻节点。
进一步地,接口处理单元501,还用于:
若接收PIM加入报文的接口为主入口,则标记接口为备出口;
流量处理单元502在通过备入口接收上游邻节点复制的组播流量之后,还用于:
若主入口未发生故障,将备入口接收的组播流量通过备出口复制给下游邻节点。
优选地,接口处理单元501在接收PIM加入报文之后,还用于:
判断是否存在主出口和/或备出口;
若存在主出口,则通过主入口向上游邻节点发送PIM加入报文;和/或,若存在备出口,则通过备入口向上游邻节点发送PIM加入报文。
可选地,接口处理单元501,还用于:
接收PIM离开消息;
删除收到PIM离开消息的出接口,收到PIM离开消息的出接口为主出口或备出口;
判断是否存在主出口和/或备出口;
若不存在主出口,则通过主入口向上游节点发送PIM离开消息,和/或,若不存在备出口,则通过备入口向上游邻节点发送PIM离开消息。
进一步地,流量处理单元502在通过主入口接收上游邻节点复制的组播流量,通过备入口接收上游邻节点复制的组播流量之后,并在将主入口接收的组播流量复制给下游邻节点之前,还用于:
根据主路径对主入口接收的上游邻节点复制的组播流量进行逆向路径转发RPF检查;
根据备路径对备入口接收的上游邻节点复制的组播流量进行逆向路径转发RPF检查。
进一步地,流量处理单元502,在若主入口未发生故障,将备入口接收的组播流量通过备出口复制给下游邻节点之前,还用于:
判断是否存在备出口;
若不存在备出口,则将备入口接收的组播流量丢弃。
可选地,接口处理单元501,还用于:
若主入口发生变化,将新的主入口接收到的组播流量通过主出口复制给下游邻节点;
判断旧主入口是否是新的备入口;
若旧主入口是新的备入口,则将旧主入口切换成备入口,并且,流量处理单元502,还用于:
将切换前旧主入口接收到的组播流量通过备出口复制给下游邻节点;
若旧主入口不是新的备入口,向旧主入口发送PIM离开消息,删除旧主入口,并且,流量处理单元502,还用于:
丢弃旧主入口接收到的组播流量。
可选地,接口处理单元501,还用于:
若需要切换备出口为主出口,则立即切换备出口为主出口;
若需要切换主出口为备出口,则延时切换主出口为备出口。
该装置实施例,可用于执行图3所示方法实施例中的技术方案,其实现原理和技术效果类似,不再赘述。
本发明实施例,还提供一种网络设备,包括如图4所示的组播快速保护倒换的装置400,或者如图5所示的组播快速保护倒换的装置500,可分别用于执行如图1或图2所示的方法实施例中的技术方案,或者如图3所示的方法实施例中的技术方案,其实现原理和技术效果类似,不再赘述。
最后应说明的是:以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围。
Claims (27)
1.一种组播快速保护倒换的方法,其特征在于,包括:
确定到源节点的主路径和备路径,所述备路径与所述主路径具有最小尾重合;
通过所述主路径和所述备路径同时接收上游邻节点复制的组播流量,并将所述主路径接收的组播流量复制给下游邻节点;
若所述主路径发生故障,将所述备路径接收的组播流量复制给下游邻节点。
2.根据权利要求1所述的方法,其特征在于,所述确定到源节点的主路径和备路径,所述备路径与所述主路径具有最小尾重合,包括:
确定到所述源节点的最短路径为所述主路径;
排除所述主路径,确定到所述源节点是否存在路径;
若排除所述主路径存在到所述源节点的路径,采用所述路径中的最短路径作为所述备路径;
若排除所述主路径不存在到所述源节点的路径,将所述主路径的最后一跳作为所述备路径的最后一跳,并执行确定到所述源节点的备路径的步骤。
3.根据权利要求2所述的方法,其特征在于,还包括:
若将所述主路径的最后一跳Nx作为所述备路径的最后一跳不存在到所述源节点的备路径,则将所述主路径的最后两跳作为所述备路径的最后两跳,并执行确定所述备路径的步骤;
若将所述主路径的最后两跳作为所述备路径的最后两跳不存在到所述源节点的备路径,则依此类推,直到确定到所述源节点的备路径。
4.根据权利要求2或3所述的方法,其特征在于,所述确定到所述源节点的备路径之后,还包括:
将所述备路径上的所有节点组成第一集合;
以所述主路径的最后一跳Nx为根,确定以所述主路径最后一跳Nx为根的逆向最短路径树RSPT上的所有子树,将所述所有子树上的节点组成第二集合;
若所述第二集合与所述第一集合的交集不为空,确定所述交集中在所述备路径上距离最远的节点Nj;
采用所述逆向最短路径树RSPT上到所述节点Nj的子树上的所有节点和所述备路径上所述节点Nj到所述源节点上的所有节点组成的路径替换所述备路径,作为到所述源节点的最终备路径。
5.根据权利要求1所述的方法,其特征在于,所述通过所述主路径和所述备路径同时接收上游邻节点复制的组播流量,并将所述主路径接收的组播流量复制给下游邻节点,包括:
将所述主路径与上游邻节点的接口作为主入口,所述备路径与上游邻节点的接口作为备入口;
通过所述主入口接收上游邻节点复制的组播流量,通过所述备入口接收上游邻节点复制的组播流量,并将所述主入口接收的组播流量复制给下游邻节点;
若所述主路径发生故障,将所述备路径接收的组播流量复制给下游邻节点,包括:
若所述主入口发生故障,将所述备入口接收的组播流量复制给下游邻节点。
6.根据权利要求5所述的方法,其特征在于,所述将所述主路径与上游邻节点的接口作为主入口,所述备路径与上游邻节点的接口作为备入口之后,还包括:
接收PIM加入报文;
判断接收所述PIM加入报文的接口是否为主入口;
若接收所述PIM加入报文的接口不为主入口,则标记所述接口为主出口;
所述将所述主入口接收的组播流量复制给下游邻节点,包括:将所述主入口接收的组播流量通过所述主出口复制给下游邻节点;
所述若所述主入口发生故障,将所述备入口接收的组播流量复制给下游邻节点,包括:
切换所述备入口为主入口,并将切换前的所述备入口接收的组播流量通过所述主出口复制给下游邻节点。
7.根据权利要求6所述的方法,其特征在于,还包括:
若接收所述PIM加入报文的接口为主入口,则标记所述接口为备出口;
所述通过所述备入口接收上游邻节点复制的组播流量之后,还包括:
若所述主入口未发生故障,将所述备入口接收的组播流量通过所述备出口复制给下游邻节点。
8.根据权利要求7所述的方法,其特征在于,所述接收PIM加入报文之后,还包括:
判断是否存在主出口和/或备出口;
若存在主出口,则通过所述主入口向上游邻节点发送PIM加入报文;和/或,若存在备出口,则通过所述备入口向上游邻节点发送PIM加入报文。
9.根据权利要求6~8任一项所述的方法,其特征在于,还包括:
接收PIM离开消息;
删除收到所述PIM离开消息的出接口,所述收到所述PIM离开消息的出接口为主出口或备出口;
判断是否存在主出口和/或备出口;
若不存在主出口,则通过所述主入口向上游节点发送PIM离开消息,和/或,若不存在备出口,则通过所述备入口向上游邻节点发送PIM离开消息。
10.根据权利要求5~9任一项所述的方法,其特征在于,所述通过所述主入口接收上游邻节点复制的组播流量,通过所述备入口接收上游邻节点复制的组播流量之后,并将所述主入口接收的组播流量复制给下游邻节点之前,还包括:
根据所述主路径对所述主入口接收的上游邻节点复制的组播流量进行逆向路径转发RPF检查;
根据所述备路径对所述备入口接收的上游邻节点复制的组播流量进行逆向路径转发RPF检查。
11.根据权利要求7~10任一项所述的方法,其特征在于,所述若所述主入口未发生故障,将所述备入口接收的组播流量通过所述备出口复制给下游邻节点之前,还包括:
判断是否存在备出口;
若不存在备出口,则将所述备入口接收的组播流量丢弃。
12.根据权利要求7~11任一项所述的方法,其特征在于,还包括:
若所述主入口发生变化,将新的主入口接收到的组播流量通过主出口复制给下游邻节点;
判断旧的主入口是否是新的备入口;
若所述旧的主入口是新的备入口,则将所述旧的主入口切换成所述备入口,并且将切换前所述旧的主入口接收到的组播流量通过备出口复制给下游邻节点;
若所述旧的主入口不是新的备入口,则向所述旧的主入口发送PIM离开消息,删除所述旧的主入口,并且丢弃所述旧的主入口接收到的组播流量。
13.根据权利要求7~12任一项所述的方法,其特征在于,还包括:
若需要切换备出口为主出口,则立即切换所述备出口为所述主出口;
若需要切换主出口为备出口,则延时切换所述主出口为所述备出口。
14.一种组播快速保护倒换的装置,其特征在于,包括:
路径确定模块,用于确定到源节点的主路径和备路径,所述备路径与所述主路径具有最小尾重合;
组播处理模块,用于通过所述主路径和所述备路径同时接收上游邻节点复制的组播流量,并将所述主路径接收的组播流量复制给下游邻节点;
故障处理模块,用于若所述主路径发生故障,将所述备路径接收的组播流量复制给下游邻节点。
15.根据权利要求14所述的装置,其特征在于,所述路径确定模块,具体用于:
确定到所述源节点的最短路径为所述主路径;
排除所述主路径,确定到所述源节点是否存在路径;
若排除所述主路径存在到所述源节点的路径,采用所述路径中的最短路径作为所述备路径;
若排除所述主路径不存在到所述源节点的路径,将所述主路径的最后一跳作为所述备路径的最后一跳,并执行确定到所述源节点的备路径的步骤。
16.根据权利要求15所述的装置,其特征在于,所述路径确定模块,还用于:
若将所述主路径的最后一跳Nx作为所述备路径的最后一跳不存在到所述源节点的备路径,则将所述主路径的最后两跳作为所述备路径的最后两跳,并执行确定所述备路径的步骤;
若将所述主路径的最后两跳作为所述备路径的最后两跳不存在到所述源节点的备路径,则依此类推,直到确定到所述源节点的备路径。
17.根据权利要求15或16所述的装置,其特征在于,所述路径确定模块,在确定到所述源节点的备路径之后,还用于:
将所述备路径上的所有节点组成第一集合;
以所述主路径的最后一跳Nx为根,确定以所述主路径最后一跳Nx为根的逆向最短路径树RSPT上的所有子树,将所述所有子树上的节点组成第二集合;
若所述第二集合与所述第一集合的交集不为空,确定所述交集中在所述备路径上距离最远的节点Nj;
采用所述逆向最短路径树RSPT上到所述节点Nj的子树上的所有节点和所述备路径上所述节点Nj到所述源节点上的所有节点组成的路径替换所述备路径,作为到所述源节点的最终备路径。
18.根据权利要求14所述的装置,其特征在于,所述组播处理模块,包括:
接口处理单元,用于将所述主路径与上游邻节点的接口作为主入口,所述备路径与上游邻节点的接口作为备入口;
流量处理单元,用于通过所述主入口接收上游邻节点复制的组播流量,通过所述备入口接收上游邻节点复制的组播流量,并将所述主入口接收的组播流量复制给下游邻节点;
所述故障处理模块,具体用于:
若所述主入口发生故障,将所述备入口接收的组播流量复制给下游邻节点。
19.根据权利要求18所述的装置,其特征在于,所述接口处理单元,在将所述主路径与上游邻节点的接口作为主入口,所述备路径与上游邻节点的接口作为备入口之后,还用于:
接收PIM加入报文;
判断接收所述PIM加入报文的接口是否为主入口;
若接收所述PIM加入报文的接口不为主入口,则标记所述接口为主出口;
所述流量处理单元,具体用于:
将所述主入口接收的组播流量通过所述主出口复制给下游邻节点;
所述故障处理模块,具体用于:
切换所述备入口为主入口,并将切换前的所述备入口接收的组播流量通过所述主出口复制给下游邻节点。
20.根据权利要求19所述的装置,其特征在于,所述接口处理单元,还用于:
若接收所述PIM加入报文的接口为主入口,则标记所述接口为备出口;
所述流量处理单元在通过所述备入口接收上游邻节点复制的组播流量之后,还用于:
若所述主入口未发生故障,将所述备入口接收的组播流量通过所述备出口复制给下游邻节点。
21.根据权利要求20所述的装置,其特征在于,所述接口处理单元在接收PIM加入报文之后,还用于:
判断是否存在主出口和/或备出口;
若存在主出口,则通过所述主入口向上游邻节点发送PIM加入报文;和/或,若存在备出口,则通过所述备入口向上游邻节点发送PIM加入报文。
22.根据权利要求19~21任一项所述的装置,其特征在于,所述接口处理单元,还用于:
接收PIM离开消息;
删除收到所述PIM离开消息的出接口,所述收到所述PIM离开消息的出接口为主出口或备出口;
判断是否存在主出口和/或备出口;
若不存在主出口,则通过所述主入口向上游节点发送PIM离开消息,和/或,若不存在备出口,则通过所述备入口向上游邻节点发送PIM离开消息。
23.根据权利要求18~22任一项所述的装置,其特征在于,所述流量处理单元在通过所述主入口接收上游邻节点复制的组播流量,通过所述备入口接收上游邻节点复制的组播流量之后,并在将所述主入口接收的组播流量复制给下游邻节点之前,还用于:
根据所述主路径对所述主入口接收的上游邻节点复制的组播流量进行逆向路径转发RPF检查;
根据所述备路径对所述备入口接收的上游邻节点复制的组播流量进行逆向路径转发RPF检查。
24.根据权利要求20~23任一项所述的装置,其特征在于,所述流量处理单元,在若所述主入口未发生故障,将所述备入口接收的组播流量通过所述备出口复制给下游邻节点之前,还用于:
判断是否存在备出口;
若不存在备出口,则将所述备入口接收的组播流量丢弃。
25.根据权利要求20~24任一项所述的装置,其特征在于,所述接口处理单元,还用于:
若所述主入口发生变化,将新的主入口接收到的组播流量通过主出口复制给下游邻节点;
判断旧主入口是否是新的备入口;
若所述旧主入口是新的备入口,则将所述旧主入口切换成所述备入口,并且,所述流量处理单元,还用于:
将切换前所述旧主入口接收到的组播流量通过备出口复制给下游邻节点;
若所述旧主入口不是新的备入口,向所述旧主入口发送PIM离开消息,删除所述旧主入口,并且,所述流量处理单元,还用于:
丢弃所述旧主入口接收到的组播流量。
26.根据权利要求20~25任一项所述的装置,其特征在于,所述接口处理单元,还用于:
若需要切换备出口为主出口,则立即切换所述备出口为所述主出口;
若需要切换主出口为备出口,则延时切换所述主出口为所述备出口。
27.一种网络设备,其特征在于,包括如权利要求14~26任一项所述的组播快速保护倒换的装置。
Priority Applications (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410056363.7A CN103795626B (zh) | 2014-02-19 | 2014-02-19 | 组播快速保护倒换的方法与装置 |
KR1020167025493A KR101878085B1 (ko) | 2014-02-19 | 2015-01-04 | 멀티캐스트 고속 보호 스위칭 방법 및 디바이스 |
EP15752256.6A EP3101848B1 (en) | 2014-02-19 | 2015-01-04 | Multicast fast protection switching method and device |
PCT/CN2015/070040 WO2015124040A1 (zh) | 2014-02-19 | 2015-01-04 | 组播快速保护倒换的方法与装置 |
US15/240,844 US9992096B2 (en) | 2014-02-19 | 2016-08-18 | Method and apparatus for fast protection switching in multicast |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410056363.7A CN103795626B (zh) | 2014-02-19 | 2014-02-19 | 组播快速保护倒换的方法与装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103795626A true CN103795626A (zh) | 2014-05-14 |
CN103795626B CN103795626B (zh) | 2017-07-07 |
Family
ID=50670941
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410056363.7A Active CN103795626B (zh) | 2014-02-19 | 2014-02-19 | 组播快速保护倒换的方法与装置 |
Country Status (5)
Country | Link |
---|---|
US (1) | US9992096B2 (zh) |
EP (1) | EP3101848B1 (zh) |
KR (1) | KR101878085B1 (zh) |
CN (1) | CN103795626B (zh) |
WO (1) | WO2015124040A1 (zh) |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104869075A (zh) * | 2015-05-18 | 2015-08-26 | 杭州华三通信技术有限公司 | 防止组播流量拥塞方法和设备 |
WO2015124040A1 (zh) * | 2014-02-19 | 2015-08-27 | 华为技术有限公司 | 组播快速保护倒换的方法与装置 |
CN106411751A (zh) * | 2016-09-26 | 2017-02-15 | 杭州华三通信技术有限公司 | 一种路径优化方法及装置 |
CN109005109A (zh) * | 2018-07-24 | 2018-12-14 | 新华三技术有限公司 | 路由设置方法及组播组网 |
CN109474520A (zh) * | 2017-09-07 | 2019-03-15 | 中兴通讯股份有限公司 | 组播vpn网络的流量转发方法、pe及组播vpn网络 |
CN110519165A (zh) * | 2019-08-23 | 2019-11-29 | 南京邮电大学 | 基于分段节点的单播保护方法 |
WO2020001602A1 (zh) * | 2018-06-30 | 2020-01-02 | 华为技术有限公司 | 一种实现数据组播的方法、装置和*** |
CN111416769A (zh) * | 2020-03-03 | 2020-07-14 | 徐州市东方人民医院 | 一种新型网络边界路由设备及其策略路由方法 |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11057235B1 (en) * | 2020-02-13 | 2021-07-06 | Juniper Networks, Inc. | Controlling protocol independent multicast (PIM) join/prune messages from a downstream PIM neighbor using a PIM join/prune response(s) from an upstream PIM neighbor |
CN114979780B (zh) * | 2022-07-27 | 2022-11-11 | 成都卓元科技有限公司 | 一种数字电视播出***视音频信号异态检测及质量比对方法 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20080267078A1 (en) * | 2007-04-26 | 2008-10-30 | Cisco Technology, Inc. | Multicast fast reroute |
CN101656679A (zh) * | 2009-09-25 | 2010-02-24 | 华为技术有限公司 | 一种组播快速收敛方法、路由器和通信*** |
CN102231698A (zh) * | 2011-06-17 | 2011-11-02 | 电子科技大学 | 一种组播保护方法 |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2002176441A (ja) * | 2000-12-08 | 2002-06-21 | Fujitsu Ltd | 通信装置 |
US7583601B2 (en) * | 2003-02-07 | 2009-09-01 | Nippon Telegraph And Telephone Corporation | Multicast transfer route setting method, and multicast label switching method for implementing former method |
US8355319B2 (en) * | 2011-02-02 | 2013-01-15 | Telefonaktiebolaget L M Ericsson (Publ) | Multicast dual join for ring network topologies |
US9350641B2 (en) * | 2011-11-01 | 2016-05-24 | Alcatel Lucent | IP fast reroute scheme offering full protection |
US8638659B2 (en) * | 2012-06-01 | 2014-01-28 | Telefonaktiebolaget L M Ericsson (Publ) | Enhancements to PIM fast re-route with downstream notification packets |
CN103795626B (zh) * | 2014-02-19 | 2017-07-07 | 华为技术有限公司 | 组播快速保护倒换的方法与装置 |
-
2014
- 2014-02-19 CN CN201410056363.7A patent/CN103795626B/zh active Active
-
2015
- 2015-01-04 WO PCT/CN2015/070040 patent/WO2015124040A1/zh active Application Filing
- 2015-01-04 KR KR1020167025493A patent/KR101878085B1/ko active IP Right Grant
- 2015-01-04 EP EP15752256.6A patent/EP3101848B1/en active Active
-
2016
- 2016-08-18 US US15/240,844 patent/US9992096B2/en active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20080267078A1 (en) * | 2007-04-26 | 2008-10-30 | Cisco Technology, Inc. | Multicast fast reroute |
CN101656679A (zh) * | 2009-09-25 | 2010-02-24 | 华为技术有限公司 | 一种组播快速收敛方法、路由器和通信*** |
CN102231698A (zh) * | 2011-06-17 | 2011-11-02 | 电子科技大学 | 一种组播保护方法 |
Cited By (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2015124040A1 (zh) * | 2014-02-19 | 2015-08-27 | 华为技术有限公司 | 组播快速保护倒换的方法与装置 |
US9992096B2 (en) | 2014-02-19 | 2018-06-05 | Huawei Technologies Co., Ltd. | Method and apparatus for fast protection switching in multicast |
CN104869075A (zh) * | 2015-05-18 | 2015-08-26 | 杭州华三通信技术有限公司 | 防止组播流量拥塞方法和设备 |
CN104869075B (zh) * | 2015-05-18 | 2018-03-20 | 新华三技术有限公司 | 防止组播流量拥塞方法和设备 |
CN106411751A (zh) * | 2016-09-26 | 2017-02-15 | 杭州华三通信技术有限公司 | 一种路径优化方法及装置 |
CN106411751B (zh) * | 2016-09-26 | 2020-02-11 | 新华三技术有限公司 | 一种路径优化方法及装置 |
CN109474520B (zh) * | 2017-09-07 | 2022-07-08 | 中兴通讯股份有限公司 | 组播vpn网络的流量转发方法、pe及组播vpn网络 |
CN109474520A (zh) * | 2017-09-07 | 2019-03-15 | 中兴通讯股份有限公司 | 组播vpn网络的流量转发方法、pe及组播vpn网络 |
WO2020001602A1 (zh) * | 2018-06-30 | 2020-01-02 | 华为技术有限公司 | 一种实现数据组播的方法、装置和*** |
CN110661628A (zh) * | 2018-06-30 | 2020-01-07 | 华为技术有限公司 | 一种实现数据组播的方法、装置和*** |
CN110661628B (zh) * | 2018-06-30 | 2021-12-14 | 华为技术有限公司 | 一种实现数据组播的方法、装置和*** |
US11582053B2 (en) | 2018-06-30 | 2023-02-14 | Huawei Technologies, Co., Ltd. | Data multicast implementation method, apparatus, and system |
CN109005109B (zh) * | 2018-07-24 | 2021-04-06 | 新华三技术有限公司 | 路由设置方法及组播组网*** |
CN109005109A (zh) * | 2018-07-24 | 2018-12-14 | 新华三技术有限公司 | 路由设置方法及组播组网 |
CN110519165A (zh) * | 2019-08-23 | 2019-11-29 | 南京邮电大学 | 基于分段节点的单播保护方法 |
CN110519165B (zh) * | 2019-08-23 | 2021-09-07 | 南京邮电大学 | 基于分段节点的单播保护方法 |
CN111416769A (zh) * | 2020-03-03 | 2020-07-14 | 徐州市东方人民医院 | 一种新型网络边界路由设备及其策略路由方法 |
Also Published As
Publication number | Publication date |
---|---|
KR20160123363A (ko) | 2016-10-25 |
EP3101848B1 (en) | 2019-05-29 |
CN103795626B (zh) | 2017-07-07 |
WO2015124040A1 (zh) | 2015-08-27 |
US9992096B2 (en) | 2018-06-05 |
EP3101848A4 (en) | 2017-02-22 |
EP3101848A1 (en) | 2016-12-07 |
US20160359723A1 (en) | 2016-12-08 |
KR101878085B1 (ko) | 2018-07-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103795626A (zh) | 组播快速保护倒换的方法与装置 | |
CN101656679B (zh) | 一种组播快速收敛方法、路由器和通信*** | |
US8218429B2 (en) | Method and device for multicast traffic redundancy protection | |
EP3151488B1 (en) | Multicast only fast re-route over remote loop-free alternate backup path | |
KR102112102B1 (ko) | 다운스트림 통지 패킷들에 의한 pim 고속 리라우팅 방법론의 향상 | |
CN109150580B (zh) | 协议无关多播加入熵 | |
US20150071055A1 (en) | Enhancements to pim fast re-route with upstream activation packets | |
KR20140019377A (ko) | 네트워크 노드를 동작하기 위한 기술 | |
US20190028285A1 (en) | Service message multicast method and device | |
WO2008151553A1 (fr) | Procédé, dispositif et système pour protéger un trafic à diffusion multiple | |
KR101870475B1 (ko) | 링 네트워크 토폴로지를 위한 멀티캐스트 듀얼 조인 | |
KR20150028260A (ko) | 계층적, 중복적, 멀티캐스트 라우팅에서의 장애 커버리지 증가 | |
CN102598586A (zh) | 处理组播的方法和装置 | |
CN104901893A (zh) | 组播流量保护方法及装置 | |
CN103178976A (zh) | 组播树组建及故障恢复方法 | |
EP3151489B1 (en) | Mldp multicast only fast re-route over remote loop-free alternate backup path | |
US9509557B2 (en) | Reconnection in a transmission tree | |
CN102739504B (zh) | 组播路径切换方法及路由器 | |
Yuksel et al. | Cross-layer failure restoration of IP multicast with applications to IPTV | |
Sundarrajan et al. | Fast reroute from single link and single node failures for IP multicast | |
Papan et al. | Multicast in IP Fast Reroute | |
Papán et al. | The new PIM-SM IPFRR mechanism | |
JP2014042218A (ja) | マルチキャスト経路切戻し制御方法及び装置及びプログラム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |