CN104426780B - 数据转发方法和系统 - Google Patents
数据转发方法和系统 Download PDFInfo
- Publication number
- CN104426780B CN104426780B CN201310389586.0A CN201310389586A CN104426780B CN 104426780 B CN104426780 B CN 104426780B CN 201310389586 A CN201310389586 A CN 201310389586A CN 104426780 B CN104426780 B CN 104426780B
- Authority
- CN
- China
- Prior art keywords
- equipment
- data
- tunnel
- data source
- bidir
- 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
Links
Landscapes
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明涉及一种数据转发方法和系统,用于在至少两个双向协议无关组播BIDIR‑PIM域之间进行组播数据的转发,该方法包括:在数据源端BIDIR‑PIM域的数据源端RP设备和数据接收端BIDIR‑PIM域的数据接收端RP设备之间建立隧道;通过所述隧道在所述数据源端BIDIR‑PIM域和数据接收端BIDIR‑PIM域之间转发组播数据。本发明实施例通过在至少两个不同的BIDIR‑PIM域的RP设备之间建立一个隧道,并扩展BIDIR‑PIM协议,能够实现在不同的BIDIR‑PIM域之间组播数据的跨域转发。
Description
技术领域
本发明涉及组播技术领域,尤其涉及一种数据转发方法和系统。
背景技术
IP组播技术是通过IP组播协议实现的,IP组播协议包括路由器和接收者主机之间的协议以及路由器和路由器之间的协议,两者结合用于构建从组播源到组播数据接收者之间的组播转发树。路由器和接收者主机之间协议通常采用IGMP(Internet GroupManagement Protocol,Internet组管理协议),路由器和路由器之间通常采用PIM(Protocol Independent Multicast,协议无关组播)协议。
BIDIR-PIM(Bidirectional Protocol Independent Multicast,双向协议无关组播)协议是PIM协议的一种,适用于多点到多点的组播业务。例如多人在线会议、在线游戏以及MVPN(Multicast Virtual Private Network,组播虚拟专用网络)业务的公网隧道等。BIDIR-PIM协议按组转发数据,一个组包括一个或多个需要发送或接收组播数据的用户。对于某一个组来说,在整个BIDIR-PIM域内,无论一个组播组有多少个组播源都只有一棵转发树,因此,能够最大幅度节约转发资源。
BIDIR-PIM基本原理是建立一个以RP设备(Rendezvous Point,汇聚点)为根,所有用户为叶子的双向转发树,这样当一个用户向这棵树发送组播数据时,目标组内所有用户都会收到该组播数据,以此来达到组播数据转发的目的。
现有技术中,由于BIDIR-PIM转发树的建立需要依赖RP设备,而RP设备是按照BIDIR-PIM域进行部署的,每个BIDIR-PIM域都有各自的RP设备,这就导致不同的BIDIR-PIM域之间不能建立BIDIR-PIM转发树,从而使处在不同BIDIR-PIM域的组或用户之间不能基于BIDIR-PIM协议进行组播数据转发。
而且,通常情况下,BIDIR-PIM域与单播的AS(Autonomous System,自治系统)域的范围相同。单播的AS域通常按不同的地域范围(如城市)或不同的运营商网络来划分,并且是预先规划好的,不可能轻易进行合并。即使一个BIDIR-PIM域包含多个单播的AS域(不考虑单播网络规划和运营商间的隔离),但因为单播的AS域内的一些设备往往是没有其它AS域内的路由,而BIDIR-PIM转发树的建立是要依赖单播路由的,所以实际上也是行不通的。
发明内容
技术问题
有鉴于此,本发明要解决的技术问题是如何实现在不同的BIDIR-PIM域间组播数据的跨域转发。
解决方案
为了解决上述问题,根据本发明一实施例,提供了一种数据转发方法,用于在至少两个双向协议无关组播BIDIR-PIM域之间进行组播数据的转发,该数据转发方法包括:
在数据源端BIDIR-PIM域的数据源端汇聚点RP设备和数据接收端BIDIR-PIM域的数据接收端RP设备之间建立隧道;以及
通过所述隧道在所述数据源端BIDIR-PIM域和数据接收端BIDIR-PIM域之间转发组播数据。
对于上述数据转发方法,在一种可能的实现方式中,所述隧道为动态隧道,在所述在数据源端BIDIR-PIM域的数据源端RP设备和数据接收端BIDIR-PIM域的数据接收端RP设备之间建立隧道之后,还包括:
所述数据源端RP设备和数据接收端RP设备设定所述隧道为指定转发者DF接口。
对于上述数据转发方法,在一种可能的实现方式中,所述在数据源端BIDIR-PIM域的数据源端RP设备和数据接收端BIDIR-PIM域的数据接收端RP设备之间建立隧道包括:
在所述数据源端RP设备和数据接收端RP设备之间建立MSDP邻居;
所述数据源端RP设备通过所述MSDP邻居发送组活跃信息至所述数据接收端RP设备,所述组活跃信息包括所述数据源端RP设备的地址和所述数据源端RP设备上的组地址;
所述数据接收端RP设备根据接收到的所述组活跃信息,通过所述MSDP邻居向所述数据源端RP设备发送组请求信息和隧道请求信息,所述组请求信息包括数据接收端RP设备的地址和感兴趣的数据源端RP设备的至少一个所述组地址,所述隧道请求信息包括所述数据接收端RP设备的地址以及所述数据接收端所支持的隧道信息;
所述数据源端RP设备根据接收到的所述隧道请求信息,通过所述MSDP邻居向所述数据接收端RP设备发送隧道响应信息,所述隧道响应信息包括所述数据源端RP设备的地址及所述数据源端RP设备选择的隧道的信息;以及
所述数据源端RP设备和数据接收端RP设备根据所述隧道响应信息建立隧道。
对于上述数据转发方法,在一种可能的实现方式中,所述通过所述隧道在所述数据源端BIDIR-PIM域和数据接收端BIDIR-PIM域之间转发组播数据包括:
所述数据源端RP设备通过所述隧道将来自感兴趣的组地址的组播数据发送至所述数据接收端RP设备;以及
所述数据接收端RP设备将所述感兴趣的组地址的组播数据发送至对该组地址感兴趣的组。
对于上述数据转发方法,在一种可能的实现方式中,在所述通过所述隧道在所述数据源端BIDIR-PIM域和数据接收端BIDIR-PIM域之间转发组播数据之后,还包括:
所述数据接收端RP设备发送组撤销信息至所述数据源端RP设备,所述组撤销信息包括数据接收端RP设备的地址和数据接收端RP设备不再感兴趣的组地址;以及
所述数据源端RP设备根据所述组撤销信息停止发送所述不再感兴趣的组地址对应的组播数据。
对于上述数据转发方法,在一种可能的实现方式中,所述通过所述隧道在所述数据源端BIDIR-PIM域和数据接收端BIDIR-PIM域之间转发组播数据之后还包括:
当所述数据源端RP设备和数据接收端RP设备中的组都不接收对端RP设备的组播数据时,撤销所述隧道。
对于上述数据转发方法,在一种可能的实现方式中,所述隧道为静态隧道,所述数据转发方法还包括:
所述数据源端RP设备和数据接收端RP设备设定所述隧道为反向路径转发RPF接口。
为了解决上述问题,根据本发明另一实施例,提供了一种数据转发系统,用于在至少两个双向协议无关组播BIDIR-PIM域之间进行组播数据的转发,该数据转发系统包括:
隧道建立模块,用于在数据源端BIDIR-PIM域的数据源端汇聚点RP设备和数据接收端BIDIR-PIM域的数据接收端RP设备之间建立隧道;
数据转发模块,与所述隧道建立模块连接,用于通过所述隧道在所述数据源端BIDIR-PIM域和数据接收端BIDIR-PIM域之间转发组播数据。
对于上述数据转发系统,在一种可能的实现方式中,所述隧道为动态隧道,所述数据转发系统还包括:
第一设定模块,与所述隧道建立模块和所述数据转发模块连接,用于所述数据源端RP设备和数据接收端RP设备设定所述动态隧道为指定转发者DF接口。
对于上述数据转发系统,在一种可能的实现方式中,所述隧道建立模块具体用于:
在所述数据源端RP设备和数据接收端RP设备之间建立MSDP邻居;
所述数据源端RP设备通过所述MSDP邻居发送组活跃信息至所述数据接收端RP设备,所述组活跃信息包括所述数据源端RP设备的地址和所述数据源端RP设备上的组地址;
所述数据接收端RP设备根据接收到的所述组活跃信息,所述数据接收端RP设备通过所述MSDP邻居向所述数据源端RP设备发送组请求信息和隧道请求信息,所述组请求信息包括数据接收端RP设备的地址和感兴趣的数据源端RP设备的至少一个所述组地址,所述隧道请求信息中包括所述数据接收端RP设备的地址以及所述数据接收端所支持的隧道信息;
所述数据源端RP设备根据接收到的所述隧道请求信息后,通过所述MSDP邻居向所述数据接收端RP设备发送隧道响应信息以响应所述隧道请求信息,所述隧道响应信息包括所述数据源端RP设备的地址及所述数据源端RP设备选择的隧道信息;以及
所述数据源端RP设备和数据接收端RP设备根据所述隧道响应信息建立隧道。
对于上述数据转发系统,在一种可能的实现方式中,所述数据转发模块具体用于:
所述数据源端RP设备通过所述隧道将来自感兴趣的组地址的组播数据发送至所述数据接收端RP设备;
所述数据接收端RP设备将所述感兴趣的组地址的组播数据发送至对该组地址感兴趣的组。
对于上述数据转发系统,在一种可能的实现方式中,还包括:
组撤销模块,与所述隧道建立模块连接,用于所述数据接收端RP设备发送组撤销信息至所述数据源端RP设备,所述组撤销信息中包括数据接收端RP设备的地址和数据接收端RP设备不再感兴趣的组地址;所述数据源端RP设备根据所述组撤销信息停止发送所述不再感兴趣的组地址对应的组播数据。
对于上述数据转发系统,在一种可能的实现方式中,还包括:
隧道撤销模块,与所述隧道建立模块连接,用于当所述数据源端RP设备和数据接收端RP设备中的组都不接收对端RP设备的组播数据时,撤销所述隧道。
对于上述数据转发系统,在一种可能的实现方式中,所述隧道为静态隧道,所述数据转发系统还包括:
第二设定模块,与所述隧道建立模块和所述数据转发模块连接,用于所述数据源端RP设备和数据接收端RP设备设定所述静态隧道为反向路径转发RPF接口。
有益效果
本发明实施例通过在至少两个不同的BIDIR-PIM域的RP设备之间建立一个隧道,并扩展BIDIR-PIM协议来实现在不同的BIDIR-PIM域之间组播数据的跨域转发。
附图说明
包含在说明书中并且构成说明书的一部分的附图与说明书一起示出了本发明的示例性实施例、特征和方面,并且用于解释本发明的原理。
图1示出根据本发明一实施例的数据转发方法的流程图;
图2示出根据本发明另一实施例的数据转发方法的流程图;
图3示出根据本发明又一实施例的数据转发方法的流程图;
图4示出根据本发明又一实施例的数据转发方法的流程图;
图5示出根据本发明一实施例的数据转发方法的应用场景示意图;
图6示出根据本发明一实施例的数据转发系统的结构框图;
图7示出根据本发明另一实施例的数据转发系统的结构框图;
图8示出根据本发明又一实施例的数据转发系统的结构框图;
图9示出根据本发明又一实施例的数据转发系统的结构框图。
具体实施方式
以下将参考附图详细说明本发明的各种示例性实施例、特征和方面。附图中相同的附图标记表示功能相同或相似的元件。尽管在附图中示出了实施例的各种方面,但是除非特别指出,不必按比例绘制附图。
在这里专用的词“示例性”意为“用作例子、实施例或说明性”。这里作为“示例性”所说明的任何实施例不必解释为优于或好于其它实施例。
另外,为了更好的说明本发明,在下文的具体实施方式中给出了众多的具体细节。本领域技术人员应当理解,没有这些具体细节,本发明同样可以实施。在另外一些实例中,对于大家熟知的方法、手段、元件和电路未作详细描述,以便于凸显本发明的主旨。
实施例1
图1示出根据本发明一实施例的数据转发方法的流程图。如图1所示,该数据转发方法能够用于在至少两个BIDIR-PIM域之间进行组播数据的转发,该数据转发方法主要包括以下步骤:
步骤S100、在数据源端BIDIR-PIM域的数据源端RP设备和数据接收端BIDIR-PIM域的数据接收端RP设备之间建立隧道;以及
步骤S120、通过隧道在数据源端BIDIR-PIM域和数据接收端BIDIR-PIM域之间转发组播数据。
具体地,如背景技术所述,由于BIDIR-PIM转发树的建立需要依赖RP设备,而RP设备是按照BIDIR-PIM域进行部署的,每个BIDIR-PIM域都有各自的RP设备,这就导致不同的BIDIR-PIM域之间不能建立BIDIR-PIM转发树,从而使处在不同BIDIR-PIM域的组或用户之间不能基于BIDIR-PIM协议进行组播数据转发。其中,RP设备是指RPA(Rendezvous PointAddress,汇聚点地址)所在设备或与RPL(Rendezvous Point Link,汇聚点链路)相连的其中一台设备。当需要在不同BIDIR-PIM域之间进行组播数据的转发时,可以通过在该不同BIDIR-PIM域的RP设备之间建立隧道来实现,即在两个BIDIR-PIM域的两个RP设备之间建立隧道后,数据源端RP设备将接收到的需要跨域转发的组播数据通过该隧道发送到数据接收端RP设备,数据接收端RP设备再基于BIDIR-PIM协议规则将该组播数据发送给需要接收该组播数据的组或用户。
上述隧道可以是任何一种能够建立在两个设备间并进行数据转发的隧道,例如:IPinIP(IP里面封装IP)隧道、GRE(通用路由协议封装)隧道、TE(流量工程)隧道、LDP(标签分发协议)隧道或P2MP(点对多点主站)隧道等。
本发明实施例通过在两个BIDIR-PIM域的两个RP设备之间建立隧道并通过该隧道转发组播数据,能够实现不同的BIDIR-PIM域之间组播数据的跨域转发。
实施例2
图2示出根据本发明另一实施例的数据转发方法的流程图。如图2所示,图2所示方法与图1所示方法的主要区别在于,图2所示的实施例建立的隧道可以为动态隧道,该隧道可以根据实际需要由两个BIDIR-PIM域的两个RP设备协商建立和撤销。
在一种可能的实现方式中,如果上述隧道为动态隧道,则如图2所示,在所述在数据源端BIDIR-PIM域的数据源端RP设备和数据接收端BIDIR-PIM域的数据接收端RP设备之间建立隧道之后,还可以包括:
步骤S110、数据源端RP设备和数据接收端RP设备设定该隧道为指定转发者DF接口。
具体地,在两个BIDIR-PIM域的两个RP设备之间建立隧道,即在数据接收端RP设备和数据源端RP设备之间建立隧道以后,为了完成组播数据的跨域转发,还需要扩展通常的BIDIR-PIM协议,使所述数据源端RP设备和数据接收端RP设备设定该隧道为指定转发者DF(Designated Forwarder,指定转发者)接口。其中,除了RPL外,在BIDIR-PIM域中的每条链路上都会自动选举一个唯一的DF路由器,选举原则为对比同一条链路的每个接口到RPA的单播路径,具有最佳路径接口的路由器被选举为DF路由器,其相应接口即为DF接口,DF接口主要负责转发该链路的组播数据,也可以负责处理来自下游路由器的共享树的加入消息,即从DF接口接收到的组播数据向RPF接口转发和有加入状态的接口转发,其中,RPF接口是每个路由器去往RP设备的最佳路径的接口。因此,基于通常的BIDIR-PIM协议规则,可以先将需要跨域转发的组播数据发送到数据源端RP设备,然后再基于扩展的BIDIR-PIM协议规则将该组播数据发往上述隧道,数据接收端RP设备通过上述隧道接收该组播数据,然后再基于通常的BIDIR-PIM协议规则将该组播数据发送需要接收该组播数据的相应组或用户。
这样,本发明实施例通过在两个不同BIDIR-PIM域的RP设备之间建立一个隧道以及扩展通常的BIDIR-PIM协议,能够实现组播数据的跨域转发。
实施例3
图3示出根据本发明又一实施例的数据转发方法的流程图。如图3所示,图3所示方法与图2所示方法的主要区别在于,在数据源端BIDIR-PIM域的数据源端RP设备和数据接收端BIDIR-PIM域的数据接收端RP设备之间建立隧道即步骤S100主要可以包括以下步骤:
步骤S200、在数据源端RP设备和数据接收端RP设备之间建立MSDP(MulticastSource Discovery Protocol,组播源发现协议)邻居;
步骤S210、数据源端RP设备通过上述MSDP邻居发送组活跃信息至数据接收端RP设备;
步骤S220、数据接收端RP设备通过上述MSDP邻居向数据源端RP设备发送组请求信息和隧道请求信息;
步骤S230、数据源端RP设备通过上述MSDP邻居向数据接收端RP设备发送隧道响应信息;
步骤S240、数据源端RP设备和数据接收端RP设备根据上述隧道响应信息建立隧道。
具体地,可以首先利用扩展的MSDP协议,在数据源端RP设备和数据接收端RP设备之间建立MSDP邻居,MSDP扩展的内容包括:组活跃信息、组请求信息、组撤销信息、隧道请求信息、隧道撤销信息以及隧道应答信息。
其中,组活跃信息包括RP设备的地址以及RP设备上所有的组地址,组地址表示BIDIR-PIM域下RP设备的组成员信息。
组请求信息包括本端RP设备的地址和本端RP设备所感兴趣的对端RP设备的至少一个组地址,表示本端RP设备下有至少一个组或用户想要接收这个感兴趣的组地址的组播数据。相应地,组撤销信息对应组请求信息,也包括本端RP设备的地址和本端RP设备不再感兴趣的至少一个组地址,表示本端RP设备下有至少一个组或用户对对端RP设备下相应组地址中的组播数据已经不感兴趣,即不想再接收该对端至少一个组地址的组播数据。
隧道请求信息包括本端RP设备的地址,本端RP设备所支持的隧道信息,该隧道信息包括隧道类型及隧道类型的相应信息,表示本端RP设备想与对端RP设备建立隧道,以实现跨域接收或发送组播数据。该隧道类型可以为任意一种隧道类型,例如:IPinIP隧道、GRE隧道、TE隧道、LDP隧道或P2MP隧道等。相应地,隧道响应信息包括本端RP设备的地址和本端RP设备所选择的隧道信息,该隧道信息包括隧道类型及隧道类型的相应信息,表示本端RP设备接收到隧道请求信息后选择的隧道类型,该选择的隧道类型是根据接收到的隧道请求信息和自身支持的隧道类型来确定的。隧道撤销信息包括对端RP设备的地址,表示本端RP设备下的所有的组或用户对对端RP设备下的组播数据都不感兴趣,即不再需要接收对端RP设备的组播数据,这种情况下可以请求撤销隧道。
对于上述步骤S200,建立MSDP邻居的目的是为了两端RP设备可以发送协商建立隧道的信息,例如组活跃信息、组请求信息以及隧道请求信息。
对于上述步骤S210,在本实施例中,为了便于描述,将首先发送组活跃信息的RP设备作为数据源端RP设备,将首先接收组活跃信息的RP设备作为数据接收端RP设备,实际上两端RP设备都可以接收和发送数据。
对于上述步骤S220,在数据接收端RP设备接收到数据源端RP设备通过MSDP邻居发送的组活跃信息后,检测接收到的这些组活跃信息中是否存在本端RP设备下的组或用户感兴趣的组地址,如果存在,即本端RP设备下有至少一个组或用户想接收对端RP设备下某一组或用户发送的组播数据,则向对端即数据源端发送相应的组请求信息,表示想要接收该组请求信息中组地址的组播数据,而组播数据的传输需要建立隧道,因此,数据接收端RP设备还向对端即数据源端RP设备发送隧道请求信息,表示需要与对端即数据源端RP设备协商建立隧道的类型。
对于上述步骤S230,在数据源端RP设备接收到数据接收端RP设备发送的隧道请求信息后,可以通过MSDP邻居向对端即数据接收端RP设备发送隧道响应信息以响应所述隧道请求信息,以协商建立隧道。数据源端RP设备可以根据该隧道请求信息和自身支持的隧道类型确定需要的隧道类型。
对于上述步骤S240,当数据接收端RP设备接收到隧道响应信息后,双方即可根据该隧道响应信息中所协商的隧道类型和该隧道类型的相应信息建立隧道。
需要说明的是,在本申请的隧道请求信息是在不存在隧道的情况下发送的,当隧道不存在,而又需要跨域转发组播数据时,一端RP设备才会向对端RP设备发送隧道请求信息,如果隧道已经存在,则不需要要这个隧道协商过程,直接利用已经存在的隧道进行组播数据的转发。
在一种可能的实现方式中,在建立上述动态隧道后,该数据转发方法还包括:
步骤S250、数据源端RP设备和数据接收端RP设备设定隧道为指定转发者DF接口。
在一种可能的实现方式中,在通过隧道在数据源端BIDIR-PIM域和数据接收端BIDIR-PIM域之间转发组播数据具体可以包括以下步骤:
步骤S260、数据源端RP设备通过上述隧道将来自感兴趣的组地址的组播数据发送至数据接收端RP设备。
步骤S270、数据接收端RP设备将感兴趣的组地址的组播数据发送至本端对这个组地址感兴趣的组。
对于步骤250至步骤S270,具体地,通过扩展通常的BIDIR-PIM协议,数据源端RP设备和数据接收端RP设备可以设定该隧道为DF接口,然后数据源端RP设备接收到组请求信息中组地址相应的组播数据后,将该组播数据转发到该隧道即DF接口,然后数据接收端BIDIR-PIM域内的数据接收端RP设备通过该隧道即DF接口接收该组播数据,最后通过通常的BIDIR-PIM协议转发到本端对这个组地址感兴趣的组或用户。
当数据接收端RP设备下的组或用户不再对数据源端RP设备的组播数据感兴趣,即不需要接收该组中的组播数据时,还可以包括步骤:
步骤S280、数据接收端RP设备发送组撤销信息至数据源端RP设备,组撤销信息中包括数据源端RP设备的地址和不再感兴趣的组地址。数据源端RP设备根据该组撤销信息停止发送对应于该不感兴趣的组地址的组播数据(未图示)。
需要说明的是,建立上述动态隧道后,当两端BIDIR-PIM域内还有其它组或用户想接收或者发送组播数据时,不用再重建建立隧道,可以直接利用已经建立的隧道,利用扩展的BIDIR-PIM协议转发组播数据。
当数据接收端RP设备中的组或用户都不再需要接收数据源端RP设备的组播数据时,还可以包括步骤:
步骤S290、数据接收端RP设备向数据源端RP设备发送隧道撤销消息,数据源端RP设备收到该隧道撤销消息,若数据源端RP设备下的组或用户也不需要接收数据源端RP设备下的组播数据时,同意撤销该隧道,否则隧道保留,直至两端的RP设备都不需要接收对方RP设备下的组播数据时,才会撤销该隧道(未图示)。
这样,本实施例通过建立的动态隧道,能够实现隧道的按需建立以及组播数据的按需转发,有效的节约了资源。
需要说明的是,本申请中的数据转发方法可以应用到两个或者两个以上的多个BIDIR-PIM域中,只要在多个BIDIR-PIM域中的RP设备间两两建立双向隧道或者单向隧道对即可实现组播数据的跨域转发。
实施例4
图4示出根据本发明又一实施例的数据转发方法的流程图。图4中所示的隧道为静态隧道,即该静态隧道在两个BIDIR-PIM域的RP设备之间建立后,将一直存在,不会被撤销,任何时候有组播数据需要跨域转发时,都可以利用该隧道来实现。
如图4所示,该数据转发方法主要包括以下步骤:
步骤S300、在数据源端BIDIR-PIM域的数据源端RP设备和数据接收端BIDIR-PIM域的数据接收端RP设备之间建立隧道;
步骤S310、数据源端RP设备和数据接收端RP设备设定上述隧道为反向路径转发RPF接口;
步骤S320、通过上述隧道在数据源端BIDIR-PIM域和数据接收端BIDIR-PIM域之间转发组播数据。
对于上述步骤S310,当数据源端RP设备接收到需要跨域转发的组播数据后,首先将该组播数据发送至上述静态隧道即PRF接口,该PRF接口可以认为是通往对端即数据接收端RP设备的最佳路径,对端即数据接收端RP设备通过上述静态隧道即RPF接口接收该组播数据,然后基于通常的BIDIR-PIM协议规则将该组播数据发送需要接收该组播数据的相应组或用户。
图5示出根据本发明一实施例的数据转发方法的应用场景示意图。如图5所示,现有技术中,组播数据只能在BIDIR-PIM域A或BIDIR-PIM域B中内部转发,例如,用户A的组播数据通过路由器A转发到汇聚点A后,汇聚点A可以将组播数据经过路由器B转发到用户A想要发送到的组地址中的用户B,而不能发送到另一BIDIR-PIM域的用户C或用户D。而根据本发明实施例在BIDIR-PIM域A中的汇聚点A与BIDIR-PIM域B中的汇聚点B建立一个隧道后,用户A的组播数据发送到汇聚点A后,汇聚点A就可以通过建立好的双向隧道或者单向隧道对将组播数据发送给汇聚点B,汇聚点B再经过路由器C转发到用户A想要发送到的组地址中的用户C或者在汇聚点B再经过路由器D转发到用户A想要发送到的组地址中的用户D。从而完成组播数据的跨域转发。
需要说明的是,上述实施例只是列举了有限的路由器设备,在组播数据转发的过程中,可以经过其他中转的路由器设备。
这样,本实施例通过在两个BIDIR-PIM间建立隧道并扩展通常的BIDIR-PIM协议,可以实现组播数据的跨域转发。
需要说明的是,本申请中的数据转发方法可以应用到两个或者两个以上的多个BIDIR-PIM域中,只要在多个BIDIR-PIM域中的RP设备间两两建立隧道即可实现组播数据的跨域转发。
实施例5
图6示出根据本发明一实施例的数据转发系统的结构框图,该数据转发系统60主要用于在至少两个双向协议无关组播BIDIR-PIM域之间进行组播数据的转发。如图6所示,该数据转发系统主要包括隧道建立模块61以及数据转发模块63。隧道建立模块61主要用于在数据源端BIDIR-PIM域的数据源端汇聚点RP设备和数据接收端BIDIR-PIM域的数据接收端RP设备之间建立隧道;数据转发模块63,与所述隧道建立模块61连接,主要用于通过所述隧道在所述数据源端BIDIR-PIM域和数据接收端BIDIR-PIM域之间转发组播数据。
本发明实施例的数据转发系统的隧道建立模块通过在两个BIDIR-PIM域的两个RP设备之间建立隧道,然后数据转发模块通过该隧道转发组播数据,能够实现不同的BIDIR-PIM域之间组播数据的跨域转发。
实施例6
图7示出根据本发明另一实施例的数据转发系统的结构框图。如图7所示,与上一实施例的主要区别在于,所述隧道建立模块61建立的隧道为动态隧道,该隧道可以根据实际需要由两个BIDIR-PIM域的两个RP设备协商建立和撤销,该数据转发系统70还包括第一设定模块62。第一设定模块62与隧道建立模块61和数据转发模块63连接,主要用于数据源端RP设备和数据接收端RP设备设定动态隧道为指定转发者DF接口。
在一种可能的实现方式中,所述隧道建立模块61可以具体用于在数据源端RP设备和数据接收端RP设备之间建立MSDP邻居;数据源端RP设备通过MSDP邻居发送组活跃信息至数据接收端RP设备,组活跃信息包括数据源端RP设备的地址和数据源端RP设备上所有的组地址;数据接收端RP设备根据接收到的组活跃信息,数据接收端RP设备通过MSDP邻居向数据源端RP设备发送组请求信息和隧道请求信息,组请求信息包括数据接收端RP设备的地址和感兴趣的数据源端RP设备的至少一个组地址,隧道请求信息中包括数据接收端RP设备的地址以及数据接收端所支持的隧道信息;数据源端RP设备在接收到所述隧道请求信息后,通过所述MSDP邻居向所述数据接收端RP设备发送隧道响应信息以响应隧道请求信息,隧道响应信息包括数据源端RP设备的地址、所述数据源端RP设备选择的隧道信息;以及数据源端RP设备和数据接收端RP设备根据隧道响应信息建立隧道。
在一种可能的实现方式中,数据转发模块63可以具体用于数据源端RP设备通过隧道将来自感兴趣的组地址的组播数据发送至数据接收端RP设备;数据接收端RP设备将来自感兴趣的组地址的组播数据发送至对该组地址感兴趣的组。
在一种可能的实现方式中,该数据转发系统还可以包括组撤销模块64,组撤销模块64与隧道建立模块61连接,主要用于数据接收端RP设备发送组撤销信息至数据接收端RP设备,组撤销信息中包括数据源端RP设备的地址和数据接收端RP设备不再感兴趣的组地址;数据源端RP设备根据组撤销信息停止发送不再感兴趣的组地址对应的组播数据。
在一种可能的实现方式中,该数据转发系统还可以包括隧道撤销模块65,隧道撤销模块65与隧道建立模块61连接,主要用于当数据源端RP设备和数据接收端RP设备中的组都不接收对端RP设备的组播数据时,撤销隧道。
本实施例的数据转发系统通过隧道建立模块建立的动态隧道,能够实现隧道的按需建立以及组播数据的按需转发,有效的节约了资源。
实施例7
图8示出根据本发明又一实施例的数据转发系统的结构框图。如图8所示,该数据转发系统80主要包括:隧道建立模块81、第二设定模块82以及数据转发模块83,其中,隧道建立模块81和数据转发模块83分别与上一实施例的隧道建立模块61和数据转发模块63功能基本相同,与上一实施例的主要区别在于,隧道建立模块81所建立的隧道为静态隧道,该静态隧道在两个BIDIR-PIM域的RP设备之间建立后,将一直存在,不会被撤销,任何时候有组播数据需要跨域转发时,都可以利用该隧道来实现。因此,该数据转发系统80还包括第二设定模块82,第二设定模块82与隧道建立模块81和数据转发模块83连接,主要用于所述数据源端RP设备和数据接收端RP设备设定所述静态隧道为反向路径转发RPF接口。
本实施例的数据转发系统通过隧道建立模块建立的隧道为静态隧道,数据转发模块通过所建立的静态隧道转发组播数据能够实现组播数据的跨域转发。
实施例8
图9示出根据本发明又一实施例的数据转发系统的结构框图。所述数据转发系统90可以是具备计算能力的主机服务器、个人计算机PC、或者可携带的便携式计算机或终端等。本发明具体实施例并不对计算节点的具体实现做限定。
所述数据转发系统90包括处理器(processor)91、通信接口(CommunicationsInterface)92、存储器(memory array)93和总线94。其中,处理器91、通信接口92、以及存储器93通过总线94完成相互间的通信。
通信接口92用于与网元通信,其中网元包括例如虚拟机管理中心、共享存储等。
处理器91用于执行程序。处理器91可能是一个中央处理器CPU,或者是专用集成电路ASIC(Application Specific Integrated Circuit),或者是被配置成实施本发明实施例的一个或多个集成电路。
存储器93用于存放文件。存储器93可能包含高速RAM存储器,也可能还包括非易失性存储器(non-volatile memory),例如至少一个磁盘存储器。存储器93也可以是存储器阵列。存储器93还可能被分块,并且所述块可按一定的规则组合成虚拟卷。
在一种可能的实施方式中,上述程序可为包括计算机操作指令的程序代码。该程序具体可用于:
在数据源端BIDIR-PIM域的数据源端汇聚点RP设备和数据接收端BIDIR-PIM域的数据接收端RP设备之间建立隧道;
通过所述隧道在所述数据源端BIDIR-PIM域和数据接收端BIDIR-PIM域之间转发组播数据。
在一种可能的实现方式中,所述隧道为动态隧道,在所述在数据源端BIDIR-PIM域的数据源端RP设备和数据接收端BIDIR-PIM域的数据接收端RP设备之间建立隧道之后,还包括:
所述数据源端RP设备和数据接收端RP设备设定所述隧道为指定转发者DF接口。
在一种可能的实现方式中,所述在数据源端BIDIR-PIM域的数据源端RP设备和数据接收端BIDIR-PIM域的数据接收端RP设备之间建立隧道,包括:
在所述数据源端RP设备和数据接收端RP设备之间建立MSDP邻居;
所述数据源端RP设备通过所述MSDP邻居发送组活跃信息至所述数据接收端RP设备,所述组活跃信息包括所述数据源端RP设备的地址和所述数据源端RP设备上的组地址;
所述数据接收端RP设备根据接收到的所述组活跃信息,所述数据接收端RP设备通过所述MSDP邻居向所述数据源端RP设备发送组请求信息和隧道请求信息,所述组请求信息包括数据接收端RP设备的地址和感兴趣的数据源端RP设备的至少一个组地址,所述隧道请求信息中包括所述数据接收端RP设备的地址以及所述数据接收端所支持的隧道信息;
所述数据源端RP设备根据接收到的所述隧道请求信息后,通过所述MSDP邻居向所述数据接收端RP设备发送隧道响应信息,所述隧道响应信息包括所述数据源端RP设备的地址、所述数据源端RP设备选择的隧道的信息;以及
所述数据源端RP设备和数据接收端RP设备根据所述隧道响应信息建立隧道。
在一种可能的实现方式中,所述通过所述隧道在所述数据源端BIDIR-PIM域和数据接收端BIDIR-PIM域之间转发组播数据包括:
所述数据源端RP设备通过所述隧道将来自感兴趣的组地址的组播数据发送至所述数据接收端RP设备;
所述数据接收端RP设备将所述感兴趣的组地址的组播数据发送至对该组地址感兴趣的组。
在一种可能的实现方式中,在所述通过所述隧道在所述数据源端BIDIR-PIM域和数据接收端BIDIR-PIM域之间转发组播数据之后,上述程序还包括:
所述数据接收端RP设备发送组撤销信息至所述数据源端RP设备,所述组撤销信息包括数据接收端RP设备的地址和数据接收端RP设备不再感兴趣的组地址;
所述数据源端RP设备根据所述组撤销信息停止发送所述不再感兴趣的组地址对应的组播数据。
在一种可能的实现方式中,所述通过所述隧道在所述数据源端BIDIR-PIM域和数据接收端BIDIR-PIM域之间转发组播数据之后,上述程序还包括:
当所述数据源端RP设备和数据接收端RP设备中的组都不接收对端RP设备的组播数据时,撤销所述隧道。
在一种可能的实现方式中,所述隧道为静态隧道,上述程序还包括:
所述数据源端RP设备和数据接收端RP设备设定所述隧道为反向路径转发RPF接口。
本领域普通技术人员可以意识到,本文所描述的实施例中的各示例性单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件形式来实现,取决于技术方案的特定应用和设计约束条件。专业技术人员可以针对特定的应用选择不同的方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
如果以计算机软件的形式来实现所述功能并作为独立的产品销售或使用时,则在一定程度上可认为本发明的技术方案的全部或部分(例如对现有技术做出贡献的部分)是以计算机软件产品的形式体现的。该计算机软件产品通常存储在计算机可读取的存储介质中,包括若干指令用以使得计算机设备(可以是个人计算机、服务器、或者网络设备等)执行本发明各实施例方法的全部或部分步骤。而前述的存储介质包括U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应所述以权利要求的保护范围为准。
Claims (14)
1.一种数据转发方法,其特征在于,用于在至少两个双向协议无关组播BIDIR-PIM域之间进行组播数据的转发,包括:
在数据源端BIDIR-PIM域的数据源端汇聚点RP设备和数据接收端BIDIR-PIM域的数据接收端RP设备之间建立隧道;以及
通过所述隧道在所述数据源端BIDIR-PIM域和数据接收端BIDIR-PIM域之间转发组播数据。
2.根据权利要求1所述的数据转发方法,其特征在于,所述隧道为动态隧道,在所述在数据源端BIDIR-PIM域的数据源端RP设备和数据接收端BIDIR-PIM域的数据接收端RP设备之间建立隧道之后,还包括:
所述数据源端RP设备和数据接收端RP设备设定所述隧道为指定转发者DF接口。
3.根据权利要求2所述的数据转发方法,其特征在于,所述在数据源端BIDIR-PIM域的数据源端RP设备和数据接收端BIDIR-PIM域的数据接收端RP设备之间建立隧道包括:
在所述数据源端RP设备和数据接收端RP设备之间建立组播源发现协议MSDP邻居;
所述数据源端RP设备通过所述MSDP邻居发送组活跃信息至所述数据接收端RP设备,所述组活跃信息包括所述数据源端RP设备的地址和所述数据源端RP设备上的组地址;
所述数据接收端RP设备根据接收到的所述组活跃信息,通过所述MSDP邻居向所述数据源端RP设备发送组请求信息和隧道请求信息,所述组请求信息包括数据接收端RP设备的地址和感兴趣的至少一个所述组地址,所述隧道请求信息包括所述数据接收端RP设备的地址以及所述数据接收端所支持的隧道信息;
所述数据源端RP设备根据接收到的所述隧道请求信息,通过所述MSDP邻居向所述数据接收端RP设备发送隧道响应信息,所述隧道响应信息包括所述数据源端RP设备的地址及所述数据源端RP设备选择的隧道信息;以及
所述数据源端RP设备和数据接收端RP设备根据所述隧道响应信息建立隧道。
4.根据权利要求3所述的数据转发方法,其特征在于,所述通过所述隧道在所述数据源端BIDIR-PIM域和数据接收端BIDIR-PIM域之间转发组播数据包括:
所述数据源端RP设备通过所述隧道将来自感兴趣的组地址的组播数据发送至所述数据接收端RP设备;以及
所述数据接收端RP设备将所述感兴趣的组地址的组播数据发送至对该组地址感兴趣的组。
5.根据权利要求3或4所述的数据转发方法,其特征在于,在所述通过所述隧道在所述数据源端BIDIR-PIM域和数据接收端BIDIR-PIM域之间转发组播数据之后,还包括:
所述数据接收端RP设备发送组撤销信息至所述数据源端RP设备,所述组撤销信息包括数据接收端RP设备的地址和数据接收端RP设备不再感兴趣的组地址;以及
所述数据源端RP设备根据所述组撤销信息停止发送所述不再感兴趣的组地址对应的组播数据。
6.根据权利要求3或4所述的数据转发方法,其特征在于,所述通过所述隧道在所述数据源端BIDIR-PIM域和数据接收端BIDIR-PIM域之间转发组播数据之后还包括:
当所述数据源端RP设备和数据接收端RP设备中的组都不接收对端RP设备的组播数据时,撤销所述隧道。
7.根据权利要求1所述的数据转发方法,其特征在于,所述隧道为静态隧道,所述数据转发方法还包括:
所述数据源端RP设备和数据接收端RP设备设定所述隧道为反向路径转发RPF接口。
8.一种数据转发系统,其特征在于,用于在至少两个双向协议无关组播BIDIR-PIM域之间进行组播数据的转发,包括:
隧道建立模块,用于在数据源端BIDIR-PIM域的数据源端汇聚点RP设备和数据接收端BIDIR-PIM域的数据接收端RP设备之间建立隧道;
数据转发模块,与所述隧道建立模块连接,用于通过所述隧道在所述数据源端BIDIR-PIM域和数据接收端BIDIR-PIM域之间转发组播数据。
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或11所述的数据转发系统,其特征在于,还包括:
隧道撤销模块,与所述隧道建立模块连接,用于当所述数据源端RP设备和数据接收端RP设备中的组都不接收对端RP设备的组播数据时,撤销所述隧道。
14.根据权利要求13所述的数据转发系统,其特征在于,所述隧道为静态隧道,所述数据转发系统还包括:
第二设定模块,与所述隧道建立模块和所述数据转发模块连接,用于所述数据源端RP设备和数据接收端RP设备设定所述静态隧道为反向路径转发RPF接口。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310389586.0A CN104426780B (zh) | 2013-08-30 | 2013-08-30 | 数据转发方法和系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310389586.0A CN104426780B (zh) | 2013-08-30 | 2013-08-30 | 数据转发方法和系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104426780A CN104426780A (zh) | 2015-03-18 |
CN104426780B true CN104426780B (zh) | 2018-01-23 |
Family
ID=52974759
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201310389586.0A Active CN104426780B (zh) | 2013-08-30 | 2013-08-30 | 数据转发方法和系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104426780B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109714325A (zh) * | 2018-12-19 | 2019-05-03 | 北京奇安信科技有限公司 | 一种单向光闸数据传输方法、系统、电子设备和介质 |
US11425026B2 (en) | 2020-04-17 | 2022-08-23 | Hewlett Packard Enterprise Development Lp | Transfer of secure multicast data traffic over a computing network |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7519010B1 (en) * | 2004-08-30 | 2009-04-14 | Juniper Networks, Inc. | Inter-autonomous system (AS) multicast virtual private networks |
CN101442422A (zh) * | 2008-12-17 | 2009-05-27 | 华为技术有限公司 | 一种数据的传输方法、系统及装置 |
CN101515859A (zh) * | 2009-04-02 | 2009-08-26 | 杭州华三通信技术有限公司 | 一种因特网协议安全隧道传输组播的方法及设备 |
CN102571375A (zh) * | 2012-02-09 | 2012-07-11 | 北京星网锐捷网络技术有限公司 | 组播转发方法、装置及网络设备 |
-
2013
- 2013-08-30 CN CN201310389586.0A patent/CN104426780B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7519010B1 (en) * | 2004-08-30 | 2009-04-14 | Juniper Networks, Inc. | Inter-autonomous system (AS) multicast virtual private networks |
CN101442422A (zh) * | 2008-12-17 | 2009-05-27 | 华为技术有限公司 | 一种数据的传输方法、系统及装置 |
CN101515859A (zh) * | 2009-04-02 | 2009-08-26 | 杭州华三通信技术有限公司 | 一种因特网协议安全隧道传输组播的方法及设备 |
CN102571375A (zh) * | 2012-02-09 | 2012-07-11 | 北京星网锐捷网络技术有限公司 | 组播转发方法、装置及网络设备 |
Non-Patent Citations (1)
Title |
---|
Bidirectional Protocol Independent Multicast (BIDIR-PIM);M.Handley等;《IETF RFC 5015》;20071031;全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN104426780A (zh) | 2015-03-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102035729B (zh) | 一种组播数据转发方法 | |
CN102594711B (zh) | 一种在边缘设备上的报文转发方法和边缘设备 | |
EP2515581B1 (en) | Multicast distribution tree establishment and maintenance in a wireless multi-hop relay communication system | |
CN101459606B (zh) | 一种组播虚拟私有网络的外联网组网方法、系统和装置 | |
CN103841037B (zh) | 组播报文转发的方法及设备 | |
CN104365066B (zh) | 用于以太虚拟专用网的方法和设备 | |
JP4436960B2 (ja) | パケット通信システムおよび移動通信システム | |
EP2269346A1 (en) | Method and apparatus for multicast tree management in multi-hop relay communication system | |
CN103067286A (zh) | 一种组播数据传输方法和设备 | |
CN103209132A (zh) | 在透明多链路互联(trill)网络中实现组播的方法、装置及系统 | |
US20150043578A1 (en) | Home Network Packet Delivery | |
EP2892196B1 (en) | Method, network node and system for implementing point-to-multipoint multicast | |
CN107040447A (zh) | Iptv组网系统、转发设备和接入点设备 | |
CN107959611A (zh) | 一种转发报文的方法,装置及系统 | |
CN104426780B (zh) | 数据转发方法和系统 | |
CN107181614B (zh) | 一种wifi网络及其组网方法和数据传输方法 | |
CN113328943B (zh) | 一种路由匹配方法、信息发送方法及装置 | |
WO2020244372A1 (zh) | 一种实现组播的方法和装置 | |
CN104025518A (zh) | 隧道转发方法、装置、设备及系统 | |
CN103780503B (zh) | 一种负载均衡的实现方法和设备 | |
CN102238028A (zh) | 以太网根基多点服务实现方法、系统、装置及网络设备 | |
CN103338153A (zh) | 一种组播报文传输方法和pe设备 | |
CN105337939A (zh) | 一种bgp逻辑拓扑生成的方法及装置 | |
Wen et al. | An integrated two-tier multicast-agent architecture for All-IP multicast transport services | |
CN106572050A (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |