数据转发方法和系统的制作方法

文档序号:8006093阅读:192来源:国知局
数据转发方法和系统的制作方法
【专利摘要】本发明涉及一种数据转发方法和系统,用于在至少两个双向协议无关组播BIDIR-PIM域之间进行组播数据的转发,该方法包括:在数据源端BIDIR-PIM域的数据源端RP设备和数据接收端BIDIR-PIM域的数据接收端RP设备之间建立隧道;通过所述隧道在所述数据源端BIDIR-PIM域和数据接收端BIDIR-PIM域之间转发组播数据。本发明实施例通过在至少两个不同的BIDIR-PIM域的RP设备之间建立一个隧道,并扩展BIDIR-PIM协议,能够实现在不同的BIDIR-PIM域之间组播数据的跨域转发。
【专利说明】数据转发方法和系统

【技术领域】
[0001]本发明涉及组播【技术领域】,尤其涉及一种数据转发方法和系统。

【背景技术】
[0002]I?组播技术是通过I?组播协议实现的,I?组播协议包括路由器和接收者主机之间的协议以及路由器和路由器之间的协议,两者结合用于构建从组播源到组播数据接收者之间的组播转发树。路由器和接收者主机之间协议通常采用叩即
61-0111)此的阴邮社?1~01:00017 1=1:611161:组管理协议),路由器和路由器之间通常采用?II(^1-01:0001 111(161)611(16111:血11: 1,协议无关组播)协议。
[0003](81(111-601:101181 ?1~01:0001 111(161)611(16111:双向协议无关组播)协议是?II协议的一种,适用于多点到多点的组播业务。例如多人在线会议、在线游戏以及IV?。(11111:10881: ^11-1:1181 ^6切01^,组播虚拟专用网络)业务的公网隧道等。8101卜?11协议按组转发数据,一个组包括一个或多个需要发送或接收组播数据的用户。对于某一个组来说,在整个8101卜?11域内,无论一个组播组有多少个组播源都只有一棵转发树,因此,能够最大幅度节约转发资源。
[0004]基本原理是建立一个以设备?01社,汇聚点)为根,所有用户为叶子的双向转发树,这样当一个用户向这棵树发送组播数据时,目标组内所有用户都会收到该组播数据,以此来达到组播数据转发的目的。
[0005]现有技术中,由于8101卜?11转发树的建立需要依赖设备,而设备是按照8101卜?11域进行部署的,每个8101卜?11域都有各自的设备,这就导致不同的8101卜?11域之间不能建立8101卜?11转发树,从而使处在不同8101卜?11域的组或用户之间不能基于8101卜?11协议进行组播数据转发。
[0006]而且,通常情况下,域与单播的八3 (^111:01101110118 8731:6111,自治系统)域的范围相同。单播的…域通常按不同的地域范围(如城市)或不同的运营商网络来划分,并且是预先规划好的,不可能轻易进行合并。即使一个8101卜?頂域包含多个单播的…域(不考虑单播网络规划和运营商间的隔离),但因为单播的…域内的一些设备往往是没有其它八3域内的路由,而8101卜?11转发树的建立是要依赖单播路由的,所以实际上也是行不通的。


【发明内容】

[0007]抟术问是页
[0008]有鉴于此,本发明要解决的技术问题是如何实现在不同的8101卜?11域间组播数据的跨域转发。
[画]解决方案
[0010]为了解决上述问题,根据本发明一实施例,提供了一种数据转发方法,用于在至少两个双向协议无关组播8101卜?頂域之间进行组播数据的转发,该数据转发方法包括:
[0011]在数据源端8101卜?11域的数据源端汇聚点设备和数据接收端8101卜?11域的数据接收端即设备之间建立隧道;以及
[0012]通过所述隧道在所述数据源端8101卜?11域和数据接收端8101卜?11域之间转发组播数据。
[0013]对于上述数据转发方法,在一种可能的实现方式中,所述隧道为动态隧道,在所述在数据源端8101卜?11域的数据源端设备和数据接收端8101卜?11域的数据接收端尺?设备之间建立隧道之后,还包括:
[0014]所述数据源端卩?设备和数据接收端卩?设备设定所述隧道为指定转发者0?接口。
[0015]对于上述数据转发方法,在一种可能的实现方式中,所述在数据源端8101卜?11域的数据源端即设备和数据接收端8101卜?11域的数据接收端设备之间建立隧道包括:
[0016]在所述数据源端设备和数据接收端设备之间建立130?邻居;
[0017]所述数据源端卩?设备通过所述130?邻居发送组活跃信息至所述数据接收端尺?设备,所述组活跃信息包括所述数据源端即设备的地址和所述数据源端即设备上的组地址;
[0018]所述数据接收端设备根据接收到的所述组活跃信息,通过所述130?邻居向所述数据源端卩?设备发送组请求信息和隧道请求信息,所述组请求信息包括数据接收端尺?设备的地址和感兴趣的数据源端即设备的至少一个所述组地址,所述隧道请求信息包括所述数据接收端即设备的地址以及所述数据接收端所支持的隧道信息;
[0019]所述数据源端设备根据接收到的所述隧道请求信息,通过所述130?邻居向所述数据接收端即设备发送隧道响应信息,所述隧道响应信息包括所述数据源端即设备的地址及所述数据源端即设备选择的隧道的信息;以及
[0020]所述数据源端设备和数据接收端设备根据所述隧道响应信息建立隧道。
[0021]对于上述数据转发方法,在一种可能的实现方式中,所述通过所述隧道在所述数据源端8101卜?11域和数据接收端8101卜?11域之间转发组播数据包括:
[0022]所述数据源端设备通过所述隧道将来自感兴趣的组地址的组播数据发送至所述数据接收端即设备;以及
[0023]所述数据接收端设备将所述感兴趣的组地址的组播数据发送至对该组地址感兴趣的组。
[0024]对于上述数据转发方法,在一种可能的实现方式中,在所述通过所述隧道在所述数据源端8101卜?11域和数据接收端8101卜?11域之间转发组播数据之后,还包括:
[0025]所述数据接收端卩?设备发送组撤销信息至所述数据源端卩?设备,所述组撤销信息包括数据接收端即设备的地址和数据接收端即设备不再感兴趣的组地址;以及
[0026]所述数据源端卩?设备根据所述组撤销信息停止发送所述不再感兴趣的组地址对应的组播数据。
[0027]对于上述数据转发方法,在一种可能的实现方式中,所述通过所述隧道在所述数据源端8101卜?11域和数据接收端8101卜?11域之间转发组播数据之后还包括:
[0028]当所述数据源端设备和数据接收端设备中的组都不接收对端即设备的组播数据时,撤销所述隧道。
[0029]对于上述数据转发方法,在一种可能的实现方式中,所述隧道为静态隧道,所述数据转发方法还包括:
[0030]所述数据源端设备和数据接收端设备设定所述隧道为反向路径转发即?接0。
[0031]为了解决上述问题,根据本发明另一实施例,提供了一种数据转发系统,用于在至少两个双向协议无关组播8101卜?頂域之间进行组播数据的转发,该数据转发系统包括:
[0032]隧道建立模块,用于在数据源端8101卜?11域的数据源端汇聚点设备和数据接收端8101卜?11域的数据接收端设备之间建立隧道;
[0033]数据转发模块,与所述隧道建立模块连接,用于通过所述隧道在所述数据源端8101卜?11域和数据接收端8101卜?11域之间转发组播数据。
[0034]对于上述数据转发系统,在一种可能的实现方式中,所述隧道为动态隧道,所述数据转发系统还包括:
[0035]第一设定模块,与所述隧道建立模块和所述数据转发模块连接,用于所述数据源端尺?设备和数据接收端卩?设备设定所述动态隧道为指定转发者0?接口。
[0036]对于上述数据转发系统,在一种可能的实现方式中,所述隧道建立模块具体用于:
[0037]在所述数据源端设备和数据接收端设备之间建立130?邻居;
[0038]所述数据源端卩?设备通过所述130?邻居发送组活跃信息至所述数据接收端尺?设备,所述组活跃信息包括所述数据源端即设备的地址和所述数据源端即设备上的组地址;
[0039]所述数据接收端设备根据接收到的所述组活跃信息,所述数据接收端设备通过所述130?邻居向所述数据源端卩?设备发送组请求信息和隧道请求信息,所述组请求信息包括数据接收端即设备的地址和感兴趣的数据源端即设备的至少一个所述组地址,所述隧道请求信息中包括所述数据接收端即设备的地址以及所述数据接收端所支持的隧道信息;
[0040]所述数据源端设备根据接收到的所述隧道请求信息后,通过所述130?邻居向所述数据接收端即设备发送隧道响应信息以响应所述隧道请求信息,所述隧道响应信息包括所述数据源端即设备的地址及所述数据源端即设备选择的隧道信息;以及
[0041]所述数据源端设备和数据接收端设备根据所述隧道响应信息建立隧道。
[0042]对于上述数据转发系统,在一种可能的实现方式中,所述数据转发模块具体用于:
[0043]所述数据源端设备通过所述隧道将来自感兴趣的组地址的组播数据发送至所述数据接收端卩?设备;
[0044]所述数据接收端设备将所述感兴趣的组地址的组播数据发送至对该组地址感兴趣的组。
[0045]对于上述数据转发系统,在一种可能的实现方式中,还包括:
[0046]组撤销模块,与所述隧道建立模块连接,用于所述数据接收端即设备发送组撤销信息至所述数据源端即设备,所述组撤销信息中包括数据接收端即设备的地址和数据接收端卩?设备不再感兴趣的组地址;所述数据源端卩?设备根据所述组撤销信息停止发送所述不再感兴趣的组地址对应的组播数据。
[0047]对于上述数据转发系统,在一种可能的实现方式中,还包括:
[0048]隧道撤销模块,与所述隧道建立模块连接,用于当所述数据源端即设备和数据接收端即设备中的组都不接收对端即设备的组播数据时,撤销所述隧道。
[0049]对于上述数据转发系统,在一种可能的实现方式中,所述隧道为静态隧道,所述数据转发系统还包括:
[0050]第二设定模块,与所述隧道建立模块和所述数据转发模块连接,用于所述数据源端尺?设备和数据接收端即设备设定所述静态隧道为反向路径转发即?接口。
[0051]有益.效果
[0052]本发明实施例通过在至少两个不同的8101卜?11域的设备之间建立一个隧道,并扩展8101卜?11协议来实现在不同的8101卜?11域之间组播数据的跨域转发。

【专利附图】

【附图说明】
[0053]包含在说明书中并且构成说明书的一部分的附图与说明书一起示出了本发明的示例性实施例、特征和方面,并且用于解释本发明的原理。
[0054]图1示出根据本发明一实施例的数据转发方法的流程图;
[0055]图2示出根据本发明另一实施例的数据转发方法的流程图;
[0056]图3示出根据本发明又一实施例的数据转发方法的流程图;
[0057]图4示出根据本发明又一实施例的数据转发方法的流程图;
[0058]图5示出根据本发明一实施例的数据转发方法的应用场景示意图;
[0059]图6示出根据本发明一实施例的数据转发系统的结构框图;
[0060]图7示出根据本发明另一实施例的数据转发系统的结构框图;
[0061]图8示出根据本发明又一实施例的数据转发系统的结构框图;
[0062]图9示出根据本发明又一实施例的数据转发系统的结构框图。

【具体实施方式】
[0063]以下将参考附图详细说明本发明的各种示例性实施例、特征和方面。附图中相同的附图标记表示功能相同或相似的元件。尽管在附图中示出了实施例的各种方面,但是除非特别指出,不必按比例绘制附图。
[0064]在这里专用的词“示例性”意为“用作例子、实施例或说明性”。这里作为“示例性”所说明的任何实施例不必解释为优于或好于其它实施例。
[0065]另外,为了更好的说明本发明,在下文的【具体实施方式】中给出了众多的具体细节。本领域技术人员应当理解,没有这些具体细节,本发明同样可以实施。在另外一些实例中,对于大家熟知的方法、手段、元件和电路未作详细描述,以便于凸显本发明的主旨。
[0066]实施例1
[0067]图1示出根据本发明一实施例的数据转发方法的流程图。如图1所示,该数据转发方法能够用于在至少两个8101卜?11域之间进行组播数据的转发,该数据转发方法主要包括以下步骤:
[0068]步骤3100、在数据源端8101卜?11域的数据源端设备和数据接收端8101卜?11域的数据接收端即设备之间建立隧道;以及
[0069]步骤3120、通过隧道在数据源端8101卜?11域和数据接收端8101卜?11域之间转发组播数据。
[0070]具体地,如【背景技术】所述,由于8101卜?11转发树的建立需要依赖设备,而尺?设备是按照8101卜?11域进行部署的,每个8101卜?11域都有各自的设备,这就导致不同的8101卜?11域之间不能建立8101卜?11转发树,从而使处在不同8101卜?11域的组或用户之间不能基于8101卜?11协议进行组播数据转发。其中,设备是指
?01111:八汇聚点地址)所在设备或与(0611(162^0118 ?01111:[丨成,汇聚点链路)相连的其中一台设备。当需要在不同8101卜?11域之间进行组播数据的转发时,可以通过在该不同8101卜?11域的设备之间建立隧道来实现,即在两个8101卜?11域的两个设备之间建立隧道后,数据源端即设备将接收到的需要跨域转发的组播数据通过该隧道发送到数据接收端即设备,数据接收端即设备再基于8101卜?11协议规则将该组播数据发送给需要接收该组播数据的组或用户。
[0071]上述隧道可以是任何一种能够建立在两个设备间并进行数据转发的隧道,例如: 〔I?里面封装工?)隧道、6^ (通用路由协议封装)隧道、(流量工程)隧道、10?
(标签分发协议)隧道或?21?〈点对多点主站)隧道等。
[0072]本发明实施例通过在两个8101卜?11域的两个设备之间建立隧道并通过该隧道转发组播数据,能够实现不同的8101卜?11域之间组播数据的跨域转发。
[0073]实施例2
[0074]图2示出根据本发明另一实施例的数据转发方法的流程图。如图2所示,图2所示方法与图1所示方法的主要区别在于,图2所示的实施例建立的隧道可以为动态隧道,该隧道可以根据实际需要由两个8101卜?11域的两个设备协商建立和撤销。
[0075]在一种可能的实现方式中,如果上述隧道为动态隧道,则如图2所示,在所述在数据源端8101卜?11域的数据源端设备和数据接收端8101卜?11域的数据接收端设备之间建立隧道之后,还可以包括:
[0076]步骤3110、数据源端设备和数据接收端设备设定该隧道为指定转发者0?接0。
[0077]具体地,在两个8101卜?11域的两个设备之间建立隧道,即在数据接收端设备和数据源端即设备之间建立隧道以后,为了完成组播数据的跨域转发,还需要扩展通常的8101卜?頂协议,使所述数据源端设备和数据接收端设备设定该隧道为指定转发者 0? (0681^11^6(1',指定转发者)接口。其中,除了 [外,在域中的每条链路上都会自动选举一个唯一的0?路由器,选举原则为对比同一条链路的每个接口到即八的单播路径,具有最佳路径接口的路由器被选举为0?路由器,其相应接口即为0?接口,0?接口主要负责转发该链路的组播数据,也可以负责处理来自下游路由器的共享树的加入消息,即从0?接口接收到的组播数据向I???接口转发和有加入状态的接口转发,其中,即?接口是每个路由器去往设备的最佳路径的接口。因此,基于通常的8101卜?11协议规则,可以先将需要跨域转发的组播数据发送到数据源端即设备,然后再基于扩展的8101卜?11协议规则将该组播数据发往上述隧道,数据接收端设备通过上述隧道接收该组播数据,然后再基于通常的8101卜?11协议规则将该组播数据发送需要接收该组播数据的相应组或用户。
[0078]这样,本发明实施例通过在两个不同8101卜?11域的设备之间建立一个隧道以及扩展通常的8101卜?11协议,能够实现组播数据的跨域转发。
[0079]实施例3
[0080]图3示出根据本发明又一实施例的数据转发方法的流程图。如图3所示,图3所示方法与图2所示方法的主要区别在于,在数据源端8101卜?11域的数据源端设备和数据接收端8101卜?11域的数据接收端设备之间建立隧道即步骤3100主要可以包括以下步骤:
[0081]步骤3200、在数据源端设备和数据接收端设备之间建立130? (1111^1088^80111-06 1)1800^61-7 ?1~0丨0。01,组播源发现协议)邻居;
[0082]步骤3210、数据源端设备通过上述130?邻居发送组活跃信息至数据接收端尺?设备;
[0083]步骤3220、数据接收端设备通过上述130?邻居向数据源端设备发送组请求信息和隧道请求信息;
[0084]步骤3230、数据源端设备通过上述130?邻居向数据接收端设备发送隧道响应信息;
[0085]步骤3240、数据源端设备和数据接收端设备根据上述隧道响应信息建立隧道。
[0086]具体地,可以首先利用扩展的130?协议,在数据源端设备和数据接收端设备之间建立130?邻居,130?扩展的内容包括:组活跃信息、组请求信息、组撤销信息、隧道请求信息、隧道撤销信息以及隧道应答信息。
[0087]其中,组活跃信息包括设备的地址以及即设备上所有的组地址,组地址表示8101卜?11域下设备的组成员信息。
[0088]组请求信息包括本端设备的地址和本端设备所感兴趣的对端即设备的至少一个组地址,表示本端即设备下有至少一个组或用户想要接收这个感兴趣的组地址的组播数据。相应地,组撤销信息对应组请求信息,也包括本端卩?设备的地址和本端卩?设备不再感兴趣的至少一个组地址,表示本端即设备下有至少一个组或用户对对端即设备下相应组地址中的组播数据已经不感兴趣,即不想再接收该对端至少一个组地址的组播数据。
[0089]隧道请求信息包括本端设备的地址,本端设备所支持的隧道信息,该隧道信息包括隧道类型及隧道类型的相应信息,表示本端即设备想与对端即设备建立隧道,以实现跨域接收或发送组播数据。该隧道类型可以为任意一种隧道类型,例如隧道、
隧道、12隧道、10?隧道或?21?隧道等。相应地,隧道响应信息包括本端设备的地址和本端设备所选择的隧道信息,该隧道信息包括隧道类型及隧道类型的相应信息,表示本端即设备接收到隧道请求信息后选择的隧道类型,该选择的隧道类型是根据接收到的隧道请求信息和自身支持的隧道类型来确定的。隧道撤销信息包括对端即设备的地址,表示本端设备下的所有的组或用户对对端设备下的组播数据都不感兴趣,即不再需要接收对端即设备的组播数据,这种情况下可以请求撤销隧道。
[0090]对于上述步骤3200,建立130?邻居的目的是为了两端设备可以发送协商建立隧道的信息,例如组活跃信息、组请求信息以及隧道请求信息。
[0091]对于上述步骤3210,在本实施例中,为了便于描述,将首先发送组活跃信息的尺?设备作为数据源端即设备,将首先接收组活跃信息的即设备作为数据接收端即设备,实际上两端卩?设备都可以接收和发送数据。
[0092]对于上述步骤3220,在数据接收端设备接收到数据源端设备通过130?邻居发送的组活跃信息后,检测接收到的这些组活跃信息中是否存在本端即设备下的组或用户感兴趣的组地址,如果存在,即本端即设备下有至少一个组或用户想接收对端即设备下某一组或用户发送的组播数据,则向对端即数据源端发送相应的组请求信息,表示想要接收该组请求信息中组地址的组播数据,而组播数据的传输需要建立隧道,因此,数据接收端尺?设备还向对端即数据源端即设备发送隧道请求信息,表示需要与对端即数据源端即设备协商建立隧道的类型。
[0093]对于上述步骤3230,在数据源端设备接收到数据接收端即设备发送的隧道请求信息后,可以通过130?邻居向对端即数据接收端设备发送隧道响应信息以响应所述隧道请求信息,以协商建立隧道。数据源端即设备可以根据该隧道请求信息和自身支持的隧道类型确定需要的隧道类型。
[0094]对于上述步骤3240,当数据接收端设备接收到隧道响应信息后,双方即可根据该隧道响应信息中所协商的隧道类型和该隧道类型的相应信息建立隧道。
[0095]需要说明的是,在本申请的隧道请求信息是在不存在隧道的情况下发送的,当隧道不存在,而又需要跨域转发组播数据时,一端即设备才会向对端即设备发送隧道请求信息,如果隧道已经存在,则不需要要这个隧道协商过程,直接利用已经存在的隧道进行组播数据的转发。
[0096]在一种可能的实现方式中,在建立上述动态隧道后,该数据转发方法还包括:
[0097]步骤3250、数据源端设备和数据接收端设备设定隧道为指定转发者0?接0。
[0098]在一种可能的实现方式中,在通过隧道在数据源端8101卜?11域和数据接收端8101卜?11域之间转发组播数据具体可以包括以下步骤:
[0099]步骤3260、数据源端设备通过上述隧道将来自感兴趣的组地址的组播数据发送至数据接收端卩?设备。
[0100]步骤3270、数据接收端设备将感兴趣的组地址的组播数据发送至本端对这个组地址感兴趣的组。
[0101]对于步骤250至步骤3270,具体地,通过扩展通常的8101卜?11协议,数据源端尺?设备和数据接收端即设备可以设定该隧道为0?接口,然后数据源端设备接收到组请求信息中组地址相应的组播数据后,将该组播数据转发到该隧道即0?接口,然后数据接收端8101卜?11域内的数据接收端设备通过该隧道即0?接口接收该组播数据,最后通过通常的8101卜?11协议转发到本端对这个组地址感兴趣的组或用户。
[0102]当数据接收端设备下的组或用户不再对数据源端即设备的组播数据感兴趣,即不需要接收该组中的组播数据时,还可以包括步骤:
[0103]步骤3280、数据接收端设备发送组撤销信息至数据源端设备,组撤销信息中包括数据源端即设备的地址和不再感兴趣的组地址。数据源端即设备根据该组撤销信息停止发送对应于该不感兴趣的组地址的组播数据(未图示
[0104]需要说明的是,建立上述动态隧道后,当两端8101卜?11域内还有其它组或用户想接收或者发送组播数据时,不用再重建建立隧道,可以直接利用已经建立的隧道,利用扩展的8101卜?11协议转发组播数据。
[0105]当数据接收端设备中的组或用户都不再需要接收数据源端设备的组播数据时,还可以包括步骤:
[0106]步骤3290、数据接收端设备向数据源端设备发送隧道撤销消息,数据源端尺?设备收到该隧道撤销消息,若数据源端即设备下的组或用户也不需要接收数据源端尺?设备下的组播数据时,同意撤销该隧道,否则隧道保留,直至两端的即设备都不需要接收对方即设备下的组播数据时,才会撤销该隧道(未图示
[0107]这样,本实施例通过建立的动态隧道,能够实现隧道的按需建立以及组播数据的按需转发,有效的节约了资源。
[0108]需要说明的是,本申请中的数据转发方法可以应用到两个或者两个以上的多个8101卜?11域中,只要在多个8101卜?11域中的I??设备间两两建立双向隧道或者单向隧道对即可实现组播数据的跨域转发。
[0109]实施例4
[0110]图4示出根据本发明又一实施例的数据转发方法的流程图。图4中所示的隧道为静态隧道,即该静态隧道在两个8101卜?頂域的设备之间建立后,将一直存在,不会被撤销,任何时候有组播数据需要跨域转发时,都可以利用该隧道来实现。
[0111]如图4所示,该数据转发方法主要包括以下步骤:
[0112]步骤3300、在数据源端8101卜?11域的数据源端卩?设备和数据接收端8101卜?11域的数据接收端即设备之间建立隧道;
[0113]步骤3310、数据源端设备和数据接收端设备设定上述隧道为反向路径转发評接口 ;
[0114]步骤3320、通过上述隧道在数据源端8101卜?11域和数据接收端8101卜?11域之间转发组播数据。
[0115]对于上述步骤3310,当数据源端设备接收到需要跨域转发的组播数据后,首先将该组播数据发送至上述静态隧道即接口,该接口可以认为是通往对端即数据接收端即设备的最佳路径,对端即数据接收端即设备通过上述静态隧道即即?接口接收该组播数据,然后基于通常的8101卜?11协议规则将该组播数据发送需要接收该组播数据的相应组或用户。
[0116]图5示出根据本发明一实施例的数据转发方法的应用场景示意图。如图5所示,现有技术中,组播数据只能在8101卜?11域八或8101卜?11域8中内部转发,例如,用户八的组播数据通过路由器八转发到汇聚点八后,汇聚点八可以将组播数据经过路由器8转发到用户八想要发送到的组地址中的用户8,而不能发送到另一 8101卜?11域的用户0或用户0。而根据本发明实施例在8101卜?11域八中的汇聚点八与8101卜?11域8中的汇聚点8建立一个隧道后,用户八的组播数据发送到汇聚点八后,汇聚点八就可以通过建立好的双向隧道或者单向隧道对将组播数据发送给汇聚点8,汇聚点8再经过路由器转发到用户八想要发送到的组地址中的用户或者在汇聚点8再经过路由器0转发到用户八想要发送到的组地址中的用户0。从而完成组播数据的跨域转发。
[0117]需要说明的是,上述实施例只是列举了有限的路由器设备,在组播数据转发的过程中,可以经过其他中转的路由器设备。
[0118]这样,本实施例通过在两个8101卜?11间建立隧道并扩展通常的8101卜?11协议,可以实现组播数据的跨域转发。
[0119]需要说明的是,本申请中的数据转发方法可以应用到两个或者两个以上的多个8101卜?11域中,只要在多个8101卜?11域中的设备间两两建立隧道即可实现组播数据的跨域转发。
[0120]实施例5
[0121]图6示出根据本发明一实施例的数据转发系统的结构框图,该数据转发系统60主要用于在至少两个双向协议无关组播8101卜?11域之间进行组播数据的转发。如图6所示,该数据转发系统主要包括隧道建立模块61以及数据转发模块63。隧道建立模块61主要用于在数据源端8101卜?11域的数据源端汇聚点设备和数据接收端8101卜?11域的数据接收端即设备之间建立隧道;数据转发模块63,与所述隧道建立模块61连接,主要用于通过所述隧道在所述数据源端8101卩-?11域和数据接收端8101卜?11域之间转发组播数据。
[0122]本发明实施例的数据转发系统的隧道建立模块通过在两个8101卜?頂域的两个即设备之间建立隧道,然后数据转发模块通过该隧道转发组播数据,能够实现不同的8101卜?11域之间组播数据的跨域转发。
[0123]实施例6
[0124]图7示出根据本发明另一实施例的数据转发系统的结构框图。如图7所示,与上一实施例的主要区别在于,所述隧道建立模块61建立的隧道为动态隧道,该隧道可以根据实际需要由两个8101卜?11域的两个设备协商建立和撤销,该数据转发系统70还包括第一设定模块62。第一设定模块62与隧道建立模块61和数据转发模块63连接,主要用于数据源端卩?设备和数据接收端卩?设备设定动态隧道为指定转发者0?接口。
[0125]在一种可能的实现方式中,所述隧道建立模块61可以具体用于在数据源端设备和数据接收端即设备之间建立130?邻居;数据源端设备通过130?邻居发送组活跃信息至数据接收端即设备,组活跃信息包括数据源端即设备的地址和数据源端卩?设备上所有的组地址;数据接收端即设备根据接收到的组活跃信息,数据接收端即设备通过180?邻居向数据源端卩?设备发送组请求信息和隧道请求信息,组请求信息包括数据接收端尺?设备的地址和感兴趣的数据源端即设备的至少一个组地址,隧道请求信息中包括数据接收端即设备的地址以及数据接收端所支持的隧道信息;数据源端即设备在接收到所述隧道请求信息后,通过所述130?邻居向所述数据接收端设备发送隧道响应信息以响应隧道请求信息,隧道响应信息包括数据源端即设备的地址、所述数据源端即设备选择的隧道信息;以及数据源端即设备和数据接收端即设备根据隧道响应信息建立隧道。
[0126]在一种可能的实现方式中,数据转发模块63可以具体用于数据源端设备通过隧道将来自感兴趣的组地址的组播数据发送至数据接收端即设备;数据接收端即设备将来自感兴趣的组地址的组播数据发送至对该组地址感兴趣的组。
[0127]在一种可能的实现方式中,该数据转发系统还可以包括组撤销模块64,组撤销模块64与隧道建立模块61连接,主要用于数据接收端设备发送组撤销信息至数据接收端尺?设备,组撤销信息中包括数据源端即设备的地址和数据接收端设备不再感兴趣的组地址;数据源端即设备根据组撤销信息停止发送不再感兴趣的组地址对应的组播数据。
[0128]在一种可能的实现方式中,该数据转发系统还可以包括隧道撤销模块65,隧道撤销模块65与隧道建立模块61连接,主要用于当数据源端即设备和数据接收端即设备中的组都不接收对端即设备的组播数据时,撤销隧道。
[0129]本实施例的数据转发系统通过隧道建立模块建立的动态隧道,能够实现隧道的按需建立以及组播数据的按需转发,有效的节约了资源。
[0130]实施例7
[0131]图8示出根据本发明又一实施例的数据转发系统的结构框图。如图8所示,该数据转发系统80主要包括:隧道建立模块81、第二设定模块82以及数据转发模块83,其中,隧道建立模块81和数据转发模块83分别与上一实施例的隧道建立模块61和数据转发模块63功能基本相同,与上一实施例的主要区别在于,隧道建立模块81所建立的隧道为静态隧道,该静态隧道在两个8101卜?頂域的设备之间建立后,将一直存在,不会被撤销,任何时候有组播数据需要跨域转发时,都可以利用该隧道来实现。因此,该数据转发系统80还包括第二设定模块82,第二设定模块82与隧道建立模块81和数据转发模块83连接,主要用于所述数据源端即设备和数据接收端即设备设定所述静态隧道为反向路径转发尺??接口。
[0132]本实施例的数据转发系统通过隧道建立模块建立的隧道为静态隧道,数据转发模块通过所建立的静态隧道转发组播数据能够实现组播数据的跨域转发。
[0133]实施例8
[0134]图9示出根据本发明又一实施例的数据转发系统的结构框图。所述数据转发系统90可以是具备计算能力的主机服务器、个人计算机?0、或者可携带的便携式计算机或终端等。本发明具体实施例并不对计算节点的具体实现做限定。
[0135]所述数据转发系统90包括处理器91、通信接口
92、存储器 011611101*7 511^517)93^^^94。其中,处理器 91、通信接口 92、以及存储器93通过总线94完成相互间的通信。
[0136]通信接口 92用于与网元通信,其中网元包括例如虚拟机管理中心、共享存储等。
[0137]处理器91用于执行程序。处理器91可能是一个中央处理器0^,或者是专用集成电路八310 (八卯11(^1: 1011 8^001^10或者是被配置成实施本发明实施例的一个或多个集成电路。
[0138]存储器93用于存放文件。存储器93可能包含高速狀1存储器,也可能还包括非易失性存储器,例如至少一个磁盘存储器。存储器93也可以是存储器阵列。存储器93还可能被分块,并且所述块可按一定的规则组合成虚拟卷。
[0139]在一种可能的实施方式中,上述程序可为包括计算机操作指令的程序代码。该程序具体可用于:
[0140]在数据源端8101卜?11域的数据源端汇聚点设备和数据接收端8101卜?11域的数据接收端即设备之间建立隧道;
[0141]通过所述隧道在所述数据源端8101卜?11域和数据接收端8101卜?11域之间转发组播数据。
[0142]在一种可能的实现方式中,所述隧道为动态隧道,在所述在数据源端8101卜?11域的数据源端即设备和数据接收端8101卜?頂域的数据接收端设备之间建立隧道之后,还包括:
[0143]所述数据源端设备和数据接收端设备设定所述隧道为指定转发者0?接口。
[0144]在一种可能的实现方式中,所述在数据源端8101卜?11域的数据源端设备和数据接收端8101卜?11域的数据接收端设备之间建立隧道,包括:
[0145]在所述数据源端设备和数据接收端设备之间建立130?邻居;
[0146]所述数据源端卩?设备通过所述130?邻居发送组活跃信息至所述数据接收端尺?设备,所述组活跃信息包括所述数据源端即设备的地址和所述数据源端即设备上的组地址;
[0147]所述数据接收端卩?设备根据接收到的所述组活跃信息,所述数据接收端卩?设备通过所述130?邻居向所述数据源端卩?设备发送组请求信息和隧道请求信息,所述组请求信息包括数据接收端即设备的地址和感兴趣的数据源端即设备的至少一个组地址,所述隧道请求信息中包括所述数据接收端即设备的地址以及所述数据接收端所支持的隧道信息;
[0148]所述数据源端设备根据接收到的所述隧道请求信息后,通过所述130?邻居向所述数据接收端即设备发送隧道响应信息,所述隧道响应信息包括所述数据源端即设备的地址、所述数据源端即设备选择的隧道的信息;以及
[0149]所述数据源端设备和数据接收端设备根据所述隧道响应信息建立隧道。
[0150]在一种可能的实现方式中,所述通过所述隧道在所述数据源端8101卜?11域和数据接收端8101卜?11域之间转发组播数据包括:
[0151]所述数据源端设备通过所述隧道将来自感兴趣的组地址的组播数据发送至所述数据接收端卩?设备;
[0152]所述数据接收端设备将所述感兴趣的组地址的组播数据发送至对该组地址感兴趣的组。
[0153]在一种可能的实现方式中,在所述通过所述隧道在所述数据源端8101卜?11域和数据接收端8101卜?11域之间转发组播数据之后,上述程序还包括:
[0154]所述数据接收端卩?设备发送组撤销信息至所述数据源端卩?设备,所述组撤销信息包括数据接收端即设备的地址和数据接收端即设备不再感兴趣的组地址;
[0155]所述数据源端卩?设备根据所述组撤销信息停止发送所述不再感兴趣的组地址对应的组播数据。
[0156]在一种可能的实现方式中,所述通过所述隧道在所述数据源端8101卜?11域和数据接收端8101卜?11域之间转发组播数据之后,上述程序还包括:
[0157]当所述数据源端设备和数据接收端设备中的组都不接收对端即设备的组播数据时,撤销所述隧道。
[0158]在一种可能的实现方式中,所述隧道为静态隧道,上述程序还包括:
[0159]所述数据源端设备和数据接收端设备设定所述隧道为反向路径转发即?接0。
[0160]本领域普通技术人员可以意识到,本文所描述的实施例中的各示例性单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件形式来实现,取决于技术方案的特定应用和设计约束条件。专业技术人员可以针对特定的应用选择不同的方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
[0161]如果以计算机软件的形式来实现所述功能并作为独立的产品销售或使用时,则在一定程度上可认为本发明的技术方案的全部或部分(例如对现有技术做出贡献的部分)是以计算机软件产品的形式体现的。该计算机软件产品通常存储在计算机可读取的存储介质中,包括若干指令用以使得计算机设备(可以是个人计算机、服务器、或者网络设备等)执行本发明各实施例方法的全部或部分步骤。而前述的存储介质包括[盘、移动硬盘、只读存储器(001, 1^68(1-01117随机存取存储器(狀1 I?&II(10111 ^00688 161110)、磁碟或者光盘等各种可以存储程序代码的介质。
[0162]以上所述,仅为本发明的【具体实施方式】,但本发明的保护范围并不局限于此,任何熟悉本【技术领域】的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应所述以权利要求的保护范围为准。
【权利要求】
1.一种数据转发方法,其特征在于,用于在至少两个双向协议无关组播BIDIR-PIM域之间进行组播数据的转发,包括: 在数据源端BIDIR-PIM域的数据源端汇聚点RP设备和数据接收端BIDIR-PIM域的数据接收端RP设备之间建立隧道;以及 通过所述隧道在所述数据源端BIDIR-PM域和数据接收端BIDIR-PM域之间转发组播数据。
2.根据权利要求1所述的数据转发方法,其特征在于,所述隧道为动态隧道,在所述在数据源端BIDIR-PIM域的数据源端RP设备和数据接收端BIDIR-PIM域的数据接收端RP设备之间建立隧道之后,还包括: 所述数据源端RP设备和数据接收端RP设备设定所述隧道为指定转发者DF接口。
3.根据权利要求2所述的数据转发方法,其特征在于,所述在数据源端BIDIR-PIM域的数据源端RP设备和数据接收端BIDIR-PM域的数据接收端RP设备之间建立隧道包括: 在所述数据源端RP设备和数据接收端RP设备之间建立组播源发现协议MSDP邻居;所述数据源端RP设备通过所述MSDP邻居发送组活跃信息至所述数据接收端RP设备,所述组活跃信息包括所述数据源端RP设备的地址和所述数据源端RP设备上的组地址; 所述数据接收端RP设备根据接收到的所述组活跃信息,通过所述MSDP邻居向所述数据源端RP设备发送组请求信息和隧道请求信息,所述组请求信息包括数据接收端RP设备的地址和感兴趣的至少一个所述组地址,所述隧道请求信息包括所述数据接收端RP设备的地址以及所述数据接收端所支持的隧道信息; 所述数据源端RP设备根据接收到的所述隧道请求信息,通过所述MSDP邻居向所述数据接收端RP设备发送隧道响应信息,所述隧道响应信息包括所述数据源端RP设备的地址及所述数据源端RP设备选择的隧道信息;以及 所述数据源端RP设备和数据接收端RP设备根据所述隧道响应信息建立隧道。
4.根据权利要求3所述的数据转发方法,其特征在于,所述通过所述隧道在所述数据源端BIDIR-PM域和数据接收端BIDIR-PM域之间转发组播数据包括: 所述数据源端RP设备通过所述隧道将来自感兴趣的组地址的组播数据发送至所述数据接收端RP设备;以及 所述数据接收端RP设备将所述感兴趣的组地址的组播数据发送至对该组地址感兴趣的组。
5.根据权利要求3或4所述的数据转发方法,其特征在于,在所述通过所述隧道在所述数据源端BIDIR-PM域和数据接收端BIDIR-PM域之间转发组播数据之后,还包括: 所述数据接收端RP设备发送组撤销信息至所述数据源端RP设备,所述组撤销信息包括数据接收端RP设备的地址和数据接收端RP设备不再感兴趣的组地址;以及 所述数据源端RP设备根据所述组撤销信息停止发送所述不再感兴趣的组地址对应的组播数据。
6.根据权利要求3-5任一项所述的数据转发方法,其特征在于,所述通过所述隧道在所述数据源端BIDIR-PM域和数据接收端BIDIR-PM域之间转发组播数据之后还包括: 当所述数据源端RP设备和数据接收端RP设备中的组都不接收对端RP设备的组播数据时,撤销所述隧道。
7.根据权利要求1所述的数据转发方法,其特征在于,所述隧道为静态隧道,所述数据转发方法还包括: 所述数据源端RP设备和数据接收端RP设备设定所述隧道为反向路径转发RPF接口。
8.一种数据转发系统,其特征在于,用于在至少两个双向协议无关组播BIDIR-PIM域之间进行组播数据的转发,包括: 隧道建立模块,用于在数据源端BIDIR-PIM域的数据源端汇聚点RP设备和数据接收端BIDIR-PIM域的数据接收端RP设备之间建立隧道; 数据转发模块,与所述隧道建立模块连接,用于通过所述隧道在所述数据源端BIDIR-PIM域和数据接收端BIDIR-PM域之间转发组播数据。
9.根据权利要求8所述的数据转发系统,其特征在于,所述隧道为动态隧道,所述数据转发系统还包括: 第一设定模块,与所述隧道建立模块和所述数据转发模块连接,用于所述数据源端RP设备和数据接收端RP设备设定所述动态隧道为指定转发者DF接口。
10.根据权利要求9所述的数据转发系统,其特征在于,所述隧道建立模块具体用于: 在所述数据源端RP设备和数据接收端RP设备之间建立MSDP邻居; 所述数据源端RP设备通过所述MSDP邻居发送组活跃信息至所述数据接收端RP设备,所述组活跃信息包括所述数据源端RP设备的地址和所述数据源端RP设备上的组地址; 所述数据接收端RP设备根据接收到的所述组活跃信息,通过所述MSDP邻居向所述数据源端RP设备发送组请求信息和隧道请求信息,所述组请求信息包括数据接收端RP设备的地址和感兴趣的数据源端RP设备的至少一个所述组地址,所述隧道请求信息中包括所述数据接收端RP设备的地址以及所述数据接收端所支持的隧道信息; 所述数据源端RP设备根据接收到的所述隧道请求信息,通过所述MSDP邻居向所述数据接收端RP设备发送隧道响应信息以响应所述隧道请求信息,所述隧道响应信息包括所述数据源端RP设备的地址及所述数据源端RP设备选择的隧道信息;以及 所述数据源端RP设备和数据接收端RP设备根据所述隧道响应信息建立隧道。
11.根据权利要求10所述的数据转发系统,其特征在于,所述数据转发模块具体用于: 所述数据源端RP设备通过所述隧道将来自感兴趣的组地址的组播数据发送至所述数据接收端RP设备; 所述数据接收端RP设备将所述感兴趣的组地址的组播数据发送至对该组地址感兴趣的组。
12.根据权利要求10或11所述的数据转发系统,其特征在于,还包括: 组撤销模块,与所述隧道建立模块连接,用于所述数据接收端RP设备发送组撤销信息至所述数据源端RP设备,所述组撤销信息中包括数据接收端RP设备的地址和数据接收端RP设备不再感兴趣的组地址;所述数据源端RP设备根据所述组撤销信息停止发送所述不再感兴趣的组地址对应的组播数据。
13.根据权利要求10-12任一项所述的数据转发系统,其特征在于,还包括: 隧道撤销模块,与所述隧道建立模块连接,用于当所述数据源端RP设备和数据接收端RP设备中的组都不接收对端RP设备的组播数据时,撤销所述隧道。
14.根据权利要求13所述的数据转发系统,其特征在于,所述隧道为静态隧道,所述数据转发系统还包括: 第二设定模块,与所述隧道建立模块和所述数据转发模块连接,用于所述数据源端RP设备和数据接收端RP设备设定所述静态隧道为反向路径转发RPF接口。
【文档编号】H04L12/761GK104426780SQ201310389586
【公开日】2015年3月18日 申请日期:2013年8月30日 优先权日:2013年8月30日
【发明者】赵威 申请人:华为技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1