专利名称:一种组播转发的方法、装置和系统的制作方法
技术领域:
本发明涉及通信技术领域,尤其涉及一种组播转发的方法、装置和系统。
背景技术:
组播技术是一种实现一点对多点、或多点对多点的分组传输方式,是应网 络中不断提高的视频传输需求而出现的一种IP数据传输技术稀疏模式协议无
关组播(PIM-SM)是组播技术中的一种,其主要特点是,默认所有主机都不需 要接收组播包,只向明确需要组播包的主机转发。
PIM-SM采用汇聚点机制,即规定每个组播组必须有一个有效的汇聚点路由 器(RP ),由RP将组播包分发给下游终端。
在接收端,如果某一主机需要接收某一组播包,主机向上游直连指定路由 器(DR )发送组播加入报文,由DR向所述组播组对应的RP发送组播加入报文, 组播加入报文经过一个个路由器到达RP,所经过的路径就变成了共享树(RPT) 的分支。在发送端,由数据源DR将组播包发送给RP,组播包在RP处被复制, 并沿着RPT分发给接收者。为避免组播包在多路访问网络中重复流动而造成网 络资源的浪费,PIM-SM引入了 "声明(Assert)"机制,用以为一个多路访问 网络指定一个转发路由器,PIM-SM通过Assert ^L制来选定一个惟一的转发者, 通过发送Assert报文,选出一个最优的路径。如图1所示,
R1为源DR, R2为RP, R3、 R4和R5之间运行PIM-SM,连才妄接收端1的路由器R5 为DR (类似的情况会在网络中出现),
1、接收端l想点播某一个特定组的节目,向R5发送组播加入报文,由R5向上 游路由器R3和R4发送组播加入报文,R3和R4向R2发送组播加入报文;2、 R2接收到R3和R4各自发送的组播加入报文后,会向R3和R4分别发送相同 的组播包,R3和R4将收到的组播包向下游路由器转发,此时在switch上就会收 到R3和R4发出的同样的组播包,而且会在虚拟局域网(VLAN)内广播;
3、 这样在R3和R4的组播数据流出接口会收到同样的组播数据流,根据PIM-SM 协议的规定,此时路由平台会触发Assert状态机,通过Assert优先级的比较, 会生成一个主用路由器(Assert Winner )和一个备用i 各由器(Assert Loser ), 并启动PIM-assert超时定时器;
4、 主用路由器会继续转发组播包和接收处理下游发出的组播加入报文,备 用路由器则删除该组播组的出接口 ,而且不再处理下游发上来的组播加入报文, 由主用路由器定时向备用路由器发送Assert报文;
5、 如果在一定的时间内,没有其他的组播组向备用路由器发送组播加入报 文,那么备用路由器就会发送剪枝把上游路由器的组播路由出接口剪掉,即备 用路由器将不再接收上游路由器发送来的组播包;
6、 如果备用路由器在PIM-assert超时定时器的时间内收不到主用路由器发 出的assert报文,那么就意味着主用路由器死机,备用路由器就会重新处理组 播加入报文,并且向上发送加入报文,重新生成组播转发表项,把组播包引下 来并进行转发。
在实际的网络当中,会较频繁的应用到"声明(Assert),,机制,除了上 述网络由于拓朴结构的原因,会触发"声明(Assert)"机制以外,当城域以 太网络产生故障,需要进行切换的时候, 一般都会触发"声明(Assert)"机 制。
但是"声明(Assert)"机制在实际应用当中,主用路由器如果发生故障, 停止向备用路由器发送Assert报文;此时,从备用路由器中再确定一个主用路由器。该主用路由器需要重新向汇聚点路由器R2发送组播加入报文,重新生成
组播转发表项,才能接收汇聚点路由器发送的组播包并转发给下游路由器,这 将会导致下游路由器接收的视频数据出现比较长时间的中断,即组播网络不能 快速收敛,而这在视频会议或其他重要的情景下是不能允许的。
发明内容
一方面,本发明实施例提供了一种組播转发方法。 本发明实施例组播转发方法,包括
备用路由设备的出接口设置备用标识,所述备用路由设备与上游路由设备之 间维护组播转发表项,所述备用路由设备与下游路由设备之间维护组播转发表 项;
接收来自所述上游路由设备的组播包; 检测到主用路由设备掉线后,清除备用标识; 通过清除备用标识的出接口向所述下游路由设备转发所述组播包。 一方面、本发明实施例提供了一种组播转发装置。 本发明实施例组播转发装置,包括 标识模块,用于为备用路由设备的出接口设置备用标识; 组播转发表项维护模块,用于维护与下游路由设备之间的组播转发表项; 接收模块,用于接收来自上游路由设备的组播包; 掉线检测模块,用于检测主用路由设备是否掉线;
清除模块,当所述掉线检测模块检测到所述主用路由设备掉线后,用于清 除备用路由设备的备用标识;
转发模块,当所述清除模块清除所述备用标识后,用于向下游路由设备转 发组播包。另一方面,本发明实施例提供了一种组播转发系统。
本发明实施例组播转发系统,包括
主用路由设备,用于向上游路由设备转发来自下游路由设备的组播加入报 文;向下游路由设备转发来自上游路由设备的组4番包;
备用路由设备,将出接口设置备用标识,所述备用路由设备与上游路由设备 之间维护组播转发表项,所述备用路由设备与下游路由设备之间维护组播转发 表项;
接收来自所述上游路由设备的组播包;
检测到主用路由设备掉线后,清除备用标识;
通过清除备用标识的出接口向所述下游路由设备转发所述组播包。
本发明实施例将备用路由器设置备用标识,而并不删除所述备用路由器与 下游路由器连接的出接口,即在备用路由器和下游路由器之间仍然维护着正常 的组播转发表项,但是并不向下游路由器转发组播包;而且备用路由器也不向 上游路由器发送剪枝消息,在备用路由器和上游路由器之间也维护着正常的组 播转发表项,可以保证备用路由器能够正常收到组播包。备用路由器一旦检测 到主用路由器掉线,由于同上游和下游路由器都维持着正常的组播转发表项, 备用路由器可以在较快的时间内替代主用路由器,向下游路由器转发组播包。
图1为本发明实施例提供的Assert机制触发的网络拓朴图2为本发明实施例提供的组播转发方法的流程图3为本发明实施例提供的备用路由器检测主用路由器掉线流程图4为本发明实施例提供的组播转发装置结构图5为本发明实施例提供的掉线检测模块结构图。
具体实施例方式
为解决组播网络Assert机制下网络难以快速收敛的问题,本发明实施例提 供了一种组播转发的方法、装置和系统。下面结合附图对上述的方法、装置和 系统进行详细描述。
如图2所示,本发明实施例提供的一种组播转发的方法,包括
201、 备用路由设备的出接口设置备用标识;
所述备用路由设备与上游路由设备之间维护组播转发表项,所述备用路由设 备与下游路由设备之间维护组播转发表项;所述路由设备,可以是路由器,三层
交换机,或者其他具有路由功能的设备;
202、 接收来自所述上游路由设备的组播包;
203、 检测到主用路由设备掉线后,清除备用标识;
204、 通过清除备用标识的出接口向所述下游路由设备转发所述组播包。 本发明实施例将备用路由设备设置备用标识,而并不删除所述备用路由设
备与下游路由器连接的出接口 ,即在备用路由设备和下游路由设备之间仍然维
护正常的组播转发表项,但是并不向下游路由设备转发组播包;而且备用路由 设备也不向上游路由设备发送剪枝消息,在备用路由设备和上游路由设备之间 也维护正常的组播转发表项,可以保证备用路由设备能够正常收到组播包。备 用路由设备一旦检测到主用路由设备掉线,由于同上游和下游路由设备都维护 正常的组播转发表项,备用路由设备可以在较快的时间内替代主用路由设备, 向下游路由设备转发组播包。
备用路由设备检测主用路由设备掉线的方法有两种
一种是通过备用路由设备定时检测主用路由设备发送的声明报文;另一 种是通过主用路由设备和备用路由设备之间运行组播的BFD (双向转发检测)机制。下面分别进行介绍;
如图3所示,1、通过检测声明报文来判断主用路由设备掉线的步骤包括
301、 所述备用路由设备设置声明超时定时器;
在Assert机制被触发,将转发路由设备分为主用路由设备和备用路由设备 之后,备用路由设备就启动声明超时定时器,以方便定时查询是否接收到主用 路由设备发送的声明报文。
302、 所述声明超时定时器超时;
303、 判断是否接收到所述主用路由设备发送的声明报文; 如果没有接收到所述主用路由设备发送的声明报文,所述备用路由设备判
定所述主用路由设备掉线。
2、通过在主用路由设备和备用路由设备之间运行组纟番的BFD (双向转发氺全 测)机制,来快速检测主用路由设备是否掉线的方法如下
报文,进行快速检测;如果备用路由设备在一定时间内没有收到BFD的hello 报文,那么备用路由设备就可判定主用路由设备掉线。
当备用路由设备检测到主用路由设备掉线后,还需要判断现在是否还有下 游路由设备需要上游路由设备的组播包,即备用路由设备需要检测是否还有下 游路由设备发送组播加入报文,因此所述备用路由设备检测到主用路由设备掉 线的步骤之后还包括
所述备用路由设备设置剪枝定时器;
当备用路由设备检测到主用路由设备掉线之后,备用路由设备需要查看在 一定时间内是否接收到组l番加入报文。 所述剪枝定时器超时;判断当前备用路由设备是否接收到下游路由设备发送的组播加入报文; 如果当前备用路由设备没有接收到下游路由设备发送的组播加入报文,即 认为下游路由设备不再需要上游路由器的组播包,则当前备用路由设备向其上 游路由设备发送剪枝请求;所述上游路由设备根据接收到的剪枝请求,删除与 当前备用路由设备之间的组播转发表项。
如果判定当前备用路由设备接收到下游路由设备发送的组播加入报文,即 认为下游路由设备需要上游路由设备的组播包,则当前备用路由设备清除备用 标识,接替主用路由设备的任务,向上游路由设备转发组播加入报文。当前备 用路由设备往往连接多个下游路由设备,对于未发送组播加入报文的下游路由 设备,当前备用路由设备将删除与其连接所对应的出接口 。
如图4所示,本发明实施例提供的一种组播转发装置,包括 标识模块401 ,用于为所述备用路由设备的出接口设置备用标识; 组播转发表项维护模块402,用于维护与下游路由设备之间的组播转发表
项;
接收模块403,用于接收来自上游路由设备的组播包;
掉线检测模块404,用于检测主用路由设备是否掉线;
清除模块405,当所述掉线检测模块404检测到所述主用路由设备掉线后, 用于清除备用路由设备的备用标识;
转发模块406,当所述清除模块405清除所述备用标识后,用于向下游路由 设备转发组播包。
在本发明的另 一实施例中,上述组播转发装置还可以包括:
剪枝定时器模块407,用于设定剪枝超时时间段;
判断模块408,用于判断当前备用路由设备剪枝超时时间段内是否接收到下游路由设备发送的组播加入报文;
发送模块409,用于向上游路由设备发送剪枝请求;
删除模块410,用于删除与下游路由设备连接的出接口 。
在本发明的一个实施例中,如图5所示,掉线检测模块包括
声明超时定时器单元501,用于设定声明超时时间段;
判断单元502,用于判断主用路由设备是否掉线;在所述声明超时时间段内,
查看是否有主用路由设备发送的声明报文,如果没有,则认为主用路由设备掉
线,如果有,则认为主用路由设备工作正常。
本发明实施例提供的一种组播转发系统,包括
主用路由设备,用于向上游路由设备转发来自下游路由设备的组播加入报 文;向下游路由设备转发来自上游路由设备的组播包;
备用路由设备,将出接口设置备用标识,所述备用路由设备与上游路由设 备之间维护组播转发表项,所述备用路由设备与下游路由设备之间维护组播转 发表项;接收来自所述上游路由设备的組播包;检测到主用路由设备掉线后, 清除备用标识;通过清除备用标识的出接口向所述下游路由设备转发所述组播 包。
在本实施例提供的组播转发系统中,在将转发路由设备生成主用路由设备 和备用路由设备之后,对主用路由设备和备用路由设备的设置过程如下
主用路由设备定时向备用路由设备发送声明报文;备用路由设备根据声明 超时定时器单元所规定的固定时间段定时进行检测,以确定主用路由设备的工 作状态;
备用路由设备继续处理下游路由器的组播加入报文,并向上游路由器转发, 在备用路由器与上游路由器之间维护着一条正常的组播转发表项,以保证备用路由器能正常接收上游路由器发送的组播包;
备用路由设备将出接口设置备用标识,与下游路由设备之间维护着正常的 组播转发表项,但并不向与所述出接口连接的下游路由设备转发組播包。
在本实施例提供的组播系统中,当主用路由设备掉线之后,组播转发的过 程如下
主用路由设备停止向备用路由设备发送的声明报文;
备用路由设备根据声明超时定时器单元所规定的固定时间段,检测到在规 定的时间内主用路由器未发送声明报文,于是判定主用路由设备掉线;
备用路由设备开启剪枝定时器,检测在规定时间内是否有下游路由设备发 送组播加入报文;如果没有,则备用路由设备向其上游路由设备发送剪枝请求; 如果有,则所述备用路由设备清除备用标识,接替主用路由设备的任务,向上 游路由设备转发组播加入报文,并向下游路由设备转发组播包。
可以通过程序来指令相关的硬件完成,所述的程序可以存储于计算机可读存储 介质中,如R0M/RAM、》逸碟或光盘等。
以上所述,仅为本发明的具体实施方式
,但本发明的保护范围并不局限于 此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到 变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应 所述以权利要求的保护范围为准。
权利要求
1、一种组播转发方法,其特征在于,包括备用路由设备的出接口设置备用标识,所述备用路由设备与上游路由设备之间维护组播转发表项,所述备用路由设备与下游路由设备之间维护组播转发表项;接收来自所述上游路由设备的组播包;检测到主用路由设备掉线后,清除备用标识;通过清除备用标识的出接口向所述下游路由设备转发所述组播包。
2、 根据权利要求l所述的组播转发方法,其特征在于,在所述检测到主用 路由设备掉线之前,还包括所述主用路由设备接收来自所述上游路由设备的组播包; 所述主用路由设备向所述下游路由设备转发所述组播包。
3、 根据权利要求1或2所述的组播转发方法,其特征在于,所述备用路由 设备存在至少两个;所述检测到主用路由设备掉线后,清除备用标识,包括选取一个备用^各由设备;清除选取的备用路由设备的出接口的备用标识。
4、 根据权利要求1或2所述的组播转发方法,其特征在于,所述检测到主 用路由设备掉线,包括所述备用路由设备设置声明超时定时器; 所述声明超时定时器超时;判断是否接收到所述主用路由设备发送的声明报文; 如果没有接收到所述主用路由设备发送的声明报文,所述备用路由设备判 定所述主用路由设备掉线。
5、 根据权利要求1或2所述的组播转发方法,其特征在于,在向所述下游路 由设备转发所述组播包之前,还包括接收来自所述下游路由设备的组播加入报文; 向所述上游路由设备转发所述组播加入报文
6、 根据权利要求5所述的组播转发方法,其特征在于,还包括 所述备用路由设备设置剪枝定时器; 所述剪枝定时器超时;判断所述备用路由设备是否接收到所述下游路由设备发送的组播加入报文;如果所述备用路由设备没有接收到所述下游路由设备发送的组播加入报 文,所述备用路由设备向所述上游路由设备发送剪枝请求;所述上游路由设备根据接收到的剪枝请求,将与所述备用路由设备连接的 出接口删除。
7、 根据权利要求5所述的组播转发方法,其特征在于,还包括 如果所述备用路由设备接收到所述下游路由设备发送的组播加入报文,查找是否有未发送组播加入报文的下游路由设备;的出接口删除。
8、 一种组播转发装置,其特征在于,包括 标识模块,用于为出接口设置备用标识;组播转发表项维护模块,用于维护与下游路由设备之间的组播转发表项; 接收模块,用于接收来自上游路由设备的组播包; 掉线检测模块,用于检测主用路由设备是否掉线;清除模块,当所述掉线检测模块检测到所述主用路由设备掉线后,用于清除备用标识;转发模块,当所述清除模块清除所述备用标识后,用于向下游路由设备转 发组播包。
9、 根据权利要求8所述的组播转发装置,其特征在于,所述掉线检测模块 包括声明超时定时器单元,用于设定声明超时时间段;判断单元,用于在所述声明超时时间段内,查看是否接收到所述主用路由 设备发送的声明报文,如果没有,则认为所述主用路由设备掉线,如果有,则 认为所述主用路由设备工作正常。
10、 根据权利要求8所述的组播转发装置,其特征在于,还包括 剪枝定时器模块,用于设定剪枝超时时间段;判断模块,用于判断当剪枝超时时间段内是否接收到下游路由设备发送的 组播加入4艮文;发送模块,用于向上游路由设备发送剪枝请求; 删除模块,用于删除与下游路由设备连接的出接口。
11、 一种组播转发系统,其特征在于,包括主用路由设备,用于向上游路由设备转发来自下游路由设备的组播加入报 文;向下游路由设备转发来自上游路由设备的组播包;备用路由设备,将出接口设置备用标识,所述备用路由设备与上游路由设备 之间维护组播转发表项,所述备用路由设备与下游路由设备之间维护组播转发 表项;接收来自所述上游路由设备的组播包;检测到主用路由设备掉线后,清 除备用标识;通过清除备用标识的出接口向所述下游路由设备转发所述组播包。
全文摘要
本发明实施例公开了一种组播转发的方法、装置和系统,涉及通信技术领域。为解决组播网络Assert机制下难以快速收敛的问题而发明。本发明提供的组播转发的方法包括备用路由设备的出接口设置备用标识,所述备用路由设备与上游路由设备之间维护组播转发表项,所述备用路由设备与下游路由设备之间维护组播转发表项;接收来自所述上游路由设备的组播包;检测到主用路由设备掉线后,清除备用标识;通过清除备用标识的出接口向所述下游路由设备转发所述组播包。本发明实施例实现了在组播网络中,主用路由设备掉线后,备用路由设备可以在较快的时间内替代主用路由设备,完成网络的快速收敛,使网络正常运行。
文档编号H04L12/18GK101442485SQ20081018585
公开日2009年5月27日 申请日期2008年12月18日 优先权日2008年12月18日
发明者刘道军 申请人:华为技术有限公司