CN101789902B - 一种组播数据流的负载均衡方法、路由设备及网络系统 - Google Patents
一种组播数据流的负载均衡方法、路由设备及网络系统 Download PDFInfo
- Publication number
- CN101789902B CN101789902B CN2009102601134A CN200910260113A CN101789902B CN 101789902 B CN101789902 B CN 101789902B CN 2009102601134 A CN2009102601134 A CN 2009102601134A CN 200910260113 A CN200910260113 A CN 200910260113A CN 101789902 B CN101789902 B CN 101789902B
- Authority
- CN
- China
- Prior art keywords
- routing device
- igmp
- multicast
- shared network
- message
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Images
Landscapes
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明公开了一种组播数据流的负载均衡方法、路由设备及网络系统,其中方法包括:当组播数据接收设备连接的共享网络中的各路由设备接收到组播数据接收设备发送的IGMP加入报文时,使用设定的散列算法对该IGMP加入报文中的信息进行计算,确定出共享网络中唯一处理所述IGMP加入报文的第一路由设备;各路由设备确定自身是否是所述第一路由设备;若是,处理所述IGMP加入报文;若否,忽略IGMP加入报文。本发明中组播数据接收设备发送的每一个组播业务的IGMP加入报文都可能由共享网络中不同路由设备分别进行处理,避免了现有的PIM-SM组播协议DR机制带来的组播数据流负载不均衡及组播数据接收端DR负载过大的问题。
Description
技术领域
本发明涉组播技术领域,尤其涉及一种组播数据流的负载均衡方法、路由设备及网络系统。
背景技术
组播技术是一种点到多点的网络协议(Internet Protocol,IP)传输技术,允许一个或多个发送者(组播源)同时发送单一的数据包到多个接收者的网络技术。组播源把数据包发送到特定组播组,而只有属于该组播组的成员主机才能接收到数据包。组播技术的基本思想是在离接收者最近的地方才进行复制组播数据,这样可以极大地节省大量重复数据传输时的网络带宽,组播技术是多媒体数据通信的主要路由技术之一。
协议无关组播(Protocol Independent Multicast,PIM)协议是目前应用较为广泛的组播路由协议,其中稀疏模式协议无关组播(Protocol IndependentMulticast-Sparse Mode,PIM-SM)协议是其中主要应用的协议。互联网组管理协议(Internet Group Management Protocol,IGMP)用于管理组播组的成员关系,主机通过IGMP协议向邻接的组播路由器通告组播组的成员关系。
PIM-SM/IGMP应用的主要过程包括共享树的建立过程、源树的建立过程、组播数据分发过程。
如图1所示,PIM-SM协议可以采用共享树进行组播数据的分发,在一棵共享树中,有一个汇聚点(Rendezvous Point,RP),RP负责向一个组播组的所有接收者分发组播数据。当组播源发送组播数据时,数据首先要通过与组播源直连的第一跳路由器(即路由器A),送到该汇聚点(即路由器B),再由这个汇聚点沿着共享树将组播数据分发到其他接收者。
如何算出一个组地址所对应的RP,是由每台路由器上保存的组-RP映射信息决定的。组-RP映射信息是PIM-SM协议中非常重要的资源,在同一个PIM-SM域内,每一台路由器上保存的组-RP映射信息是一致的,给定任何一个组地址G,通过组-RP映射信息可以计算出唯一的RP地址。
以图1所示的例子说明PIM-SM/IGMP中共享树的建立过程:组播数据接收者的主机通过发送IGMP加入报文给邻接路由器,收到IGMP加入报文的路由器也叫最后一跳路由器(路由器C和路由器D),最后一跳路由器取出IGMP加入报文中携带的组地址G,再根据本地保存的组-RP映射信息,计算出组地址G所对应的RP;再向RP逐跳发送PIM(*,G)加入报文,如路由器C和路由器D分别向路由器B发送PIM(*,G)加入报文,于是就建立了从最后一跳路由器到RP的一棵分发树也即共享树。
PIM-SM/IGMP中源树的建立过程:组播源S向组播组G发送数据流(S,G),第一跳路由器(路由器A)收到第一份组播数据(S,G),取出组播数据中的组地址G,再根据本地保存的组-RP映射信息,计算出组地址G所对应的RP,接着向RP单播注册报文,即向RP通告组播源(S,G)的存在;RP收到注册报文后,就知道网络内存在组播源(S,G),于是向组播源逐跳发送PIM(S,G)加入报文,如图1所示,路由器B向路由器A发送PIM(S,G)加入报文,于是就建立了从RP到组播源的分发树也即源树。
从图1所示的是每个组播数据接收者只连接着一台路由器的情况,这台路由器接收并全部处理了来自组播数据接收者的IGMP加入信息;但如果组播数据接收者连接着一个共享网络,也就是说组播数据接收者连接着多台路由器,到底该由共享网络内的哪一台路由器接收并处理IGMP加入信息,为了解决这一问题,PIM-SM协议引入了DR机制。
在PIM-SM的最新协议RFC(Request For Comments,请求注解)4601中规定:对于连接在共享网络上的所有PIM-SM路由器,需要通过一种简单的选举机制,选出一台PIM-SM路由器来处理直连主机。这个被选举出来的PIM-SM路由器,称为DR。
如图2所示,在共享网络1中,有路由器1、路由器2和路由器3连在共享网络1上,在共享网络1内,通过DR选举机制,选举出路由器3为DR;类似地,在共享网络2中,选举出路由器6为DR。
根据PIM-SM协议的DR机制,在共享网络2选举出路由器6为DR。假设组播数据接收者存在三个接收的组:组G1、组G2和组G3,也就是说组播数据接收者往共享网络2发送了三个IGMP加入信息:(*,G1)IGMP加入信息、(*,G2)IGMP加入信息和(*,G3)IGMP加入信息。路由器4、路由器5和路由器6都接收到了这三个IGMP加入信息,但由于路由器6是DR,所以路由器4和路由器5接收到IGMP加入信息后,发现本设备不是DR,忽略IGMP加入信息;路由器6接收到IGMP加入信息后,发现本设备是DR,处理这些IGMP加入信息,并向RP发起PIM加入,于是建立了共享树:路由器7→路由器6。
组播数据源发送组播数据流(S,G1)、(S,G2)和(S,G3),连接组播源的DR即路由器3接收到数据流后,了解到组播源的信息,于是路由器3向RP通告当前网络内存在组播源的信息为:(S,G1)、(S,G2)和(S,G3),RP(路由器7)了解到组播源的信息后,查询通往组播源S的单播路由的下一跳,发现是路由器1,于是RP向路由器1发送PIM加入,于是建立了源树:路由器1→路由器7;最后数据流沿着路由器1→路由器7→路由器6的链路到达组播数据接收者。
从上述的例子可以看出,三个组播业务的组播数据流都集中在同一条链路:路由器1→路由器7→路由器6,而其他链路上却没有任何组播数据流,处在空闲状态,出现了明显的组播业务负载不均衡,对于组播数据接收端的DR(路由器6)来说,也存在负载过大的问题。
发明内容
本发明实施例提供了一种组播数据流的负载均衡方法及网络设备,用以解决现有PIM-SM协议中DR机制带来的组播数据流负载不均衡及组播数据接收端DR负载过大的问题。
本发明实施例提供的一种组播数据流负载均衡方法,包括:
共享网络中支持组播数据流负载均衡功能的各路由设备,通过自身组播业务端口,向所述共享网络中其他路由设备发送携带有支持组播数据流负载均衡功能标识的PIM Hello报文,以及接收所述共享网络中其他路由设备发送的PIM Hello报文;
判断接收的所述PIM Hello报文中是否携带有支持组播数据流负载均衡功能的标识;若有,则确定发送该报文的路由设备支持组播数据流负载均衡功能;当确定所述共享网络中其他所有路由设备均支持所述组播数据流负载均衡功能时,开启自身组播数据流负载均衡功能;
当组播数据接收设备连接的共享网络中的各路由设备接收到所述组播数据接收设备发送的互联网组管理协议IGMP加入报文时,提取所述IGMP加入报文中的组播组地址作为一元组,将所述一元组作为输入,进行哈希计算,以所述共享网络中各路由设备的总数量为模,对哈希计算得到的结果进行取模计算,根据所述取模计算的结果,以及所述共享网络中各路由设备的标识与该取模运算所有可能的结果之间一一对应的关系,确定出所述共享网络中唯一处理所述IGMP报文的第一路由设备的标识;其中,生成各路由设备的标识与该取模运算所有可能的结果之间一一对应关系的方法为:生成由共享网络中各路由设备的标识组成的第一集合,在所述第一集合中按照各路由设备IP地址的升序或者降序,对各路由设备的标识进行排序;将所述取模计算所有可能的结果,按照升序或者降序进行排列,生成第二集合;为所述第一集合与所述第二集合中处于相同位置的路由设备标识及取模运算的结果生成一一对应的关系;
所述各路由设备确定自身是否是所述第一路由设备;
若是,处理所述IGMP加入报文;
若否,忽略所述IGMP加入报文。
本发明实施例提供的一种路由设备,与其他路由设备组成共享网络与组播数据接收设备相连,该路由设备包括:
发送单元,用于通过自身组播业务端口,向所述共享网络中其他路由设备发送PIM Hello报文;所述PIM Hello报文中携带有支持组播数据流负载均衡功能的标识;
接收单元,用于通过自身组播业务端口,接收所述共享网络中其他路由设备发送的PIM Hello报文;并判断接收的所述PIM Hello报文中是否携带有支持组播数据流负载均衡功能的标识;若有,则确定发送该报文的路由设备支持组播数据流负载均衡功能;接收所述组播数据接收设备发送的互联网组管理协议IGMP加入报文;
负载均衡功能开启单元,用于当确定所述共享网络中其他所有路由设备均支持所述组播数据流负载均衡功能时,开启自身组播数据流负载均衡功能;
确定单元包括:哈希计算子单元,取模计算子单元和确定子单元;其中,
所述哈希计算子单元,用于提取所述IGMP加入报文中的组播组地址作为一元组;将所述一元组作为输入,进行哈希计算;
所述取模计算子单元;用于以所述共享网络中各路由设备的总数量为模,对哈希计算得到的结果进行取模计算;
所述确定子单元,用于根据所述取模计算的结果,以及所述共享网络中各路由设备的标识与该取模运算所有可能的结果之间一一对应的关系,确定出所述共享网络中唯一处理所述IGMP报文的第一路由设备的标识;其中,生成各路由设备的标识与该取模运算所有可能的结果之间一一对应关系的方法为:生成由共享网络中各路由设备的标识组成的第一集合,在所述第一集合中按照各路由设备IP地址的升序或者降序,对各路由设备的标识进行排序;将所述取模计算所有可能的结果,按照升序或者降序进行排列,生成第二集合;为所述第一集合与所述第二集合中处于相同位置的路由设备标识及取模运算的结果生成一一对应的关系;
报文处理单元,用于当确定自身是第一路由设备时,处理所述IGMP加入报文;否则,忽略所述IGMP加入报文。
本发明实施例提供的一种网络系统,包括组播数据接收设备和多个路由设备;所述多个路由设备组成共享网络与组播数据接收设备相连;其中:
所述组播数据接收设备,用于向所述共享网络中的各路由设备发送互联网组管理协议IGMP加入报文;
所述路由设备,用于通过自身组播业务端口,向所述共享网络中其他路由设备发送携带有支持组播数据流负载均衡功能标识的PIM Hello报文,以及接收所述共享网络中其他路由设备发送的PIM Hello报文;判断接收的所述PIMHello报文中是否携带有支持组播数据流负载均衡功能的标识;若有,则确定发送该报文的路由设备支持组播数据流负载均衡功能;以及当确定所述共享网络中其他所有路由设备都支持所述组播数据流负载均衡功能时,开启自身组播数据流负载均衡功能;接收所述组播数据接收设备发送的IGMP加入报文,提取所述IGMP加入报文中的组播组地址作为一元组,将所述一元组作为输入,进行哈希计算,以所述共享网络中各路由设备的总数量为模,对哈希计算得到的结果进行取模计算,根据所述取模计算的结果,以及所述共享网络中各路由设备的标识与该取模运算所有可能的结果之间一一对应的关系,确定出所述共享网络中唯一处理所述IGMP报文的第一路由设备的标识;其中,生成各路由设备的标识与该取模运算所有可能的结果之间一一对应关系的方法为:生成由共享网络中各路由设备的标识组成的第一集合,在所述第一集合中按照各路由设备IP地址的升序或者降序,对各路由设备的标识进行排序;将所述取模计算所有可能的结果,按照升序或者降序进行排列,生成第二集合;为所述第一集合与所述第二集合中处于相同位置的路由设备标识及取模运算的结果生成一一对应的关系,并确定自身是否是所述第一路由设备;若是,处理所述IGMP加入报文;若否,忽略所述IGMP加入报文。
本发明实施例的有益效果包括:
本发明实施例提供的一种组播数据流的负载均衡方法、路由设备及网络系统中,当组播数据接收设备连接的共享网络中的各路由设备接收到所述组播数据接收设备发送的IGMP加入报文时,使用设定的散列算法对IGMP加入报文中的信息进行计算,确定该共享网络中唯一处理该报文的路由设备,各路由设备判断自身是不是处理该报文的路由设备,若是,则处理,否则忽略该IGMP加入报文报文。经过上述步骤,组播数据接收设备发送的IGMP加入报文不再由共享网络内的某一台固定的路由设备处理,而是每一个组播业务的IGMP加入报文都可能由共享网络中不同路由设备分别进行处理,使得多个组播业务的组播分发树的最后一站被分散到与组播数据接收设备相连的共享网络内的每个路由设备上,避免了现有的PIM-SM协议中DR机制带来的组播数据流负载不均衡及组播数据接收端DR负载过大的问题。
附图说明
图1为现有技术中PIM-SM协议组播应用示意图;
图2为现有技术中PIM-SM协议DR机制的示意图;
图3为本发明实施例提供的组播数据流的负载均衡方法流程图;
图4为本发明实施例提供的确定处理该IGMP加入报文的第一路由设备的流程图;
图5为本发明实施例提供的具体实例的网络连接示意图;
图6为本发明实施例提供的路由设备的结构示意图;
图7为本发明实施例提供的路由设备中确定单元的结构示意图。
具体实施方式
下面结合附图,对本发明提供的一种组播数据流的负载均衡方法、路由设备及网络系统的具体实施方式进行详细的说明。
本发明实施例提供的一种组播数据流的负载均衡的方法中,组播数据接收者的主机(下面统一称为组播数据接收设备)与由多个路由设备组成的共享网络相连,通过将多个组播业务分发树(共享树)的最后一站分散到与组播数据接收设备相连的共享网络内的每个路由设备上,实现组播数据的负载均衡。
如图3所示,本发明实施例提供的组播数据流的负载均衡的方法包括下述步骤:
S301、组播数据接收设备向共享网络中的各路由设备发送IGMP加入报文;
在本步骤S301中,共享网络中的每一个路由设备都会收到该组播数据接收设备发送的IGMP加入报文,并各自都按照下述步骤S102~S105进行处理;
S302、共享网络中的各路由设备接收组播数据接收设备发送的IGMP加入报文,使用设定的散列算法对该IGMP加入报文中的信息进行计算,确定出共享网络中唯一处理该IGMP加入报文的第一路由设备;
S303、各路由设备确定自身是否是第一路由设备;若是,执行步骤S304;若否,执行步骤S305;
S304、处理所述IGMP加入报文;
S305、忽略所述IGMP加入报文。
经过上述步骤S305之后,负责处理IGMP加入报文的路由设备建立相应的组播共享树,由于负责处理的IGMP加入报文的路由设备分散在该共享网络中,可以是共享网络中任何一个路由设备,因此,实现了组播共享树的分散,也就实现了组播数据流的分散。
由于在实际网络中,不同路由设备可能来自不同厂商,可能有的支持本发明实施例提供的这种组播数据流的负载均衡的功能,有的则不支持,而本发明实施例提供的上述S301~S305的步骤,是在共享网络中每个路由设备都支持上述负载均衡功能的情况下才能够执行,因此,在上述步骤之前,还需要进行下面的流程:
共享网络中每个支持组播数据流功能的路由设备,可能通过不同接口连接在不同的共享网络中,通过其组播业务端口,周期性地向其连接的共享网络中其他路由设备发送PIM Hello报文,在该报文中携带有其支持组播数据流负载均衡功能的标识,同时也接收共享网络中其他路由设备发送的PIM Hello报文;
各支持组播数据流功能的路由设备,判断接收的PIM Hello报文中是否携带有支持组播数据流负载均衡功能的标识;若有,则确定发送该报文的路由设备支持组播数据流负载均衡功能;反之,则确定发送该报文的路由设备不支持组播数据流负载均衡功能。
经过上述判断过程,如果支持组播数据流功能的路由设备,发现本设备某个接口所连接的共享网络内所有的路由设备都支持组播数据流负载均衡功能时,则该路由设备置该接口的负载均衡功能为有效状态,也即开启了该接口的负载均衡功能,否则,关闭该接口的负载均衡功能。
在共享网络中所有路由设备都支持组播数据流负载均衡功能并且也开启了该功能之后,才可以执行上述步骤S301~S305。
在本发明实施例提供的上述步骤S302中,根据设定的散列算法对IGMP加入报文中的信息进行计算,确定出共享网络中唯一处理该IGMP加入报文的第一路由设备,具体来说,通过图4所示的各步骤实现:
S401、提取接收的IGMP加入报文中的组播组地址作为一元组;
S402、将该一元组作为输入,进行哈希计算;
S403、以共享网络中各路由设备的总数量为模,对哈希计算得到的结果进行取模计算;
S404、根据取模计算的结果,以及该共享网络中各路由设备的标识与该取模运算所有可能的结果之间一一对应的关系,确定出处理该IGMP加入报文第一路由设备的标识。
特别的,可以在步骤S401之前,还包括:生成由共享网络中各路由设备的标识组成的第一集合;并且在第一集合中按照各路由设备IP地址的升序或者降序,对各路由设备的标识进行排序;
将取模运算所有可能的结果,按照升序或者降序进行排列,生成第二集合;
为第一集合与第二集合中处于相同位置的路由设备标识及取模运算的结果生成一一对应的关系。
下面将通过一个具体的实例,说明上述确定出共享网络中唯一处理该IGMP加入报文的第一路由设备的过程。
如图5所示,假设组播数据接收设备点播了三个组播业务(*,G1)、(*,G2)和(*,G3),计算过程如下:
1)将共享网络内的所有路由设备的标识都归入集合1,即把路由设备3、路由设备4和路由设备5归入集合1。
2)按照IP地址逐渐递增的顺序,对集合1中的各路由设备的标识进行排序,假设排序结果为:路由设备3、路由设备4、路由设备5。
以共享网络中路由设备总数3取模运算得到的所有可能结果为0、1、2,将这三个可能的结果生成集合2;在集合2中,0、1、2也按照升序排列。
建立下述对应关系:路由设备3对应数字0,路由设备4对应数字1,路由设备5对应数字2。
3)组播数据接收设备点播三个组播业务(*,G1)、(*,G2)、(*,G3),那么共享网络中每个路由设备从IGMP加入报文中获取这三个组播组地址,生成三个一元组即:G1、G2和G3。
4)分别对上述的三个一元组分别进行Hash运算,得到Hash计算的结果;
5)将Hash计算的结果,对集合1的元素个数3进行取模;
6)如果一元组G1的IP地址经哈希计算后最终取模的结果为0,那么确定由集合1中第1个路由设备即路由设备3处理组播数据接收设备发送的(*,G1)IGMP请求报文;
如果一元组G2的IP地址经哈希计算后最终取模的结果为1,那么确定由集合1中第2个路由设备即路由设备4处理组播数据接收设备发送的(*,G2)IGMP请求报文;
如果一元组G3的IP地址经哈希计算后最终取模的结果为2,那么确定由集合1中第3个路由设备即路由设备5处理组播数据接收设备发送的(*,G3)IGMP信息。
经过上述步骤后,路由设备3向RP即路由设备2发起(*,G1)的PIM加入,于是建立了(*,G1)的组播分发树即:路由设备1→路由设备2→路由设备3;
路由设备4向RP即路由设备2发起(*,G2)的PIM加入,于是建立了(*,G2)的组播分发树即:路由设备1→路由设备2→路由设备4;
路由设备5向RP即路由设备2发起(*,G3)的PIM加入,于是建立了(*,G3)的组播分发树:路由设备1→路由设备2→路由设备5。
于是组播分发树的最后一站就被分散开来,从而实现了组播数据流在接收端的负载均衡。
基于同一发明构思,本发明实施例中还提供了一种路由设备及网络系统,由于该路由设备及网络系统解决问题的原理与前述一种组播数据流的负载均衡方法相似,因此该路由设备及网络系统的实施可以参见方法的实施,重复之处不在赘述。
本发明实施例提供的一种路由设备,与其他路由设备组成共享网络与组播数据接收设备相连,如图6所示,包括:
接收单元601,用于接收组播数据接收设备发送的互联网组管理协议IGMP加入报文;
确定单元602,用于使用设定的散列算法对IGMP加入报文中的信息进行计算,确定出共享网络中唯一处理该IGMP加入报文的第一路由设备,以及确定自身是否是第一路由设备;
报文处理单元603,用于当确定自身是第一路由设备时,处理该IGMP加入报文;否则,忽略该IGMP加入报文。
进一步地,本发明实施例提供的路由设备,如图6所示,还包括:发送单元604和负载均衡功能开启单元605;
发送单元604,用于通过自身组播业务端口,向所述共享网络中其他路由设备发送PIM Hello报文;所述PIM Hello报文中携带有是否支持组播数据流负载均衡功能的标识;
接收单元601,还用于通过自身组播业务端口,接收所述共享网络中其他路由设备发送的PIM Hello报文;并判断接收的所述PIM Hello报文中是否携带有支持组播数据流负载均衡功能的标识;若有,则确定发送该报文的路由设备支持组播数据流负载均衡功能;
负载均衡功能开启单元605,用于当确定共享网络中其他所有路由设备均支持组播数据流负载均衡功能时,开启自身组播数据流负载均衡功能。
进一步地,本发明实施例提供的路由设备中的确定单元602,如图7所示,具体包括:
哈希计算子单元6021,用于提取IGMP加入报文中的组播组地址作为一元组;将一元组作为输入,进行哈希计算;
取模计算子单元6022;用于以共享网络中各路由设备的总数量为模,对哈希计算得到的结果进行取模计算;
确定子单元6023,用于根据取模计算的结果,以及共享网络中各路由设备的标识与该取模运算所有可能的结果之间一一对应的关系,确定出所述第一路由设备的标识。
本发明实施例提供的一种网络系统,包括组播数据接收设备和多个路由设备;多个路由设备组成共享网络与组播数据接收设备相连;其中:
组播数据接收设备,用于向共享网络中的各路由设备发送互联网组管理协议IGMP加入报文;
路由设备,用于接收组播数据接收设备发送的IGMP加入报文,使用设定的散列算法对IGMP加入报文中的信息进行计算,确定出所述共享网络中唯一处理所述IGMP加入报文的第一路由设备,并确定自身是否是所述第一路由设备;若是,处理所述IGMP加入报文;若否,忽略该IGMP加入报文。
进一步地,本发明实施例提供的网络系统中的路由设备,还用于在接收IGMP加入报文之前,通过自身组播业务端口,向所述共享网络中其他路由设备发送携带有支持组播数据流负载均衡功能标识的PIM Hello报文,以及接收所述共享网络中其他路由设备发送的PIM Hello报文;判断接收的所述PIMHello报文中是否携带有支持组播数据流负载均衡功能的标识;若有,则确定发送该报文的路由设备支持组播数据流负载均衡功能;以及当确定所述共享网络中其他所有路由设备都支持所述组播数据流负载均衡功能时,开启自身组播数据流负载均衡功能。
进一步地,本发明实施例提供的网络系统中的路由设备,用于提取所述IGMP加入报文中的组播组地址作为一元组;将所述一元组作为输入,进行哈希计算;以所述共享网络中各路由设备的总数量为模,对哈希计算得到的结果进行取模计算;根据所述取模计算的结果,以及所述共享网络中各路由设备的标识与该取模运算所有可能的结果之间一一对应的关系,确定出所述第一路由设备的标识。
本发明实施例提供的一种组播数据流的负载均衡方法、路由设备及网络系统中,当组播数据接收设备连接的共享网络中的各路由设备接收到所述组播数据接收设备发送的IGMP加入报文时,使用设定的散列算法对IGMP加入报文中的信息进行计算,确定该共享网络中唯一处理该报文的路由设备,各路由设备判断自身是不是处理该报文的路由设备,若是,则处理,否则忽略该IGMP加入报文报文。经过上述步骤,组播数据接收设备发送的IGMP加入报文不再由共享网络内的某一台固定的路由设备处理,而是每一个组播业务的IGMP加入报文都可能由共享网络中不同路由设备分别处理,使得多个组播业务的组播分发树的最后一站被分散到与组播数据接收设备相连的共享网络内的每个路由设备上,避免了现有的PIM-SM协议中DR机制带来的组播数据流负载不均衡及组播数据接收端DR负载过大的问题。
显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。
Claims (3)
1.一种组播数据流负载均衡方法,其特征在于,包括:
共享网络中支持组播数据流负载均衡功能的各路由设备,通过自身组播业务端口,向所述共享网络中其他路由设备发送携带有支持组播数据流负载均衡功能标识的PIM Hello报文,以及接收所述共享网络中其他路由设备发送的PIM Hello报文;
判断接收的所述PIM Hello报文中是否携带有支持组播数据流负载均衡功能的标识;若有,则确定发送该报文的路由设备支持组播数据流负载均衡功能;当确定所述共享网络中其他所有路由设备均支持所述组播数据流负载均衡功能时,开启自身组播数据流负载均衡功能;
当组播数据接收设备连接的共享网络中的各路由设备接收到所述组播数据接收设备发送的互联网组管理协议IGMP加入报文时,提取所述IGMP加入报文中的组播组地址作为一元组,将所述一元组作为输入,进行哈希计算;
以所述共享网络中各路由设备的总数量为模,对哈希计算得到的结果进行取模计算;
根据所述取模计算的结果,以及所述共享网络中各路由设备的标识与该取模运算所有可能的结果之间一一对应的关系,确定出所述共享网络中唯一处理所述IGMP报文的第一路由设备的标识;其中,生成各路由设备的标识与该取模运算所有可能的结果之间一一对应关系的方法为:生成由共享网络中各路由设备的标识组成的第一集合,在所述第一集合中按照各路由设备IP地址的升序或者降序,对各路由设备的标识进行排序;将所述取模计算所有可能的结果,按照升序或者降序进行排列,生成第二集合;为所述第一集合与所述第二集合中处于相同位置的路由设备标识及取模运算的结果生成一一对应的关系;
所述各路由设备确定自身是否是所述第一路由设备;
若是,处理所述IGMP加入报文;
若否,忽略所述IGMP加入报文。
2.一种路由设备,与其他路由设备组成共享网络与组播数据接收设备相连,其特征在于,包括:
发送单元,用于通过自身组播业务端口,向所述共享网络中其他路由设备发送PIM Hello报文;所述PIM Hello报文中携带有支持组播数据流负载均衡功能的标识;
接收单元,用于通过自身组播业务端口,接收所述共享网络中其他路由设备发送的PIM Hello报文;并判断接收的所述PIM Hello报文中是否携带有支持组播数据流负载均衡功能的标识;若有,则确定发送该报文的路由设备支持组播数据流负载均衡功能;接收所述组播数据接收设备发送的互联网组管理协议IGMP加入报文;
负载均衡功能开启单元,用于当确定所述共享网络中其他所有路由设备均支持所述组播数据流负载均衡功能时,开启自身组播数据流负载均衡功能;
确定单元包括:哈希计算子单元,取模计算子单元和确定子单元;其中,
所述哈希计算子单元,用于提取所述IGMP加入报文中的组播组地址作为一元组;将所述一元组作为输入,进行哈希计算;
所述取模计算子单元;用于以所述共享网络中各路由设备的总数量为模,对哈希计算得到的结果进行取模计算;
所述确定子单元,用于根据所述取模计算的结果,以及所述共享网络中各路由设备的标识与该取模运算所有可能的结果之间一一对应的关系,确定出所述共享网络中唯一处理所述IGMP报文的第一路由设备的标识;其中,生成各路由设备的标识与该取模运算所有可能的结果之间一一对应关系的方法为:生成由共享网络中各路由设备的标识组成的第一集合,在所述第一集合中按照各路由设备IP地址的升序或者降序,对各路由设备的标识进行排序;将所述取模计算所有可能的结果,按照升序或者降序进行排列,生成第二集合;为所述第一集合与所述第二集合中处于相同位置的路由设备标识及取模运算的结果生成一一对应的关系;
报文处理单元,用于当确定自身是第一路由设备时,处理所述IGMP加入报文;否则,忽略所述IGMP加入报文。
3.一种网络系统,包括组播数据接收设备和多个路由设备;所述多个路由设备组成共享网络与组播数据接收设备相连;其特征在于:
所述组播数据接收设备,用于向所述共享网络中的各路由设备发送互联网组管理协议IGMP加入报文;
所述路由设备,用于通过自身组播业务端口,向所述共享网络中其他路由设备发送携带有支持组播数据流负载均衡功能标识的PIM Hello报文,以及接收所述共享网络中其他路由设备发送的PIM Hello报文;判断接收的所述PIMHello报文中是否携带有支持组播数据流负载均衡功能的标识;若有,则确定发送该报文的路由设备支持组播数据流负载均衡功能;以及当确定所述共享网络中其他所有路由设备都支持所述组播数据流负载均衡功能时,开启自身组播数据流负载均衡功能;接收所述组播数据接收设备发送的IGMP加入报文,提取所述IGMP加入报文中的组播组地址作为一元组,将所述一元组作为输入,进行哈希计算,以所述共享网络中各路由设备的总数量为模,对哈希计算得到的结果进行取模计算,根据所述取模计算的结果,以及所述共享网络中各路由设备的标识与该取模运算所有可能的结果之间一一对应的关系,确定出所述共享网络中唯一处理所述IGMP报文的第一路由设备的标识;其中,生成各路由设备的标识与该取模运算所有可能的结果之间一一对应关系的方法为:生成由共享网络中各路由设备的标识组成的第一集合,在所述第一集合中按照各路由设备IP地址的升序或者降序,对各路由设备的标识进行排序;将所述取模计算所有可能的结果,按照升序或者降序进行排列,生成第二集合;为所述第一集合与所述第二集合中处于相同位置的路由设备标识及取模运算的结果生成一一对应的关系,并确定自身是否是所述第一路由设备;若是,处理所述IGMP加入报文;若否,忽略所述IGMP加入报文。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2009102601134A CN101789902B (zh) | 2009-12-25 | 2009-12-25 | 一种组播数据流的负载均衡方法、路由设备及网络系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2009102601134A CN101789902B (zh) | 2009-12-25 | 2009-12-25 | 一种组播数据流的负载均衡方法、路由设备及网络系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101789902A CN101789902A (zh) | 2010-07-28 |
CN101789902B true CN101789902B (zh) | 2012-07-25 |
Family
ID=42532964
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2009102601134A Expired - Fee Related CN101789902B (zh) | 2009-12-25 | 2009-12-25 | 一种组播数据流的负载均衡方法、路由设备及网络系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN101789902B (zh) |
Families Citing this family (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103501272B (zh) * | 2013-09-18 | 2017-06-23 | 新华三技术有限公司 | 一种组播流量转发方法及设备 |
CN105812275B (zh) * | 2016-03-10 | 2018-11-16 | 盛科网络(苏州)有限公司 | 一种基于流的tap实现方法 |
WO2017201750A1 (zh) * | 2016-05-27 | 2017-11-30 | 华为技术有限公司 | 组播数据处理方法、装置及系统 |
CN108243018B (zh) * | 2016-12-26 | 2019-03-01 | 北京云中融信网络科技有限公司 | 一种管理聊天室的方法及装置 |
CN110611577A (zh) * | 2018-06-14 | 2019-12-24 | 中兴通讯股份有限公司 | 业务快速切换方法、切换装置、网络设备和存储介质 |
CN112671655A (zh) * | 2019-10-16 | 2021-04-16 | 中兴通讯股份有限公司 | 组播用户接入方法、电子设备以及存储介质 |
CN111884942A (zh) * | 2020-08-03 | 2020-11-03 | 航天宏图信息技术股份有限公司 | 组播数据传输方法、装置、接收主机和组播系统 |
CN114205287B (zh) * | 2021-12-17 | 2024-03-19 | 锐捷网络股份有限公司 | 组播接收者信息收集方法及装置 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101483655A (zh) * | 2009-02-10 | 2009-07-15 | 杭州华三通信技术有限公司 | 一种互联网组管理协议报文传输方法和代理设备 |
CN101577679A (zh) * | 2009-06-26 | 2009-11-11 | 杭州华三通信技术有限公司 | 实现指定路由器之间组播业务分担的状态管理方法和装置 |
-
2009
- 2009-12-25 CN CN2009102601134A patent/CN101789902B/zh not_active Expired - Fee Related
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101483655A (zh) * | 2009-02-10 | 2009-07-15 | 杭州华三通信技术有限公司 | 一种互联网组管理协议报文传输方法和代理设备 |
CN101577679A (zh) * | 2009-06-26 | 2009-11-11 | 杭州华三通信技术有限公司 | 实现指定路由器之间组播业务分担的状态管理方法和装置 |
Also Published As
Publication number | Publication date |
---|---|
CN101789902A (zh) | 2010-07-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101789902B (zh) | 一种组播数据流的负载均衡方法、路由设备及网络系统 | |
CN103703455B (zh) | 用于逆向路径转发检查的方法和设备 | |
JP5026617B2 (ja) | マルチホップ中継通信システムにおけるマルチキャスト・ツリー管理のための方法および装置 | |
CN101291240B (zh) | 一种组播流传输方法和系统 | |
CN102413059A (zh) | 一种基于spb网络的组播转发方法和spbm桥 | |
CN106209622A (zh) | 一种基于sdn的组播方法 | |
CN103117935B (zh) | 应用于多归属组网的组播数据转发方法和装置 | |
CN101702689B (zh) | 组播业务数据负载均衡的传输控制方法及传输控制设备 | |
CN101459606A (zh) | 一种组播虚拟私有网络的外联网组网方法、系统和装置 | |
CN104468371B (zh) | 组播业务报文处理方法及装置 | |
CN110324159A (zh) | 链路配置方法和控制器 | |
CN105721310A (zh) | 在可靠传输上的增强型协议无关多播源注册 | |
CN104980355A (zh) | 一种sdn环境下的源端可控组播数据传输方法及系统 | |
CN103491015A (zh) | 实现公网支持数据组播分发树的方法及装置 | |
CN101119222B (zh) | Hope网络实现组播的方法、装置及系统 | |
CN103209134A (zh) | 一种组播转发的方法和设备 | |
CN103609063B (zh) | 协议无关组播最后一跳路由器发现的方法及设备 | |
CN101232448A (zh) | 一种在单播路由等价多路径下组播的反向选路方法 | |
CN103609064A (zh) | 具备服务质量支持的协议无关组播 | |
CN102316083B (zh) | 一种在ip网络中实现组播业务的方法和装置 | |
US8509233B2 (en) | Method and apparatus for requesting multicast, processing and assisting multicast request | |
CN103227724A (zh) | 一种在vrrp网络环境下实现pim组播的方法及装置 | |
CN103716244A (zh) | 一种实现组播跨vpn转发的方法及装置 | |
CN101262446A (zh) | 一种Hello报文的生成方法及装置 | |
CN102843303B (zh) | Pim中的组播报文处理方法及装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20120725 Termination date: 20151225 |
|
EXPY | Termination of patent right or utility model |