在协议无关组播双重加入下转发数据的方法、装置及系统的制作方法

文档序号:7748407阅读:284来源:国知局
专利名称:在协议无关组播双重加入下转发数据的方法、装置及系统的制作方法
技术领域
本发明涉及通信领域,尤其涉及一种在协议无关组播双重加入下转发数据的方法、路由器及网络系统。
背景技术
IP组播是指在IP网络中将数据包以尽力传送(Best Effort)的形式发送到网络中的某个确定节点子集,这个子集称为组播组(Multicast Group)。IP组播的基本思想是, 源主机只发送一份数据,这份数据中的目的地址为组播组地址,组播组中的所有接收者都可接收到同样的数据拷贝。组播流量会沿着已经建立的组播转发路径进行转发,转发路径上的路由器为了将组播报文传送到各个方位的接收站点,可能需要将从一个入接口接收到的报文转发到多个出接口。PIM(ProtocolIncbpendent Multicast,协议无关组播)协议是用于建立组播转发路径协议中应用最为广泛的协议。现代的网络业务对实时性的要求越来越高,当链路发生故障时,组播业务也需要减少丢失的组播数据报文。PIM Dual Join (PIM双重加入)技术就是用于解决组播转发路径上,网络链路故障时,组播业务能够快速收敛的问题。PIM Dual Join方案通过从两个方向同时申请同一份组播数据流,建立两条转发组播数据的转发路径,当其中一条链路故障时,可以选择从备用组播转发树上接收组播数据。现有的组播PIM协议中,RPF(Reverse Path forwarding,反向路径转发)规则作为组播的一个基本规则,认为组播表项仅存在一个上游,即为到组播源或者反向路径的最优单播路由的出接口和下一跳,出接口为PIM协议中的RPF接口,下一跳为PIM协议中的 RPF邻居。对此,发明人发现,PIM Dual Join方案提出后,增加了一种现有PIM协议未定义的场景,即PIM协议表项存在两个入接口,分别称为主用入接口和备用入接口,主用入接口的行为在已有协议中已经详细定义,但是备用入接口具有其独有的特殊性,它既具有入接口的属性,同时也可以作为出接口存在,对于它的转发、协议行为目前没有定义。这样,不利于各个厂家实现兼容,增加了网络拓扑对PIM协议应用的限制。

发明内容
本发明的实施例提供一种在协议无关组播双重加入下转发数据的方法、路由器及网络系统,补充了 PIM协议中备用入接口在协议无关组播双重加入下转发数据的方法,有助于各个厂家实现兼容,减少网络拓扑对PIM协议应用的限制。为达到上述目的,本发明的实施例采用如下技术方案一种在协议无关组播双重加入下转发数据的方法,其中在所述协议无关组播双重加入下,路由器包括主用入接口和备用入接口,所述方法包括当所述主用入接口可用时,所述路由器将从所述备用入接口接收到的组播数据向存在加入状态的主用入接口转发;当所述主用入接口不可用时,在选择出新的主用入接口和/或备用入接口之前, 所述路由器将从所述备用入接口接收到的组播数据向所有存在加入状态的接口转发或者向包括除所述备用入接口外的其他所有存在加入状态的接口转发。一种应用于在协议无关组播双重加入下转发数据的路由器,包括主用入接口和备用入接口,当所述主用入接口可用时,所述路由器将从所述备用入接口接收到的组播数据向存在加入状态的主用入接口转发;当所述主用入接口不可用时,在选择出新的主用入接口和/或备用入接口之前, 所述路由器将从所述备用入接口接收到的组播数据向所有存在加入状态的接口转发或者向包括除所述备用入接口外的其他所有存在加入状态的接口转发。一种应用于在协议无关组播双重加入下转发数据的网络系统,由多个路由器连接构成,每个路由器都包括主用入接口和备用入接口,所述备用入接口,用于当所述主用入接口可用时,所述路由器将从所述备用入接口接收到的组播数据向存在加入状态的主用入接口转发;当所述主用入接口不可用时,在选择出新的主用入接口和/或备用入接口之前,所述路由器将从所述备用入接口接收到的组播数据向所有存在加入状态的接口转发或者向包括除所述备用入接口外的其他所有存在加入状态的接口转发;所述主用入接口,用于当所述主用入接口可用时,所述路由器将从所述主用入接口接收到的组播数据向不包括自身主用入接口的所有存在加入状态接口转发。本发明实施例提供的在协议无关组播双重加入下转发数据的方法、路由器及网络系统,补充了 PIM协议中备用入接口在协议无关组播双重加入下转发数据的方法,填补了此处空白,有助于各个厂家实现兼容,减少网络拓扑对PIM协议应用的限制。


为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。图1为本发明实施例提供的在协议无关组播双重加入下转发数据的方法框图;图2为本发明实施例所用的网络结构示意图一;图3为本发明实施例所用的网络结构示意图二 ;图4为本发明实施例提供的路由器的结构示意图;图5为本发明实施例所用的网络结构示意图三。
具体实施例方式下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。本发明实施例提供的在协议无关组播双重加入下转发数据的方法,其中在协议无关组播双重加入下,路由器包括主用入接口和备用入接口,其方法步骤如图1所示,包括S101、当主用入接口可用时,路由器将从备用入接口接收到的组播数据向存在加入状态的主用入接口转发。S102、当主用入接口不可用时,在选择出新的主用入接口和/或备用入接口之前, 路由器将从备用入接口将接收到的组播数据向所有存在加入状态的接口转发或者向包括除该备用入接口外的其他所有存在加入状态的接口转发。本发明实施例提供的在协议无关组播双重加入下转发数据的方法,补充了 PIM协议中备用入接口在协议无关组播双重加入下转发数据的方法,填补了此处空白,有助于各个厂家实现兼容,减少网络拓扑对PIM协议应用的限制。本发明另一实施例提供的在协议无关组播双重加入下转发数据的方法,以网络中应用较为广泛的环网拓扑为例进行说明,如图2所示,路由器A与组播源相连,路由器B、C、D、E、F分别于用户Rb、Re、Rd、Re、Rf相连,网络中的路由器所有接口均使能 PIM-SM(Protocol Independent Multicast-Sparse Mode,协议无关组播-稀松模式)或 PIM-SSM(Protocol Independent Multicast-Source-SpecificMulticast, il ^C ^ 播-特定源组播),与用户相连的接口使能IGMP(Internet Group Management Protocol, 互联网组管理协议)。每个与用户相连的路由器B、C、D、E|、F,当收到用户(S,G)加入时,均向两个方面发送Pim(S,G) join申请组播源的数据流。例如,路由器B向路由器A和C发送pim(S,G) join,路由器C向路由器B和路由器D发送pim(S,G) join。依此类推,路由器B、C、D、Ε、F设备上的(S,G)表项均存在主备两个入接口路由器B的主用入接口朝向路由器Α,备用入接口朝向路由器C;路由器C的主用入接口朝向路由器B,备用入接口朝向路由器D ;路由器D的主用入接口朝向路由器C,备用入接口朝向路由器E ;路由器E的主用入接口朝向路由器F,备用入接口朝向路由器D ;路由器F的主用入接口朝向路由器Α,备用入接口朝向路由器Ε。初始情况下,会形成以组播源为根的两个环形流量,即A- > B- > C- > D- > E- > F 和 A- > F- > E- > D- > C- > B。此时,对于路由器B、C、D、E、F设备上的(S,G)流量的转发将可以应用本发明实施例提供的转发方法。以路由器C为例,具体如下a)当路由器C的主用入接口可用(UP)时,当路由器C从主用入接口收到路由器 B发送的组播数据流时,将会向不包括自身主用入接口的所有存在加入状态接口转发数据。 即,朝向路由器D的接口和连接用户Rc的接口,转发组播流。对于路由器C来说,所有存在加入状态接口为朝向路由器D的接口、朝向路由器B的接口和连接用户Rc的接口 ;自身主用入接口为朝向路由器B的接口。b)当路由器C的主用入接口可用(UP)时,路由器C从备用入接口收到路由器D转发的组播数据流,将会向存在加入状态的主用入接口转发。即,朝向B的接口,转发组播流。对于路由器C来说,主用入接口为,朝向B的接口,且朝向B的接口存在加入状态。c)当路由器B和路由器C之间的链路出现故障时,对于路由器B而言是备用入接口不可用(DOWN),对用户业务没有影响,设备仅需再次选择一条备用路由。d)当路由器B和路由器C之间的链路出现故障时,对于路由器C而言是主用入接口不可用(DOWN),在为路由器(S,G)表项选择出新的主用入接口,或者,主用入接口和备用入接口之前,(S,G)将会使用备用入接口发送的流量,此时的转发行为为备用入接口将接收到的数据向包括该备用入接口在内的所有存在加入状态的接口转发。即朝向路由器D 的接口和朝向用户Rc的接口,转发组播流量。这样,备用入接口向用户Rc转发数据减少了链路故障对用户的干扰;向路由器D转发数据,可以保证路由器D、E、F流量的稳定。e)当路由器C为(S,G)选择出新的主用入接口,或者,主用入接口和备用入接口之后,在本实施例中是选出新的主用入接口之后,将会按照上述a)和b)中的行为进行转发。B-C之间发生故障后,只存在A- > B和A- > F- > E- > D- > C这两个流量。在此,本实施例是以指定源为例的,同样也适用于非指定源的PIM-SM场景,此时, 路由器收到用户的加入为(*,G),向两个方向发送pim(*,G)join申请组播源的数据流,其余转发规则方法均与上述实施例相同,不再赘述。本发明实施例提供的在协议无关组播双重加入下转发数据的方法,补充了 PIM协议中备用入接口在协议无关组播双重加入下转发数据的方法,填补了此处空白,有助于各个厂家实现兼容,减少网络拓扑对PIM协议应用的限制。本发明又一实施例提供的PIM协议中备用入接口的行为方法,以PIM-SM SPT或 PIM-SM RPT或PIM-SSM的备用入接口断言(assert)场景为例,进行说明。如图3所示,路由器A与组播源相连,路由器C与用户E相连,路由器F与路由器 C和D之间的共享网段相连。用户E发送igmp (*,G)或者(S,G)加入到路由器C。路由器C为保证可靠性,从主备两条路径朝组播源发送pim(*,G)或(S,G)加入, 图中路由器C的E0/0/0为主用入接口,E0/0/1为备用入接口。路由器F的上游路由器为路由器C,路由器F向路由器C发送pim(*,G)或(S,G) 加入。这样,路由器C和路由器D均会往它们之间的共享网段转发组播数据,路由器C 接口 E0/0/1所在网段会发生断言(assert)。此时,备用入接口 E0/0/1不参与断言优胜者 (assert winner)的竞选,不触发断言(assert)报文。即,路由器C的E0/0/1接收到到组播数据时,由扩展后的CouldAssert (*,G,I)或者CouldAssert (S,G,I)协议状态机得出, E0/0/1不具备assert的资格,不会触发assert报文。路由器D的出接口收到组播数据时, 触发assert报文,且assert状态切换为断言优胜者(assert Winner)。路由器C的备用入接口 EO/O/1将断言(assert)状态设为断言失败者(assert loser), E0/0/1将会从路由器C的出接口列表中删除,路由器C停止向E0/0/1接口转发流量。路由器C的备用入接口 E0/0/1记录竞选出的断言优胜者(assertwirmer),对应的 1·办议状态机为 AssertTrackingDesired (S, G, I)禾口 AssertTrackingDesiredd G, I)。由此,C-D网段只存在路由器D向路由器C转发流量,此流量既作为路由器C的备
7份流量,同时也转发给路由器F。 进一步地,如果D发生故障,C的备用入接口记录的断言优胜者将会超时,那么C的备用入接口的断言状态将会恢复为初始状态,E0/0/1将会添加到C主用入接口的出接口列表中,继续为路由器F转发流量。对应的,扩展后的状态机为AssertTrackingDesired(S, G, I)=(I in ((joins (*,*,RP (G)) (+) joins (*,G) (-) prunes (S, G, rpt))(+) (pim_include G) (-) pim_exclude (S, G))(-) lost_assert (*,G)(+) joins (S, G)))OR(local_receiver_include(S, G, I) = = TRUEAND(I_am_DR(I)OR(Assertffinner(S, G, I) == me)))OR (((RPF_interface (S) = = I)OR(RPF_BACKUP_interface(S)== I))AND (JoinDesired (S, G) = = TRUE))OR((RPF_interface(RP(G)) = = I)AND(JoinDesired(*,G)==TRUE)AND (SPTbit (S, G) = = FALSE))CouldAssert (S, G, I)=SPTbit (S, G) = = TRUEAND(RPF_interface(S) ! = I)AND(RPF_BACKUP_interface(S) !=I)AND (I in ((joins (*,*,RP (G)) (+) joins (*,G) (-) prunes (S, G, rpt))(+) (pim_include (氺,G) (-) pim_exclude (S, G))(-) lost_assert (*,G)(+) joins (S, G) (+) pim_include (S, G)))CouldAssert G, I)=(I in (joins (*,*,RP(G)) (+) joins (*,G)(+) pim_include (*, G)))AND(RPF_interface(RP(G)) ! = I)AND(RPF_BACKUP_interface (RP (G)) ! = I)AssertTrackingDesired(*, G, I)=CouldAssert (*,G, I)OR(local_receiver_include(*,G,I) = = TRUEAND(I_am_DR(I)0R AssertffinnerG, I) == me))OR ((RPF_interface (RP (G)) ==1 OR (RPF_BACKUP_interface (S)== I))AND RPTJoinDesired(G))其中
RPF_BACKUP_interface (S)到组播源的备用入接口 ;RPF_BACKUP_interface (RP (G))到汇聚点的备用入接口。本发明实施例提供的在协议无关组播双重加入下转发数据的方法,进一步补充了 PIM协议中备用入接口断言时的相关行为方法,填补了此处空白,有助于各个厂家实现兼容,减少网络拓扑对PIM协议应用的限制。本发明实施例提供的应用于在协议无关组播双重加入下转发数据的路由器40,包括主用入接口 402和备用入接口 401,如图4所示,当主用入接口 402可用时,路由器40将从备用入接口 401接收到的组播数据向存在加入状态的主用入接口 402转发;当主用入接口 402不可用时,在选择出新的主用入接口 402和/或备用入接口 401 之前,路由器40将从备用入接口 401将接收到的组播数据向所有存在加入状态的接口转发或者向包括除该备用入接口 401外的其他所有存在加入状态的接口转发。本发明实施例提供的应用于在协议无关组播双重加入下转发数据的路由器,补充了 PIM协议中备用入接口在协议无关组播双重加入下转发数据的方法,填补了此处空白, 有助于各个厂家实现兼容,减少网络拓扑对PIM协议应用的限制。进一步地,当主用入接口 402可用时,路由器40将从该主用入接口 402接收到的组播数据向不包括自身主用入接口 402的所有存在加入状态接口转发。此外,当备用入接口 401所在网段发生断言时,该路由器40的备用入接口 401不参与断言优胜者的竞选,并将断言状态设为断言失败者,该备用入接口 401从路由器40的出接口列表中删除。该路由器40的备用入接口 401,还用于记录竞选出的断言优胜者。再有,当该路由器40的备用入接口 401所记录的断言优胜者超时时,该备用入接口 401的断言状态恢复为初始状态,路由器40的出接口列表中添加该备用入接口 401。本发明实施例提供的应用于在协议无关组播双重加入下转发数据的路由器,补充了 PIM协议中备用入接口断言时的相关行为方法,填补了此处空白,有助于各个厂家实现兼容,减少网络拓扑对PIM协议应用的限制。本发明实施例提供的应用于在协议无关组播双重加入下转发数据的网络系统,如图5所示,由多个路由器40连接构成,每个路由器40都包括主用入接口 402和备用入接口 401,备用入接口 401,用于当主用入接口 402可用时,路由器40将从备用入接口 401接收到的组播数据向存在加入状态的主用入接口 402转发;当主用入接口 402不可用时,在选择出新的主用入接口 402和/或备用入接口 401之前,路由器40将从该备用入接口 401接收到的组播数据向所有存在加入状态的接口转发或者向包括除该备用入接口 401外的其他所有存在加入状态的接口转发。主用入接口 402,用于当主用入接口 402可用时,路由器40将从该主用入接口 402 接收到的组播数据向不包括自身主用入接口 402的所有存在加入状态接口转发。本发明实施例提供的网络系统,补充了 PIM协议中备用入接口在协议无关组播双重加入下转发数据的方法,填补了此处空白,有助于各个厂家实现兼容,减少网络拓扑对 PIM协议应用的限制。
进一步地,备用入接口 401,还用于当该备用入接口 401所在网段发生断言时,该备用入接口 401不参与断言优胜者的竞选,并将断言状态设为断言失败者,该备用入接口 401从路由器40的出接口列表中删除;并记录竞选出的断言优胜者。由此,进一步补充了 PIM协议中备用入接口断言时的相关行为方法,填补了此处空白,有助于各个厂家实现兼容,减少网络拓扑对PIM协议应用的限制。本领域普通技术人员可以理解实现上述方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成,前述的程序可以存储于一计算机可读取存储介质中,该程序在执行时,执行包括上述方法实施例的步骤;而前述的存储介质包括R0M、RAM、磁碟或者光盘等各种可以存储程序代码的介质。以上所述,仅为本发明的具体实施方式
,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应所述以权利要求的保护范围为准。
权利要求
1.一种在协议无关组播双重加入下转发数据的方法,其中在所述协议无关组播双重加入下,路由器包括主用入接口和备用入接口,其特征在于,所述方法包括当所述主用入接口可用时,所述路由器将从所述备用入接口接收到的组播数据向存在加入状态的主用入接口转发;当所述主用入接口不可用时,在选择出新的主用入接口和/或备用入接口之前,所述路由器将从所述备用入接口接收到的组播数据向所有存在加入状态的接口转发或者向包括除所述备用入接口外的其他所有存在加入状态的接口转发。
2.根据权利要求1所述的方法,其特征在于,还包括当所述主用入接口可用时,所述路由器将从所述主用入接口接收到的组播数据向不包括自身主用入接口的所有存在加入状态接口转发。
3.根据权利要求1或2所述的方法,其特征在于,还包括当所述备用入接口所在网段发生断言时,所述备用入接口不参与断言优胜者的竞选, 并将断言状态设为断言失败者,所述备用入接口从所述路由器的出接口列表中删除。
4.根据权利要求3所述的方法,其特征在于,还包括所述备用入接口记录竞选出的断言优胜者。
5.根据权利要求4所述的方法,其特征在于,还包括当所述备用入接口记录的所述断言优胜者超时时,将所述备用入接口的断言状态恢复为初始状态,并在所述路由器的出接口列表中添加所述备用入接口。
6.根据权利要求1所述的方法,其特征在于,所述主用入接口和备用入接口使能协议无关组播-稀松模式或协议无关组播-特定源组播。
7.一种应用于在协议无关组播双重加入下转发数据的路由器,包括主用入接口和备用入接口,其特征在于,当所述主用入接口可用时,所述路由器将从所述备用入接口接收到的组播数据向存在加入状态的主用入接口转发;当所述主用入接口不可用时,在选择出新的主用入接口和/或备用入接口之前,所述路由器将从所述备用入接口接收到的组播数据向所有存在加入状态的接口转发或者向包括除所述备用入接口外的其他所有存在加入状态的接口转发。
8.根据权利要求7所述的路由器,其特征在于,当所述主用入接口可用时,所述路由器将从所述主用入接口接收到的组播数据向不包括自身主用入接口的所有存在加入状态接口转发。
9.根据权利要求7或8所述的路由器,其特征在于,当所述备用入接口所在网段发生断言时,所述路由器的备用入接口不参与断言优胜者的竞选,并将断言状态设为断言失败者,所述备用入接口从所述路由器的出接口列表中删除。
10.根据权利要求9所述的路由器,其特征在于,所述路由器的备用入接口,还用于记录竞选出的断言优胜者。
11.根据权利要求10所述的路由器,其特征在于,当所述路由器的备用入接口记录的所述断言优胜者超时时,所述备用入接口的断言状态恢复为初始状态,所述路由器的出接口列表中添加所述备用入接口。
12.—种应用于在协议无关组播双重加入下转发数据的网络系统,由多个路由器连接构成,每个路由器都包括主用入接口和备用入接口,其特征在于,所述备用入接口,用于当所述主用入接口可用时,所述路由器将从所述备用入接口接收到的组播数据向存在加入状态的主用入接口转发;当所述主用入接口不可用时,在选择出新的主用入接口和/或备用入接口之前,所述路由器将从所述备用入接口接收到的组播数据向所有存在加入状态的接口转发或者向包括除所述备用入接口外的其他所有存在加入状态的接口转发;所述主用入接口,用于当所述主用入接口可用时,所述路由器将从所述主用入接口接收到的组播数据向不包括自身主用入接口的所有存在加入状态接口转发。
13.根据权利要求12所述的网络系统,其特征在于,所述备用入接口,还用于当所述备用入接口所在网段发生断言时,所述备用入接口不参与断言优胜者的竞选,并将断言状态设为断言失败者,所述备用入接口从所述路由器的出接口列表中删除;记录竞选出的断言优胜者。
全文摘要
本发明实施例提供的在协议无关组播双重加入下转发数据的方法、装置及系统,涉及通信领域,补充了PIM协议中备用入接口的在协议无关组播双重加入下转发数据的方法,有助于各个厂家实现兼容,减少网络拓扑对PIM协议应用的限制。方法包括当主用入接口可用时,路由器将从备用入接口接收到的组播数据向存在加入状态的主用入接口转发;当主用入接口不可用时,在选择出新的主用入接口和/或备用入接口之前,路由器将从备用入接口接收到的组播数据向所有存在加入状态的接口转发或者向包括除备用入接口外的其他所有存在加入状态的接口转发。
文档编号H04L12/56GK102244602SQ20101016854
公开日2011年11月16日 申请日期2010年5月11日 优先权日2010年5月11日
发明者刘毅松, 魏勇 申请人:华为技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1