减少组播数据流中断延迟时间的方法

文档序号:7998764阅读:769来源:国知局
减少组播数据流中断延迟时间的方法
【专利摘要】本发明提供了一种减少组播数据流中断延迟时间的方法,其包括执行一次断言机制,确定出路由器的上游邻居路由器中的某个上游邻居路由器为assert?winner以及其他上游邻居路由器将作为assert?winner的优先顺序;当出现组播数据流无法转发时,采用keep?alive机制,向assert?winner进行探测,如果没有回应,路由器按照上述的优先顺序先后向其他上游邻居路由器单播发送嫁接报文,直到收到正确嫁接回应报文,组播数据流恢复转发,并将做出正确嫁接回应报文的上游邻居路由器的assert状态改为assert?winner。本发明仅需要一次断言机制,就可以控制网络中组播数据流的正常转发,无需多次发生断言机制选取新的assert?winner,从而减少组播数据流的中断延迟时间。
【专利说明】减少组播数据流中断延迟时间的方法 【【技术领域】】
[0001] 本发明涉及基于 PIM-DM (Protocol Independent Multicast-Dense Mode 稀疏模 式独立组播协议)协议的环境下组播数据流的转发方法。 【【背景技术】】
[0002] 在因特网路由协议中,对于组播路由协议密集模式PIM-DM的断言机制而言,目前 实现组播数据转发依然存在缺陷。
[0003] 在如图1所示的应用场景中,路由器B仅有两个上游邻居路由器1和路由器2,通 过一次断言机制确定出路由器1为Assert Winner (断言赢者),路由器2为Assert Loser (断言输者)。如果在组播数据流正常通信过程中,突然路由器1的上游接口断掉或者其他原 因,导致组播数据流无法转发时,路由器1的下游接口会发送Assert Cancel消息,而作为 Assert Loser的路由器2的断言状态可以从之前的Assert Loser立即切换为Assert No_ info状态,进行组播数据流转发。
[0004] 在如图2所示的应用场景中,路由器B的上游邻居多于两个,在进行一次断言机制 过后,确定出其上游邻居路由器C为Assert Winner,剩下的上游邻居路由器1、路由器2、路 由器3、……、路由器η均为本次断言机制选出的Assert Loser。如果在组播数据流正常 通信过程中,突然路由器C的上游接口断掉或者其他原因导致组播数据流无法转发时,路 由器C的下游接口会发送Assert Cancel消息,而作为Assert Loser的所有路由器的断言 状态将从之前的Assert Loser全部切换为No_info状态,这个时候,需要再重新进行一次 断言机制,确定出新的Assert Winner,才能进行组播数据流的转发。如果再出现组播数据 流无法转发,又得再进行一次断言机制,以确定出新的Assert Winner。这样经过多次发生 断言机制,会导致组播数据流的中断延迟时间延长。
[0005] 由上可知,当出现组播数据流无法转发时,现有技术的方法需多次发生断言机制 选取新的Assert Winner,造成组播数据流的中断延迟时间延长;而仅需进行一次断言机制 时,路由器的上游邻居只能限制2个。 【
【发明内容】

[0006] 本发明需解决的技术问题是克服上述的不足,提供一种减少组播数据流中断延迟 时间的方法。
[0007] 为解决上述的技术问题,本发明设计了一种减少组播数据流中断延迟时间的方 法,其包括以下步骤:stepl :执行一次断言机制,确定出路由器的上游邻居路由器中的某 个上游邻居路由器为assert winner,其他上游邻居路由器为assert loser,并且,还确定 作为assert loser的其他邻居上游路由器将作为assert winner的优先顺序;Step2 :当 出现组播数据流无法转发时,采用keep alive机制,向作为assert winner的上述的某个 邻居路由器进行探测,如果没有回应,则将该某个邻居路由器作为assert winner的状态取 消,执行st印3,如果回应,则组播数据流继续转发;St印3 :路由器按照上述的优先顺序先 后向其他上游邻居路由器单播发送嫁接报文,直到收到上述其他上游邻居路由器之一的正 确嫁接回应报文,组播数据流恢复转发,并将做出正确嫁接回应报文的上游邻居路由器的 assert 状态改为 assert winner。
[0008] 作为本发明进一步改进,在Stepl中,根据以下3个原则确定出上游邻居路由器的 assert winner和assert loser,并且作为assert loser其他邻居路由器将作为assert winner的优先顺序:①到组播源的单播路由优先级小;②到组播源的度量值小;③本地接 口 IP地址值大。
[0009] 作为本发明进一步改进,在Step2中,采用keep alive机制,向assert winner 进行探测的次数为M,Μ为正自然数,每探测一次,Μ自减1,如果直到Μ等于0时,assert winner还没有回应,则执行Step3 ;如果直到Μ等于0时,assert winner正常回应,Μ值恢 复起始值。
[0010] 本发明仅需要一次断言机制,就可以控制网络中组播数据流的正常转发,无需多 次发生断言机制选取新的assert winner,从而减少(缩短)组播数据流的中断延迟时间。 【【专利附图】

【附图说明】】
[0011] 图1是以太网中的一种组播环境;
[0012] 图2是以太网中的另一种组播环境;
[0013] 图3是本发明减少组播数据流中断延迟时间的方法的流程图。
[0014] 【【具体实施方式】】
[0015] 下面结合附图和实施方式对本发明作进一步说明。
[0016] 本发明提供了一种减少组播数据流中断延迟时间的方法,仅需要一次断言机制, 就可以控制网络中组播数据流的正常转发,从而减少组播数据流的中断延迟时间。
[0017] 如图3所示,本发明减少组播数据流中断延迟时间的方法包括:
[0018] 首先,通过一次断言机制和三项原则,获取出路由器的上游邻居路由器中的某个 上游邻居路由器为assert winner、其他上游邻居路由器为assert loser、以及作为assert loser的其他邻居上游路由器将作为assert winner的优先顺序。三项原则为:①到组播 源的单播路由优先级小;②到组播源的度量值小;③本地接口 IP地址值大。确定出assert winner,组播数据流正常转发。
[0019] 当出现组播数据流无法转发,采用keep alive机制,向作为assert winner的上 述的某个邻居路由器进行探测,探测的次数为Μ (Μ为正自然数),每探测一次,Μ自减1,如 果直到Μ等于0时,assert winner还没有回应,路由器则按照上述的优先顺序先后向其他 上游邻居路由器单播发送嫁接报文,
[0020] 直到收到上述其他上游邻居路由器之一的正确嫁接回应报文,组播数据流恢复转 发,并将做出正确嫁接回应报文的上游邻居路由器的assert状态改为assert winner,无 需再通过进行一次断言机制选择新的assert winner。如果直到Μ等于0时,assert winner 正常回应,组播数据流继续转发,Μ值恢复起始值。
[0021] 下面举例本发明方法应用在如图2的组播环境中。路由器Β的上游邻居路由器至 少3个。
[0022] 首先,根据上述三项原则,进行一次断言机制,确定出上游邻居路由器C为Assert Winner,剩下的上游邻居路由器1、路由器2、路由器3、……、路由器η均为本次断言机制选 出的Assert Loser,并且得出,他们将作为Assert Winner的可能性优先顺序为:路由器1 >路由器2 >路由器3 >......>路由器η。
[0023] 在组播数据流正常通信过程中,如果突然出现路由器C的上游接口断掉,或者其 他原因导致组播数据流无法转发时,采用ke印alive机制,向路由器Β的上游状态机(即作 为Assert Winner的路由器C)进行探测,探测的次数为M(M > 3),每探测一次,Μ值自减1, 如果路由器C作出回应,即探测到正常的Assert Winner,M值重置为原来的值;如果等到Μ 减到0时,路由器C还未作出回应,即依然没有探测出正常的Assert Winner,这时将Assert Winner状态取消,由路由器B依照之前确定的优先顺序直接向其上游邻居路由器单播发送 嫁接报文,如收到路由器1发出的正确嫁接回应报文之后,组播数据流则恢复转发,停止向 其他上游邻居路由器单播发送嫁接报文,并将路由器1的assert状态改为assert winner。 如果路由器B没有收到路由器1发出的正确嫁接回应报文,则依次向路由器2单播发送嫁 接报文,直到路由器B收到正确的嫁接回应报文。
[0024] 本发明仅需要一次断言机制,就可以控制网络中组播数据流的正常转发,无需多 次发生断言机制选取新的assert winner,从而减少组播数据流的中断延迟时间。
[0025] 以上所述的仅是本发明的实施方式,在此应当指出,对于本领域的普通技术人员 来说,在不脱离本发明创造构思的前提下,还可以做出改进,但这些均属于本发明的保护范 围。
【权利要求】
1. 一种减少组播数据流中断延迟时间的方法,其特征在于,包括以下步骤: Stepl :执行一次断言机制,确定出路由器的上游邻居路由器中的某个上游邻居路由器 为assert winner,其他上游邻居路由器为assert loser,并且,还确定作为assert loser 的其他邻居上游路由器将作为assert winner的优先顺序; Step2 :当出现组播数据流无法转发时,采用keep alive机制,向作为assert winner 的上述的某个邻居路由器进行探测,如果没有回应,则将该某个邻居路由器作为assert winner的状态取消,执行step3,如果回应,则组播数据流继续转发; Step3 :路由器按照上述的优先顺序先后向其他上游邻居路由器单播发送嫁接报文,直 到收到上述其他上游邻居路由器之一的正确嫁接回应报文,组播数据流恢复转发,并将做 出正确嫁接回应报文的上游邻居路由器的assert状态改为assert winner。
2. 根据权利要求1所述的一种减少组播数据流中断延迟时间的方法,其特征在于,在 Stepl中,根据以下3个原则确定出上游邻居路由器的assert winner和assert loser,并 且作为assert loser其他邻居路由器将作为assert winner的优先顺序: ① 到组播源的单播路由优先级小; ② 到组播源的度量值小; ③ 本地接口 IP地址值大。
3. 根据权利要求1所述的一种减少组播数据流中断延迟时间的方法,其特征在于,在 Step2中,采用keep alive机制,向assert winner进行探测的次数为M,M为正自然数,每 探测一次,Μ自减1,如果直到Μ等于0时,assert winner还没有回应,则执行Step3 ;如果 直到Μ等于0时,assert winner正常回应,Μ值恢复起始值。
【文档编号】H04L12/865GK104125156SQ201310156225
【公开日】2014年10月29日 申请日期:2013年4月28日 优先权日:2013年4月28日
【发明者】古芳娟 申请人:上海斐讯数据通信技术有限公司, 上海万得凯实业有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1