专利名称:一种组播业务实现方法、装置及系统的制作方法
技术领域:
本发明涉及通信技术领域,特别涉及一种组播业务实现方法、装置及系统。
技术背景
组播技术提供了一种网络层点到多点的数据分发方式,在网络数据传送应用领 域中,组播具有高效的带宽利用,以及一次向多个接收站点发送相同内容的能力,降低 了网络和服务器的负载。目前,组播已经发展成为一种基本具备与单播对等操作的网络 通信技术。随着网络电视、视频点播、远程教育、视频会议、网络游戏等网络业务的兴 起,组播业务在现有网络中得到了越来越广泛的应用,随之而来的,对组播技术的要求 也越来越高,因此,如何提高组播技术在发生网络故障时的可靠性成为目前亟待解决的 问题。
因特网组管理协议(Internet Group Management Protocol, IGMP)运行于组播分发设备以及和组播分发设备直接相连的组播用户以及组播源之间,用于管理组播用户和组 播源或组播分发设备之间的交互,包括组播用户加入或离开组播组、组播源定期查询 组播用户、以及组播用户从组播源或组播分发设备接收组播数据报文。组播分发设备用 于连接组播用户和组播源,当组播源向组播用户发送组播数据流时,需要通过组播分发 设备的转发。通常情况下,组播分发设备与组播源相连的链路称为上行链路,与组播用 户相连的链路称为下行链路。组播分发设备通过下行链路接收用户发送的组播加入和离 开报文,并向组播用户转发组播数据流;通过上行链路将组播用户发送的组播加入和离 开报文发送给组播源,并从组播源接收组播查询报文和组播数据流。
目前,组播分发设备通常通过一条上行链路与一个组播源相连,如图1所示。 在图1所示的连接方式中,如果组播源与组播分发设备之间的上行链路发生故障,组播 流量将无法从组播源转发到组播分发设备,因此,通过组播分发设备接入的所有组播用 户的组播数据流的接收也将中断。
为了保证组播数据流转发的可靠性,现有技术中提供了一种组播分发设备通过 主备链路与组播源相连的方式,如图2所示。组播分发设备与组播源之间通过主备两条 链路相连,两条链路共用同一个组播源,其中链路1为主用链路,链路2为备用链路。 正常情况下,组播分发设备通过链路1接收组播源发送的组播数据流,在链路1发生故障 时,组播分发设备则会发生主备倒换,将链路2倒换成为主用链路,通过倒换后的链路2 接收组播源发送的组播数据流。这样一来,组播分发设备在一条链路发生故障时能够通 过另一条链路接收组播数据流,保证了在链路发生故障时组播数据流的转发不间断。
但是,现有技术中依然存在如下缺点如果组播源发生故障,即使主备两条链 路均正常,但组播分发设备依然无法接收到来自组播源的组播数据流,从而无法保证在 组播源故障时组播数据流的转发不间断。发明内容
本发明提供一种组播业务实现方法、装置及系统,用以解决现有技术中当组播 源发生故障时,导致组播数据流转发间断的问题。
一种组播业务实现方法,该方法包括
组播分发设备根据组播用户终端发送的包含组播组信息的组播报文,确定所述 组播组对应的主用链路和备用链路;
组播分发设备确定所述主用链路不可用时,通过所述组播组对应的备用链路将 所述组播报文转发给组播源服务器进行处理,其中,所述组播分发设备与至少两台配置 有相同的组播流数据库的组播源服务器相连,并且,组播组对应的主用链路和备用链路 所连接的组播源服务器不同。
一种组播业务实现装置,包括
确定单元,用于根据组播用户终端发送的包含组播组信息的组播报文,确定所 述组播组对应的主用链路和备用链路;
转发单元,用于确定所述主用链路不可用时,通过所述组播组对应的备用链路 将所述组播报文转发给组播源服务器进行处理,其中组播组对应的主用链路和备用链路 所连接的组播源服务器不同。
一种组播业务实现系统,包括组播分发设备和至少两台与所述组播分发设备 相连的组播源服务器,其中
所述至少两台组播源服务器上配置有相同的组播流数据库,用于根据组播分发 设备转发的组播报文进行处理;
所述组播分发设备,用于根据组播用户终端发送的包含组播组信息的组播报 文,确定所述组播组对应的主用链路和备用链路;当确定所述主用链路不可用时,通过 所述组播组对应的备用链路将所述组播报文转发给组播源服务器进行处理,其中组播组 对应的主用链路和备用链路所连接的组播源服务器不同。
本发明实施例中通过组播分发设备与至少两台组播源服务器相连,且两台组播 源服务器上配置有相同的组播组数据库,组播分发设备转发组播报文时,根据确定的主 用链路将组播报文转发给对应的组播源服务器,从而可在一台组播源服务器发生故障 时,利用另外的组播源服务器转发,保证组播数据流转发不间断。
图1为现有技术中实现组播业务的系统结构图2为现有技术中实现组播业务的又一系统结构图3为本发明实施例实现组播业务的系统结构图4为本发明实施例中实现组播业务的方法流程图5为本发明实施例中实现组播业务的装置结构图。
具体实施方式
本发明实施例提供了一种组播业务实现方法、装置及系统,可在一台组播源服 务器发生故障时,保证组播数据流转发不间断。
首先,简单介绍一下本发明实施例中实现组播业务的系统结构图,如图3所 示,包括至少两台组播源服务器,在图3中只画出了两台组播源服务器,实际情况中, 还可根据需要增加组播源服务器的数量,每台组播源服务器均通过一条链路与组播分发 设备相连,用于通过组播分发设备向各个组播用户终端发送组播数据流及组播报文。其 中,每台组播源服务器上都配置有相同的组播流数据库,因此,多台组播源服务器可实 现组播组数据库的备份。
本发明实施例提供了一种组播业务实现方法,如图4所示,该方法包括
S401 组播分发设备根据组播用户终端发送的包含组播组信息的组播报文,确 定所述组播组对应的主用链路和备用链路;
S402组播分发设备确定所述主用链路不可用时,通过所述组播组对应的备用 链路将所述组播报文转发给组播源服务器进行处理,其中,所述组播分发设备与至少两 台配置有相同的组播流数据库的组播源服务器相连,并且,组播组对应的主用链路和备 用链路所连接的组播源服务器不同。
通过采用本发明实施例提供的组播业务实现方法,可以在一台组播源服务器发生 故障时,利用备用链路对应的组播源服务器提供服务,从而确保了组播报文的正常转发。
较佳的,为了便于确定主备链路,在确定所述组播组对应的主用链路时,具体 包括查找保存的组播组主备链路表,确定所述组播组对应的主用链路和备用链路;其 中,所述组播组主备链路表中存储有指定组播组对应的主用链路和备用链路,每个指定 组播组对应的主用链路和备用链路所连接的组播源服务器不同。
较佳的,为了更好的实现负荷分担,所述至少两台组播源服务器包括第一组播 源服务器和第二组播源服务器,所述指定组播组包括第一部分组播组和第二部分组播 组,所述第一部分组播组对应的主用链路为组播分发设备与第一组播源服务器之间的链 路,备用链路为组播分发设备与第二组播源服务器之间的链路;所述第二部分组播组对 应的主用链路为组播分发设备与第二组播源服务器之间的链路,备用链路为组播分发设 备与第一组播源服务器之间的链路。
较佳的,为了更好的实现组播流数据库的备份,所述至少两台组播源服务器包 括第一组播源服务器和第二组播源服务器,所述指定组播组为所有组播组,所有组播组 对应的主用链路为组播分发设备与第一组播源服务器之间的链路,备用链路为组播分发 设备与第二组播源服务器之间的链路。
下面以一个优选实施例详细描述一下本发明提供的组播业务实现方法,在本优 选实施例中,以组播分发设备连接两台组播源服务器为例进行说明,当然,在具体实现 时,组播分发设备也可以连接多台组播源服务器。该方法具体包括
步骤一组播分发设备建立与第一组播源服务器和第二组播源服务器之间的链 路,其中,第一组播源服务器和第二组播源服务器上配置有相同的组播流数据库。
步骤二 组播分发设备将与第一组播源服务器和第二组播源服务器之间的链路 分别设置为指定组播组的主用链路或备用链路。
具体实现时,可以采用多种方式,为了描述方便,以下将组播分发设备与第一 组播源服务器之间的链路称为第一链路,将组播分发设备与第二组播源服务器之间的链 路称为第二链路。例如,组播分发设备可以将第一链路设置为所有组播组的主用链路,6将第二链路设置为所有组播组的备用链路。这样,当第一链路正常时,所有的组播数据 流都通过第一链路进行转发,只有当第一链路故障时,才使用第二链路。其中,第一链 路故障具体包括第一组播源服务器故障以及第一链路本身故障。采用这种方式设置主 备链路,可以实现组播数据流的备份,当一台组播源服务器故障时,可以通过另一台组 播源服务器确保组播数据流的正常转发。
另外,还可以事先将所有组播组分为两部分,其中,第一部分的组播组采用第 一链路作为主用链路,采用第二链路作为备用链路;第二部分的组播组采用第二链路作 为主用链路,采用第一链路作为备用链路。这样,当第一链路和第二链路均正常时,第 一部分的组播组中的组播报文及组播数据流通过第一链路进行转发,第二部分的组播组 中的组播报文及组播数据流通过第二链路进行转发。当第一链路故障时,则通过第二链 路转发第一部分的组播组中的组播报文及组播数据流;当第二链路故障时,则通过第一 链路转发第二部分的组播组中的组播报文及组播数据流。其中,第一链路故障具体包 括第一组播源服务器故障以及第一链路本身故障。采用这种方式设置主备链路,不仅 可以实现组播数据流的备份,而且通过两台组播源服务器在正常状况下分别负责对应组 播组的转发,还可以实现负荷分担,避免了一台组播源服务器转发所有组播组报文时负 荷过重的情况。
具体的,设置第一部分的组播组采用第一链路作为主用链路,采用第二链路作 为备用链路的具体实现方式包括配置组播组和访问控制列表(Access Control Lists, ACL)绑定,然后再将ACL和组播分发设备上连接指定组播源服务器的路由端口绑定, 从而实现组播组和路由端口绑定,即和主备链路绑定。这里,由于组播分发设备一共连 接了两台组播源服务器,因此,在组播分发设备上需要有两个路由端口,即第一路由端 口和第二路由端口,其中,第一路由端口用于与第一组播源服务器相连,第二路由端口 用于与第二组播源服务器相连。因此,假设将组播组1和ACLl进行绑定,将组播组2 和ACL2进行绑定,之后,需要将ACL再与路由端口进行绑定,这里,每个路由端口需 要绑定两个ACL,即主ACL和备ACL,例如,将第一路由端口的主ACL设置为ACLl, 将第一路由端口的备ACL设置为ACL2 ;将第二路由端口的主ACL设置为ACL2,将第二 路由端口的备ACL设置为ACL1。这样,就实现了组播组1的主用链路为第一链路,备 用链路为第二链路;组播组2的主用链路为第二链路,备用链路为第一链路。具体实现 时,为了方便组播分发设备在转发包含组播组信息的组播报文时确定所述组播组对应的 主用链路,可以将上述组播组与ACL以及ACL与路由端口之间的对应关系进行整理后存 储在组播组主备链路表中,即在组播组主备链路表中可以只存储组播组以及对应的主备 链路信息,通过查找该组播组主备链路表,就可以确定为指定组播组提供服务时,组播 分发设备与各个组播源服务器之间的各条链路的主备信息。当然,也可以不进行整理, 直接存储组播组与ACL以及ACL与路由端口之间的对应关系,在查找时,先查找到对应 的ACL,然后再查找对应的路由端口,总之,只要能够查询到组播组对应的主备链路信 息即可。
步骤三、组播分发设备收到组播组用户终端发来的包含组播组信息的组播报文 后,根据上述组播组主备链路表确定组播组对应的主用链路,并判断该主用链路是否可 用,当主用链路可用时,利用主用链路将该组播报文转发给主用链路对应的组播源服务器处理;当主用链路不可用时,利用备用链路将该组播报文转发给备用链路对应的组播 源服务器处理。
当然,在具体实现时,也可以不采用组播组主备链路表的存储方式,而通过其 他方式确定主备链路,只要能够实现查询即可。下面以组播分发设备收到组播组用户 终端发来的组播加入报文为例来说明具体的查询过程,首先,组播分发设备根据该组播 加入报文对应的组播组查找保存在组播组主备链路表中的组播组和ACL的对应关系, 例如,查找到该组播组对应的ACL为ACL1,然后,遍历各个路由端口信息,本实施例 中,共有两个路由端口,通过遍历查询的方式,发现第一路由端口的主ACL与ACLl相 等,则第一路由端口即为该组播组的主路由端口,因此,第一路由端口对应的链路,即 第一链路即为该组播组的主用链路;第二路由端口的备ACL与ACLl相等,则第二路由 端口即为该组播组的备路由端口,因此,第二路由端口对应的链路,即第二链路即为该 组播组的备用链路。如果主用链路,即第一链路可用,则组播分发设备通过第一链路将 该组播加入报文转发给第一组播源服务器。如果主用链路发生故障,则组播分发设备通 过备用链路,即第二链路将该组播加入报文转发给第二组播源服务器。相应的,组播源 服务器收到组播加入报文后,记录下收到该组播加入报文的路由端口,并通过该路由端 口向组播用户终端返回相应的组播数据流。这里描述的查询方式对应的是在组播组主备 链路表中直接存储组播组与ACL以及ACL与路由端口之间的对应关系时的查询方式,当 然,如果在组播组主备链路表中存储的是整理后的组播组和主备链路的对应关系,则查 询起来会更加简便。
另外,为了更好的判断链路是否发生故障,组播分发设备可以定期或不定期的 检测链路状况,例如,通过检测底层链路的可用性或者通过检测组播流是否正常转发等 方式来判断链路是否发生故障,当发现链路发生故障时,则需要记录下故障链路,在下 次收到以该故障链路作为主用链路的组播报文时,采用备用链路转发该组播报文。
而且,在本发明实施例中,还可以根据主备链路的负载情况等信息,由组播分 发设备执行主备倒换命令,即将原来的备用链路切换为主用链路,原来的主用链路切换 为备用链路。并且,通过新的主用链路发送组播加入报文,并通过原来的主用链路发 送组播离开报文,收到组播离开报文的组播源服务器还可以向用户终端发送组播查询报 文,具体的报文格式和发送流程与现有技术相同,此处不再赘述。
本实施例中的组播分发设备可以包括交换机以及路由器等,只要支持IGMP协 议即可,同时,本发明也适用于支持组播侦听发现协议(Multicast Listener Discover, MLD)协议的网络设备。并且,本实施例中的组播源服务器可以为多台,并且,可以根 据组播源服务器的数量,对所有组播组进行划分,例如,当有三台组播源服务器时,可 将组播组分为三部分,第一部分组播组的主用链路为组播分发设备与第一组播源服务器 之间的链路,组播分发设备与第二组播源服务器以及第三组播源服务器之间的这两条链 路同时作为第一部分组播组的备用链路;第二部分组播组的主用链路为组播分发设备与 第二组播源服务器之间的链路,组播分发设备与第一组播源服务器以及第三组播源服务 器之间的这两条链路同时作为第二部分组播组的备用链路;第三部分组播组的主用链路 为组播分发设备与第三组播源服务器之间的链路,组播分发设备与第一组播源服务器以 及第二组播源服务器之间的这两条链路同时作为第三部分组播组的备用链路。这时,当主用链路出现故障时,可通过一定的策略从两条备用链路中选择一条链路作为主用链 路。通过这种方式,可以更好的确保组播数据流的正常转发,并且,当组播组数量较多 时,可以更好的实现负荷分担。
通过采用本发明实施例提供的组播业务实现方法,可以在一台组播源服务器发 生故障时,通过其他组播源服务器到组播分发设备之间的链路确保组播数据流的正常转 发,而且,通过多台组播源服务器不仅可以实现备份还可以实现组播流的负荷分担。
本发明实施例还提供了一种组播业务实现装置,如图5所示,所述装置与至少 两台组播源服务器相连,且所述至少两台组播源服务器上配置有相同的组播流数据库, 该装置包括
确定单元51,用于根据组播用户终端发送的包含组播组信息的组播报文,确定 所述组播组对应的主用链路和备用链路;
转发单元52,用于确定所述主用链路不可用时,通过所述组播组对应的备用链 路将所述组播报文转发给组播源服务器进行处理,其中组播组对应的主用链路和备用链 路所连接的组播源服务器不同。
较佳的,所述确定单元51,具体包括
查找单元,用于查找保存的组播组主备链路表,确定所述组播组对应的主用链 路和备用链路;
存储单元,用于存储所述组播组主备链路表,所述组播组主备链路表中存储有 指定组播组对应的主用链路和备用链路,每个指定组播组对应的主用链路和备用链路所 连接的组播源服务器不同。
通过采用本发明实施例提供的组播业务实现装置,可以在一台组播源服务器发 生故障时,通过其他组播源服务器到组播分发设备之间的链路确保组播数据流的正常转 发,而且,通过多台组播源服务器不仅可以实现还可以实现组播流的负荷分担。
本发明实施例还提供了一种组播业务实现系统,包括组播分发设备和至少两 台与所述组播分发设备相连的组播源服务器,其中
所述至少两台组播源服务器上配置有相同的组播流数据库,用于根据组播分发 设备转发的组播报文进行处理;
所述组播分发设备,用于根据组播用户终端发送的包含组播组信息的组播报 文,确定所述组播组对应的主用链路和备用链路;当确定所述主用链路不可用时,通过 所述组播组对应的备用链路将所述组播报文转发给组播源服务器进行处理,其中组播组 对应的主用链路和备用链路所连接的组播源服务器不同。
较佳的,所述组播分发设备用于查找保存的组播组主备链路表,确定所述组 播组对应的主用链路和备用链路;其中,所述组播组主备链路表中存储有指定组播组对 应的主用链路和备用链路,每个指定组播组对应的主用链路和备用链路所连接的组播源 服务器不同。
较佳的,所述至少两台组播源服务器包括第一组播源服务器和第二组播源服务 器,所述指定组播组包括第一部分组播组和第二部分组播组,所述第一部分组播组对应 的主用链路为组播分发设备与第一组播源服务器之间的链路,备用链路为组播分发设备 与第二组播源服务器之间的链路;所述第二部分组播组对应的主用链路为组播分发设备与第二组播源服务器之间的链路,备用链路为组播分发设备与第一组播源服务器之间的 链路。
通过采用本发明实施例提供的组播业务实现系统,可以在一台组播源服务器发 生故障时,通过其他组播源服务器到组播分发设备之间的链路确保组播数据流的正常转 发,而且,通过多台组播源服务器不仅可以实现还可以实现组播流的负荷分担。
显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的 精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的 范围之内,则本发明也意图包含这些改动和变型在内。
权利要求
1.一种组播业务实现方法,其特征在于,该方法包括组播分发设备根据组播用户终端发送的包含组播组信息的组播报文,确定所述组播 组对应的主用链路和备用链路;组播分发设备确定所述主用链路不可用时,通过所述组播组对应的备用链路将所述 组播报文转发给组播源服务器进行处理,其中,所述组播分发设备与至少两台配置有相 同的组播流数据库的组播源服务器相连,并且,组播组对应的主用链路和备用链路所连 接的组播源服务器不同。
2.如权利要求1所述的方法,其特征在于,所述组播分发设备确定所述组播组对应的 主用链路和备用链路,具体包括查找保存的组播组主备链路表,确定所述组播组对应的主用链路和备用链路;其 中,所述组播组主备链路表中存储有指定组播组对应的主用链路和备用链路,每个指定 组播组对应的主用链路和备用链路所连接的组播源服务器不同。
3.如权利要求2所述的方法,其特征在于,所述至少两台组播源服务器包括第一组 播源服务器和第二组播源服务器,所述指定组播组包括第一部分组播组和第二部分组播 组,所述第一部分组播组对应的主用链路为组播分发设备与第一组播源服务器之间的链 路,备用链路为组播分发设备与第二组播源服务器之间的链路;所述第二部分组播组对应的主用链路为组播分发设备与第二组播源服务器之间的链 路,备用链路为组播分发设备与第一组播源服务器之间的链路。
4.如权利要求2所述的方法,其特征在于,所述至少两台组播源服务器包括第一组播 源服务器和第二组播源服务器,所述指定组播组为所有组播组,所有组播组对应的主用 链路为组播分发设备与第一组播源服务器之间的链路,备用链路为组播分发设备与第二 组播源服务器之间的链路。
5.如权利要求1所述的方法,其特征在于,所述组播分发设备为路由器或交换机。
6.—种组播业务实现装置,其特征在于,包括确定单元,用于根据组播用户终端发送的包含组播组信息的组播报文,确定所述组 播组对应的主用链路和备用链路;转发单元,用于确定所述主用链路不可用时,通过所述组播组对应的备用链路将所 述组播报文转发给组播源服务器进行处理,其中组播组对应的主用链路和备用链路所连 接的组播源服务器不同。
7.如权利要求6所述的装置,其特征在于,所述确定单元,具体包括查找单元,用于查找保存的组播组主备链路表,确定所述组播组对应的主用链路和 备用链路;存储单元,用于存储所述组播组主备链路表,所述组播组主备链路表中存储有指定 组播组对应的主用链路和备用链路,每个指定组播组对应的主用链路和备用链路所连接 的组播源服务器不同。
8.—种组播业务实现系统,其特征在于,包括组播分发设备和至少两台与所述组 播分发设备相连的组播源服务器,其中所述至少两台组播源服务器上配置有相同的组播流数据库,用于根据组播分发设备 转发的组播报文进行处理;所述组播分发设备,用于根据组播用户终端发送的包含组播组信息的组播报文,确 定所述组播组对应的主用链路和备用链路;当确定所述主用链路不可用时,通过所述组 播组对应的备用链路将所述组播报文转发给组播源服务器进行处理,其中组播组对应的 主用链路和备用链路所连接的组播源服务器不同。
9.如权利要求8所述的系统,其特征在于,所述组播分发设备用于查找保存的组 播组主备链路表,确定所述组播组对应的主用链路和备用链路;其中,所述组播组主备 链路表中存储有指定组播组对应的主用链路和备用链路,每个指定组播组对应的主用链 路和备用链路所连接的组播源服务器不同。
10.如权利要求9所述的系统,其特征在于,所述至少两台组播源服务器包括第一组 播源服务器和第二组播源服务器,所述指定组播组包括第一部分组播组和第二部分组播 组,所述第一部分组播组对应的主用链路为组播分发设备与第一组播源服务器之间的链 路,备用链路为组播分发设备与第二组播源服务器之间的链路;所述第二部分组播组对应的主用链路为组播分发设备与第二组播源服务器之间的链 路,备用链路为组播分发设备与第一组播源服务器之间的链路。
全文摘要
本发明公开了一种组播业务实现方法、装置及系统,该方法包括组播分发设备根据组播用户终端发送的包含组播组信息的组播报文,确定所述组播组对应的主用链路和备用链路;组播分发设备确定所述主用链路不可用时,通过所述组播组对应的备用链路将所述组播报文转发给组播源服务器进行处理,其中,所述组播分发设备与至少两台配置有相同的组播流数据库的组播源服务器相连,并且,组播组对应的主用链路和备用链路所连接的组播源服务器不同。通过采用本发明实施例提供的方法,可以在组播源服务器发生故障时,通过其他的组播源服务器保障组播报文的正常转发。
文档编号H04L12/56GK102025629SQ20101058426
公开日2011年4月20日 申请日期2010年12月10日 优先权日2010年12月10日
发明者陈维花 申请人:中兴通讯股份有限公司