CN102025517B - 一种组播数据的传输方法及装置 - Google Patents

一种组播数据的传输方法及装置 Download PDF

Info

Publication number
CN102025517B
CN102025517B CN 200910174221 CN200910174221A CN102025517B CN 102025517 B CN102025517 B CN 102025517B CN 200910174221 CN200910174221 CN 200910174221 CN 200910174221 A CN200910174221 A CN 200910174221A CN 102025517 B CN102025517 B CN 102025517B
Authority
CN
China
Prior art keywords
pim
territory
bidir
multicast
bidir pim
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.)
Active
Application number
CN 200910174221
Other languages
English (en)
Other versions
CN102025517A (zh
Inventor
游君平
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
New H3C Technologies Co Ltd
Original Assignee
Hangzhou H3C Technologies Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Hangzhou H3C Technologies Co Ltd filed Critical Hangzhou H3C Technologies Co Ltd
Priority to CN 200910174221 priority Critical patent/CN102025517B/zh
Publication of CN102025517A publication Critical patent/CN102025517A/zh
Application granted granted Critical
Publication of CN102025517B publication Critical patent/CN102025517B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本发明公开了一种组播数据的传输方法,所述方法包括:所述BIDIR PIMRelay接收来自所述PIM SM域中的组播信息;所述BIDIR PIM Relay根据预先建立的邻居关系将所述组播信息发送给所述自身连接的BIDIR PIM域的设备;所述邻居关系为所述BIDIR PIM Relay和所述BIDIR PIM域的设备的邻居关系;所述BIDIR PIM域的设备将所述组播信息发送给所述BIDIR PIM域中的RP,由所述BIDIR PIM域中的RP根据所述组播信息完成组播数据的传输过程。本发明中,实现BIDIR PIM和PIM SM的灵活部署,使BIDIR PIM协议得到了广泛的应用。

Description

一种组播数据的传输方法及装置
技术领域
本发明涉及通信技术领域,特别是涉及一种组播数据的传输方法及装置。
背景技术
随着IPTV(Internet Protocol Television,交互式网络电视)、视频会议等网络业务的开展,组播业务在网络上越来越受到广泛的应用,作为与单播和广播并列的通信方式,组播技术能够有效地解决单点发送、多点接收的问题,从而实现了网络中点到多点的高效数据传送,节约大量网络带宽、降低网络负载。利用组播技术方便地提供新的增值业务,包括在线直播、网络电视、远程教育、远程医疗、网络电台、实时视频会议等对带宽和数据交互的实时性要求较高的信息服务。
现有组播一般采用PIM(Protocol Independent Multicast,协议无关组播)协议,对于大型的组播网络,部署PIM SM(Protocol IndependentMulticast-Sparse Mode,协议无关组播-稀疏模式)协议最为普遍,PIM-SM属于稀疏模式的组播路由协议,使用“拉(Pull)模式”传送组播数据,适用于组播组成员分布相对分散、范围较广的大中型网络。此外,在现有的应用中,BIDIR(Bidirectional,双向)PIM协议也有着比较广泛的应用前景。
具体的,在PIM-SM域中,PIM-SM的基本原理包括:(1)PIM-SM假设所有主机都不需要接收组播数据,只向明确提出需要组播数据的主机转发,PIM-SM实现组播转发的核心任务是构造并维护RPT(Rendezvous Point Tree,共享树或汇集树),RPT选择PIM域中某台路由器作为公用的根节点RP(Rendezvous Point,汇集点),组播数据通过RP沿着RPT转发给接收者;(2)连接接收者的路由器向某组播组对应的RP发送加入报文(Join Message),该报文被逐跳送达RP,所经过的路径就形成了RPT的分支;(3)组播源如果要向某组播组发送组播数据,首先由组播源侧DR(Designated Router,指定路由器)负责向RP进行注册,把注册报文(Register Message)通过单播方式发送给RP,该报文到达RP后触发建立SPT(Shortest Path Tree,最短路径树),之后组播源把组播数据沿着SPT发向RP,当组播数据到达RP后,被复制并沿着RPT发送给接收者。
但是在BIDIR PIM域中,组播源如果要向某组播组发送组播数据,直接通过组播源侧DF(Designated Forwarder,指定代理)向RP发送组播数据即可,并不需要PIM-SM中的注册过程(对应上述PIM-SM基本原理的3),组播数据经过的路由器上会出现(*,G)表项,而不会出现(S,G)表项的组播表项,使得组播源可以任意多,当组播源过多时,也不会对路由器的规格造成限制。而接收者的加入过程与PIM-SM相同。
以图1所示的PIM-SM的组播数据发送过程和图2所示的BIDIR PIM的组播数据发送过程区分二者。在图1中,通过与组播源连接的DR向RP发送Register Message,并由RP向DR返回注册停止报文,从而建立SPT,SPT上的各个路由器上建立对应的(S,G)表项;后续过程中DR将组播数据沿着SPT发送给RP。在图2中,通过与组播源连接的DF直接向RP发送组播数据,各个路由器上建立(*,G)表项。
可以看出,BIDIR PIM是较新的组播路由协议,具有很好的应用前景,然而在部署BIDIR PIM协议时,要求网络中所有的路由器都支持该BIDIR PIM协议,从而导致BIDIR PIM协议的应用范围受到了很大的限制。在实际使用过程中,有的路由器只能支持PIM SM协议,有的路由器可以支持BIDIR PIM协议,而现有技术中并没有对PIM SM协议和BIDIR PIM协议进行很好的兼容,使BIDIR PIM协议不能广泛应用,在具有大量组播源的场景中,由于(S,G)表项过多导致路由器的规格受到了很大的限制。
发明内容
本发明提供一种组播数据的传输方法及装置,以完成PIM SM和BIDIRPIM协议的平滑对接,使BIDIR PIM协议得到了广泛的应用。
为了达到上述目的,本发明提出了一种组播数据的传输方法,其特征在于,应用于包括双向协议无关组播BIDIR PIM域和协议无关组播稀疏模式PIM SM域的组播网络中,且所述BIDIR PIM域与PIM SM域之间需要进行组播数据的传输,在所述组播网络中包括组播源、接收者、BIDIR PIM中继Relay和BIDIR PIM域中的汇集点RP,其中,所述BIDIR PIM Relay为所述PIM SM域中的RP,且所述BIDIR PIM Relay与所述BIDIR PIM域中的设备连接,所述方法包括以下步骤:
所述BIDIR PIM Relay接收来自所述PIM SM域中的组播信息;
所述BIDIR PIM Relay根据预先建立的邻居关系将所述组播信息发送给所述自身连接的BIDIR PIM域的设备;所述邻居关系为所述BIDIR PIM Relay和所述BIDIR PIM域的设备的邻居关系;
所述BIDIR PIM域的设备将所述组播信息发送给所述BIDIR PIM域中的RP,由所述BIDIR PIM域中的RP根据所述组播信息完成组播数据的传输过程。
所述组播信息包括:组播数据、或协议报文;当所述组播源在所述BIDIRPIM域,所述接收者在所述PIM SM域时,所述组播信息为协议报文中的PIMSM加入JOIN报文或PIM SM剪枝Prune报文;
所述BIDIR PIM Relay接收来自所述PIM SM域中的组播信息具体为:所述BIDIR PIM Relay接收来自所述接收者的PIM SM JOIN报文或PIM SMPrune报文;
所述BIDIR PIM Relay根据预先建立的邻居关系将所述组播信息发送给所述自身连接的BIDIR PIM域的设备具体包括:
所述BIDIR PIM Relay获取所述PIM SM JOIN报文或PIM SM Prune报文中的组播组地址;
当所述组播组地址为所述BIDIR PIM域中的地址时,提取所述组播组地址,并将所述组播组地址封装到对应的BIDIR PIM JOIN报文或BIDIR PIMPrune报文中,根据预先建立的邻居关系将所述BIDIR PIM JOIN报文或BIDIRPIM Prune报文发送给所述BIDIR PIM域的设备。
当所述协议报文为所述PIM SM JOIN报文时,所述BIDIR PIM域的设备将所述组播信息发送给所述BIDIR PIM域中的RP,由所述BIDIR PIM域中的RP根据所述组播信息完成组播数据的传输过程具体包括:
所述BIDIR PIM域中的RP接收BIDIR PIM JOIN报文,并从所述组播源中接收组播数据;
所述BIDIR PIM域中的RP根据所述BIDIR PIM JOIN报文生成(*,G)表项,并根据所述(*,G)表项将来自所述组播源的组播数据发送给所述接收者。
当所述组播源在所述PIM SM域,所述接收者在所述BIDIR PIM域时,所述组播信息为组播数据;
所述BIDIR PIM Relay根据预先建立的邻居关系将所述组播信息发送给所述自身连接的BIDIR PIM域的设备具体包括:
所述BIDIR PIM Relay根据预先建立的邻居关系将来自所述组播源的组播数据发送给所述BIDIR PIM域的设备;其中,所述BIDIR PIM Relay不需要向所述组播源发送注册停止报文。
所述BIDIR PIM域的设备将所述组播信息发送给所述BIDIR PIM域中的RP,由所述BIDIR PIM域中的RP根据所述组播信息完成组播数据的传输过程具体包括:
所述BIDIR PIM域中的RP接收来自PIM SM域的组播数据;并将所述组播数据发送给BIDIR PIM域的接收者。
所述方法还包括:
所述BIDIR PIM Relay确定所述BIDIR PIM域的设备为自身的邻居,并在所述BIDIR PIM Relay上实现所述BIDIR PIM Relay和所述BIDIR PIM域的设备之间的组播数据交互,和/或协议报文交互;以及,
所述BIDIR PIM域的设备确定所述BIDIR PIM Relay为自身的邻居,并在所述BIDIR PIM域的设备上实现所述BIDIR PIM Relay和所述BIDIR PIM域的设备之间的组播数据交互,和/或协议报文交互。
一种组播数据的传输装置,其特征在于,应用于包括BIDIR PIM域和PIMSM域的组播网络中,且所述BIDIR PIM域与PIM SM域之间需要进行组播数据的传输,在所述组播网络中包括组播源、接收者、BIDIR PIM Relay和BIDIR PIM域中的RP,其中,所述BIDIR PIM Relay为所述PIM SM域中的RP,且所述BIDIR PIM Relay与所述BIDIR PIM域中的设备连接,所述装置包括:
处理模块,用于建立所述BIDIR PIM Relay和所述BIDIR PIM域的设备的邻居关系;
接收模块,用于接收来自所述PIM SM域中的组播信息;
发送模块,与所述处理模块和接收模块分别连接,用于根据所述处理模块建立的邻居关系将所述接收模块接收的组播信息发送给所述自身连接的BIDIR PIM域的设备;并通过BIDIR PIM域的设备将所述组播信息发送给所述BIDIR PIM域中的RP,由所述BIDIR PIM域中的RP根据所述组播信息完成组播数据的传输过程。
所述组播信息包括:组播数据、或协议报文;当所述组播源在所述BIDIRPIM域,所述接收者在所述PIM SM域时,所述组播信息为协议报文中的PIMSM JOIN报文或PIM SM Prune报文;
所述接收模块具体用于:接收来自所述接收者的PIM SM JOIN报文或PIM SM Prune报文;
所述发送模块具体用于:获取所述PIM SM JOIN报文或PIM SM Prune报文中的组播组地址;当所述组播组地址为所述BIDIR PIM域中的地址时,提取所述组播组地址,将所述组播组地址封装到对应的BIDIR PIM JOIN报文或BIDIR PIM Prune报文中,并根据预先建立的邻居关系将所述BIDIR PIMJOIN报文或BIDIR PIM Prune报文发送给所述BIDIR PIM域的设备。
当所述组播源在所述PIM SM域,所述接收者在所述BIDIR PIM域时,所述组播信息为组播数据;
所述发送模块还用于:根据预先建立的邻居关系将来自所述组播源的组播数据发送给所述BIDIR PIM域的设备;其中,所述发送模块不需要向所述组播源发送注册停止报文。
所述处理模块具体用于:
确定所述BIDIR PIM域的设备为自身的邻居,并在所述BIDIR PIM Relay上实现所述BIDIR PIM Relay和所述BIDIR PIM域的设备之间的组播数据交互,和/或协议报文交互。
与现有技术相比,本发明具有以下优点:
通过在支持PIM SM的RP设备上实现BIDIR PIM Relay技术,实现了BIDIR PIM和PIM SM的平滑对接,而不需要PIM SM域中的所有设备支持BIDIR PIM协议,从而最终实现BIDIR PIM和PIM SM的灵活部署,使BIDIRPIM协议得到了广泛的应用。
附图说明
图1为现有技术中PIM-SM的组播数据发送过程;
图2为现有技术中BIDIR PIM的组播数据发送过程;
图3为本发明提出的一种组播数据的传输方法流程图;
图4为本发明提出的一种应用场景下提出的组网模式图;
图5为本发明应用场景下提出的一种组播数据的传输方法流程图;
图6为本发明应用场景下提出的另一种组播数据的传输方法流程图;
图7为本发明提出的一种组播数据的传输装置结构图。
具体实施方式
本发明的核心思想是通过在支持PIM SM的RP设备上实现BIDIR PIMRelay技术,实现了BIDIR PIM和PIM SM的平滑对接,而不需要PIM SM域中的所有设备支持BIDIR PIM协议,从而最终实现BIDIR PIM和PIM SM的灵活部署,使BIDIR PIM协议得到了广泛的应用。
本发明提出的一种组播数据的传输方法,应用于包括BIDIR PIM域和PIM SM域的组播网络中,且所述BIDIR PIM域与PIM SM域之间需要进行组播数据的传输,在所述组播网络中包括组播源、接收者、BIDIR PIM Relay和BIDIR PIM域中的RP,其中,所述BIDIR PIM Relay为所述PIM SM域中的RP,且所述BIDIR PIM Relay与所述BIDIR PIM域中的设备连接,如图3所示,所述方法包括以下步骤:
步骤S301,所述BIDIR PIM Relay接收来自所述PIM SM域中的组播信息。
步骤S302,所述BIDIR PIM Relay根据预先建立的邻居关系将所述组播信息发送给所述自身连接的BIDIR PIM域的设备;所述邻居关系为所述BIDIR PIM Relay和所述BIDIR PIM域的设备的邻居关系。
步骤S303,所述BIDIR PIM域的设备将所述组播信息发送给所述BIDIRPIM域中的RP,由所述BIDIR PIM域中的RP根据所述组播信息完成组播数据的传输过程。
本发明一种应用场景下提出的组播数据的传输方法,应用在同一组播域中包含BIDIR PIM域和PIM SM域的组播网络中,该组播数据的传输方法为PIM SM域中的设备向BIDIR PIM域中的设备发送组播数据,和/或,PIMSM域中的设备接收来自BIDIR PIM域中的设备的组播数据。如图4所示的组网示意图。在该图4中,R1、R2、R3、R4、客户端1、服务器1为BIDIRPIM域中的设备,而S1、S2、S3、S4、客户端2、服务器2为PIM SM域中的设备,其中,组网中的各个设备(上述的R1、S1等)可以为路由器等交换设备。在初始配置时,对于PIM SM域,需要将PIM SM域中的RP配置在边缘的BIDIR PIM Relay(中继)上,其中,该BIDIR PIM Relay只是为了方便描述所起的名字,根据实际需要还可以选择其他的名字。需要说明的是,在实际的应用中,当组网确定后,可以根据实际的情况配置该PIM SM域中的RP(即选择BIDIR PIM Relay),该BIDIR PIM Relay为PIM SM域中与BIDIR PIM域中设备直接连接的设备,可以看出,在图4所示的组网中,该S1与BIDIR PIM域中的R1连接,即将PIM SM域中的RP配置在S1上,该BIDIR PIM Relay为S1。此外,在PIM SM域中,需要始终使用RPT进行转发,即所有表项的RPF(Reverse Path Forwarding,逆向路径转发)接口都指向PIM SM域中的RP(S1),使得在PIM SM域中不会进行RPT向SPT切换的过程;所有发送给BIDIR PIM域的信息(例如,数据、协议等信息),均需要通过使用该S1进行发送,从而保证BIDIR PIM域中的设备可以对PIM SM域中的信息进行处理。
进一步的,在初始配置的过程中,当确定了BIDIR PIM Relay之后,还需要在BIDIR PIM Relay上实现BIDIR PIM邻居功能、BIDIR PIM DF选举功能、BIDIR PIM JOIN(加入)功能、BIDIR PIM PRUNE(剪除)功能、BIDIR PIM数据发送功能等,其中,(1)该BIDIR PIM邻居功能用于实现PIM SM域设备与BIDIR PIM域中设备直接的交互。在PIM SM域中,当S1上实现了该BIDIR PIM邻居功能后,该S1确定R1为自身的PIM SM邻居,可以对来自R1的协议报文和数据报文进行处理,同样的,该S1还需要向R1发送带有BIDIR PIM特征的Hello报文(即BIDIR PIM Hello报文),使得该R1根据该Hello报文判断出该S1为自身的BIDIR PIM邻居,可以对来自S1的协议报文和数据报文进行处理。(2)该BIDIR PIM DF选举功能用于使自身不能成为DF设备。当S1上实现了该BIDIR PIM DF选举功能时,S1在和R1在进行BIDIR PIM协议的交互过程中,在发送和接收BIDIR PIM DF选举报文时,通过将到BIDIR PIM中RP的路由开销设置成足够大(路由开销小的为DF设备),确保自身不能选举成为DF设备,而使得BIDIR PIM域中的设备成为DF设备;即R1为BIDIR PIM域中DF设备,所有的组播数据需要通过该R1发送给BIDIR PIM域中的RP。(3)该BIDIR PIM JOIN功能用于向BIDIR PIM域中的RP发送加入报文。其中,当S1接收到PIM SM域中的PIM SM JOIN报文时,提取要加入的组播组地址,并将该组播地址封装到BIDIR PIM JOIN报文中,通过R1将该BIDIR PIM JOIN报文发送到BIDIR PIM域中的RP,并在BIDIR PIM域中各设备之间生成(*,G)表项,从而使得PIM SM域中的设备加入到BIDIR PIM域中的RP。(4)该BIDIR PIM PRUNE功能用于向BIDIR PIM域中的RP发送剪枝报文。其中,当S1接收到PIM SM域中的PIMSM Prune报文时,如果该PIM SM域中不再有对应组的接收者了,提取要离开的组播组地址,并将该组播地址封装到BIDIR PIM Prune报文中,通过R1将该BIDIR PIM Prune报文发送到BIDIR PIM域中的RP,从而使得PIM SM域中的设备退出BIDIR PIM域中的RP。(5)该BIDIR PIM数据发送功能用于向BIDIR PIM域中设备发送组播数据。其中,当S1接收到PIM SM域中的组播数据时,直接将该组播数据发送给BIDIR PIM域中R1,R1接收到该组播数据时,生成(*,G)表项,并逐跳转发到BIDIR PIM域中对应的RP。其中,S1在接收到PIM SM域中的组播注册报文时,由于组播数据是需要发送给BIDIR PIM域中的RP,即使没有任何接收者,也不会发送对应的注册停止报文。
如图5所示,为PIM SM域中的设备接收来自BIDIR PIM域中的设备的组播数据(以客户端2接收服务器1发送的组播数据流时为例)时,对应的组播数据的传输方法,包括以下步骤:
步骤S501,服务器1(BIDIR PIM域中的组播源)将组播数据发送给BIDIRPIM域中的RP,并在沿途各设备中生成(*,G)表项。其中,该BIDIR PIM域中的RP为R2,而在BIDIR PIM域中,使用的是BIDIR PIM协议,沿途各设备只需要生成(*,G)表项,图4中,需要在R3和R2中生成(*,G)表项。
步骤S502,当客户端2(PIM SM域中的接收者)需要接收组播组的组播数据时,将加入该组播组。其中,该客户端2通过与自身直连的路由器(即S4)交互IGMP(Internet Group Management Protocol,Internet组管理协议),从而维护接收客户端2和S4的关系,即将该S4作为该客户端2的DR。
具体的,当客户端2需要接收组播组的组播数据时,通过该S4向S1发送PIM SM JOIN报文,其中,当该客户端2要加入到PIM SM域中的组播组时,只需要将PIM SM JOIN报文发送到S1即可,后续的处理过程均为现有的PIM SM协议中的处理过程,本发明中不再赘述。
而本发明中,该客户端2是以需要接收服务器1(组播源)的组播数据为例的,即该客户端2需要加入到服务器1所对应的组播组;即组播组地址对应R2的地址(服务器1所对应的组播组地址)。当S1接收到来自S4的PIM SMJOIN报文,获知组播组地址为BIDIR PIM域中的地址时,需要使能上述预先实现的BIDIR PIM JOIN功能,提取要加入的组播组地址(R2的地址),并将该组播组地址封装到BIDIR PIM JOIN报文中,通过R1将该BIDIR PIM JOIN报文发送到R2中,并在BIDIR PIM域中各设备(R1和R2)上生成(*,G)表项,从而使得客户端2加入到R2的组播组。
需要说明的是,初始配置时,通过使用BIDIR PIM DF选举功能,已经确定该S1不能成为DF设备,即该S1需要将BIDIR PIM JOIN报文发送给BIDIRPIM域中的DF设备(以该DF设备为R1为例),并由该R1将该BIDIR PIMJOIN报文发送给R2(BIDIR PIM域中的RP)。
此外,在R1接收到来自S1的BIDIR PIM JOIN报文时,由于初始配置时,在使用BIDIR PIM邻居功能过程中,该R1已经确定该S1为自身的BIDIRPIM邻居,即该R1可以接收该S1的BIDIR PIM JOIN报文,并生成(*,G)表项,将该BIDIR PIM JOIN报文转发给R2。
步骤S503,R2在接收到该BIDIR PIM JOIN报文时,确定该客户端2为接收者,向R1发送组播数据,该组播数据通过(*,G)转发到R1后,该R1将该组播数据发送给S1。
步骤S504,S1在接收到该组播数据后,生成(S,G)表项,并最终将该组播数据发送到接收者,即客户端2。其中,该S1接收到该组播数据后的处理过程为现有的PIM SM处理过程,本发明中不再详加描述。
进一步的,当客户端2不再需要从服务器1接收组播数据时,该客户端2将通过S4向S1发送PIM SM PRUNE报文,当该S1接收到该PIM SM PRUNE报文时,还需要判断该PIM SM域中是否还需要接收该组播组(PIM SMPRUNE携带的组播组地址)的组播数据,即PIM SM域中是否还需要从R2中接收组播数据,当PIM SM域中不需要从R2中接收组播数据时,该S1通过R1向R2发送PIM SM PRUNE报文(由上述的BIDIR PIM PRUNE功能实现),以通知BIDIR PIM域中的设备删除对应的(*,G)表项和出接口等信息,即BIDIR PIM域中的R1和R2将删除(*,G)表项和出接口;当R1接收到来自R2的组播数据时,由于已经删除了S1需要该组播数据的信息,即该R1不会将该组播数据发送给S1。
可见,通过以上流程,即可将BIDIR PIM域中的组播数据发送给PIM SM域中的设备。
其中,本发明方法可以根据实际需要对各个步骤顺序进行调整。
如图6所述,为PIM SM域中的设备向BIDIR PIM域中的设备发送组播数据(以服务器2向客户端1发送的组播数据流时为例)时,对应的组播数据的传输方法,包括以下步骤:
步骤S601,服务器2(PIM SM域中的组播源)向S1发送组播源注册报文。其中,该服务器2通过与自身直连的路由器(即S3)交互IGMP,从而维护接收服务器2和S3的关系,即将该S3作为该服务器2的DR。该服务器2通过S3向S1发送组播源注册报文,该过程为现有PIM SM协议中的处理过程,本发明中不再赘述。
当接收到来自S3的组播源注册报文后,该S1并不会向S3发送注册停止报文(而现有PIM SM协议中S1将向S3发送注册停止报文),只是向S3发起SPT过程,沿途各设备(S1和S3)生成(S,G)表项,使得服务器2向S1发送的后续组播数据均通过该SPT上的(S,G)表项进行转发,该过程不再详加描述。
步骤S602,S1将该组播数据发送给BIDIR PIM域中R1,R1接收到该组播数据时,生成(*,G)表项,并逐跳转发到BIDIR PIM域中对应的RP。其中,该过程是通过BIDIR PIM数据发送功能所实现的。
具体的,按照BIDIR PIM的协议规范,R1在收到组播数据时,将生成(*,G)表项,并向R2转发,沿途生成(*,G)表项,该过程不再详加描述。
步骤S603,当客户端1需要接收组播数据时,通过R4向R2发送BIDIRPIM Join报文,从而加入到R2的组播组,即客户端1可以从该组播组R2接收到组播数据;而来自服务器2的组播数据将通过S1和R1最终传输到R2上,客户端1需要服务器2的组播数据时,R2可以将对应的组播数据发送给客户端1。其中,当客户端1需要离开组播组时,可以按照现有的BIDIR PIM协议,本发明中不再赘述。
本发明方法可以根据实际需要对各个步骤顺序进行调整。
本发明还提出了一种组播数据的传输装置,应用于包括BIDIR PIM域和PIM SM域的组播网络中,且所述BIDIR PIM域与PIM SM域之间需要进行组播数据的传输,在所述组播网络中包括组播源、接收者、BIDIR PIM Relay和BIDIR PIM域中的RP,其中,所述BIDIR PIM Relay为所述PIM SM域中的RP,且所述BIDIR PIM Relay与所述BIDIR PIM域中的设备连接,如图7所示,所述装置包括:
处理模块71,用于建立所述BIDIR PIM Relay和所述BIDIR PIM域的设备的邻居关系。其中,所述处理模块71具体用于确定所述BIDIR PIM域的设备为自身的邻居,并在所述BIDIR PIM Relay上实现所述BIDIR PIM Relay和所述BIDIR PIM域的设备之间的组播数据交互,和/或协议报文交互。
需要说明的是,在本发明中,以图4所示的情况为例,初始配置时,处理模块71需要在该组播数据的传输装置配置如下功能;BIDIR PIM邻居功能、BIDIR PIM DF选举功能、BIDIR PIM JOIN功能、BIDIR PIM PRUNE功能、BIDIR PIM数据发送功能等,其中,(1)该BIDIR PIM邻居功能用于实现PIM SM域设备与BIDIR PIM域中设备直接的交互。在PIM SM域中,当S1上实现了该BIDIR PIM邻居功能后,该S1确定R1为自身的PIM SM邻居,可以对来自R1的协议报文和数据报文进行处理,同样的,该S1还需要向R1发送带有BIDIR PIM特征的Hello报文(即BIDIR PIM Hello报文),使得该R1根据该Hello报文判断出该S1为自身的BIDIR PIM邻居,可以对来自S1的协议报文和数据报文进行处理。(2)该BIDIR PIM DF选举功能用于使自身不能成为DF设备。当S1上实现了该BIDIR PIM DF选举功能时,S1在和R1在进行BIDIR PIM协议的交互过程中,在发送和接收BIDIR PIM DF选举报文时,通过将到BIDIR PIM中RP的路由开销设置成足够大(路由开销小的为DF设备),确保自身不能选举成为DF设备,而使得BIDIR PIM域中的设备成为DF设备;即R1为BIDIR PIM域中DF设备,所有的组播数据需要通过该R1发送给BIDIR PIM域中的RP。(3)该BIDIR PIM JOIN功能用于向BIDIR PIM域中的RP发送加入报文。其中,当S1接收到PIM SM域中的PIM SM JOIN报文时,提取要加入的组播组地址,并将该组播地址封装到BIDIR PIM JOIN报文中,通过R1将该BIDIR PIM JOIN报文发送到BIDIRPIM域中的RP,并在BIDIR PIM域中各设备之间生成(*,G)表项,从而使得PIM SM域中的设备加入到BIDIR PIM域中的RP。(4)该BIDIR PIMPRUNE功能用于向BIDIR PIM域中的RP发送剪枝报文。其中,当S1接收到PIM SM域中的PIM SM Prune报文时,如果该PIM SM域中不再有对应组的接收者了,提取要离开的组播组地址,并将该组播地址封装到BIDIR PIMPrune报文中,通过R1将该BIDIR PIM Prune报文发送到BIDIR PIM域中的RP,从而使得PIM SM域中的设备退出BIDIR PIM域中的RP。(5)该BIDIRPIM数据发送功能用于向BIDIR PIM域中设备发送组播数据。其中,当S1接收到PIM SM域中的组播数据时,直接将该组播数据发送给BIDIR PIM域中R1,R1接收到该组播数据时,生成(*,G)表项,并逐跳转发到BIDIR PIM域中对应的RP。其中,S1在接收到PIM SM域中的组播注册报文时,由于组播数据是需要发送给BIDIR PIM域中的RP,即使没有任何接收者,也不会发送对应的注册停止报文。
接收模块72,用于接收来自所述PIM SM域中的组播信息。其中,所述组播信息包括:组播数据、或协议报文;当所述组播源在所述BIDIR PIM域,所述接收者在所述PIM SM域时,所述组播信息为协议报文中的PIM SM JOIN报文或PIM SM Prune报文;所述接收模块72用于接收来自所述接收者的PIMSM JOIN报文或PIM SM Prune报文。
发送模块73,与所述处理模块和接收模块分别连接,用于根据所述处理模块建立的邻居关系将所述接收模块71接收的组播信息发送给所述自身连接的BIDIR PIM域的设备;并通过BIDIR PIM域的设备将所述组播信息发送给所述BIDIR PIM域中的RP,由所述BIDIR PIM域中的RP根据所述组播信息完成组播数据的传输过程。
具体的,当所述接收模块72用于接收来自所述接收者的PIM SM JOIN报文或PIM SM Prune报文时,所述发送模块73用于获取所述PIM SM JOIN报文或PIM SM Prune报文中的组播组地址;当所述组播组地址为所述BIDIRPIM域中的地址时,提取所述组播组地址,将所述组播组地址封装到对应的BIDIR PIM JOIN报文或BIDIR PIM Prune报文中,并根据预先建立的邻居关系将所述BIDIR PIM JOIN报文或BIDIR PIM Prune报文发送给所述BIDIRPIM域的设备。
进一步的,当所述组播源在所述PIM SM域,所述接收者在所述BIDIRPIM域时,所述组播信息为组播数据;所述发送模块73用于根据预先建立的邻居关系将来自所述组播源的组播数据发送给所述BIDIR PIM域的设备;其中,所述发送模块不需要向所述组播源发送注册停止报文。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到本发明可以通过硬件实现,也可以借助软件加必要的通用硬件平台的方式来实现。基于这样的理解,本发明的技术方案可以以软件产品的形式体现出来,该软件产品可以存储在一个非易失性存储介质(可以是CD-ROM,U盘,移动硬盘等)中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。
本领域技术人员可以理解附图只是一个优选实施例的示意图,附图中的模块或流程并不一定是实施本发明所必须的。
本领域技术人员可以理解实施例中的装置中的模块可以按照实施例描述进行分布于实施例的装置中,也可以进行相应变化位于不同于本实施例的一个或多个装置中。上述实施例的模块可以合并为一个模块,也可以进一步拆分成多个子模块。
上述本发明序号仅仅为了描述,不代表实施例的优劣。
以上公开的仅为本发明的几个具体实施例,但是,本发明并非局限于此,任何本领域的技术人员能思之的变化都应落入本发明的保护范围。

Claims (10)

1.一种组播数据的传输方法,其特征在于,应用于包括双向协议无关组播BIDIR PIM域和协议无关组播稀疏模式PIM SM域的组播网络中,且所述BIDIR PIM域与PIM SM域之间需要进行组播数据的传输,在所述组播网络中包括组播源、接收者、BIDIR PIM中继Relay和BIDIR PIM域中的汇集点RP,其中,所述BIDIR PIM Relay为所述PIM SM域中的RP,且所述BIDIRPIM Relay与所述BIDIR PIM域中的设备连接,所述方法包括以下步骤:
所述BIDIR PIM Relay接收来自所述PIM SM域中的组播信息;
所述BIDIR PIM Relay根据预先建立的邻居关系将所述组播信息发送给所述自身连接的BIDIR PIM域的设备;所述邻居关系为所述BIDIR PIM Relay和所述BIDIR PIM域的设备的邻居关系;
所述BIDIR PIM域的设备将所述组播信息发送给所述BIDIR PIM域中的RP,由所述BIDIR PIM域中的RP根据所述组播信息完成组播数据的传输过程。
2.如权利要求1所述的方法,其特征在于,所述组播信息包括:组播数据、或协议报文;当所述组播源在所述BIDIR PIM域,所述接收者在所述PIMSM域时,所述组播信息为协议报文中的PIM SM加入JOIN报文或PIM SM剪枝Prune报文;
所述BIDIR PIM Relay接收来自所述PIM SM域中的组播信息具体为:所述BIDIR PIM Relay接收来自所述接收者的PIM SM JOIN报文或PIM SMPrune报文;
所述BIDIR PIM Relay根据预先建立的邻居关系将所述组播信息发送给所述自身连接的BIDIRPIM域的设备具体包括:
所述BIDIR PIM Relay获取所述PIM SM JOIN报文或PIM SM Prune报文中的组播组地址;
当所述组播组地址为所述BIDIR PIM域中的地址时,提取所述组播组地址,并将所述组播组地址封装到对应的BIDIR PIM JOIN报文或BIDIR PIMPrune报文中,根据预先建立的邻居关系将所述BIDIR PIM JOIN报文或BIDIR PIM Prune报文发送给所述BIDIR PIM域的设备。
3.如权利要求2所述的方法,其特征在于,当所述协议报文为所述PIMSM JOIN报文时,所述BIDIR PIM域的设备将所述组播信息发送给所述BIDIR PIM域中的RP,由所述BIDIR PIM域中的RP根据所述组播信息完成组播数据的传输过程具体包括:
所述BIDIR PIM域中的RP接收BIDIR PIM JOIN报文,并从所述组播源中接收组播数据;
所述BIDIR PIM域中的RP根据所述BIDIR PIM JOIN报文生成(*,G)表项,并根据所述(*,G)表项将来自所述组播源的组播数据发送给所述接收者。
4.如权利要求1所述的方法,其特征在于,当所述组播源在所述PIM SM域,所述接收者在所述BIDIR PIM域时,所述组播信息为组播数据;
所述BIDIR PIM Relay根据预先建立的邻居关系将所述组播信息发送给所述自身连接的BIDIR PIM域的设备具体包括:
所述BIDIR PIM Relay根据预先建立的邻居关系将来自所述组播源的组播数据发送给所述BIDIR PIM域的设备;其中,所述BIDIR PIM Relay不需要向所述组播源发送注册停止报文。
5.如权利要求4所述的方法,其特征在于,所述BIDIR PIM域的设备将所述组播信息发送给所述BIDIR PIM域中的RP,由所述BIDIR PIM域中的RP根据所述组播信息完成组播数据的传输过程具体包括:
所述BIDIR PIM域中的RP接收来自PIM SM域的组播数据;并将所述组播数据发送给BIDIR PIM域的接收者。
6.如权利要求1-5任一项所述的方法,其特征在于,所述方法还包括:
所述BIDIR PIM Relay确定所述BIDIR PIM域的设备为自身的邻居,并在所述BIDIR PIM Relay上实现所述BIDIR PIM Relay和所述BIDIR PIM域的设备之间的组播数据交互,和/或协议报文交互;以及,
所述BIDIR PIM域的设备确定所述BIDIR PIM Relay为自身的邻居,并在所述BIDIR PIM域的设备上实现所述BIDIR PIM Relay和所述BIDIR PIM 域的设备之间的组播数据交互,和/或协议报文交互。
7.一种组播数据的传输装置,其特征在于,应用于包括BIDIR PIM域和PIM SM域的组播网络中,且所述BIDI RPIM域与PIM SM域之间需要进行组播数据的传输,在所述组播网络中包括组播源、接收者、BIDIR PIM中继Relay和BIDIR PIM域中的汇集点RP,其中,所述BIDIR PIM Relay为所述PIM SM域中的RP,且所述BIDIR PIM Relay与所述BIDIR PIM域中的设备连接,所述装置包括:
处理模块,用于建立所述BIDIR PIM Relay和所述BIDIR PIM域的设备的邻居关系;
接收模块,用于接收来自所述PIM SM域中的组播信息;
发送模块,与所述处理模块和接收模块分别连接,用于根据所述处理模块建立的邻居关系将所述接收模块接收的组播信息发送给所述自身连接的BIDIR PIM域的设备;并通过BIDIR PIM域的设备将所述组播信息发送给所述BIDIR PIM域中的RP,由所述BIDIR PIM域中的RP根据所述组播信息完成组播数据的传输过程。
8.如权利要求7所述的装置,其特征在于,所述组播信息包括:组播数据、或协议报文;当所述组播源在所述BIDIR PIM域,所述接收者在所述PIM SM域时,所述组播信息为协议报文中的PIM SM JOIN报文或PIM SM Prune报文;
所述接收模块具体用于:接收来自所述接收者的PIM SM JOIN报文或PIM SM Prune报文;
所述发送模块具体用于:获取所述PIM SM JOIN报文或PIM SM Prune报文中的组播组地址;当所述组播组地址为所述BIDIR PIM域中的地址时,提取所述组播组地址,将所述组播组地址封装到对应的BIDIR PIM JOIN报文或BIDIR PIM Prune报文中,并根据预先建立的邻居关系将所述BIDIR PIM JOIN报文或BIDIR PIM Prune报文发送给所述BIDIR PIM域的设备。
9.如权利要求7所述的装置,其特征在于,当所述组播源在所述PIM SM 域,所述接收者在所述BIDIR PIM域时,所述组播信息为组播数据;
所述发送模块还用于:根据预先建立的邻居关系将来自所述组播源的组播数据发送给所述BIDIR PIM域的设备;其中,所述发送模块不需要向所述组播源发送注册停止报文。
10.如权利要求7-9任一项所述的装置,其特征在于,所述处理模块具体用于:
确定所述BIDIR PIM域的设备为自身的邻居,并在所述BIDIR PIM Relay上实现所述BIDIR PIM Relay和所述BIDIR PIM域的设备之间的组播数据交互,和/或协议报文交互。 
CN 200910174221 2009-09-23 2009-09-23 一种组播数据的传输方法及装置 Active CN102025517B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN 200910174221 CN102025517B (zh) 2009-09-23 2009-09-23 一种组播数据的传输方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN 200910174221 CN102025517B (zh) 2009-09-23 2009-09-23 一种组播数据的传输方法及装置

Publications (2)

Publication Number Publication Date
CN102025517A CN102025517A (zh) 2011-04-20
CN102025517B true CN102025517B (zh) 2013-06-05

Family

ID=43866411

Family Applications (1)

Application Number Title Priority Date Filing Date
CN 200910174221 Active CN102025517B (zh) 2009-09-23 2009-09-23 一种组播数据的传输方法及装置

Country Status (1)

Country Link
CN (1) CN102025517B (zh)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102255812B (zh) * 2011-07-15 2014-07-30 杭州华三通信技术有限公司 一种组播源抑制方法和路由设备
CN103457776B (zh) * 2013-09-04 2016-10-12 杭州华三通信技术有限公司 一种双向协议无关组播中动态部署汇聚点的方法及装置
CN103475665B (zh) * 2013-09-18 2017-07-04 新华三技术有限公司 一种区分协议无关组播协议组播组类型的方法及装置
CN103905321B (zh) * 2014-04-16 2017-02-15 杭州华三通信技术有限公司 协议无关组播模式切换方法及装置
US20230318969A1 (en) * 2022-03-31 2023-10-05 Lenovo (United States) Inc. Optimizing network load in multicast communications

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1969491A (zh) * 2004-07-23 2007-05-23 思科技术公司 在路由器中的控制故障期间保护多播数据转发的系统和方法
US20070127473A1 (en) * 2005-12-01 2007-06-07 Andrew Kessler Interdomain bi-directional protocol independent multicast

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1969491A (zh) * 2004-07-23 2007-05-23 思科技术公司 在路由器中的控制故障期间保护多播数据转发的系统和方法
US20070127473A1 (en) * 2005-12-01 2007-06-07 Andrew Kessler Interdomain bi-directional protocol independent multicast

Also Published As

Publication number Publication date
CN102025517A (zh) 2011-04-20

Similar Documents

Publication Publication Date Title
CN100454893C (zh) 一种快速组播的实现方法
US7830787B1 (en) Flooding control for multicast distribution tunnel
CN105814838B (zh) 一种软件定义网络的多播方法、装置及系统
Gossain et al. Multicast: Wired to wireless
US20090059923A1 (en) Multicast method and multicast routing method
US9871718B2 (en) Method and device for registering multicast source and establishing multicast path
CN101291240B (zh) 一种组播流传输方法和系统
CN101247253A (zh) Ip网络中基于虚拟分发网的多播传送方法
US9325605B2 (en) On-demand boot strap router source announcements
CN100477635C (zh) 一种域间组播的传输方法及边缘设备
CN103546381A (zh) 基于内部网关协议创建双向组播分发树的方法、装置及系统
CN102025517B (zh) 一种组播数据的传输方法及装置
CN102075422A (zh) 一种组播管理方法及二层设备
CN102111279B (zh) 一种组播数据的传输方法和设备
US10708196B2 (en) Modifications of headend forwarding rules to join wide area network branch hosts to multicast groups
EP2892196A1 (en) Method, network node and system for implementing point-to-miltipoint multicast
CN101442422B (zh) 一种数据的传输方法、系统及装置
CN102316083A (zh) 一种在ip网络中实现组播业务的方法和装置
CN101547110A (zh) 一种组播源的注册方法、系统和设备
CN102843303B (zh) Pim中的组播报文处理方法及装置
CN105429878A (zh) 一种创建pim-sm spt的方法
CN1937610B (zh) 具有pim功能的解码器,采用该解码器的实时监控系统及方法
KR100453221B1 (ko) 유니캐스트 망을 이용한 그룹 캐스트 전송 방법 및 시스템
Bartczak et al. Lightweight PIM—a new multicast routing protocol
CN106209649B (zh) 自动配置组播路由协议时避开单播路由器的方法及装置

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
CP03 Change of name, title or address

Address after: 310052 Binjiang District Changhe Road, Zhejiang, China, No. 466, No.

Patentee after: Xinhua three Technology Co., Ltd.

Address before: 310053 Hangzhou hi tech Industrial Development Zone, Zhejiang province science and Technology Industrial Park, No. 310 and No. six road, HUAWEI, Hangzhou production base

Patentee before: Huasan Communication Technology Co., Ltd.

CP03 Change of name, title or address