一种组播快速收敛方法、路由器和通信系统的制作方法

文档序号:7714005阅读:163来源:国知局
专利名称:一种组播快速收敛方法、路由器和通信系统的制作方法
技术领域
本发明涉及通信技术领域,具体涉及一种组播快速收敛方法、路由器和通 信系统。
背景技术
网际协议(IP, Internet Protocol)组播是指在IP网络中将数据包以尽力传 送(best-effort)的形式发送到网络中的某个确定节点子集的技术,其中,这 个子集称为组播组(multicast group)。利用IP组播技术可以实现一些网络业 务,比如在线直播、网络电视、远程教育和实时视频会议等等,但是,由于这 些业务对实时性的要求都较高,丟包将会对这些业务产生严重的影响,所以, 为了保证业务数据的正常传输,在网络发生故障时,需要对路径进行快速收敛。
目前组播的收敛 一 般采用协议无关组播(PIM , Protocol Independent Multicast)协议,在现有的方案中, 一般会预先为主用链路指定一条备用链路, 同时分别配置PIM加入(Join)的接口 ,即分别配置主用链路的上游4矣口和备 用链路的上游接口 ,此后,主用链路的上游接口和备用链路的上游接口分别发 送PIM Join给各自的上一跳节点以建立到组播源的组播树,最终分别形成到组 播源的主用路径(即主组播树)和备用路径(即备组播树),组播源通过主用 路径和备用路径同时下发组播流,正常情况下,各节点均只会接收主用路径上 的组播流,而丟弃备用路径上的组播流,当主用路径出现故障时,则将转发表 项切换到备用路径以接收备用路径上的组播流,并将该组播流进行转发。
需说明的是,该PIM协议的收敛性能远不如单播收敛,这是因为单播收敛 只需要扩散一个故障消息,然后每个网络节点本地完成路由计算,就可以把所 有路由收敛到新的路径上,而组播却不然。当然,单播需要每条路由下发转发, 因此性能瓶颈主要在计算和下发。而PIM协议相当于是一个建隧道的协议,每 条组播路由相当于是一条隧道,这样,当本地处理完路由变化并下发转发后, 还需要逐跳路由通知上游节点,上游节点同样要进行计算一次并下发转发的过 程,因此,PIMJoin报文的传输量是重要开销,而且由于这部分开销发生在网 络节点之间,所以要远大于设备本身下发转发的开销。在对现有技术的研究和实践过程中,本发明的发明人发现,现有4支术所提 供的方案,由于需要在设备上静态配置组播的主备入接口和下一跳,因此无法 适应网络的动态拓朴变化,组播流保护的场景受到较大限制。

发明内容
本发明实施例提供一种组播快速收敛方法、路由器和通信系统,可以适应 网络的动态拓朴变化。
一种组播快速收敛方法,包括
计算出到达组播源的每条单播路由的主用出接口、备用出接口、主用下一 跳和备用下一跳;
将计算出的主用出接口作为组播的主用入接口发送PIM Join报文给主用 下 一跳以建立主用路径;
将计算出的备用出接口作为组播的备用入接口发送PIM Join报文给备用 下 一跳以建立备用路径;
当主用路径发生故障时,通过备用路径接收组播源下发的组播流并转发组 播流。
一种路由器,包括
计算单元,用于计算出到达组播源的每条单播路由的主用出接口、备用出 才妻口、主用下一跳和备用下一跳;
主发送单元,用于将计算单元计算出的主用出接口作为组播的主用入接口 发送PIM Join报文给主用下一跳以建立主用路径;
备发送单元,用于将计算单元计算出的备用出接口作为组播的备用入接口 发送PIM Join报文给备用下一^兆以建立^用路径;
第一处理单元,用于当主发送单元发起建立的主用if各径发生故障时,通过 备发送单元发起建立的备用路径接收组播源下发的组播流并转发组^"流。
一种通信系统,包括本发明实施例提供的任意一种路由器,例如,包括
第一路由器,用于计算出到达组播源的每条单播路由的主用出4妾口、备用 出接口、主用下一跳和备用下一跳;将计算出的主用出接口作为组播的主用入 接口发送协议无关组播加入PIM Join报文给所述主用下一跳以建立主用路径; 将计算出的备用出接口作为组播的备用入接口发送PIM Join报文给所述备用下一跳以建立备用路径;当所述主用路径发生故障时,通过所述备用^各径接收
组播源下发的组播流并转发组播流;
第二路由器,作为主用下一跳,用于接收第一路由器发送的PIM Join才艮文, 发送PIM Join报文给第四路由器以建立主用路径,在接收到第四路由器发送的 组播流后,将组播流转发给第一路由器;
第三路由器,作为备用下一跳,用于接收第一路由器发送的PIM Joinl艮文, 发送PIM Join报文给第四路由器以建立备用路径,在接收到第四路由器发送的 组播流后,将组播流转发给第一路由器;
第四路由器,用于接收第二路由器发送的PIMJoin报文,以及"l妄收第三路 由器发送的PIMJoin报文,在主用路径和备用路径建立完成后,通过主用路径 发送组播流给第二路由器,通过备用路径发送组播流给第三路由器。
本发明实施例采用计算出到达组播源的每条单播路由的主备用出接口和 下一跳,然后分别根据计算出的主备用出接口和下一跳构建主备用路径,当主 用路径发生故障时,通过备用路径接收组播源下发的组播流并转发组4f流;由 于该方案中的节点可以动态地根据计算出的主备用出接口和下一跳(即才艮据选 路结果)发送PIM Join报文以构建主备用路径,因此无需在设备上H态配置发 送PIM Join报文的组播的主备入接口和下 一跳,可以适应网络的动态拓朴变 化,大大扩充了组播流保护的场景。


为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所 需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明 的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下, 还可以根据这些附图获得其他的附图。
图l是本发明实施例一所-提供的方法的方法流程图2是本发明实施例二提供的网络拓朴示意图3是本发明实施例二提供的网络拓朴场景示意图4是本发明实施例三提供的网络拓朴场景示意图5是本发明实施例所提供的路由器的结构示意图6是本发明实施例所提供的通信系统的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清 楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是 全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造 性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。本发明实施例提供一种组播快速收敛方法、路由器和通信系统。以下分别 进4亍详细i兑明。实施例一、本实施例将从宿节点的角度来描述,在本发明实施例中,宿节点指的是直 连接收者的节点,源节点指的是直连组播源的节点,另夕卜,单播路由的出接口 对于组播应用来说为入接口 。一种组播快速收敛方法,包括计算出到达组播源的每条单播路由的主用 出接口、备用出接口、主用下一跳和备用下一跳;将计算出的主用出接口作为 组播的主用入接口发送PIM Join净艮文给主用下一跳以建立主用路径;将计算 出的备用出接口作为组播的备用入接口发送PIM Join报文给备用下一跳以建 立备用路径;当主用路径发生故障时,通过备用路径接收组播源下发的组播流 并转发组播流。其中,本发明实施例中所描述的PIMJoin报文,均指的是PIM 双向Join报文,以下均简称PIMJoin报文。如图1所示,具体流程可以如下101、计算出到达组播源的每条单播路由的主用出接口 、备用出4妄口、主 用下一跳和备用下一跳;例如,可以利用启动单播IP快速重路由(FRR, Fast Reroute)计算出到 达组播源的每条单播路由的主用出接口 、备用出接口 、主用下一跳和备用下一 跳。 一般的,到达特定的组播源只有一条最优的单播路由,但是,如果启动单 播IP FRR,则还会存在其他的备用单播路由,即存在备用出接口和下一跳, 因此,此时,可以计算出到达组播源的每条单播路由的主用出接口、备用出接 口、主用下一跳和备用下一跳。其中,IPFRR指的是在故障发生时,在和故障链路或故障节点相邻的路由 器上通过直接更改转发表项的下一跳使其绕过故障节点而达到业务不中断的 效果,并且要求转发流量不会造成环路的相关技术。这种做法不要求在控制层面进行收敛,仅仅依赖于故障感知时间和切换下 一跳的时间,因此可以实现快 速重路由的目的,目前主要应用于单播领域,本发明实施例将该技术结合PIM双向加入(Join)应用在组播中,以适应网络的动态拓朴变化,关于这一点, 在以下的实施例中将会进^"详细地描述。102、 将计算出的主用出接口作为组播的主用入接口发送PIM Join净良文给 主用下一跳以建立主用路径;例如,通过计算出的主用出接口发送PIM Join报文给主用下一跳,以触发 协i义无关组播-稀+>才莫式(PIM-SM, Protocol Independent Multicast-Sparse Mode)构建主共享树(RPT, Rendezvous Point Tree),其中,主共享树包括主 用路径;或者,通过计算出的主用出接口发送PIM Join^艮文给主用下一跳,以触发 PIM-SM或协议无关组播-特定源组播(PIM-SSM , Protocol Independent Multicast-Source-Specific Multicast)构建主最短路径树(SPT, Shortest Path Tree),其中,主最短路径树包括主用路径。103、 将计算出的备用出接口作为组播的备用入接口发送PIM Join才艮文给 备用下 一跳以建立备用路径;例如,通过计算出的备用出接口发送PIM Join报文给备用下一跳,以触发 PIM-SM构建备共享树,其中,备共享树包括备用路径;或者,通过计算出的备用出接口发送PIM Join报文给备用下一跳,以触发 PIM-SM或PIM-SSM构建备最短路径树,其中,备最短路径树包括备用路径。其中,步骤102和步骤103的执行顺序可以不分先后。104、 当主用路径发生故障时,通过备用路径接收组播源下发的組播流并 转发组^番流。例如,通过备用路径接收组播源下发的组播流,然后根据转发表项和出接 口转发组々番流。需说明的是,当主用路径使用正常时,通过主用路径接收组播源下发的组 播流并转发组播流,丢弃备用路径上的组播流。即,在网络没有发生故障时, 一般只接收来自主用路径上的组播流,而丢弃来自备用路径上的组播流,只有 在网络出现故障,且该故障是主用路径发生故障时,才将主用路径切换到备用路径,从备用路径上接收组播流并进行组播流的转发。其中,可以通过快速故障检测,比如双向转发检测(BFD, Bidirectional Forwarding Detection)等技 术来快速感知是否发生故障,如果主用路径发生故障,则执行步骤104。另夕卜,还需说明的是,若网络拓朴发生变化,则单播路由收敛以后,IPFRR 会重新计算出主用出接口、主用下一跳、备用出接口和备用下一跳,由此PIM 选路结果也会随之动态变化,那么,此时宿节点会根据新计算出来的主用出接 口 、主用下一跳、备用出接口和备用下一跳分别发送PIM Join以建立新的主用 路径和备用^备径,从而实现灵活适应网络部署的不同情况。由上可知,本发明实施例采用计算出到达组播源的每条单播路由的主备用 出接口和下一跳(即主用出接口、主用下一跳、备用出接口和备用下一跳,以 下均简称主备用出接口和下 一跳),然后分别根据计算出的主备用出接口和下 一跳构建到达组播源的主备用^各径(即主用路径和备用路径,以下均简称主备 用路径),当主用路径发生故障时,通过备用路径接收组播源下发的组播流并 转发组播流;由于该方案中的节点可以动态地根据计算出的主备用出接口和下 一跳(即根据选路结果)发送PIM Join报文以构建主备用路径,因此无需在设 备上静态配置发送PIM Join报文的组播的主备入接口和下一跳,可以适应网络 的动态拓朴变化,大大扩充了组播流保护的场景;而且由于本发明实施例采用 了PIM双向Join的技术,因此相对于现有技术的单向Join来说,可以减少节点间 的传输开销,有利于。实施例二、根据实施例一所描述的方法可知,单播FRR可以为每条单播路由计算出 主用出接口、主用下一跳、备用出接口和备用下一跳,根据计算出的主用出接 口、主用下一跳、备用出接口和备用下一跳,与单播联动发送双向PIM Join 建立到组播源的主用路径和备用路径,引下双份组播流,在网络运行正常的情 况下,组播网络中的节点只接收主用路径的组播流,对于备用路径上的组播流 则予以丟弃,当主用路径发生故障时,则直接切换到备用路径,接收备用路径 上的组播流并转发该组播流。当然,若网络拓朴发生变化,则单播路由收敛以后,IPFRR会重新计算 主备用出接口和下一跳,然后根据重新计算出来的主备用出接口和下一跳分别发送PIM Join以建立新的主备用路径。例如,如图2所示,节点C为宿节点,节点A为源节点,节点B和节点C为 中间节点,其中,节点B分别和节点A、节点C和节点D相连,节点D分别和节 点C和节点B相连。则可以如下(1)宿节点C启动IP FRR,计算出宿节点C到源节点A的主用出接口 为E0/0/0,主用下一跳为节点B、备用出接口为E0/0/1,备用下一跳为节点D。 (2 )宿节点C根据组播PIM协议将PIM Join报文分别从E0/0/0发向节 点B和从E0/0/1发向节点D,逐跳建立到源节点A的主用路径C - B - A和备 用路径C - D - .B - A,以便源节点A下发组播流,需说明的是,当节点B才妻 收到接收A下发的组播流后,将会把组播流复制成两份,然后分别通过主用 路径和备用^各径进行发送。(3 )网络正常运行情况下,节点C对于E0/0/1接收的组播流直4妄丢弃。 当节点B和节点C之间的链路发生故障时,节点C直接将主用路径C _ B - A 切换到备用路径C-D-B-A上,从E0/0/1接收组播流,此时备用路径生效。为了更清楚地i兌明以上方法,本实施例将以PIM-SM RPT发送双向PIM Join以进行保护的方案为例作进一步详细说明。如图3所示,假设节点E为源节点,直连组播源,节点D1为宿节点,直 连接收者,在节点A1上配置汇聚点,节点B1和节点C1为中间节点,这些节 点具体可以为路由器(RT, Rerouter),且这些节点上均运行PIM-SM,节点 Dl直连接收者的4妄口运行组管理协议(IGMP, Internet Group Management Protocol Internet )。则流程可以如下201、 节点Dl启动单播IP FRR,为每条单播路由计算主用出接口 、主用 下一跳、备用出接口和备用下一跳,确定到RP的主路由为Dl - CI - Al,备 用路由为Dl -Bl - Al;此时,节点Dl还可以建立到节点CI的快速故障检 测机制,例如利用BFD等技术建立该快速故障一企测机制。202、 节点Dl所连接收者比如某个用户发送IGMP (*, G)报告(report) 报文给节点Dl,请求组播组G的数据(即组播流),节点Dl接收到该IGMP(*, G) report后,生成PIM(承,G)表项,添加出接口,并根据汇聚点,即 节点Al的地址查找节点Dl的上游节点。PIM查找结果为主用路径上的上游节点(即本发明实施例所说的主用下一跳)为节点Cl,备用路径上的上游节 点(即本发明实施例所说的备用下 一跳)为节点B1 。203、 节点Dl向节点Cl和节点Bl分别发送PIM (*, G)Join报文,触 发PIM SM构建主共享树和备共享树。204、 节点C1收到PIM。, G)Join以后,生成(*, G)表项,添加出 接口,并继续逐跳向汇聚点,即节点Al发送PIM ( *, G) Join报文;同理,节点B1收到PIM( G)Join以后,也生成(*, G)表项,添加 出接口,并继续逐跳向汇聚点,即节点Al发送PIM (*, G) Join4艮文;节点Al从节点Cl和节点Bl均收到PIM ( *, G) Join,于是生成(*, G)表项并添加两个出4秦口。205、 节点E1向RP单播注册(register)报文,创建PIM ( S, G)表项, 并将(*, G)的出接口添加为(S, G)的出接口,通过该出接口向节点El 的下游节点Bl和节点Cl转发组播流。206、 节点Cl和节点Bl均接收组播流,并根据接收到的组播流创建PIM (S, G)表项,并将已有(*, G)的出接口添加为(S, G)的出接口,继续向下游转发组播流,比如在本实施例中即为向节点D转发组播流。207、 节点D1直连接收者,接收来自主路径上的节点Cl的组播流,根据 接收到的组播流创建PIM (S, G)转发表项,并将已有(*, G)的出4妄口添 加为(S, G)的出接口,向其下游的接收者转发组播流;对于来自备用路径上的节点B的组播流,则节点D予于直接丢弃。208、 当节点Dl与节点Cl之间的链路发生故障时,节点Dl根据BFD等 技术快速感知,直接切换至备用路径上,从备用路径上的节点B1接收组播流, 并将接收到的组播流转发给其下游的接收者。需说明的是,单播路由收敛后,节点D1的单播IP FRR会重新计算新的路 由,包括到汇聚点地址在内的每条路由的主用出接口、主用下一跳、备用出接 口和备用下一跳,然后利用PIM协议根据计算出来的新的路由查找到汇聚点的 主用路径上的上游节点和备用路径上的上游节点,重新触发构建主共享树和备 共享树。另夕卜,需说明的是,在图3,实线箭头表示PIM Join报文,虛线箭头表示组播流。由上可知,本发明实施例采用在各个节点上运行PIM-SM,利用单播IPFRR 计算出到达组播源的每条单播路由的主备用出接口和下一跳,然后分别根据计 算出的主备用出接口和下一跳通过发送PIM Join报文构建主备用路径,在网络 运行正常时,只接收主用路径上的组播流,丢弃备用路径上的组播流,当主用 路径发生故障时,则切换至备用路径,通过备用路径接收组播源下发的组播流 并转发组播流;由于该方案中的节点可以动态地根据计算出的主备用出接口和 下一跳(即根据选路结果)对发送PIM Join报文的组播的主备入接口进行配置, 并发送PIM Join报文以构建主备用路径,因此无需在设备上静态配置发送PIM Join报文的组播的主备入接口和下一跳,可以适应网络的动态拓朴变化,大大 扩充了组播流保护的场景,而且由于本发明实施例采用了PIM双向Join的技术, 因此相对于现有技术的单向Join来说,可以减少节点间的传输开销,有利于保 证在故障发生后的组播转发性能。实施例三、本实施例将以PIM-SSM SPT发送双向PIM Join以进行保护的方案为例作 进一步详细i兌明。如图4所示,作H殳节点A2为源节点,直连组播源,节点D2为宿节点,直连 接收者,节点B2和节点C2为中间节点,这些节点具体可以为路由器(RT, Rerouter),且这些节点上均运行PIM-SSM,节点D2直连接收者的接口运行 IGMP。则流程可以如下301、 节点D2启动单播IPFRR,为每条单播路由计算主用出接口 、主用下 一跳、备用出接口和备用下一跳,确定到源节点A2的主路由为D2-B2-A2, 备用路由为D2 - C2 - A2;此时,节点D2还可以建立到节点B2的快速故障检测 机制,例如利用BFD等技术建立该快速故障检测机制。302、 节点D2所连接收者比如某个用户发送IGMP ( S, G)report报文,请 求指定组播源组(S, G)的数据,节点D2接收到该IGMP (S, G) report报文 后,生成PIM(S, G)转发表项,添加出接口,并根据源节点A的地址查找节 点D的上游节点。PIM查找结果为主用路径上的上游节点(即本发明实施例所 说的主用下一跳)为节点B2,备用路径上的上游节点(即本发明实施例所i兑的备用下一跳)为节点C2。303、 节点D2向节点C2和节点B2均发送PIM( S, G )join报文,触发PIM SSM 构建主最短路径树和备最短路径树。304、 节点C2收到PIM(S, G) Join以后,生成(S, G)表项,添加出接 口,并继续逐跳向上游节点发送PIM ( S, G) Join报文;同理,节点B2收到PIM (S, G) Join以后,也生成(S, G)表项,添加 出接口,并继续逐跳向上游节点发送PIM (S, G) Join报文;节点A2从节点C2和节点B2均收到PIM (S, G) Join,于是生成(S, G) 表项并添加两个出接口 。305、 节点A2直连组播源,根据创建的PIM(S, G)表项,向节点A2的下 游节点B2和节点C2转发组播流。306、 节点C2和节点B2均接收组播流,并根据已有的(S, G)表项的出接 口继续向下游转发组播流。307、 节点D2直连接收者,接收来自主用路径上的节点B2的组播流,并向 其(即节点D2)下游的接收者转发;对于来自备用路径上的节点C的组播流,则节点D2予于直接丟弃。308、 当节点D2和节点B2之间的链路发生故障后,节点D2根据BFD等技术 快速感知,直接切换至备用路径上,从备路径节点C2接收组播流,并转发到 其下游的接收者。需说明的是,单播路由收敛后,节点D2的单播IP FRR会重新计算新的路 由,包括到组播源地址在内的每条路由的主用出接口、主用下一跳、备用出接 口和备用下一跳,然后利用PIM协议根据计算出来的新的路由查找到组播源的 主用路径上的上游节点和备用路径上的上游节点,重新触发构建主最短路径树 和备最短^各径树。另外,需说明的是,在图4,实线箭头表示PIM Join报文,虚线箭头表示 组播流。由上可知,本发明实施例采用在各个节点上运行PIM-SSM,利用单播IP FRR计算出到达组播源的每条单播路由的主备用出接口和下一跳,然后分别根 据计算出的主备用出接口和下一跳通过发送PIM Join报文构建到达组播源的主备用路径,在网络运行正常时,只接收主用路径上的组播流,丟弃备用路径 上的组播流,当主用路径发生故障时,则切换至备用路径,通过备用路径接收 组播源下发的组播流并转发组播流;由于该方案中的节点可以动态地根据计算
出的主备用出接口和下一跳(即根据选路结果)发送PIM Join报文以构建主备 用路径,因此无需在设备上静态配置发送PIM Join报文的组播的主备用入接 口,可以适应网络的动态拓朴变化,大大扩充了组播流保护的场景,而且由于 本发明实施例采用了 PIM双向Join的技术,因此相对于现有技术的单向Join来 说,可以减少节点间的传输开销,有利于保证在故障发生后的组播转发性能。
实施例四、
为了更好地实施以上方法,本发明实施例还相应地提供一种路由器,如图 5所示,该路由器包括计算单元401、主发送单元402、备发送单元403和第一处 理单元404;
计算单元401,用于计算出到达组播源的每条单播路由的主用出接口、备 用出接口、主用下一跳和备用下一跳;例如,可以利用启动单播IPFRR计算出 到达组播源的单播路由的主用出接口 、备用出接口 、主用下一跳和备用下一跳;
主发送单元402,用于将计算单元401计算出的主用出接口作为组播的主用 入接口发送PIMJoin报文给主用下一跳以建立主用路径;例如,通过计算出的 主用出接口发送PIM Join报文给主用下一跳,以触发PIM-SM构建主共享树, 其中,主共享树包括主用路径;或者,通过计算出的主用出接口发送PIMJoin 报文给主用下一跳,以触发PIM-SM或PIM-SSM构建主最短路径树,其中,主 最短路径树包括主用3各径;
备发送单元403,用于将计算单元401计算出的备用出接口作为组播的主用 入接口发送PIM Join报文给备用下一跳以建立备用路径;例如,通过计算出的 备用出接口发送PIM Join报文给备用下一跳,以触发PIM-SM构建备共享树, 其中,备共享树包括备用路径;或者,通过计算出的备用出接口发送PIMJoin 报文给备用下一跳,以触发PIM-SM或PIM-SSM构建备最短路径树,其中,备 最短路径树包括备用路径;
第一处理单元404,用于当主发送单元402发起建立的主用路径发生故障 时,通过备发送单元403发起建立的备用路径接收组播源下发的组播流并转发组播流。
其中,第一处理单元404可以包括接收子单元和转发子单元; 接收子单元,用于通过备发送单元发起建立的备用路径接收组播源下发的
组播流;
转发子单元,用于转发接收子单元接收到的组播流。
如图5所示,该路由器还可以包括第二处理单元405;
第二处理单元405,用于当主发送单元402发起建立的主用路径使用正常 时,通过主用路径接收组播源下发的组播流并转发组播流,丟弃备用路径上的 组播流。
如图5所示,该3各由器还可以包括感知单元406;
感知单元406,用于通过快速故障检测来感知主用路径发生故障;
第一处理单元404,还用于当感知单元406感知主用3各径发生故障时,通过 备发送单元403发起建立的备用路径接收组播源下发的组播流并转发组播流。
需说明的是,若网络拓朴发生变化,则单播路由收敛以后,计算单元401 会重新计算出主用出接口、主用下一跳、备用出接口和备用下一跳,由此PIM 选路结果也会随之动态变化,那么,此时主发送单元402和备发送单元403会根 据新计算出来的主用出接口 、主用下一跳、备用出接口和备用下一跳分别发送 PIM Join以建立新的主用路径和备用路径,从而实现灵活适应网络部署的不同 情况。
以上各个单元的具体实施可参见前面实施例,在此不再赘述。 由上可知,本发明实施例的路由器的计算单元401可以计算出到达组播源 的单播路由的主备用出接口和下一跳,然后由主发送单元402和备发送单元403 分别根据计算出的主备用出接口和下一跳构建主备用路径,当感知单元406感 知到主用路径发生故障时,第 一处理单元404通过备用路径接收组播源下发的 组播流并转发组播流;由于该方案中的节点可以动态地根据计算出的主备用出 接口和下一跳(即冲艮据选路结果)发送PIM Join净艮文以构建主备用路径,因此 无需在设备上静态配置发送PIMJoin报文的组播的主备入接口和下一跳,可以 适应网络的动态拓朴变化,大大扩充了组播流保护的场景;而且由于本发明实 施例采用了PIM双向Join的技术,因此相对于现有技术的单向Join来说,可以减少节点间的传输开销,有利于。 实施例五、
相应地,本发明实施例还提供一种通信系统,包括本发明实施例提供的任 意一种路由器。
该路由器可以包括计算单元401、主发送单元402、备发送单元403和第一 处理单元404,还可以包括第二处理单元405和感知单元406,其中,第一处理 单元404可以包括接收子单元和转发子单元,具体可参见实施例四,在此不再 赘述。
该通信系统中的路由器的单播FRR可以为每条单播路由计算出主用出接 口、主用下一跳、备用出接口和备用下一跳,然后根据计算出的主用出接口、 主用下一跳、备用出4妄口和备用下一跳,与单播联动发送双向PIM Join建立 到组播源的主用路径和备用^各径,引下双份组播流,在网络运行正常的情况下, 该通信系统中的路由器只接收主用路径的组播流,对于备用路径上的组播流则 予以丢弃,当主用路径发生故障时,则直接切换到备用路径,接收备用路径上 的组播流并转发该组播流。具体可参见前面的实施例,在此不再赘述。
当然,若网络拓朴发生变化,则单播路由收敛以后,路由器的IPFRR会 重新计算主备用出接口和下一跳,然后根据重新计算出来的主备用出接口和下 一跳分别发送PIM Join以建立新的主备用路径。
以下将举例作简略说明,如图6所示,该通信系统可以包括第一路由器 501、第二路由器502、第三路由器503和第四路由器504;假设第一路由器 501在此作为宿节点;
第 一路由器501,用于计算出到达组播源的每条单播路由的主用出接口 、 备用出接口、主用下一跳和备用下一跳;将计算出的主用出接口作为组播的主 用入接口发送协议无关组播加入PIM Join报文给所述主用下 一跳以建立主用 路径;将计算出的备用出接口作为组播的备用入接口发送PIM Join报文给所述 备用下一跳以建立备用路径;当所述主用路径发生故障时,通过所述备用路径 接收组4番源下发的组4番流并转发组纟番流;
第二路由器502,作为主用下一跳,用于接收第一路由器501发送的PIM Join报文,发送PIMJoin报文给第四路由器504以建立主用路径,在接收到第四路由器504发送的组播流后,将组播流转发给第 一路由器501;
第三路由器503,作为备用下一跳,用于接收第一路由器501发送的PIM Join报文,发送PIMJoin报文给第四路由器504以建立备用路径,在接收到第四 路由器504发送的组播流后,将组播流转发给第一路由器501;
第四路由器504,用于接收第二路由器502发送的PIM Join报文,以及接 收第三路由器503发送的PIM Join报文,在主用路径和备用路径建立完成后, 通过主用路径发送组播流给第二路由器502,通过备用路径发送组播流给第三 路由器503。
以上实施具体可参见前面实施例,在此不再赘述。
由上可知,本发明实施例的通信系统采用利用单播IP FRR计算出到达组播 源的每条单播路由的主备用出接口和下一跳,然后分别根据计算出的主备用出 接口和下一跳通过发送PIM Join报文构建主备用路径,在网络运行正常时,只 接收主用路径上的组播流,丟弃备用路径上的组播流,当主用路径发生故障时, 则切换至备用路径,通过备用^各径接收组播源下发的组播流并转发组纟番流;由 于该方案中的节点可以动态地根据计算出的主备用出接口和下一跳(即根据选 路结果)发送PIMJoin报文以构建主备用路径,因此无需在设备上静态配置发 送PIM Join报文的组播的主备入接口和下一跳,可以适应网络的动态拓朴变 化,大大扩充了组播流保护的场景,而且由于本发明实施例采用了PIM双向Join 的技术,因此相对于现有技术的单向Join来说,可以减少节点间的传输开销, 有利于保证在故障发生后的组播转发性能。
骤是可以通过程序来指令相关的硬件来完成,该程序可以存储于一计算机可读 存储介质中,存储介质可以包括只读存储器(ROM, Read Only Memory )、 随机存耳又记忆体(RAM, Random Access Memory)、磁盘或光盘等。
以上对本发明实施例所提供的一种组播快速收敛方法、路由器和通信系统
述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时, 对于本领域的一般技术人员,依据本发明的思想,在具体实施方式
及应用范围 上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。
权利要求
1、一种组播快速收敛方法,其特征在于,包括计算出到达组播源的每条单播路由的主用出接口、备用出接口、主用下一跳和备用下一跳;将计算出的所述主用出接口作为组播的主用入接口发送协议无关组播加入PIM Join报文给所述主用下一跳以建立主用路径;将计算出的所述备用出接口作为组播的备用入接口发送PIM Join报文给所述备用下一跳以建立备用路径;当所述主用路径发生故障时,通过所述备用路径接收组播源下发的组播流并转发组播流。
2、 根据权利要求l所述的方法,其特征在于,所述计算出到达组播源的每 条单播路由的主用出接口 、备用出接口 、主用下一跳和备用下一跳,具体包括利用启动单播网际协议快速重路由IPFRR,计算出到达组播源的每条单播 路由的主用出接口、备用出接口、主用下一跳和备用下一跳。
3、 根据权利要求1或2所述的方法,其特征在于,所述将计算出的所述主用出接口作为组播的主用入接口发送PIM Join报 文给所述主用下 一跳以建立主用路径,具体包括通过计算出的所述主用出接口发送PIM Join净艮文给所述主用下一i 兆,以触 发协议无关组播-稀松模式PIM-SM构建主共享树,所述主共享树包括主用路 径;所述将计算出的所述备用出接口作为组播的备用入接口发送PIM Join报 文给所述备用下一跳以建立备用路径包括通过计算出的备用出接口发送PIM Join报文给备用下一跳,以触发 PIM-SM构建备共享树,所述备共享树包括备用路径。
4、 根据权利要求1或2所述的方法,其特征在于,所述根据计算出的所述主用出接口发送PIM Join报文给所述主用下一跳 以建立主用路径,具体包括通过计算出的所述主用出接口发送PIM Join才艮文给主用下一跳,以触发 PIM-SM或协i义无关组纟番-特定源组播PIM-SSM构建主最短^各径树,所述主最 短路径树包括主用3各径;所述将计算出的备用出接口作为组播的备用入接口发送PIM Join报文给 备用下一跳以建立备用路径包括通过计算出的备用出接口发送PIM Join报文给备用下一跳,以触发 PIM-SM或PIM-SSM构建备最短路径树,所述备最短路径树包括备用^各径。
5、 根据权利要求1或2所述的方法,其特征在于,还包括当主用路径使用正常时,通过主用路径接收组播源下发的组播流并转发组 播流,丢弃备用路径上的组播流。
6、 根据权利要求1或2所述的方法,其特征在于, 通过快速故障检测BFD来感知主用路径发生故障。
7、 一种路由器,其特征在于,包括计算单元,用于计算出到达组播源的每条单播路由的主用出接口、备用出 接口、主用下一跳和备用下一跳;主发送单元,用于将计算单元计算出的所述主用出接口作为组播的主用入 接口发送PIM Join报文给所述主用下一跳以建立主用路径;备发送单元,用于将计算单元计算出的所述备用出接口作为组播的备用入 接口发送PIM Join报文给所述备用下一跳以建立备用路径;第一处理单元,用于当所述主发送单元发起建立的所述主用路径发生故障 时,通过所述备发送单元发起建立的所述备用路径接收组播源下发的组播流并 转发组播流。
8、 根据权利要求7所述的路由器,其特征在于,还包括第二处理单元; 第二处理单元,用于当所述主发送单元发起建立的所述主用路径使用正常时,通过所述主用路径接收组播源下发的组播流并转发组播流,丢弃所述备用 路径上的组播流。
9、 根据权利要求7或8所述的路由器,其特征在于,还包括感知单元; 感知单元,用于通过快速故障检测BFD来感知主用路径发生故障; 第一处理单元,还用于当所述感知单元感知所述主用路径发生故障时,通过所述备发送单元发起建立的所述备用路径接收组播源下发的组播流并转发 组播流。
10、 一种通信系统,其特征在于,包括第一路由器,用于计算出到达组播源的每条单播路由的主用出接口、备用 出接口、主用下一跳和备用下一跳;将计算出的主用出接口作为组播的主用入接口发送协议无关组播加入PIM Join报文给所述主用下一跳以建立主用路径; 将计算出的备用出接口作为组播的备用入接口发送PIM Join报文给所述备用 下一跳以建立备用路径;当所述主用路径发生故障时,通过所述备用路径接收 组播源下发的组播流并转发组播流;第二路由器,作为主用下一跳,用于接收第一路由器发送的PIMJoin报文, 发送PIM Join报文给第四路由器以建立主用路径,在接收到第四^各由器发送的 组播流后,将组播流转发给第一路由器;第三路由器,作为备用下一跳,用于接收第一路由器发送的PIM Join报文, 发送PIM Join报文给第四路由器以建立备用路径,在接收到第四路由器发送的 组播流后,将组播流转发给第一路由器;第四路由器,用于接收第二路由器发送的PIMJoin报文,以及接收第三路 由器发送的PIM Joinl艮文,在主用路径和备用3各径建立完成后,通过主用3各径 发送组播流给第二路由器,通过备用路径发送组播流给第三路由器。
全文摘要
本发明实施例公开了一种组播快速收敛方法、路由器和通信系统。本发明实施例采用计算出到达组播源的每条单播路由的主备用出接口和下一跳,然后分别根据计算出的主备用出接口和下一跳构建主备用路径,当主用路径发生故障时,通过备用路径接收组播源下发的组播流并转发组播流;由于该方案中的节点可以动态地根据单播路由计算出的主备用出接口和下一跳(即根据选路结果),并发送PIM Join报文以构建主备用路径,因此无需在设备上静态配置组播的主备入接口和下一跳,可以适应网络的动态拓扑变化,大大扩充了组播流保护的场景。
文档编号H04L12/56GK101656679SQ20091017783
公开日2010年2月24日 申请日期2009年9月25日 优先权日2009年9月25日
发明者刘毅松, 赵大赫, 阴元斌 申请人:华为技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1