一种组播控制方法及装置、组播系统与流程

文档序号:12752194阅读:279来源:国知局
一种组播控制方法及装置、组播系统与流程

本发明涉及网络数据传输技术领域,特别是涉及一种组播控制方法及装置。本发明还涉及一种组播系统。



背景技术:

组播技术有效地解决了单点发送、多点接收的问题,实现了IP网络中点到多点的高效数据传送,相比于单播和广播技术,组播技术能够提高网络资源的利用率以及网络的可扩展性,还有助于节约网络带宽,降低网络负载。

随着网络普及以及智能移动设备的广泛应用,能够体现组播技术优势的应用领域越来越多,如网络多媒体等。但就目前技术阶段,组播技术要实现大规模应用,还有不少的难题亟待解决。其中,在传统组播技术中,网络设备是根据组播协议控制组播数据进行转发,但现有组播协议应用不广泛,不同厂商设备支持的组播协议不一致,因此阻碍了组播技术的普遍应用。



技术实现要素:

本发明的目的是提供一种组播控制方法及装置,使组播网络中的路由器只需根据下发的组播转发表进行数据转发,与传统的组播实现方法相比避免了基于组播协议进行数据转发,可忽视设备之间的差异。本发明还提供一种组播系统。

为实现上述目的,本发明提供如下技术方案:

一种组播控制方法,包括:

生成组播网络的拓扑结构图;

根据数据源主机、目的主机、组播业务类型以及所述拓扑结构图构建组播树,并基于所述组播树为组播网络中的路由器分别生成组播转发表;

将所述组播转发表下发给所述组播网络中对应的路由器,控制所述路由器根据对应的组播转发表进行数据转发。

可选地,所述生成组播网络的拓扑结构图包括:

命令组播网络中的每一路由器向自身的所有活动接口发出第一报文,所述第一报文包含本路由器的标识、网际协议地址以及发出该第一报文的接口的标识;

接收每一所述路由器的相邻路由器在接收到所述第一报文后发出的第二报文,所述第二报文包含所述第一报文,并包含所述相邻路由器的标识、网际协议地址以及接收所述第一报文的接口的标识;

根据组播网络中所有所述路由器返回的所述第二报文生成组播网络的拓扑结构图。

可选地,还包括以定时方式更新生成所述组播网络的拓扑结构图。

可选地,还包括管理所述组播网络中的路由器,具体包括:

接收并记录组播网络中的路由器发送的、指示其接口状态变化的第三报文,所述接口状态变化包括所述接口接入路由器或者所述接口断开连接路由器,所述第三报文的信息包括所述接口的标识、接入路由器或者断开路由器的标识和网际协议地址;

按照所述第三报文的信息与接入的路由器建立连接,或者移除断开的路由器。

可选地,还包括管理所述组播网络中的主机,具体包括:

接收并记录组播网络中的路由器发送的、指示有主机与所述路由器建立连接或者有主机与所述路由器断开连接的第四报文,所述第四报文的信息包括与所述路由器建立连接的主机的标识和网际协议地址,或者与所述路由器断开连接的主机的标识和网际协议地址;

按照所述第四报文的信息与接入的主机建立连接或者移除断开的主机。

可选地,组播网络中的路由器在接收到主机发送的组播报文后,将所述组播报文中记录的目的主机的网际协议地址与组播转发表中的信息进行匹配,若匹配失败,则停止转发所述组播报文,并将所述组播报文返回;

所述控制所述路由器根据对应的组播转发表进行数据转发,包括:

根据返回的所述组播报文的信息确定组播树的源主机,并重新生成组播转发表,下发给对应的路由器。

可选地,所述控制所述路由器根据对应的组播转发表进行数据转发,还包括:当检测到所述路由器统计的组播转发计数值在规定时间内没有发生变化时,控制删除所述路由器中对应的组播转发表。

一种组播控制装置,包括:

拓扑结构生成模块,用于生成组播组网络的拓扑结构图;

组播树生成模块,用于根据数据源主机、目的主机、组播业务类型以及所述拓扑结构图构建组播树;

转发表生成模块,用于基于所述组播树为组播网络中的路由器分别生成组播转发表;

转发控制模块,用于将所述组播转发表下发给所述组播组网络中对应的路由器,控制所述路由器根据对应的组播转发表进行数据转发。

可选地,所述拓扑结构生成模块还用于以定时方式更新生成所述组播网络的拓扑结构图。

一种组播系统,包括:

如上所述的组播控制装置;

组播网络,所述组播网络包括相互连接的路由器以及分别与所述路由器连接的主机。

由上述技术方案可以看出,本发明所提供的组播控制方法及装置,方法包括:生成组播网络的拓扑结构图;根据数据源主机、目的主机、组播业务类型以及所述拓扑结构图构建组播树,并基于所述组播树,为组播网络中的路由器分别生成组播转发表;将所述组播转发表下发给所述组播网络中对应的路由器,控制所述路由器根据对应的组播转发表进行数据转发。

本发明组播控制方法及装置,以及包含所述组播控制装置的组播系统,使组播网络中的路由器只需根据下发的组播转发表进行数据转发,与现有技术相比避免了基于组播协议进行数据转发,使得在进行数据组播时可以忽视设备之间的差异,因此有助于组播技术得到更普遍和广泛的应用。

附图说明

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1为本发明实施例提供的一种组播控制方法的流程图;

图2为本发明实施例提供的一种组播控制装置的示意图;

图3为本发明实施例提供的一种组播控制装置在组播网络中的应用示意图。

具体实施方式

为了使本技术领域的人员更好地理解本发明中的技术方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。

请参考图1,为本发明实施例提供的一种组播控制方法的流程图,本实施例组播控制方法包括:

S10:生成组播网络的拓扑结构图;

S11:根据数据源主机、目的主机、组播业务类型以及所述拓扑结构图构建组播树,并基于所述组播树为组播网络中的路由器分别生成组播转发表;

S12:将所述组播转发表下发给所述组播网络中对应的路由器,控制所述路由器根据对应的组播转发表进行数据转发。

可以看出,本实施例组播控制方法包括:生成组播网络的拓扑结构图;根据数据源主机、目的主机、组播业务类型以及所述拓扑结构图构建组播树,并基于所述组播树,为组播网络中的路由器分别生成组播转发表;将所述组播转发表下发给所述组播网络中对应的路由器,控制所述路由器根据对应的组播转发表进行数据转发。本发明组播控制方法,使组播网络中的路由器只需根据下发的组播转发表进行数据转发,与现有技术相比避免了基于组播协议进行数据转发,使得在进行数据组播时可以忽视设备之间的差异,因此有助于组播技术得到更普遍和广泛的应用。

下面对本实施例组播控制方法进行详细说明。本实施例组播控制方法中,可设置组播控制装置,以下各步骤的执行主体为所述组播控制装置。本实施例组播控制方法包括以下步骤:

S10:生成组播网络的拓扑结构图。

首先,组播控制装置与组播网络中的各路由器建立连接,获取组播网络中各路由器及主机的信息,包括各设备的标识和网际协议地址,具体的可通过openflow协议与各路由器建立连接。

生成组播网络的拓扑结构图可通过以下方法实现,具体包括以下步骤:

S100:命令组播网络中的每一路由器向自身的所有活动接口发出第一报文,所述第一报文包含本路由器的标识、网际协议地址以及发出该第一报文的接口的标识。

所述第一报文为链路探测包,其中包含本路由器的标识、网际协议地址以及发出接口的标识等信息。

S101:接收每一所述路由器的相邻路由器在接收到所述第一报文后发出的第二报文,所述第二报文包含所述第一报文,并包含所述相邻路由器的标识、网际协议地址以及接收所述第一报文的接口的标识。

每一路由器的相邻路由器在接收到第一报文后,将第一报文封装成第二报文,将第二报文发给组播控制装置,第二报文中同时包含了所述相邻路由器的标识、网际协议地址以及接收所述第一报文的接口的标识,组播控制装置根据第二报文可以获知对应的两个路由器之间的连接关系。

S102:根据组播网络中所有所述路由器返回的所述第二报文生成组播网络的拓扑结构图。

根据网络中所有路由器返回的第二报文,记录各路由器之间的连接情况,则可生成整个组播网络的拓扑结构图。

示例性的,组播控制装置可通过openflow协议与组播网络中所有路由器建立连接。当网络中所有路由器接入连接,并注册完成后,命令组播网络中的每一路由器发出LLDP协议链路探测包,其相邻的路由器收到这个LLDP协议探测包后,会把它封装形成第二数据包上传,进而根据网络中所有路由器返回的第二数据包可以得到网络的拓扑结构图。

本实施例方法,还包括管理所述组播网络中的路由器,具体包括:接收并记录组播网络中的路由器发送的、指示其接口状态变化的第三报文,所述接口状态变化包括所述接口接入路由器或者所述接口断开连接路由器,所述第三报文的信息包括所述接口的标识、接入路由器或者断开路由器的标识和网际协议地址;按照所述第三报文的信息与接入的路由器建立连接,或者移除断开的路由器。

本实施例方法可实现对组播网络中连接的路由器的管理和维护,当有新的路由器接入到组播网络中,或者组播网络中有路由器断开连接时,其相邻路由器感应到接口状态发生变化,则该路由器发出指示其接口状态变化的第三报文,第三报文的信息包括所述接口的标识、接入路由器或者断开路由器的标识和网际协议地址,进而根据第三报文的信息与接入的路由器建立连接,或者移除断开的路由器。

本实施例中,还包括管理所述组播网络中的主机,具体包括:接收并记录组播网络中的路由器发送的、指示有主机与所述路由器建立连接或者有主机与所述路由器断开连接的第四报文,所述第四报文的信息包括与所述路由器建立连接的主机的标识和网际协议地址,或者与所述路由器断开连接的主机的标识和网际协议地址;按照所述第四报文的信息与接入的主机建立连接或者移除断开的主机。

示例性的,在网络中,当有主机接入到某个组播组时,主机向与其连接的路由器发送IGMP协议报文,路由器识别到主机发来的IGMP报文,并把这个报文封装返回给组播控制装置。进而可以根据返回的IGMP报文获得接入组播组中主机的信息。

本实施例方法可实现对组播网络中主机的管理和维护,在网络中,当有主机接入某一组播组或者有主机退出某一组播组时,相应的路由器发出指示有主机与该路由器建立连接或者有主机与该路由器断开连接的第四报文,第四报文的信息包括相应主机的标识和网际协议地址,进一步可根据第四报文的信息与接入的主机建立连接或者移除断开的主机。

因此本实施例组播控制方法,具有对组播成员的管理和维护功能。

在组播网络中,随时有新的路由器接入组播网络,或者有路由器退出组播网络,为了实现对网络拓扑的实时维护,本实施例组播控制方法,还包括以定时方式更新所述组播网络的拓扑结构图。以维护网络拓扑的实时情况。

S11:根据数据源主机、目的主机、组播业务类型以及所述拓扑结构图构建组播树,并基于所述组播树,为组播网络中的路由器分别生成组播转发表。

组播树的生成可以通过最短路径树算法或者最小生成树生成算法来生成。最小生成树生成算法包括克鲁斯卡尔(kruskal)算法或普里姆(prim)算法。

所述组播转发表是根据拓扑数据库来确定的,在拓扑数据库中,拓扑结构图记录有每个路由器的每一接口标识及网际协议地址、目的路由接口及网际协议地址,组播源的网际协议地址等。

对于控制范围内的每个路由器,会生成对应各自的组播转发表,组播转发表包含的信息内容包括路由器的标识、路由器所有接口的标识,以及与接口相连的路由器的标识、接口标识及网际协议地址,与接口连接的主机、主机的网际协议地址。

S12:将所述组播转发表下发给所述组播网络中对应的路由器,控制所述路由器根据对应的组播转发表进行数据转发。

具体的,当组播网络中的主机开始进行组播业务时,路由器接收到主机发送的组播报文后,将所述组播报文中记录的目的主机的网际协议地址与组播转发表中的信息进行匹配,即检测组播报文中记录的目的主机的网际协议地址与组播转发表中的目的主机的网际协议地址是否一致,若一致,则匹配成功,路由器则根据组播转发表中记录的与该目的主机对应连接的路由器接口,从该接口将组播报文发出;若不一致,则匹配失败,则停止转发所述组播报文,并将所述组播报文返回给组播控制装置。然后组播控制装置根据返回的所述组播报文的信息查询出组播树的数据源主机,并重新生成组播转发表,下发给对应的路由器。

进一步的,所述控制所述路由器根据对应的组播转发表进行数据转发,还包括:当检测到所述路由器统计的组播转发计数值在规定时间内没有发生变化时,控制删除所述路由器中对应的组播转发表。

在规定时间内,若路由器中统计的组播转发计数值没有变化,表明该组播转发表没有转发成功,已达到规定时间则删除。

本实施例组播控制方法,实现了对组播网络拓扑结构的维护和对组播网络中路由器转发数据的控制,通过生成组播网络的拓扑结构,并根据组播网络的拓扑结构图生成组播树,基于组播树生成组播转发表下发给路由器。以控制路由器进行数据转发,路由器只需根据组播转发表进行数据转发。与现有的组播实现方法相比,避免了根据组播协议进行数据转发,可屏蔽不同厂商设备支持的组播协议的差异;另外,路由器不需要维护网络拓扑信息,从而可大大减轻转发面的开销,并提高数据的转发效率。

相应的,本发明实施例还提供一种组播控制装置,请参考图2,所述装置包括:

拓扑结构生成模块20,用于生成组播组网络的拓扑结构图;

组播树生成模块21,用于根据数据源主机、目的主机、组播业务类型以及所述拓扑结构图构建组播树;

转发表生成模块22,用于基于所述组播树为组播网络中的路由器分别生成组播转发表;

转发控制模块23,用于将所述组播转发表下发给所述组播组网络中对应的路由器,控制所述路由器根据对应的组播转发表进行数据转发。

可以看出,本实施例提供的组播控制装置,包括拓扑结构生成模块、组播树生成模块、转发表生成模块和转发控制模块,其中,拓扑结构生成模块,用于生成组播组网络的拓扑结构图;组播树生成模块,用于根据数据源主机、目的主机、组播业务类型以及所述拓扑结构图构建组播树;转发表生成模块,用于基于所述组播树为组播网络中的路由器分别生成组播转发表;转发控制模块,用于将所述组播转发表下发给所述组播组网络中对应的路由器,控制所述路由器根据对应的组播转发表进行数据转发。因此,本实施例组播控制装置具有对组播网络拓扑结构的获取及维护,并向组播网络中路由器下发控制信息,以控制其进行数据转发,路由器只需根据组播转发表进行数据转发。与现有的组播实现方法相比,避免了根据组播协议进行数据转发,可屏蔽不同厂商设备支持的组播协议的差异;另外,路由器不需要维护网络拓扑信息,从而可大大减轻转发面的开销,并提高数据的转发效率。

本实施例中,所述拓扑结构生成模块20生成组播组网络的拓扑结构图,具体包括以下过程:命令组播网络中的每一路由器向自身的所有活动接口发出第一报文,第一报文包含本路由器的标识、网际协议地址以及发出该第一报文的接口的标识;接收每一路由器的相邻路由器在接收到第一报文后发出的第二报文,第二报文包含第一报文,并包含相邻路由器的标识、网际协议地址以及接收第一报文的接口的标识;根据组播网络中所有路由器返回的第二报文生成组播网络的拓扑结构图。

在具体应用中,组播控制装置与组播网络中的所有路由器建立连接,可以通过openflow协议与路由器建立连接,参考图3所示,图3为本实施例组播控制装置在组播网络中的应用示意图。

组播网络中的所有路由器与控制装置建立连接完成注册后,控制装置命令组播网络中的每一路由器向自身的所有活动接口发出第一报文,第一报文包含本路由器的标识、网际协议地址以及发出该第一报文的接口的标识,每一路由器的相邻路由器在接收到第一报文后,将其封装成第二报文,上传给所述控制装置;控制装置根据组播网络中所有路由器返回的第二报文,可以得到各路由器之间的连接情况,生成整个组播网络的拓扑结构图。示例性的,控制装置命令组播网络中的每一路由器发出LLDP协议链路探测包,其相邻的路由器收到这个LLDP协议探测包后,会把它封装形成第二数据包上传,进而根据网络中所有路由器返回的第二数据包可以得到网络的拓扑结构图。

在组播网络中,随时有新的路由器接入组播网络,或者有路由器退出组播网络,为了实现对网络拓扑的实时维护,本实施例组播控制装置,其网络拓扑生成模块20以定时方式更新生成组播网络的拓扑结构图。以维护网络拓扑的实时情况。

进一步的,所述组播控制装置还包括组播网络管理模块,用于接收并记录组播网络中的路由器发送的、指示其接口状态变化的第三报文,所述接口状态变化包括所述接口接入路由器或者所述接口断开连接路由器,所述第三报文的信息包括所述接口的标识、接入路由器或者断开路由器的标识和网际协议地址,并按照所述第三报文的信息与接入的路由器建立连接,或者移除断开的路由器;

所述组播网络管理模块还用于接收并记录组播网络中的路由器发送的、指示有主机与所述路由器建立连接或者有主机与所述路由器断开连接的第四报文,所述第四报文的信息包括与所述路由器建立连接的主机的标识和网际协议地址,或者与所述路由器断开连接的主机的标识和网际协议地址,并按照所述第四报文的信息与接入的主机建立连接或者移除断开的主机。

当组播网络中的主机开始进行组播业务时,组播网络中的路由器在接收到主机发送的组播报文后,将所述组播报文中记录的目的主机的网际协议地址与组播转发表中的信息进行匹配,即检测组播报文中记录的目的主机的网际协议地址与组播转发表中的目的主机的网际协议地址是否一致,若一致,则匹配成功,路由器则根据组播转发表中记录的与该目的主机对应连接的路由器接口,从该接口将组播报文发出;若不一致,则匹配失败,则停止转发所述组播报文,并将所述组播报文返回给组播控制装置。然后组播控制装置根据返回的所述组播报文的信息查询出组播树的数据源主机,并重新生成组播转发表,下发给对应的路由器。

进一步的,所述转发控制模块23还用于当检测到所述路由器统计的组播转发计数值在规定时间内没有发生变化时,控制删除所述路由器中对应的组播转发表。

相应的,本发明实施例还提供一种组播系统,包括:

如上所述的组播控制装置;

组播网络,所述组播网络包括相互连接的路由器以及分别与所述路由器连接的主机。

本实施例组播系统,通过其组播控制装置实现对组播网络拓扑结构的获取及维护,并向组播网络中路由器下发控制信息,以控制其进行数据转发,路由器只需根据组播转发表进行数据转发。与现有的组播实现方法相比,避免了根据组播协议进行数据转发,可屏蔽不同厂商设备支持的组播协议的差异;另外,使路由器不需要维护网络拓扑信息,从而可大大减轻转发面的开销,并提高数据的转发效率。

以上对本发明所提供的一种组播控制方法及装置、组播系统进行了详细介绍。本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想。应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以对本发明进行若干改进和修饰,这些改进和修饰也落入本发明权利要求的保护范围内。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1