CN101534231B - 一种弹性分组环中数据的传输方法、系统和设备 - Google Patents
一种弹性分组环中数据的传输方法、系统和设备 Download PDFInfo
- Publication number
- CN101534231B CN101534231B CN2009101355062A CN200910135506A CN101534231B CN 101534231 B CN101534231 B CN 101534231B CN 2009101355062 A CN2009101355062 A CN 2009101355062A CN 200910135506 A CN200910135506 A CN 200910135506A CN 101534231 B CN101534231 B CN 101534231B
- Authority
- CN
- China
- Prior art keywords
- node
- rpr
- multicast
- message
- corresponding relation
- 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
- Small-Scale Networks (AREA)
Abstract
本发明公开了一种弹性分组环中数据的传输方法、系统和设备,所述方法包括以下步骤:第一节点接收从RPR环下环的第一报文,所述第一报文中携带RPR源MAC地址信息;第一节点查找所述第一报文所对应的第一组播转发对应关系,将第一节点的RPR端口添加到所述第一组播转发对应关系的输出端口,将RPR源MAC地址添加到所述第一组播转发对应关系的输出节点,所述输出节点与所述输出端口具有对应关系;第一节点通过所述组播转发对应关系中的输出节点将来自所述组播源侧DR的组播数据传输给所述接收者侧DR。本发明中,减少了RPR环中的组播报文,节约了网络带宽,而且保证只有最少的节点接收到组播报文,从而增强了组播信息的安全性。
Description
技术领域
本发明涉及通信技术领域,特别是涉及一种弹性分组环中数据的传输方法、系统和设备。
背景技术
RPR(Resilient Packet Ring,弹性分组环)是新型MAC(Media AccessControl,媒体访问控制)协议,可运行于SONET(Synchronous Optical Network,光同步网络)/SDH(Synchronous Digital Hierarchy,同步数字体系)、DWDM(Dense Wavelength Division Multiplexing,密集波分复用)和以太网上,为宽带IP城域网运营商提供了灵活高效的组网方案。
RPR为互逆的双环拓扑结构,环上的每段光路工作在同一速率上,其中,RPR的双环均能够传送数据,该双环分别为0环(Ringlet0)和1环(Ringlet1),该0环的数据帧发送方向为顺时针,也称Outer Ring(外环),该1环的数据帧发送方向为逆时针,也称Inner Ring(内环)。在RPR的双环拓扑结构中,节点(Station)是RPR环网上的设备,负责接收和转发数据帧,并采用以太网中的48位MAC地址作为地址标识,该RPR节点设备从链路层来看,两对收发的物理接口是链路层接口,从网络层来看,只需要分配一个接口IP地址,该节点与环配合,完成各种数据操作。其中,该RPR环上节点对数据帧的基本数据操作包括:上环(insert,节点把来自环网外的数据帧插入到RPR环网的数据流中)、下环(copy,节点从RPR环网的数据流中接收数据帧,并将数据帧交给上层作相应处理)、过环(transit,节点将途经本节点的数据帧转发到下一个节点)、剔除或剥离(strip,节点不再往下转发途经本节点的数据帧,即终止数据帧在RPR环网上的转发)。在源节点处,采用上环操作,使数据承载到0环或1环中。目的节点执行数据下环和数据剔除操作。而中间节点只执行数据过环操作。该RPR环中的各节点分别采用上述基本数据操作及其组 合来提供对单播、广播和组播的支持。
RPR通过拓扑发现收集环网节点的数目、环状态、节点之间的排列顺序等信息,并生成拓扑数据库,当环网拓扑稳定后,对应的拓扑数据库不再发生变化。每个RPR节点都会维护一个拓扑数据库,拓扑数据库中保存着整个RPR环网的拓扑信息,是节点生成环表的主要依据。拓扑数据库包含三个部分:(1)环网的拓扑信息,例如:节点个数、环状态和可用带宽等;(2)本节点的拓扑信息,例如:MAC地址、保护类型、节点保护状态、节点名称、本节点的拓扑信息校验和以及邻居节点的拓扑信息校验和等;(3)其它节点的拓扑信息,例如:MAC地址、有效状态、可达状态、保护类型、节点索引、保留带宽以及节点名称等。
现有技术中,RPR支持组播的转发,在RPR网络中组播数据的转发过程如图1所示,各个RPR节点(路由器A、路由器B、路由器C、路由器D、路由器E、路由器F)均支持PIM-SM(Protocol Independent Multicast-SparseMode,协议无关组播-稀疏模式),组播数据由节点A上环,其他节点B、C、D、E、F对接收到的组播数据都进行下环操作。即在源节点(路由器A),执行上环操作,将来自路由器G的数据插入0环或1环的数据流中;在RPR环的其它节点,如果TTL(Time To Live,生存时间)值不为0,执行数据过环和下环的操作;当数据帧回到源节点或TTL值为0时,执行剥离操作。在上述其它节点上,当节点中存在该组播数据的转发表项,并且存在非RPR端口的输出端口时,根据该转发表项将该组播数据发送给相应的接收者;否则,将该组播数据丢弃,不需要转发该组播数据。
基于上面的分析,目前在RPR环中传输组播数据时存在如下缺点:
组播数据在插入到0环或1环的数据流后,只有当该组播数据回到源节点或者TTL值为0时,才能够执行剥离操作,占有了RPR环的带宽,例如图1所示的组播数据传输过程,组播数据需要通过节点D发送给接收者时,节点D根据转发表项将组播数据发送给接收者之后,该组播数据还需要返回到节点A中,从而占有了0环中节点D到节点A之间的带宽,浪费了0环中节点D到节点A之间的带宽。
发明内容
本发明提供一种弹性分组环中数据的传输方法、系统和设备,以节省RPR环中组播数据在传输时的带宽。
为了达到上述目的,本发明提出了一种弹性分组环中数据的传输方法,应用于包括第一节点、组播源侧DR和接收者侧DR的系统中,所述方法包括以下步骤:
所述第一节点接收从RPR环下环的第一报文,所述第一报文中携带RPR源MAC地址信息;
所述第一节点查找所述第一报文所对应的第一组播转发对应关系,将所述第一节点的RPR端口添加到所述第一组播转发对应关系的输出端口,将所述RPR源MAC地址添加到所述第一组播转发对应关系的输出节点,所述输出节点与所述输出端口具有对应关系;
所述第一节点通过所述第一组播转发对应关系中的输出节点将来自所述组播源侧DR的组播数据传输给所述接收者侧DR。
本发明提出了一种弹性分组环中数据的传输系统,包括:第一节点、组播源侧DR和接收者侧DR,其中:
所述组播源侧DR,用于向所述接收者侧DR发送组播数据;
所述第一节点,用于接收从RPR环下环的第一报文,所述第一报文中携带RPR源MAC地址信息;查找所述第一报文所对应的第一组播转发对应关系,将所述第一节点的RPR端口添加到所述第一组播转发对应关系的输出端口,将所述RPR源MAC地址添加到所述第一组播转发对应关系的输出节点,所述输出节点与所述输出端口具有对应关系;并通过所述第一组播转发对应关系中的输出节点将来自所述组播源侧DR的组播数据传输给所述接收者侧DR;
所述接收者侧DR,用于接收来自所述组播源侧DR的组播数据。
本发明提出了一种弹性分组环中数据的传输设备,包括:
接收模块,用于接收从RPR环下环的第一报文,所述第一报文中携带RPR源MAC地址信息;
查找模块,与所述接收模块电性连接,用于查找所述接收模块接收的第一报文所对应的第一组播转发对应关系;
添加模块,与所述查找模块电性连接,用于将第一节点的RPR端口添加到所述查找模块查找的第一组播转发对应关系的输出端口,将所述RPR源MAC地址添加到所述第一组播转发对应关系的输出节点,所述输出节点与所述输出端口具有对应关系;
传输模块,与所述添加模块电性连接,用于通过所述第一组播转发对应关系中添加模块添加的输出节点将来自组播源侧DR的组播数据传输给接收者侧DR。
与现有技术相比,本发明具有以下优点:通过在第一节点的第一组播转发对应关系中添加输出节点的信息,使得组播数据在RPR环中传输时,在到达输出节点时便被剔除,不需要在使用第一节点剔除该组播数据,从而减少了在RPR环中传输的组播数据,节约了网络带宽,而且保证只有最少的节点接收到组播报文,从而增强了组播信息的安全性。
附图说明
为了更清楚地说明本发明或现有技术中的技术方案,下面将对本发明或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些附图,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为现有技术中在RPR网络中组播数据的转发模式图;
图2为本发明提出的一种弹性分组环中数据的传输方法流程图;
图3为本发明第一实施例提出的组网模式结构图;
图4为本发明第一实施例提出的弹性分组环中数据的传输方法流程图;
图5为本发明第二实施例提出的组网模式结构图;
图6为本发明第二实施例提出的弹性分组环中数据的传输方法流程图;
图7为本发明第三实施例提出的弹性分组环中数据的传输方法流程图;
图8为本发明提出的一种弹性分组环中数据的传输设备结构图。
具体实施方式
下面将结合本发明中的附图,对本发明中的技术方案进行清楚、完整地描述,显然,所描述的仅仅是本发明一部分,而不是全部的。基于本发明,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他发明,都属于本发明保护的范围。
本发明的核心思想是在RPR节点接收到从RPR环下环的加入报文,建立组播转发表项时,将RPR端口设置为输出端口的同时,记录加入报文的上环节点为输出节点,建立输出端口与输出节点的联动关系,并根据组播转发的拓扑关系,选择最优的RPR转发路径,通过在最后一个组播下环节点进行剥离操作,实现节省RPR环带宽的目的。
本发明提出的一种弹性分组环中数据的传输方法,应用于包括第一节点、组播源侧DR和接收者侧DR的系统中,如图2所示,所述方法包括以下步骤:
步骤S201,所述第一节点接收从RPR环下环的第一报文,所述第一报文中携带RPR源MAC地址信息。
步骤S202,所述第一节点查找所述第一报文所对应的第一组播转发对应关系,将所述第一节点的RPR端口添加到所述第一组播转发对应关系的输出端口,将所述RPR源MAC地址添加到所述第一组播转发对应关系的输出节点,所述输出节点与所述输出端口具有对应关系。
步骤S203,所述第一节点通过所述组播转发对应关系中的输出节点将来自所述组播源侧DR的组播数据传输给所述接收者侧DR。
本发明第一实施例提出的一种弹性分组环中数据的传输方法,该方法适用于RPR环处在RP(Rendezvous Point,汇聚点)与接收者侧DR(DesignatedRouter,指定路由器)之间,如图3所示的组网模式,与组播源连接的DR为路由器K,该路由器K通过SPT(Shortest Path Tree,最短路径树)与该组播组内的RP连接,该RP为路由器H,RPR环中各个节点分别为路由器A、路由器B、路由器C、路由器D、路由器E和路由器F,其中,路由器B通过 RPT(Rendezvous Point Tree,共享路径树)与接收者侧DR(路由器I)连接,路由器E通过RPT与接收者侧DR(路由器J)连接,其中,上述所有的路由器均属于组播组G。本发明中,通过使用PIM-SM协议进行组播数据的传输过程,适用于组播组成员分布相对分散、范围较广的大中型网络中,上述的弹性分组环中数据的传输方法如图4所示,包括以下步骤:
步骤S401,路由器K向组播组G对应的RP发起组播源的注册过程。
其中,当组播源S(Source)要向组播组G发送组播数据时,由组播源侧DR(路由器K)负责向RP(路由器H)进行注册,将注册报文(Register Message)通过单播方式发送给RP,该注册报文到达RP后触发建立SPT过程,组播源S将组播数据沿着SPT发向RP。该注册过程包括:
(1)组播源S向组播组G发送组播数据报文时,与该组播源S直连的DR(路由器K)在收到该组播数据报文后,将该组播数据报文封装成注册报文,并通过单播的方式将该组播数据报文发送给相应的RP(路由器H)。
(2)当路由器H收到该注册报文后,解封装该注册报文,将封装在该注册报文的组播数据报文沿着RPT转发给组播组内的接收者;并向组播源方向逐跳发送(S,G)加入报文。这样,从路由器H到组播源S所经过的路由器就形成了SPT的分支,分支中的路由器都在其转发表中生成了(S,G)表项。(3)组播源S通过路由器K向路由器H发送组播数据,该组播数据沿着已建立好的SPT到达路由器H,然后由路由器H把组播数据沿着RPT向接收者进行转发;当路由器H接收到从SPT转发来的组播数据后,通过单播方式向与组播源S直连的路由器K发送注册停止报文(Register-Stop Message),组播源S注册过程结束,即组播源S通过SPT向路由器H发送组播数据,不再使用单播方式向路由器H发送注册报文。
步骤S402,路由器I和路由器J向组播组G对应的RP发送加入报文(JoinMessage)或剪枝报文。
其中,当接收者需要加入一个组播组G时,通过IGMP(Internet GroupManagement Protocol,Internet组管理协议)报文通知与该接收者直连的DR,即通过IGMP报文向DR发送需要加入组播组G的信息,本发明中,与接收 者1直连的DR为路由器I,与接收者2直连的DR为路由器J。
本发明中,路由器I和路由器J向RP发送加入报文的过程相同,以路由器I为例进行说明,该组播组G对应的RP为路由器H,即路由器I向逐跳向路由器H发送加入报文,其中,该加入报文所经过的路径形成了RPT的分支。
路由器I向路由器H方向逐跳发送(*,G)加入报文,从路由器I到路由器H所经过的路由器就形成了RPT的分支,上述分支中的路由器均将根据(*,G)加入报文在其转发表中生成(*,G)表项,其中,“*”表示来自任意组播源。本发明中,为了简化描述,(*,G)加入报文均以加入报文为例进行描述,本实施例中,组播转发表项为(*,G)表项。
同样的,当接收者不需要接收来自组播组G的组播数据时,通过与其直连的DR,并通过RPT向该组播组的RP方向逐跳发送剪枝报文,上游节点在收到该剪枝报文后在其出接口列表中删除与下游节点相连的接口,并继续向上游转发该剪枝报文。
其中,上述的步骤S402与上述的步骤S401之间并没有严格的顺序关系。
步骤S403,RPR环中各个节点对来自路由器I的加入报文或剪枝报文进行处理。
本发明中,RPR环是处在RP与接收者侧DR之间的,DR向RP发送的加入报文或剪枝报文,以及RP向DR发送的组播数据均需要经过RPR环中节点,而路由器B通过RPT与接收者侧路由器I连接的,即来自路由器I的加入报文将发送到路由器B上;同样的,来自路由器J的加入报文将发送到路由器E上。其中,来自路由器I和来自路由器J的加入报文在RPR环中的处理过程是相同的,本发明中,以处理来自路由器I的加入报文为例进行说明。
其中,RPR环中各个节点对加入报文或剪枝报文的处理包括:
1)当RPR节点从非RPR端口接收到加入报文时,解析该加入报文,获取该加入报文携带的组播组信息,并进行如下操作中的一种:
(1)当RPR节点中不存在相应的组播转发表项时,生成相应的组播转发表项,并将接收到该加入报文的端口添加到该组播转发表项的输出端口,将指向加入报文上一级节点的端口加入到组播转发表项的输入端口列表中;其 中,当指向上一级节点的端口为RPR端口时,将该加入报文进行上环操作,并为该组播转发表项启动老化定时器;(2)当RPR节点中已经存在相应的组播转发表项,但输出端口列表中并没有包含接收到该加入报文的端口时,将该接收到加入报文的端口添加到输出端口列表中,将该加入报文进行上环操作,并重置该组播转发表项的老化定时器;(3)当RPR节点中已经存在组播转发表项,且输出端口列表中已经包含接收到该加入报文的端口时,将该加入报文进行上环操作,并重置该组播转发表项的老化定时器。
2)RPR节点接收到从RPR环下环的加入报文时,解析该加入报文,获取该加入报文中携带的组播组信息和RPR源MAC信息(该RPR源MAC为对该加入报文进行上环操作的节点),并判断指向该加入报文的上一级节点的端口是否为接收该加入报文的RPR端口,根据判断的结果,进行如下操作中的一种:
(1)当两个端口一致,且RPR节点中不存在相应的组播转发表项时,生成组播转发表项,将该RPR端口加入到组播转发表项的输入端口,并为该组播转发表项启动老化定时器;(2)当两个端口一致,且RPR节点中已经存在相应的组播转发表项时,为该组播转发表项重置老化定时器;(3)当两个端口不一致,且RPR节点中不存在相应的组播转发表项时,生成组播转发表项,将指向该加入报文的上一级节点的端口加入到该组播转发表项的输入端口,将RPR端口加入到该组播转发表项的输出端口,并在该组播转发表项中将RPR的源MAC作为动态节点加入到输出节点,作为输出端口的联动信息,并向上一级节点转发该加入报文,启动该输出节点老化定时器和该组播转发表项老化定时器;(4)当两个端口不一致,且RPR节点中已经存在相应的组播转发表项,但输出端口中没有包含RPR端口时,将该RPR端口添加到组播转发表项的输出端口中,并在该组播转发表项中将RPR的源MAC作为动态节点加入到输出节点,作为输出端口的联动信息,并向上一级节点转发该加入报文,启动该输出节点的老化定时器,并为该组播转发表项重置老化定时器;(5)当两个端口不一致,且RPR节点中已经存在相应的组播转发表项,输出端口中已经包含了RPR端口,但输出节点中没有包含该RPR的源MAC 时,在该组播转发表项中将RPR的源MAC作为动态节点加入到输出节点,作为输出端口的联动信息,并向上一级节点转发加入报文,启动该输出节点老化定时器,并为该组播转发表项重置老化定时器;(6)当两个端口不一致,且RPR节点中已经存在相应的组播转发表项,输出节点中已经包含了该RPR源MAC,则向上一级节点转发该加入报文,重置该输出节点的老化定时器和组播转发表项的老化定时器。
3)当RPR节点从非RPR端口接收到剪枝报文时,解析该剪枝报文,获取该剪枝报文中携带的组播组信息,将接收到该剪枝报文的端口从输出端口列表中删除,并检查该RPR节点是否还具有该组播组的其它接收者,当具有其它接收者时,则不需要向上一级节点转发该剪枝报文,当没有其它接收者时,则将该剪枝报文向上一级节点发送,而当指向上一级节点的端口为RPR端口时,还需要将该剪枝报文进行上环操作。
4)当RPR节点接收到从RPR环下环的剪枝报文时,解析该剪枝报文,获取该剪枝报文中携带的组播组信息和RPR源MAC信息(该RPR源MAC为对该加入报文进行上环操作的节点),并判断指向该剪枝报文的上一级节点的端口是否为接收该剪枝报文的RPR端口,根据判断的结果,进行如下操作中的一种或几种:
(1)当两个端口一致时,RPR节点直接将剪枝报文丢弃;(2)当两个端口不一致,将该剪枝报文所对应的RPR源MAC从组播转发表项的输出节点中删除;当该组播转发表项对应的输出节点列表为空时,将该剪枝报文所对应的RPR端口从输出端口中删除;当该组播转发表项中没有了接收者时,将该剪枝报文向上一级节点发送。
具体的,上述RPR环中各个节点对加入报文或剪枝报文进行处理时,RPR节点在输出节点的老化定时器超时后,就会将该输出节点从对应的组播转发表项中删除;当该组播转发表项对应的输出节点列表为空,则将对应的RPR端口从输出端口中删除。RPR节点在组播转发表项老化定超时后,就会将该组播转发表项删除。其中,上述输出节点的老化定时器和组播转发表项的老化定时器均是根据历史经验等因素选取的任意的数值。
对应到本发明实施例中,RPR环中各个节点对加入报文或剪枝报文的处理过程具体为:
路由器B(RPR节点B)接收来自路由器I的加入报文,可知,该来自路由器I的加入报文是路由器B从非RPR端口接收到加入报文,即路由器B在接收到来自路由器I的加入报文后,解析该加入报文,并获取该加入报文中携带的组播组信息。路由器B对该加入报文的处理过程具体为:(1)当路由器B中不存在相应组播转发表项时,根据该加入报文生成组播转发表项,并将接收到该加入报文的端口加入到该组播转发表项的输出端口,将指向加入报文上一级节点的端口(RPR端口)加入到表项的输入端口,将该加入报文进行上环操作,即将该加入报文插入到RPR环的数据帧中,并为该组播转发表项启动老化定时器;或(2)当路由器B中已经存在相应组播转发表项,但输出端口列表中还没有包含接收到该加入报文的端口时,将该接收到加入报文的端口添加到输出端口列表中,将加入报文进行上环操作,并重置该组播转发表项的老化定时器;或(3)当路由器B中已经存在相应组播转发表项,且输出端口列表中已经包含接收到该加入报文的端口时,将该加入报文进行上环操作,并重置该组播转发表项的老化定时器。
具体的,该组播转发表项可以用于传输组播数据,经过上述的操作后,该组播转发表项中的输入端口为RPR端口,该组播转发表项中的输出端口可以为接收到该加入报文的端口,即路由器B从输入端口(RPR端口)接收到组播数据后,通过查找组播转发表项,通过使用输出端口将组播数据发送到对应的接收者中。
路由器B在接收到来自路由器I的剪枝报文后,可知,该来自路由器I的剪枝报文是路由器B从非RPR端口接收到的剪枝报文,解析该剪枝报文,获取该剪枝报文中携带的组播组信息,将收到该剪枝报文的端口从输出端口列表中删除,并检查路由器B是否还具有该组播组的其它接收者,本发明中,该路由器B没有其它的接收者,该路由器B需要向向上一级节点发送该剪枝报文,而且指向上一级节点的端口为RPR端口,此时,路由器B还需要将该剪枝报文进行上环操作,即将该剪枝报文插入到RPR环的数据帧中。
其中,路由器B在将加入报文或剪枝报文上环后,该加入报文或剪枝报文均可以在0环上进行传输,也可以在1环上进行传输。
路由器E(RPR节点E)接收来自路由器J的加入报文与上述的路由器B接收来自路由器I的加入报文的处理过程相同,路由器E接收来自路由器J的剪枝报文与上述的路由器B接收来自路由器I的剪枝报文的处理过程相同,在此不再赘述。
路由器C(节点C)在接收到从RPR环下环的加入报文时,解析该加入报文,获取该加入报文中携带的组播组信息和RPR源MAC信息,并判断指向该加入报文的上一级节点的端口是否为接收该加入报文的RPR端口,可见,路由器C用同一个RPR端口接收从RPR环下环的加入报文,并将该加入报文向上一级节点转发,即指向该加入报文的上一级节点的端口是接收该加入报文的RPR端口,此时,路由器C的对该加入报文的处理过程具体为:(1)当路由器C中不存在相应的组播转发表项时,生成组播转发表项,将该RPR端口加入到组播转发表项的输入端口,并为该组播转发表项启动老化定时器;或(2)当RPR节点中已经存在相应的组播转发表项时,为该组播转发表项重置老化定时器。
路由器C在接收到从RPR环下环的剪枝报文后,解析该剪枝报文,获取该剪枝报文中携带的组播组信息和RPR源MAC信息,并判断指向该剪枝报文的上一级节点的端口是否为接收该剪枝报文的RPR端口,可见,路由器C的指向该剪枝报文的上一级节点的端口是接收该剪枝报文的RPR端口,此时,该路由器C直接将该剪枝报文丢弃。
其中,路由器D、路由器E和路由器F在接收到从RPR环下环的加入报文与上述的路由器C接收到从RPR环下环的加入报文的处理过程相同,路由器D、路由器E和路由器F在接收到从RPR环下环的剪枝报文与上述的路由器C接收到从RPR环下环的剪枝报文的处理过程相同,在此不再赘述。
路由器A(节点A)在接收到从RPR环下环的加入报文时,解析该加入报文,获取该加入报文中携带的组播组信息和RPR源MAC信息(该RPR源MAC为对该加入报文进行上环操作的路由器B的MAC信息和路由器E的 MAC信息),并判断指向该加入报文的上一级节点的端口是否为接收该加入报文的RPR端口,可见,路由器A中指向该加入报文的上一级节点的端口与接收到该加入报文的RPR端口并不是同一个端口,此时,路由器A的对该加入报文的处理过程具体为:(1)路由器A中不存在相应的组播转发表项时,生成组播转发表项,将指向该加入报文的上一级节点(路由器G)的端口加入到该组播转发表项的输入端口,将RPR端口加入到该组播转发表项的输出端口,并在该组播转发表项中将RPR的源MAC作为动态节点加入到输出节点(输出节点为路由器B和路由器E),作为输出端口的联动信息,并向路由器G转发该加入报文,启动该输出节点老化定时器和该组播转发表项老化定时器;或(2)路由器A中已经存在相应的组播转发表项,但输出端口中没有包含RPR端口时,将该RPR端口添加到组播转发表项的输出端口中,并在该组播转发表项中将RPR的源MAC作为动态节点加入到输出节点,作为输出端口的联动信息,并向路由器G转发该加入报文,启动该输出节点的老化定时器,并为该组播转发表项重置老化定时器;或(3)路由器A中已经存在相应的组播转发表项,输出端口中已经包含了RPR端口,但输出节点中没有包含该RPR的源MAC时,在该组播转发表项中将RPR的源MAC作为动态节点加入到输出节点,作为输出端口的联动信息,并向路由器G转发加入报文,启动该输出节点老化定时器,并为该组播转发表项重置老化定时器;或(4)路由器A中已经存在相应的组播转发表项,输出节点中已经包含了该RPR源MAC,则向路由器G转发该加入报文,重置该输出节点的老化定时器和组播转发表项的老化定时器。
路由器A在接收到从RPR环下环的剪枝报文后,解析该剪枝报文,获取该剪枝报文中携带的组播组信息和RPR源MAC信息,并判断指向该剪枝报文的上一级节点的端口是否为接收该剪枝报文的RPR端口,可见,路由器A的指向该剪枝报文的上一级节点的端口与接收该剪枝报文的RPR端口不是同一个端口,此时,该路由器A对该剪枝报文的处理为:将该剪枝报文所对应的RPR源MAC从组播转发表项的输出节点中删除(例如,路由器A组播转发表项的输出节点列表中有输出节点B的信息和输出节点E的信息,当接收 到来自路由器B的剪枝报文时,只需要将路由器B所对应的MAC从组播转发表项的输出节点中删除,并不需要向上一级转发该剪枝报文);组播转发表项对应的输出节点列表为空时,将该剪枝报文所对应的RPR端口从输出端口中删除(例如,路由器A组播转发表项的输出节点列表中没有输出节点的信息时,需要将路由器B所对应RPR端口从输出端口中删除);组播转发表项中没有了接收者时,将该剪枝报文向路由器G发送。
步骤S404,RPR环中各个节点对来自路由器H的组播数据进行处理。
路由器K将组播源S的组播数据发送到路由器H后,路由器H向组播组中的接收者1和接收者2发送组播数据,而上述步骤中,接收者1和接收者2已经完成了加入过程,即RPT过程已建立完成,即路由器H通过接收者1的RPT和接收者2的RPT将组播数据传输到接收者1和接收者2上。而路由器H向接收者发送的组播数据均需要经过RPR环中节点,即RPR环中节点需要对组播数据进行处理。
其中,RPR环中节点对组播数据的处理包括:
在节点的组播转发表项中存在输出端口为RPR端口的RPR节点(本发明中的路由器A),接收来自RP(路由器H)的组播数据,计算出最短的转发路径,将组播数据转发给接收者。
具体的,在接收者的加入过程中,RPR环上各个节点均建立了相应的组播转发表项,根据该组播转发表项可以获知组播转发表项中存在输出端口为RPR端口的RPR节点,该节点可以从RP中接收组播数据,并将该组播数据上环,插入到RPR环的数据帧中,如本发明中的路由器A。该路由器A可以根据组播转发表项和RPR拓扑数据库,综合考虑转发跳数,链路状况,计算出最短的转发路径。
本发明中以转发跳数作为选择最短转发路径的依据,实现组播数据在最短的RPR节点路径中转发,其中,该计算最短的转发路径的方法包括但不限于:
(1)当组播组中存在输出端口为RPR端口的组播转发表项,并且该RPR端口所对应的输出节点为一个时,在输出端口为RPR端口的组播转发表项所 对应的节点上,进行组播数据的上环操作,将组播数据插入到RPR环的数据帧中,并利用输出节点的RPR MAC替换组播MAC,将该输出节点的RPRMAC封装到RPR扩展帧(该RPR扩展帧为组播数据的RPR报文头)的目的MAC字段,并根据RPR拓扑数据库,选出0环或1环中最短的路径(转发跳数最少的路径),并通过RPR环中单播的转发流程,将该组播数据进行转发,即将该组播数据通过单播的方式转发到目的节点(输出节点)上,由目的节点进行下环和剥离操作,而其它节点只是进行过环操作。
(2)当组播组存在输出端口为RPR端口的组播转发表项,并且该RPR端口所对应的输出节点为两个时,在输出端口为RPR端口的组播转发表项所对应的节点上,进行组播数据的上环操作,将组播数据插入到RPR环的数据帧中,并比较数据采用单环转发和双环转发时的最短跳数。当采用双环转发的跳数不大于(小于或等于)采用单环转发的跳数时,将组播数据复制成两份,分别利用两个输出节点的RPR MAC替代组播MAC,将上述两个输出节点的RPR MAC分别封装到两份RPR扩展帧的目的MAC字段,再根据RPR拓扑数据库,从0环或1环中分别选出两份组播数据中最短的路径(转发跳数最少的路径),并通过RPR环中单播的转发流程,将两份组播数据进行转发,即将该两份组播数据通过单播的方式分别转发到目的节点(输出节点)上,由目的节点进行下环和剥离操作;当采用双环转发的跳数大于单环转发的跳数时,采用单环组播的方式进行转发,根据RPR拓扑数据库,从0环或1环中选出组播数据中最短的路径(转发跳数最少的路径),将组播数据转发到目的节点(输出节点)上,由目的节点进行下环操作,并获得剥离节点信息,通过剥离节点对组播数据进行剥离操作。
对应到本发明中,路由器A中存在输出端口为RPR端口的组播转发表项,并且该RPR端口所对应的输出节点(路由器B和路由器E)为两个,在该路由器A上,进行组播数据的上环操作,将组播数据插入到RPR环的数据帧中。当采用双环转发组播数据时,组播数据在0环上,组播数据需要经过路由器B,跳数为1,组播数据在1环上,组播数据需要经过路由器F和路由器E,跳数为2,此时,组播数据转发的最小跳数为3;当采用单环转发组播数据时,组 播数据在0环上,组播数据需要经过路由器B、路由器C、路由器D和路由器E,组播数据转发的最小的跳数为4,组播数据在1环上,组播数据需要经过路由器F、路由器E、路由器D、路由器C和路由器B,组播数据转发的最小的跳数为5。通过比较上述三个最小的跳数值,可知采用双环转发的跳数小于采用单环转发的跳数,此时应该采用双环单播的方式转发组播数据,即在路由器A上,将组播数据复制成两份,根据路由器A的组播转发表项中的输出节点的RPR MAC,替代RPR扩展帧中目的MAC字段的组播MAC,即使用路由器B的MAC替代一份组播数据扩展帧中目的MAC字段的组播MAC,使用路由器E的MAC替代另一份组播数据扩展帧中目的MAC字段的组播MAC;替换完成后,在0环上单播转发目的MAC字段为路由器B的MAC的组播数据,在1环上单播转发目的MAC字段为路由器E的MAC的组播数据,路由器B和路由器E在接收到各自的组播数据后,进行下环和剥离操作,并通过各自RPT分支将该组播数据转发到对应的接收者上。
当然,如果采用双环转发的跳数大于单环转发时,则采用单环组播的方式进行转发,并根据RPR拓扑数据库,从0环或1环中选出组播数据中最短的路径。例如,在路由器A的组播转发表项中,存在RPR端口的输出端口,对应的输出节点为路由器B和路由器D,在该路由器A上,进行组播数据的上环操作,将组播数据插入到RPR环的数据帧中。当采用双环转发组播数据时,组播数据在0环上,组播数据需要经过路由器B,跳数为1,在1环上,组播数据需要经过路由器F、路由器E、路由器D(或路由器B、路由器C、路由器D),跳数为3,最小的跳数为4;当采用单环转发时,在0环上,组播数据需要经过路由器B、路由器C、路由器D,最小的跳数为3,在1环上,组播数据需要经过路由器F、路由器E、路由器D、路由器C、路由器B,最小的跳数为5。通过比较上述三个最小的跳数值,可知采用单环组播转发组播数据时转发的跳数更少,即转发路径为0环,最小跳数为3,剥离节点为路由器D。该路由器A通知剥离节点(路由器D),对该组播组数据进行剥离操作。
具体的,路由器A通知剥离节点,对组播组数据进行剥离操作包括以下步骤:
1、路由器A向剥离节点(路由器D)发送通告报文,在该通告报文中携带了组播组信息和转发环路信息,转发路径信息和上环节点RPR源MAC,当在预设的时间内,没有接收到来自剥离节点的确认报文时,则重新向该剥离节点发送通告报文。
其中,转发环路信息为获得的最小跳数所在的环路(0环),该转发路径信息为转发所经过的节点信息(路由器B、路由器C、路由器D),该RPR源MAC为路由器A的MAC。
2、剥离节点在接收到通告报文后,建立RPR剥离规则,该剥离规则为检查组播数据的RPR目的MAC和RPP源MAC,对从正确环路接收的对应的组播组数据,进行下环和剥离操作,不再向下一个RPR节点转发,并向RPR节点(路由器A)返回确认报文。
其中,当路由器D从环路0接收的组播数据,该组播数据经过路由器B、路由器C、路由器D,并且该组播数据的源MAC为路由器A的MAC,目的MAC为该路由器D的MAC时,则对该组播数据进行下环和剥离操作,并将该组播数据转发给相应的接收者。
(3)当组播组中存在输出端口为RPR端口的组播转发表项,并且该RPR端口所对应的输出节点数大于两个时,在输出端口为RPR端口的组播转发表项所对应的节点上,进行组播数据的上环操作,将组播数据插入到RPR环的数据帧中,并采用单环组播的方式转发组播数据,计算出最短的转发路径,最小跳数和剥离节点信息,并通知剥离节点,对该组播组数据进行剥离操作。
例如,在路由器A的组播转发表项中,存在RPR端口的输出端口,对应的输出节点为路由器B、路由器D和路由器E,在0环上,组播数据需要经过路由器B、路由器C、路由器D和路由器E,组播数据传输的最小的跳数为4,在1环上,组播数据需要经过路由器F、路由器E、路由器D、路由器C、路由器B,组播数据传输的最小的跳数为5,得出最终的转发路径为0环,最小跳数为4,剥离节点为节点E。
本发明中,当存在输出端口为RPR端口的RPR节点(路由器A)由于收到加入报文或剪枝报文而更新路由器A中的组播转发表项时,会触发重新计 算最短的转发路径。该重新计算的方法与上述的计算最短的转发路径的方法相同,在此不再赘述。
本发明中,在通过使用单环组播的方式转发组播数据时,需要获取剥离节点,并通知剥离节点对组播数据进行剥离操作,当重新计算时,路由器A在获取到转发路径、剥离节点、转发环路以及RPR源MAC等信息之后,还需要进行如下操作:
1、路由器A向原剥离节点发送撤销报文,该撤销报文中携带了组播组信息和转发环路信息,转发路径信息和上环节点RPR源MAC,当在预设的时间内,没有接收到来自原剥离节点的确认报文时,则重新向该原剥离节点发送撤销报文。
2、原剥离节点接收到撤销报文后,删除RPR剥离规则,并向路由器A返回确认报文。
3、路由器A向新的剥离节点发送通告报文,在该通告报文中携带了组播组信息和转发环路信息,转发路径信息和上环节点RPR源MAC,当在预设的时间内,没有接收到来自剥离节点的确认报文时,则重新向该剥离节点发送通告报文。
4、新的剥离节点在接收到通告报文后,建立RPR剥离规则,该剥离规则为检查组播数据的RPR目的MAC和RPR源MAC,对从正确环路接收的对应的组播组数据,进行下环和剥离操作,不再向下一个RPR节点转发,并向RPR节点(路由器A)返回确认报文。
本发明中,当路由器A从组播转发表项中删除了输出节点或删除了组播转发表项时,会通知原剥离节点删除剥离规则,具体过程为:路由器A向原剥离节点发送撤销报文,该撤销报文中携带了组播组信息和转发环路信息,转发路径信息和上环节点RPR源MAC,当在预设的时间内,没有接收到来自原剥离节点的确认报文时,则重新向该原剥离节点发送撤销报文;原剥离节点接收到撤销报文后,删除RPR剥离规则,并向路由器A返回确认报文。
其中,本发明方法可以根据实际需要对各个步骤顺序进行调整。
本发明第二实施例提出的一种弹性分组环中数据的传输方法,该方法适用于RPR环处在RP与组播源侧DR之间,如图5所示的组网模式,与组播源连接的DR为路由器K,该路由器K通过SPT与路由器A连接,路由器B与路由器H(RP)连接,路由器H通过RPT与接收者侧DR(路由器J)连接,其中,上述所有的路由器均属于组播组G。本发明中,通过使用PIM-SM协议进行组播数据的传输过程,上述的弹性分组环中数据的传输方法如图6所示,包括以下步骤:
步骤S601,路由器K向组播组G对应的RP发起组播源的注册过程。
步骤S602,路由器J向组播组G对应的RP发送加入报文或剪枝报文。
其中,步骤S601和步骤S602与上述步骤S401和步骤S402中的过程大体相同,只是向RP发送加入报文的接收者DR由两个变成了一个,在此不再赘述。
步骤S603,RPR环中各个节点对来自路由器H的加入报文进行处理。
其中,当路由器K通过单播方式向路由器H发送注册报文之后,路由器H解封装注册报文,并将封装在该注册报文中的组播报文沿着RPT转发给接收者,并向组播源方向逐跳发送(S,G)加入报文。而RPR环是处在路由器H和路由器K之间的,即路由器H向路由器K发送的注册报文将通过RPR环中的节点。
其中,RPR环中各个节点对(S,G)加入报文的处理过程与步骤S403中RPR环中各个节点对(*,G)加入报文的处理过程大体相同,在此不再赘述。
对应到本发明实施例中,RPR环中各个节点对(S,G)加入报文的处理过程具体为:
路由器B接收来自路由器H的(S,G)加入报文,可知,该来自路由器H的(S,G)加入报文是路由器B从非RPR端口接收到(S,G)加入报文,解析该(S,G)加入报文,获取该(S,G)加入报文中携带的组播组信息。路由器B对该(S,G)加入报文的处理过程具体为:(1)当路由器B中不存在相应组播转发表项时,根据该(S,G)加入报文生成组播转发表项,并将 接收到该(S,G)加入报文的端口加入到该组播转发表项的输出端口,将RPR端口加入到组播转发表项的输入端口,将该(S,G)加入报文进行上环操作,并为该组播转发表项启动老化定时器;或(2)当路由器B中已经存在相应组播转发表项,但输出端口列表中还没有包含接收到该(S,G)加入报文的端口时,将该接收到(S,G)加入报文的端口添加到输出端口列表中,将(S,G)加入报文进行上环操作,并重置该组播转发表项的老化定时器;或(3)当路由器B中已经存在相应组播转发表项,且输出端口列表中已经包含接收到该(S,G)加入报文的端口时,将该(S,G)加入报文进行上环操作,并重置该组播转发表项的老化定时器。本实施例中,该组播转发表项均为(S,G)表项。
路由器C在接收到从RPR环下环的(S,G)加入报文时,解析该(S,G)加入报文,获取该(S,G)加入报文中携带的组播组信息和RPR源MAC信息,而路由器C用同一个RPR端口接收从RPR环下环的(S,G)加入报文,并使用该端口将该(S,G)加入报文向上一级节点转发,此时,路由器C的对该(S,G)加入报文的处理过程具体为:(1)当路由器C中不存在相应的组播转发表项时,生成组播转发表项,将该RPR端口加入到组播转发表项的输入端口,为该组播转发表项启动老化定时器;或(2)当RPR节点中已经存在相应的组播转发表项时,为该组播转发表项重置老化定时器。
其中,路由器D、路由器E和路由器F在接收到从RPR环下环的(S,G)加入报文与上述的路由器C接收到从RPR环下环的(S,G)加入报文的处理过程相同,在此不再赘述。
路由器A接收到从RPR环下环的(S,G)加入报文,解析该(S,G)加入报文,获取报文携带的组播组信息和RPR源MAC,判断出指向该(S,G)加入报文的上一级节点的端口与接收到该(S,G)加入报文的RPR端口并不是同一个端口,此时,路由器A的对该加入报文的处理过程具体为:(1)路由器A中不存在相应的组播转发表项时,生成组播转发表项,将指向组播源的端口加入到表项的输入端口,将RPR端口加入到该表项的输出端口,并在该组播转发表项中将RPR的源MAC作为动态节点加入到输出节点(输出 节点为路由器B),作为输出端口的联动信息,并向路由器K转发该(S,G)加入报文,启动该输出节点老化定时器和该组播转发表项老化定时器;或(2)路由器A中已经存在相应表项,但输出端口中没有包含RPR端口时,将该RPR端口添加到表项的输出端口中,并在该表项中将RPR的源MAC作为动态节点加入到输出节点,作为输出端口的联动信息;或(3)路由器A中已经存在相应表项,输出端口中已经包含了RPR端口,但输出节点中没有包含该RPR的源MAC时,在该组播转发表项中将RPR的源MAC作为动态节点加入到输出节点,作为输出端口的联动信息;或(4)路由器A中已经存在相应的表项,输出节点中已经包含了该RPR源MAC,则向重置该输出节点的老化定时器和组播转发表项的老化定时器。
步骤S604,RPR环中各个节点对来自路由器K的组播数据进行处理。
组播数据在发送给RP的过程中,需要经过RPR环,其中,RPR环中节点对组播数据的处理方式与上述步骤S404中RPR环中节点对组播数据的处理方式相同,均为根据组播转发表项和RPR拓扑数据库,综合考虑转发跳数,链路状况,计算出最短的转发路径。即以转发跳数作为选择最短转发路径的依据,实现组播数据在最短的RPR节点路径中转发,从而计算出最短的转发路径,在此不再赘述。
对应到本发明中,需要采用如下的方式进行计算:
组播组中存在输出端口为RPR端口的组播转发表项,并且该RPR端口所对应的输出节点为一个,在输出端口为RPR端口的组播转发表项所对应的节点上,进行组播数据的上环操作,将组播数据插入到RPR环的数据帧中,并利用输出节点的RPR MAC替换组播MAC,将该输出节点的RPR MAC封装到RPR扩展帧的目的MAC字段,并根据RPR拓扑数据库,选出0环或1环中最短的路径(转发跳数最少的路径),并通过RPR环中单播的转发流程,将该组播数据进行转发,即将该组播数据通过单播的方式转发到目的节点(输出节点)上,由目的节点进行下环和剥离操作,而其它节点只是进行过环操作。
路由器A的组播转发表项中,存在RPR端口的输出端口,对应的输出节 点为路由器B,则对组播数据上环时,利用路由器B的RPR MAC填充到RPR扩展帧的目的MAC字段,此时再根据拓扑数据库,选出最短路径为0环,组播数据采用单播的方式转发到路由器B后,进行下环和剥离操作,并通过路由器B将该组播数据最终传输到接收者上。
其中,本发明方法可以根据实际需要对各个步骤顺序进行调整。
本发明第三实施例提出的一种弹性分组环中数据的传输方法,该方法适用于接收者侧DR发起的SPT切换过程,本实施例中,通过使用PIM-SM协议进行组播数据的传输过程,上述的弹性分组环中数据的传输方法如图7所示,包括以下步骤:
步骤S701,接收者侧DR发起SPT切换。
接收者侧DR周期性地检测组播数据的转发速率,即该接收者侧DR根据来自组播源S的组播数据,获取该组播数据的转发速率,当该转发速率大于预设的阈值时,立即发起SPT切换,该切换过程包括:
(1)接收者侧DR向组播源S逐跳发送(S,G)加入报文,该(S,G)加入报文最终到达组播源侧DR,沿途经过的所有路由器在其转发表中都生成了(S,G)表项,从而建立了SPT分支。
(2)接收者侧DR向RP逐跳发送剪枝报文,RP收到该报文后向组播源方向继续发送该剪枝报文(假设此时只有这一个接收者),从而将该接收者的RPT分支中的组播转发表项删除,最终实现从RPT向SPT的切换过程,从RPT切换到SPT后,组播数据将直接从组播源发送到接收者。
步骤S702,RPR环中各个节点对来自接收者侧DR的(S,G)加入报文和发往RP的剪枝报文进行处理。
本发明中,以接收者侧DR向组播源S逐跳发送(S,G)加入报文和接收者侧DR向RP逐跳发送剪枝报文均需要经过RPR环中节点为例进行说明。
RPR环中各个节点对(S,G)加入报文和剪枝报文的处理方式与上述步骤S403中RPR环中各个节点对加入报文或剪枝报文的处理方式相同,在此 不再赘述。
步骤S703,RPR环中节点对来自组播源侧DR的组播数据进行处理。
其中,组播源侧DR通过步骤S701中建立的SPT分支向接收者发送组播数据,而RPR环上各个节点均建立了相应的组播转发表项,该组播转发表项中存在输出端口为RPR端口的RPR节点时,该节点可以接收组播数据,并将该组播数据上环,插入到RPR环的数据帧中,组播数据到达RPR环后,RPR环中节点通过使用最短路径将该组播数据发送给接收者侧DR,该最短路径的计算方法与上述步骤S404中相同,在此不再赘述。
其中,本发明方法可以根据实际需要对各个步骤顺序进行调整。
本发明还提出的一种弹性分组环中数据的传输系统,第一节点、组播源侧DR和接收者侧DR,其中:
该组播源侧DR,用于向该接收者侧DR发送组播数据。
该第一节点,用于接收从RPR环下环的第一报文,该第一报文中携带RPR源MAC地址信息;查找该第一报文所对应的第一组播转发对应关系,将该第一节点的RPR端口添加到该第一组播转发对应关系的输出端口,将该RPR源MAC地址添加到该第一组播转发对应关系的输出节点,该输出节点与该输出端口具有对应关系;并通过该组播转发对应关系中的输出节点将来自该组播源侧DR的组播数据传输给该接收者侧DR。
该接收者侧DR,用于接收来自该组播源侧DR的组播数据。
本发明还提出了一种弹性分组环中数据的传输设备,该传输设备为RPR环中的第一节点,包括但不限于路由器,如图8所示,该弹性分组环中数据的传输设备包括:
接收模块81,用于接收从RPR环下环的第一报文,该第一报文中携带RPR源MAC地址信息。
其中,该接收模块81还用于接收从RPR环下环的第二报文,该第二报文中携带RPR源MAC地址信息。
查找模块82,与该接收模块81电性连接,用于查找该接收模块81接收的第一报文所对应的第一组播转发对应关系。
添加模块83,与该查找模块82电性连接,用于将该第一节点的RPR端口添加到该查找模块82查找的第一组播转发对应关系的输出端口,将该RPR源MAC地址添加到该第一组播转发对应关系的输出节点,该输出节点与该输出端口具有对应关系。
其中,该添加模块83具体用于:
当该第一节点中没有该第一报文所对应的第一组播转发对应关系时,生成该第一组播转发对应关系,将该第一报文上一级节点的端口添加到该第一组播转发对应关系的输入端口,将该第一节点的RPR端口添加到该第一组播转发对应关系的输出端口,将该RPR源MAC地址添加到该第一组播转发对应关系的输出节点;或
当该第一节点中有该第一报文所对应的第一组播转发对应关系,但输出端口中没有该第一节点的RPR端口时,将该第一节点的RPR端口添加到该第一组播转发对应关系的输出端口,将该RPR源MAC地址添加到该第一组播转发对应关系的输出节点;或
当第一节点中有第一报文所对应的第一组播转发对应关系,输出端口中有第一节点的RPR端口,但输出节点中没有包含RPR的源MAC时,将RPR源MAC地址添加到第一组播转发对应关系的输出节点。
传输模块84,与该添加模块83电性连接,用于通过该组播转发对应关系中添加模块83中添加的输出节点将来自该组播源侧DR的组播数据传输给该接收者侧DR。
其中,该传输模块84具体用于:
该第一节点的第一组播转发对应关系中RPR端口所对应的输出节点为一个时,将输出节点的RPR源MAC地址填充到组播数据的RPR报文头的目的MAC中,将该组播数据上环,并根据RPR拓扑数据库选出转发跳数最少的路径,并通过该转发跳数最少的路径以单播的方式将该组播数据发送给该输出节点;或
该第一节点的第一组播转发对应关系中RPR端口所对应的输出节点为两个,当采用双环转发的跳数不大于采用单环转发的跳数时,将该组播数据复制成两份,分别将输出节点的RPR源MAC地址填充到组播数据的RPR报文头的目的MAC中,将该组播数据上环,并根据RPR拓扑数据库选出转发跳数最少的路径,将两份组播数据分别通过该转发跳数最少的路径以单播的方式发送到输出节点;当采用双环转发的跳数大于采用单环转发的跳数时,将该组播数据上环,并根据RPR拓扑数据库选出转发跳数最少的路径,通过转发跳数最少的路径以单环组播的方式发送到输出节点;或
该第一节点的第一组播转发对应关系中RPR端口所对应的输出节点大于两个时,将该组播数据上环,并根据RPR拓扑数据库选出转发跳数最少的路径,通过转发跳数最少的路径以单环组播的方式发送到输出节点。
删除模块85,与该接收模块81电性连接,用于将该接收模块接收的第二报文所对应的RPR源MAC地址从该第一组播转发对应关系的输出节点中删除;
当该第一组播转发对应关系中的输出节点列表为空时,将该第二报文所对应的RPR端口从该输出端口中删除;
当该第一组播转发对应关系中的输出端口为空时,将该第二报文向上一级节点发送。
通知模块86,与该传输模块84电性连接,用于当该传输模块84通过转发跳数最少的路径以单环组播的方式发送到输出节点时,获取剥离节点信息,并通知该剥离节点对该组播组数据进行剥离。
其中,通知模块86具体用于:
向该剥离节点发送通告报文,该通告报文中携带了组播组信息、转发路径信息、转发环路信息、组播数据RPR源MAC信息;在预设的第一时间内,该第一节点没有接收到来自该剥离节点的确认报文时,该第一节点重新向该剥离节点发送通告报文,以使该剥离节点根据该通告报文建立剥离条件,并向该第一节点发送确认报文;或
该传输模块84通过转发跳数最少的路径以单环组播的方式发送到输出节 点,并重新获取最短转发路径时,该通知模块86向该剥离节点发送通告报文之前,该通知模块86向原剥离节点发送撤销报文,该撤销报文中携带了组播组信息、转发路径信息、转发环路信息、组播数据RPR源MAC信息;在预设的第二时间内,该第一节点没有接收到来自该剥离节点的确认报文时,该第一节点重新向该原剥离节点发送撤销报文,以使该原剥离节点根据该撤销报文删除该剥离条件,并向该第一节点发送确认报文。
其中,本发明装置的各个模块可以集成于一体,也可以分离部署。上述模块可以合并为一个模块,也可以进一步拆分成多个子模块。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到本发明可以通过硬件实现,也可以可借助软件加必要的通用硬件平台的方式来实现。基于这样的理解,本发明的技术方案可以以软件产品的形式体现出来,该软件产品可以存储在一个非易失性存储介质(可以是CD-ROM,U盘,移动硬盘等)中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明所述的方法。
以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视本发明的保护范围。
本领域技术人员可以理解实施例中的装置中的模块可以按照实施例描述进行分布于实施例的装置中,也可以进行相应变化位于不同于本实施例的一个或多个装置中。上述实施例的模块可以合并为一个模块,也可以进一步拆分成多个子模块。
上述本发明序号仅仅为了描述,不代表实施例的优劣。
以上公开的仅为本发明的几个具体实施例,但是,本发明并非局限于此,任何本领域的技术人员能思之的变化都应落入本发明的保护范围。
Claims (19)
1.一种弹性分组环中数据的传输方法,应用于包括第一节点、组播源侧DR和接收者侧DR的系统中,其特征在于,所述方法包括以下步骤:
所述第一节点接收从RPR环下环的第一报文,所述第一报文中携带RPR源MAC地址信息;
所述第一节点查找所述第一报文所对应的第一组播转发对应关系,将所述第一节点的RPR端口添加到所述第一组播转发对应关系的输出端口,将所述RPR源MAC地址添加到所述第一组播转发对应关系的输出节点,所述输出节点与所述输出端口具有对应关系;
所述第一节点通过所述第一组播转发对应关系中的输出节点将来自所述组播源侧DR的组播数据传输给所述接收者侧DR。
2.如权利要求1所述的方法,所述方法应用的系统中还包括第二节点,其特征在于,所述第一节点接收从RPR环下环的第一报文之前,所述方法还包括:
所述第二节点从非RPR端口接收到所述第一报文,生成所述第一报文所对应的第二组播转发对应关系,并将接收到所述第一报文的端口添加到所述第二组播转发对应关系的输出端口;
所述第二节点对所述第一报文进行上环,所述第一报文的RPR源MAC地址为所述第二节点的RPRMAC地址。
3.如权利要求2所述的方法,其特征在于,所述将接收到第一报文的端口添加到所述第二组播转发对应关系的输出端口之后,还包括:
所述第二节点从非RPR端口接收到第二报文,将接收到所述第二报文的端口从所述第二组播转发对应关系的输出端口列表中删除,当所述输出端口列表为空时,对所述第二报文进行上环。
4.如权利要求3所述的方法,其特征在于,所述第二节点对所述第二报文进行上环之后,还包括:
所述第一节点接收从RPR环下环的第二报文,所述第二报文中携带RPR源MAC地址信息;
将所述第二报文所对应的RPR源MAC地址从所述第一组播转发对应关系的输出节点列表中删除;
当所述第一组播转发对应关系中的输出节点列表为空时,将所述第二报文所对应的RPR端口从输出端口中删除;
当所述第一组播转发对应关系中的输出端口为空时,将所述第二报文向上一级节点发送。
5.如权利要求1所述的方法,其特征在于,所述第一节点查找所述第一报文所对应的第一组播转发对应关系,将所述第一节点的RPR端口添加到所述第一组播转发对应关系的输出端口,将所述RPR源MAC地址添加到所述第一组播转发对应关系的输出节点具体包括:
当所述第一节点中没有所述第一报文所对应的第一组播转发对应关系时,生成所述第一组播转发对应关系,将所述第一报文上一级节点的端口添加到所述第一组播转发对应关系的输入端口,将所述第一节点的RPR端口添加到所述第一组播转发对应关系的输出端口,将所述RPR源MAC地址添加到所述第一组播转发对应关系的输出节点;或
当所述第一节点中有所述第一报文所对应的第一组播转发对应关系,但输出端口中没有所述第一节点的RPR端口时,将所述第一节点的RPR端口添加到所述第一组播转发对应关系的输出端口,将所述RPR源MAC地址添加到所述第一组播转发对应关系的输出节点;或
当所述第一节点中有所述第一报文所对应的第一组播转发对应关系,所述输出端口中有所述第一节点的RPR端口,但所述输出节点中没有包含所述RPR的源MAC时,将所述RPR源MAC地址添加到所述第一组播转发对应关系的输出节点。
6.如权利要求1所述的方法,其特征在于,所述第一节点通过所述第一组播转发对应关系中的输出节点将来自所述组播源侧DR的组播数据传输给所述接收者侧DR包括:
所述第一节点根据所述第一组播转发对应关系中的输出节点获取最短转发路径,并将所述组播数据上环插入到RPR环中,通过所述最短转发路径将所述组播数据发送给所述输出节点,由所述输出节点将所述组播数据传输给所述接收者侧DR。
7.如权利要求6所述的方法,其特征在于,所述第一节点根据所述第一组播转发对应关系中的输出节点获取最短转发路径,并将所述组播数据上环插入到RPR环中,通过所述最短转发路径将所述组播数据发送给所述输出节点包括:
所述第一节点的第一组播转发对应关系中RPR端口所对应的输出节点为一个时,将所述输出节点的RPR源MAC地址填充到所述组播数据的RPR报文头的目的MAC中,将所述组播数据上环,并根据RPR拓扑数据库选出转发跳数最少的路径,并通过所述转发跳数最少的路径以单播的方式将所述组播数据发送给所述输出节点;或
所述第一节点的第一组播转发对应关系中RPR端口所对应的输出节点为两个,当采用双环转发的跳数不大于采用单环转发的跳数时,将所述组播数据复制成两份,分别将所述输出节点的RPR源MAC地址填充到所述组播数据的RPR报文头的目的MAC中,将所述组播数据上环,并根据RPR拓扑数据库选出转发跳数最少的路径,将两份组播数据分别通过所述转发跳数最少的路径以单播的方式发送到输出节点;当采用双环转发的跳数大于采用单环转发的跳数时,将所述组播数据上环,并根据RPR拓扑数据库选出转发跳数最少的路径,通过转发跳数最少的路径以单环组播的方式发送到输出节点;或
所述第一节点的第一组播转发对应关系中RPR端口所对应的输出节点大于两个时,将所述组播数据上环,并根据RPR拓扑数据库选出转发跳数最少的路径,通过转发跳数最少的路径以单环组播的方式发送到输出节点。
8.如权利要求7所述的方法,其特征在于,所述第一节点通过转发跳数最少的路径以单环组播的方式发送到输出节点时,
所述第一节点获取所述剥离节点信息,并通知所述剥离节点对所述组播组数据进行剥离。
9.如权利要求8所述的方法,其特征在于,所述第一节点通知所述剥离节点对所述组播组数据进行剥离包括:
所述第一节点向所述剥离节点发送通告报文,所述通告报文中携带了组播组信息、转发路径信息、转发环路信息、上环节点RPR源MAC信息;在预设的第一时间内,所述第一节点没有接收到来自所述剥离节点的确认报文时,所述第一节点重新向所述剥离节点发送通告报文;
所述剥离节点根据所述通告报文建立剥离条件,并向所述第一节点发送确认报文,当所述组播组数据满足所述剥离条件时,对所述组播数据进行剥离。
10.如权利要求9所述的方法,其特征在于,所述第一节点接收从RPR环下环的第一报文或第二报文,并更新所述第一节点的第一组播转发对应关系时,所述第一节点重新获取最短转发路径。
11.如权利要求10所述的方法,其特征在于,在重新获取最短转发路径时,所述第一节点向所述剥离节点发送通告报文之前,还包括:
所述第一节点向原剥离节点发送撤销报文,所述撤销报文中携带了组播组信息、转发路径信息、转发环路信息、上环节点RPR源MAC信息;在预设的第二时间内,所述第一节点没有接收到来自所述剥离节点的确认报文时,所述第一节点重新向所述原剥离节点发送撤销报文;
所述原剥离节点根据所述撤销报文删除所述剥离条件,并向所述第一节点发送确认报文。
12.如权利要求3-11任一项所述的方法,所述方法应用的系统中还包括汇聚点RP,其特征在于,所述第一报文为加入报文,所述第二报文为剪枝报文;
所述第一节点在所述RP和所述接收者侧DR之间,所述接收者侧DR向所述RP发送(*,G)加入报文或剪枝报文时,所述第一节点接收从RPR环下环的(*,G)加入报文或剪枝报文;
所述第一节点在所述RP和所述组播源侧DR之间,所述RP向所述组播源侧DR发送(S,G)加入报文时,所述第一节点接收从RPR环下环的(S,G)加入报文;
所述接收者侧DR发起SPT切换过程时,所述接收者侧DR向组播源侧DR发送(S,G)加入报文,所述第一节点接收从RPR环下环的(S,G)加入报文;所述接收者侧DR向所述RP发送剪枝报文,所述第一节点接收从RPR环下环的剪枝报文。
13.一种弹性分组环中数据的传输系统,其特征在于,包括第一节点、组播源侧DR和接收者侧DR,其中:
所述组播源侧DR,用于向所述接收者侧DR发送组播数据;
所述第一节点,用于接收从RPR环下环的第一报文,所述第一报文中携带RPR源MAC地址信息;查找所述第一报文所对应的第一组播转发对应关系,将所述第一节点的RPR端口添加到所述第一组播转发对应关系的输出端口,将所述RPR源MAC地址添加到所述第一组播转发对应关系的输出节点,所述输出节点与所述输出端口具有对应关系;并通过所述第一组播转发对应关系中的输出节点将来自所述组播源侧DR的组播数据传输给所述接收者侧DR;
所述接收者侧DR,用于接收来自所述组播源侧DR的组播数据。
14.一种弹性分组环中数据的传输设备,其特征在于,包括:
接收模块,用于接收从RPR环下环的第一报文,所述第一报文中携带RPR源MAC地址信息;
查找模块,与所述接收模块电性连接,用于查找所述接收模块接收的第一报文所对应的第一组播转发对应关系;
添加模块,与所述查找模块电性连接,用于将第一节点的RPR端口添加到所述查找模块查找的第一组播转发对应关系的输出端口,将所述RPR源MAC地址添加到所述第一组播转发对应关系的输出节点,所述输出节点与所述输出端口具有对应关系;
传输模块,与所述添加模块电性连接,用于通过所述第一组播转发对应关系中添加模块添加的输出节点将来自组播源侧DR的组播数据传输给接收者侧DR。
15.如权利要求14所述的设备,其特征在于,所述接收模块还用于接收从RPR环下环的第二报文,所述第二报文中携带RPR源MAC地址信息;
所述设备还包括:
删除模块,与所述接收模块电性连接,用于将所述接收模块接收的第二报文所对应的RPR源MAC地址从所述第一组播转发对应关系的输出节点中删除;
当所述第一组播转发对应关系中的输出节点列表为空时,将所述第二报文所对应的RPR端口从输出端口中删除;
当所述第一组播转发对应关系中的输出端口为空时,将所述第二报文向上一级节点发送。
16.如权利要求14所述的设备,其特征在于,所述添加模块具体用于:
当所述第一节点中没有所述第一报文所对应的第一组播转发对应关系时,生成所述第一组播转发对应关系,将所述第一报文上一级节点的端口添加到所述第一组播转发对应关系的输入端口,将所述第一节点的RPR端口添加到所述第一组播转发对应关系的输出端口,将所述RPR源MAC地址添加到所述第一组播转发对应关系的输出节点;或
当所述第一节点中有所述第一报文所对应的第一组播转发对应关系,但输出端口中没有所述第一节点的RPR端口时,将所述第一节点的RPR端口添加到所述第一组播转发对应关系的输出端口,将所述RPR源MAC地址添加到所述第一组播转发对应关系的输出节点;或
当所述第一节点中有所述第一报文所对应的第一组播转发对应关系,所述输出端口中有所述第一节点的RPR端口,但所述输出节点中没有包含所述RPR的源MAC时,将所述RPR源MAC地址添加到所述第一组播转发对应关系的输出节点。
17.如权利要求14所述的设备,其特征在于,所述传输模块具体用于:
所述第一节点的第一组播转发对应关系中RPR端口所对应的输出节点为一个时,将所述输出节点的RPR源MAC地址填充到所述组播数据的RPR报文头的目的MAC中,将所述组播数据上环,并根据RPR拓扑数据库选出转发跳数最少的路径,并通过所述转发跳数最少的路径以单播的方式将所述组播数据发送给所述输出节点;或
所述第一节点的第一组播转发对应关系中RPR端口所对应的输出节点为两个,当采用双环转发的跳数不大于采用单环转发的跳数时,将所述组播数据复制成两份,分别将所述输出节点的RPR源MAC地址填充到所述组播数据的RPR报文头的目的MAC中,将所述组播数据上环,并根据RPR拓扑数据库选出转发跳数最少的路径,将两份组播数据分别通过所述转发跳数最少的路径以单播的方式发送到输出节点;当采用双环转发的跳数大于采用单环转发的跳数时,将所述组播数据上环,并根据RPR拓扑数据库选出转发跳数最少的路径,通过转发跳数最少的路径以单环组播的方式发送到输出节点;或
所述第一节点的第一组播转发对应关系中RPR端口所对应的输出节点大于两个时,将所述组播数据上环,并根据RPR拓扑数据库选出转发跳数最少的路径,通过转发跳数最少的路径以单环组播的方式发送到输出节点。
18.如权利要求17所述的设备,其特征在于,还包括:
通知模块,与所述传输模块电性连接,用于当所述传输模块通过转发跳数最少的路径以单环组播的方式发送到输出节点时,获取剥离节点信息,并通知所述剥离节点对所述组播组数据进行剥离。
19.如权利要求18所述的设备,其特征在于,所述通知模块具体用于:
向所述剥离节点发送通告报文,所述通告报文中携带了组播组信息、转发路径信息、转发环路信息、上环节点RPR源MAC信息;在预设的第一时间内,所述第一节点没有接收到来自所述剥离节点的确认报文时,所述第一节点重新向所述剥离节点发送通告报文,以使所述剥离节点根据所述通告报文建立剥离条件,并向所述第一节点发送确认报文;或
所述传输模块通过转发跳数最少的路径以单环组播的方式发送组播数据到输出节点,并重新获取最短转发路径时,所述通知模块向所述剥离节点发送通告报文之前,所述通知模块向原剥离节点发送撤销报文,所述撤销报文中携带了组播组信息、转发路径信息、转发环路信息、上环节点RPR源MAC信息;在预设的第二时间内,所述第一节点没有接收到来自所述剥离节点的确认报文时,所述第一节点重新向所述原剥离节点发送撤销报文,以使所述原剥离节点根据所述撤销报文删除所述剥离条件,并向所述第一节点发送确认报文。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2009101355062A CN101534231B (zh) | 2009-04-17 | 2009-04-17 | 一种弹性分组环中数据的传输方法、系统和设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2009101355062A CN101534231B (zh) | 2009-04-17 | 2009-04-17 | 一种弹性分组环中数据的传输方法、系统和设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101534231A CN101534231A (zh) | 2009-09-16 |
CN101534231B true CN101534231B (zh) | 2011-08-03 |
Family
ID=41104633
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2009101355062A Expired - Fee Related CN101534231B (zh) | 2009-04-17 | 2009-04-17 | 一种弹性分组环中数据的传输方法、系统和设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN101534231B (zh) |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102387475A (zh) * | 2011-12-12 | 2012-03-21 | 深圳市共进电子股份有限公司 | 一种确保无线组播可靠性的传输方法 |
CN102624550B (zh) * | 2012-03-02 | 2014-09-17 | 华为技术有限公司 | 用于在环网中确定lsp经过的传输通道的方法和装置 |
CN104579982B (zh) * | 2015-01-06 | 2018-07-20 | 新华三技术有限公司 | 一种二层组播数据报文转发方法和装置 |
CN108055151B (zh) * | 2017-12-11 | 2021-03-02 | 日立楼宇技术(广州)有限公司 | 网络节点的端口管理方法、装置、网络节点及存储介质 |
CN108282406B (zh) * | 2017-12-15 | 2021-03-23 | 瑞斯康达科技发展股份有限公司 | 一种数据传输方法、堆叠设备及堆叠系统 |
CN110708275B (zh) | 2018-12-18 | 2020-11-06 | 新华三技术有限公司 | 一种协议报文的处理方法和装置 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1691629A (zh) * | 2004-04-30 | 2005-11-02 | 华为技术有限公司 | 在基于弹性分组环的网络中实现二层设备互连的方法 |
CN1842053A (zh) * | 2005-04-01 | 2006-10-04 | 杭州华为三康技术有限公司 | 实现二三层兼容弹性分组数据环网上环和下环处理方法 |
-
2009
- 2009-04-17 CN CN2009101355062A patent/CN101534231B/zh not_active Expired - Fee Related
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1691629A (zh) * | 2004-04-30 | 2005-11-02 | 华为技术有限公司 | 在基于弹性分组环的网络中实现二层设备互连的方法 |
CN1842053A (zh) * | 2005-04-01 | 2006-10-04 | 杭州华为三康技术有限公司 | 实现二三层兼容弹性分组数据环网上环和下环处理方法 |
Non-Patent Citations (1)
Title |
---|
JP特开2006-307410A 2006.11.09 |
Also Published As
Publication number | Publication date |
---|---|
CN101534231A (zh) | 2009-09-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10931567B2 (en) | System and method for restoration in a multimedia IP network | |
CN101534231B (zh) | 一种弹性分组环中数据的传输方法、系统和设备 | |
CN101385275B (zh) | 响应于检测到即将发生的网络破坏而重新路由多播流量 | |
CN102142970B (zh) | 二层以太网络的组播树构建方法和网络节点设备 | |
US8625467B2 (en) | Rate-varying multicast transmission for clock distribution in packet networks | |
CN103765808B (zh) | 公用事业通信方法和系统 | |
CN106470162B (zh) | 一种业务报文的组播方法及装置 | |
AU2003263394A1 (en) | Signal propagation delay routing | |
CN103718507A (zh) | 从主多播树向备多播树进行快速切换的方法和设备 | |
CN103873373A (zh) | 一种组播数据报文转发方法及设备 | |
CN104038417A (zh) | 应用于mpls网络的服务实例 | |
CN102137000A (zh) | 一种建立切换组播分发树的方法、装置及系统 | |
CN103209134B (zh) | 一种组播转发的方法和设备 | |
CN104539545B (zh) | Trill网络中的组播报文转发方法和设备 | |
CN104901893A (zh) | 组播流量保护方法及装置 | |
CN104796339A (zh) | 快速泛洪处理方法及装置 | |
CN101640681B (zh) | 一种修改多生成树域的域配置信息的方法及设备 | |
CN101394358A (zh) | 提高组播转发可靠性的方法和装置 | |
CN103178976A (zh) | 组播树组建及故障恢复方法 | |
CN102447611A (zh) | 一种建立和拆除双向点到多点标签转发路径的方法及系统 | |
CN104113483A (zh) | 一种组播通信方法和汇聚交换机 | |
CN109005109A (zh) | 路由设置方法及组播组网 | |
CN102843303B (zh) | Pim中的组播报文处理方法及装置 | |
CN100440863C (zh) | 扩展路由功能的具体源静态组功能实现方法 | |
CN104410574A (zh) | 一种rpr网络中节点设备及其转发报文的方法 |
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 | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20110803 Termination date: 20200417 |
|
CF01 | Termination of patent right due to non-payment of annual fee |