法律状态公告日
法律状态信息
法律状态
2011-03-30
授权
授权
2007-11-07
实质审查的生效
实质审查的生效
2007-09-12
公开
公开
技术领域
本发明涉及通信技术领域,尤其涉及一种建立组播共享树的方法和数据传送的方法、通信网络。
背景技术
随着Internet网络的不断发展,一方面网络中交互的各种数据、语音和视频信息越来越多,另一方面,新兴的电子商务、网上会议、网上拍卖、视频点播、远程教学等服务逐渐兴起。新的业务尤其是点到多点业务(如网络电视IPTV),如果以单播的方式开展,将对网络带宽提出很高的要求,组播技术作为一种有效的IP传输解决方案在很多方面逐渐显示出其特有的优势,可以节省骨干网络带宽,采用IP组播技术的新应用不断的涌现出来。
IP组播技术的特点是组播信息发送者(即组播源)仅发送一次信息,借助组播路由协议为组播数据包建立树型路由,被传递的信息在尽可能远的分叉路口才开始复制和分发。
在如图1所示的网络中,信息发送者为组播源,信息接收者为组播组成员,所有的接收者加入同一个组播组。IP网络中与组播源相连的路由器以及与所有接收者相连的路由器之间需要建立组播转发通路,通过组播路由协议建立的组播转发通路为树状结构,称为组播共享树。这样,在正常情况下,组播报文沿着组播共享树转发时只有一份报文,只有在分叉的地方进行复制成为多份报文,但在每个分叉后的通路中仍然是只转发一份报文。
组播共享树的建立需要通过组播路由协议来完成,PIM-SM(ProtocolIndependent Multicast Sparse Mode,稀疏模式独立组播协议)是目前应用最广的组播路由协议。PIM-SM实现组播转发的核心任务是构造并维护一棵单向共享树。共享树选择某一路由器作为公用根节点,称为汇聚点RP(Rendezvous Point),所有的接收路由器向RP进行加入(发送组加入消息),从而在沿途各节点建立了相应的转发表项,从RP到所有接收路由器之间形成了一条树状的转发通路,这就是组播共享树。组播数据首先到达RP汇聚点,当数据到达了RP汇聚点后,组播数据包被复制并沿着共享树传给接收者。复制仅仅发生在分发树的分支处,这个过程能自动重复直到数据包最终到达接收者。
为了防止IP网络中RP汇聚点故障导致组播共享树无法建立,可以在网络中配置多个RP,并且为每个RP分配相同的IP地址,组播源和接收路由器将向最近(根据单播路由)的RP进行注册和加入,RP之间互通组播源信息,这就是任播RP(Anycast RP)技术。通过Anycast RP,如果一个RP失效,组播源和接收者将通过单播路由收敛而重新加入到新的RP,从而可以保证组播流量的正常转发,但是本发明人在实现本发明的过程中发现,使用该方法时,不能够快速实现切换,组播业务经常会受到影响。
发明内容
有鉴于此,本发明实施例的主要目的在于提供一种建立组播共享树的方法、数据传送的方法和通信网络,提供一种新的建立组播共享树的方法,以便在网络内建立多个组播共享树,在组播RP节点出现故障时可以实现组播流数据的快速切换,降低对组播业务的影响。
为达到上述目的,本发明实施例的技术方案是这样实现的:
本发明实施例公开了一种建立组播共享树的方法,数据转发设备接收下游数据接收设备的组加入请求并建立转发表项,所述下游数据接收设备位于所述数据转发设备下游;其中,所述数据转发设备至少为两个
同时,本发明实施例还提供了一种数据传送的方法,主用数据转发设备和备用数据转发设备接收组播数据;
所述主用数据转发设备根据转发表项对收到的所述数据通过其所在的组播共享树进行转发;
所述备用数据转发设备对收到的所述数据不进行转发;
其中,所述主用数据转发设备与所述备用数据转发设备位于同一通信网络内的不同组播共享树内。
本发明实施例还提供了另外一种数据传送的方法,数据接收设备的主用端口接收第一组播共享树转发的组播数据;
所述数据接收设备的备用端口接收第二组播共享树转发的所述组播数据;
所述数据接收设备对所述主用端口接收到的组播数据进行处理,对所述备用端口接收到的所述数据不进行处理;
所述第一组播共享树和第二组播共享树分别包含至少一个数据转发设备作为汇聚点;
所述第一组播共享树和第二组播共享树转发的所述组播数据来自同一组播源。
并且,本发明实施例还提供了一种通信网络,包括:
组播源,用于发送组播数据;
主用数据转发设备,用于从所述组播源接收所述组播数据,并根据转发表项,通过其所在的组播共享树转发所述组播数据;
备用数据转发设备,与所述主用数据转发设备连接,用于从所述组播源接收所述组播数据,在所述主用数据转发设备发生故障时,通过其所在的组播共享树转发所述组播数据,在所述主用数据转发设备正常时,不对所述组播数据进行转发;
数据接收设备,用于接收所述组播数据。
本发明实施例还提供了另外一种通信网络,包括组播源,用于发送组播数据;
第一数据转发设备,用于接收所述组播源发送的所述组播数据,并根据转发表项,通过其所在的组播共享树转发所述组播数据;
第二数据转发设备,用于接收所述组播源发送的所述组播数据,并根据转发表项,通过其所在的组播共享树转发所述组播数据;
数据接收设备,与所述第一数据转发设备和所述第二数据转发设备连接,用于接收所述组播数据。
由于下游的接收者都向主用和备用数据转发设备都发送组加入请求,所以,可以建立一个2层或者更多层的网络平面,针对同一组播组形成多个组播共享树互相备份,方便了组播数据的传送,尤其是,主用和备用数据转发设备的IP地址可以相同也可以不相同。
另外,基于将网络划分为多平面,并建立维持多个组播共享树,在主用树失效后,还可以通过备用树来降低业务所受的影响。
附图说明
图1示出了现有技术中组播转发过程示意图;
图2示出了本发明实施例提供的一种通信网络的注册示意图。
具体实施方式
在本发明的实施例中,通过将网络划分为若干平面,分别建立冗余备份的组播共享树,实现在组播RP节点故障时,组播数据可以快速地切换,降低业务所受的影响。
为使本发明的目的、技术方案和优点更加清楚明白,以下举实施例,并参照附图,对本发明进一步详细说明。
本发明提供了一种建立组播共享树的方法,数据转发设备接收下游数据接收设备的组加入请求并建立转发表项,而这些下游数据接收设备位于数据转发设备下游;其中,这些数据转发设备至少为两个。
这些作为汇聚点的数据转发设备的IP地址可以都相同也可以不都是相同,如果在组播源与汇聚点之间存在路由器、交换机等数据转发设备的情况下,接收与源相连接的上游源转发设备的注册消息,该与源相连接的上游源转发设备位于这些数据转发设备的上游;如果这些与源相连接的上游源转发设备分别位于汇聚点所在的平面内的话,则只需要分别向各自平面内的汇聚点进行注册即可;当然,如果组播源与汇聚点之间不存在源转发设备的话,则不需要再进行注册,汇聚点可以直接接收组播源发送的组播组数据。
并且,这些作为汇聚点的数据转发设备还会接收下游接收设备的组加入请求,当然,这些下游的接收设备可以全部共同向所有的RP都发组加入请求,也可以一部分接收设备向一个或者几个RP发组加入请求,至少有一个下游数据接收设备要向这些数据转发设备都发出组加入请求,这样,发出组加入请求的下游数据接收设备便会位于同一组播组内。这样,加入消息到达RP的沿途节点,将建立相关的指向接收者/BRAS的相关表项,便在网络内形成了多个平面结构,形成了多个组播共享树,当然,作为汇聚点的数据转发设备的IP地址在相同的情况下,会更加便利地形成多个组播共享树,如果汇聚点的IP地址不相同,则下游的接收设备就需要分别向这些不同IP地址的汇聚点发送组加入请求。
在如图2所示的网络中,网络中的各个节点运行组播协议,比如PIM-SM协议,而RA1和RA2是配置的组播RP节点,运行Anycast RP,配置相同的IP地址。这些组播RP节点作为根节点,接收组播接收者的加入,比如,在图2所示的网络中,宽带远程接入服务器(Broadband Remote AccessServer,BRAS)发送组加入消息,比如PIM-SM加入消息,而RP则会建立到BRAS的相关表项,接收者/BRAS的加入消息到达RP的沿途节点,将建立相关的指向接收者/BRAS的相关表项,从而形成了一条组播数据的转发路径,当多个接收者/BRAS加入到RP后,从RP到各个接收者/BRAS就形成了一棵组播共享树A和共享树B。
图2只考虑了比较简单的一种情况,即,组播源与RP相连,即中间没有路由器,但可以有交换机,在这种情况下,组播数据可以发送到所有的RP,而在本实施例中,RP都具有相同的IP地址,即RA1和RB1的IP地址相同,与组播源相连的路由器或者其他数据转发设备R都向各个RP发出注册消息。当然,对于各个组播共享树来讲,接收者/BRAS还会周期性地向RP发出组加入消息,比如PIM-SM加入消息,对组播共享树进行维持,组播共享树上的各节点的内部组播转发表项不会被删除或者老化。
而且,利用此种方法建立的组播共享树,还可以对数据的单播转发进行维护,比如:网络的路由协议收敛之后,单播数据在网络种进行IP转发时,其优选路径会在同一个平面内,根据配置的花费Cost来选择相应的路径,如果BRAS到组播源的单播数据是通过RA2接入到网络的,则会将它的Cost配置为最优,那么,就会通过平面A的路由器进行转发,而如果Cost相同,则可能作负荷分担,两条都走。而网络的两个平面具有冗余备份关系,如果平面A不能转发数据,则会切换到平面B,比如在图2中RA1出现故障的时候,就会通过路由协议收敛,单播数据切换到RB2接入到平面B进行转发。
本发明还提供了一种数据传送的方法,主用数据转发设备对收到的组播数据通过组播共享树进行转发,其他数据转发设备虽然也会从组播源处收到组播数据,但是却对收到的组播数据不进行转发,可以将其丢弃或者保存,或者进行其他操作,其中,主用数据转发设备与所述其他数据转发设备为位于同一通信网络内的不同组播共享树内的汇聚点,并且,这些数据转发设备还可以具有相同的IP地址,也可以不具有相同的IP地址。
同样,以图2为例,在图2所示的网络中,分别有两个具有相同IP地址的RP节点RA1和RB1,两个RP之间通过内部协议或者VRRP协议来确定主备关系,在两个RP相连的接口运行VRRP协议,可以通过选举来确定其中一个设备为主用VRRP设备,即主用数据转发设备,其余的设备为备用设备。或者,可以通过私有的内部协议来代替,两个RP之间运行内部协议交互信息,确定其中的一个为主用数据转发设备。
主用数据转发设备对数据进行转发,而备用设备则不进行转发,可以将数据流量进行丢弃,当网络发送故障的情况下,如果不是RP的故障,则依靠网络的路由收敛,组播共享树将在该平面自动收敛而更新,收敛之后组播数据被正常转发,而如果是RP的故障,则另外的平面的RP将检测到该故障,另外一个RP切换为主用数据转发设备,将收到的组播数据通过已建好的组播共享树进行转发,从而通过冗余的组播共享树实现了在RP节点故障的情况下组播数据的快速切换。
主用数据转发设备和备用数据转发设备之间可以通过运行BFD(Bidirectional Forwarding Detection,双向转发检测),通过BFD的结果触发主备之间的切换,如果存在多个数据转发设备作为RP,则彼此之间通过互相运行BFD,实现故障的检测。
针对源发出的不同组播组数据,数据转发设备需要检查本身是否为该组播组的主用转发设备,以确定是否对组播数据进行转发,只有处于主用状态时才对组播数据进行转发,其中的主用或备用状态可以根据前述的BFD检测结果进行变化(如处于备用状态时通过BFD检测到对方故障,则从备用转发设备中选择一设备变为主用状态)。
当然,还可以有其他的数据传送的方法,比如,并不对数据转发设备确定主备关系,所有的数据转发设备都从组播源处接收组播数据,并且,同时都对接收到的组播数据进行转发,而数据接收设备则对端口进行主备划分,比如,A端口收到的组播数据是通过某一数据转发设备RA1发来的,B端口收到的组播数据是通过某一数据转发设备RB1发来的,等等,如果将A端口作为主用端口,那么,接收设备只对A端口收到的组播数据进行处理,而对于B端口收到的组播数据则不进行处理,而如果A端口受不到组播数据了,这时候可能是由于RA1出现了故障,这时候,就会从B端口等端口中确定一个端口作为主用端口,对该端口收到的组播数据进行处理。
在这种情况下,多个RP之间可以不需要再确定主备关系,这几个RP对接收到的组播流量都按照正常流程转发到接收路由器,接收设备(比如接收路由器)上确定主备端口,当然,可以基于特定组播组数据加以运用,在正常情况下,接收路由器对主用端口接收到的组播流量进行处理,当主用端口不能接收到组播流量时,即将备用端口切换成主用端口,并对该端口接收到的数据进行处理。
针对源发出的不同组播组数据,数据转发设备可以不需要检查本身是否为该组播组的主用转发设备,对组播数据一律进行转发,只是在接收设备(比如接收路由器)上确定主备端口,当然,可以基于特定组播组数据加以运用,在正常情况下,接收路由器对主用端口接收到的组播流量进行处理,当主用端口不能接收到组播流量时,即将备用端口切换成主用端口,并对该端口接收到的数据进行处理。
本发明实施例还提供了一种通信网络,包括发送组播数据的组播源;主用数据转发设备,可以接收组播源发送的组播数据,并通过它本身所在的组播共享树,根据转发表项对收到的组播数据进行转发;而备用数据转发设备,则与主用数据转发设备连接,并且也可以从组播源处接收组播数据,这些组播数据与主用数据转发设备接收到的组播数据是相同内容的,用于在主用数据转发设备发生故障时,通过备用数据转发设备所在的组播共享树转发接收到的组播数据;其中,备用数据转发设备与主用数据转发设备可以具备相同的IP地址,当然,也可以不尽相同;与主用数据转发设备和所述备用数据转发设备连接的数据接收设备,用于接收所述组播数据,当然,接收的组播数据是从处于主用状态的数据转发设备转发过来的。一般来说,这样的通信网络可以是IP网络。
其中,还可以包括源转发设备,比如路由器、交换机等等,这些源转发设备通过向多个具有相同IP地址的数据转发设备进行注册,以使组播流量能够同时发送到这些RP,如果只存在一个这样的源转发设备的时候,则向所有的数据转发设备都进行注册,而如果源转发设备存在多个,并且分别位于不同的平面的时候,则可以分别向所在的平面内的数据转发设备进行注册,而数据接收设备,比如接收路由器则周期性地向这些RP发送加入消息,以维持这些组播共享树。具体到数据转发设备,可以通过运行VRRP或者私有的内部协议确定主备关系。
当然,还可以对数据转发设备不进行主备确定,这样的通信网络就包括组播源,用于发送组播数据;
第一数据转发设备,用于接收所述组播源发送的所述组播数据,并根据转发表项,通过其所在的组播共享树转发所述组播数据;
第二数据转发设备,用于接收所述组播源发送的所述组播数据,并根据转发表项,通过其所在的组播共享树转发所述组播数据;
数据接收设备,与所述第一数据转发设备和所述第二数据转发设备连接,用于接收所述组播数据。
这样,就对数据转发设备不进行主备确定,这些RP都可以收到组播源发送的组播数据,并且都对组播数据进行转发,而在数据接收设备,比如接收路由器上,则对端口进行划分,确定主用端口和备用端口,比如,收到第一数据转发设备转发而来的组播数据的端口作为主用端口,收到第二数据转发设备转发而来的组播数据的端口作为备用端口,只处理主用端口接收到的数据,当主用端口不能接收数据时,则对备用端口接收的组播数据进行处理。
本发明实施例的计算机可读介质可以是包含、存储、传达、传播或者传输计算机程序的介质,所述计算机程序为使用指令以运行本发明实施例所提供的系统装置、系统或者设备的程序,或者是与该指令有关的程序。该计算机可读介质可以是电子、磁、电磁、光学、红外或者半导体的系统、装置、设备、传播介质或者计算机存储器。
由于下游的接收者都向主用和备用数据转发设备都发送组加入请求,所以,可以建立一个2层或者更多层的网络平面,针对同一组播组形成多个组播共享树互相备份,方便了组播数据的传送,尤其是,主用和备用数据转发设备的IP地址可以相同也可以不相同。
另外,基于将网络划分为多平面,并建立维持多个组播共享树,在主用树失效后,还可以通过备用树来降低业务所受的影响。
以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。
机译: 在MPLS VPN上的两个CE之间建立或释放组播树的方法及提供组播服务的方法
机译: /在MPLS VPN上的两个CE之间建立或释放组播树的方法及提供组播服务的方法
机译: 软件定义网络中使用组播组共享树的SDN组播方法及装置