专利名称:一种弹性分组环中数据的传输方法、系统和设备的制作方法
技术领域:
本发明涉及通信技术领域,特别是涉及一种弹性分组环中数据的传输方法、系统和设备。
背景4支术
RPR (Resilient Packet Ring,弹性分组环)是新型MAC (Media AccessControl,媒体访问控制)协议,可运行于SONET( Synchronous Optical Network,光同步网络)/SDH ( Synchronous Digital Hierarchy,同步数字体系)、DWDM(Dense Wavelength Division Multiplexing,密集波分复用)和以太网上,为宽带IP城域网运营商提供了灵活高效的组网方案。
RPR为互逆的双环拓朴结构,环上的每段光^各工作在同一速率上,其中,RPR的双环均能够传送数据,该双环分别为0环(RingletO)和1环(Ringletl ),该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环网的拓朴信息,是节点生成环表的主要依据。拓朴数据库包含三个部分(l)环网的拓朴信息,例如节点个数、环状态和可用带宽等;(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之间的带宽,浪费了O环中节点D到节点A之间的带宽。
发明内容
本发明提供一种弹性分组环中数据的传输方法、系统和设备,以节省RPR 环中组播数据在传输时的带宽。
为了达到上述目的,本发明提出了一种弹性分组环中数据的传输方法, 应用于包括第一节点、组播源侧DR和接收者侧DR的系统中,所述方法包括 以下步骤
所述第一节点接收从RPR环下环的第一报文,所述第一报文中携带RPR 源MAC地址信息;
所述第一节点查找所述第一报文所对应的第一組播转发对应关系,将所 述第一节点的RPR端口添加到所述第一组播转发对应关系的输出端口 ,将所 述RPR源MAC地址添加到所述第一组播转发对应关系的llT出节点,所述输 出节点与所迷输出端口具有对应关系;
所述第一节点通过所述组播转发对应关系中的输出节点将来自所述組播 源侧DR的组播数据传输给所述接收者侧DR。
本发明提出了一种弹性分组环中数据的传输系统,包括第一节点、组 播源侧DR和接收者侧DR,其中 " 所述组播源侧DR,用于向所述接收者侧DR发送组播数据; 所述第一节点,用于接收从RPR环下环的第一报文,所述第一报文中携 带RPR源MAC地址信息;查找所述第一报文所对应的第一组播转发对应关 系,将所述第一节点的RPR端口添加到所迷第一组播转发对应关系的输出端 口 ,将所述RPR源MAC地址添加到所述第一组^"转发对应关系的输出节点, 所述输出节点与所述输出端口具有对应关系;并通过所述组播转发对应关系 中的输出节点将来自所述组播源侧DR的组播数据传输给所述接收者侧DR; 所述接收者侧DR,用于接收来自所述组播源侧DR的組播数据。 本发明提出了一种弹性分组环中数据的传输设备,包括 接收模块,用于接收从RPR环下环的第一才艮文,所述第一报文中携带 RPR源MAC地址信 息;
12查找模块,与所述接收模块电性连接,用于查找所述接收模块接收的第
一报文所对应的第 一组播转发对应关系;
添加模块,与所述查找模块电性连接,用于将所述第一节点的RPR端口 添加到所述查找模块查找的第一组播转发对应关系的输出端口,将所述RPR 源MAC地址添加到所述第一组播转发对应关系的输出节点,所述输出节点与 所述输出端口具有对应关系;
传输模块,与所述添加模块电性连接,用于通过所述组播转发对应关系 中添加模块添加的输出节点将来自所述组播源侧DR的组播数据传输给所述 接收者侧DR。
与现有技术相比,本发明具有以下优点通过在第一节点的第一组播转 发对应关系中添加输出节点的信息,使得组播数据在RPR环中传输时,在到 达输出节点时便被剔除,不需要在使用第一节点剔除该组播数据,从而减少 了在RPR环中传输的组播数据,节约了网络带宽,而且保证只有最少的节 点接收到组播报文,从而增强了组播信息的安全性。
为了更清楚地说明本发明或现有技术中的技术方案,下面将对本发明或 现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中 的附图仅仅是本发明的一些附图,对于本领域普通技术人员来讲,在不付出 创造性劳动性的前提下,还可以才艮据这些附图获得其他的附图。 图1为现有技术中在RPR网络中组播数据的转发模式图; 图2为本发明提出的一种弹性分组环中数据的传输方法流程图; 图3为本发明第一实施例提出的组网模式结构图; 图4为本发明第 一 实施例提出的弹性分组环中数据的传输方法流程图; 图5为本发明第二实施例提出的组网模式结构图; 图6为本发明第二实施例提出的弹性分组环中数据的传输方法流程图; 图7为本发明第三实施例提出的弹性分组环中数据的传输方法流程图; 图8为本发明提出的一种弹性分组环中数据的传输设备结构图。
具体实施例方式
下面将结合本发明中的附图,对本发明中的技术方案进行清楚、完整 地描述,显然,所描述的仅仅是本发明一部分,而不是全部的。基于本发 明,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他 发明,都属于本发明保护的范围。
本发明的核心思想是在RPR节点接收到从RPR环下环的加入报文,建立 组播转发表项时,将RPR端口设置为输出端口的同时,记录加入报文的上环 节点为输出节点,建立输出端口与输出节点的联动关系,并根据组播转发的 拓朴关系,选择最优的RPR转发路径,通过在最后一个组播下环节点进行剥 离操作,实现节省RPR环带宽的目的。
本发明提出的 一种弹性分组环中数据的传输方法,应用于包括第 一节点、 组4番源侧DR和"^矣收者侧DR的系统中,如图2所示,所述方法包括以下步 骤
步骤S201,所述第一节点接收从RPR环下环的第一报文,所述第一报 文中携带RPR源MAC地址信息。
步骤S202,所述第一节点查找所述第一报文所对应的第一组播转发对应 关系,将所述第 一节点的RPR端口添加到所述第 一组播转发对应关系的输出 端口 ,将所述RPR源MAC地址添加到所述第一组播转发对应关系的输出节 点,所述输出节点与所述输出端口具有对应关系。
步骤S203,所述第一节点通过所述组播转发对应关系中的输出节点将来 自所述组播源侧DR的组播数据传输给所迷接收者侧DR。
本发明第 一 实施例提出的 一种弹性分组环中数据的传输方法,该方法适 用于RPR环处在RP( Rendezvous Point ,汇聚点)与接收者侧DR( Designated Router,指定路由器)之间,如图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发送加入报文(Join Message)或剪枝报文。
其中,当接收者需要加入一个组播组G时,通过IGMP (Internet Group Management 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所经过的i 各由器就形成了 RPT的分支,上述分支中的i 各由器均将才艮据 (*, 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端口加入到组4番转发表项的输入端口 ,并为该组 播转发表项启动老化定时器;(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节点在组播转发表项老化定超时后,就会将该 组播转发表项删除。其中,上述输出节点的老化定时器和组播转发表项的老 化定时器均是根据历史经验等因素选取的任意的数值。
18对应到本发明实施例中,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端口不是同 一个端口,此时,该3各由器A对该剪枝才艮文的处理为将该剪枝4艮文所对应 的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通过接收者l的 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,将该输出节点的RPR MAC封装到RPR扩展帧(该RPR扩展帧为组播数据的RPR纟艮文头)的目的 MAC字段,并根据RPR拓朴数据库,选出0环或1环中最短的路径(转发 跳数最少的路径),并通过RPR环中单播的转发流程,将该组播数据进行转发, 即将该组播数据通过单播的方式转发到目的节点(输出节点)上,由目的节 点进行下环和剥离操作,而其它节点只是进行过环操作。
(2)当组播组存在输出端口为RPR端口的组播转发表项,并且该RPR 端口所对应的输出节点为两个时,在输出端口为RPR端口的组播转发表项所 对应的节点上,进行组播数据的上环操作,将组播数据插入到RPR环的数据 帧中,并比较数据采用单环转发和双环转发时的最短跳数。当采用双环转发 的跳数不大于(小于或等于)采用单环转发的跳数时,将组播数据复制成两 份,分别利用两个输出节点的RPRMAC替代组播MAC,将上述两个输出节 点的RPR MAC分别封装到两份RPR扩展帧的目的MAC字段,再根据RPR 拓朴数据库,从O环或1环中分别选出两份组播数据中最短的路径(转发跳 数最少的路径),并通过RPR环中单播的转发流程,将两份组播数据进行转发, 即将该两份组播数据通过单播的方式分别转发到目的节点(输出节点)上, 由目的节点进行下环和剥离操作;当采用双环转发的跳数大于单环转发的跳 数时,采用单环组播的方式进行转发,根据RPR拓朴数据库,从O环或l环 中选出组播数据中最短的路径(转发跳数最少的路径),将组播数据转发到目 的节点(输出节点)上,由目的节点进行下环操作,并获得剥离节点信息, 通过剥离节点对组播数据进行剥离操作。
对应到本发明中,路由器A中存在输出端口为RPR端口的组播转发表项, 并且该RPR端口所对应的输出节点(路由器B和路由器E)为两个,在该路 由器A上,进行组播数据的上环操作,将组播数据插入到RPR环的数据帧中。 当釆用双环转发组播数据时,组播数据在0环上,组播数据需要经过路由器B, 跳数为1,组播数据在l环上,组播数据需要经过路由器F和路由器E,跳数 为2,此时,组播数据转发的最小跳数为3;当采用单环转发组播数据时,组播数据在0环上,组播数据需要经过路由器B、路由器C、路由器D和路由 器E,组播数据转发的最小的跳数为4,组播数据在l环上,组播数据需要经 过路由器F、路由器E、路由器D、路由器C和路由器B,组播数据转发的最 小的跳数为5。通过比较上述三个最小的跳数值,可知釆用双环转发的跳数小 于采用单环转发的跳数,此时应该采用双环单播的方式转发组播数据,即在 路由器A上,将组播数据复制成两份,根据路由器A的组播转发表项中的输 出节点的RPR MAC,替代RPR扩展帧中目的MAC字段的组播MAC,即使 用路由器B的MAC替代一份组播数据扩展帧中目的MAC字段的组播MAC, 使用路由器E的MAC替代另一份组播数据扩展帧中目的MAC字段的组播 MAC;替换完成后,在O环上单播转发目的MAC字段为路由器B的MAC 的组播数据,在1环上单播转发目的MAC字段为路由器E的MAC的组播 数据,路由器B和路由器E在接收到各自的组播数据后,进行下环和剥离操 作,并通过各自RPT分支将该组播数据转发到对应的接收者上。
当然,如果釆用双环转发的跳数大于单环转发时,则采用单环组播的方 式进行转发,并根据RPR拓朴数据库,从0环或1环中选出组播数据中最短 的路径。例如,在路由器A的组播转发表项中,存在RPR端口的输出端口, 对应的输出节点为路由器B和路由器D,在该路由器A上,进行组播数据的 上环操作,将组播数据插入到RPR环的数据帧中。当釆用双环转发组播数据 时,组播数据在0环上,组播数据需要经过路由器B,跳数为1,在l环上, 组播数据需要经过路由器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,对从正确环3各接收的对应的 组播组数据,进行下环和剥离操作,不再向下一个RPR节点转发,并向RPR 节点(路由器A)返回确认报文。
其中,当路由器D从环路O接收的组播数据,该组播数据经过路由器B、 路由器C、路由器D,并且该组播数据的源MAC为路由器A的MAC,目的 MAC为该路由器D的MAC时,则对该组播数据进行下环和剥离操作,并将 该组播数据转发给相应的接收者。
(3 )当组播组中存在输出端口为RPR端口的组4番转发表项,并且该RPR 端口所对应的输出节点数大于两个时,在输出端口为RPR端口的组播转发表 项所对应的节点上,进行组播数据的上环操作,将组播数据插入到RPR环的 数据帧中,并采用单环组播的方式转发组播数据,计算出最短的转发路径, 最小跳数和剥离节点信息,并通知剥离节点,对该组#"组数据进行剥离操作。
例如,在路由器A的组播转发表项中,存在RPR端口的输出端口,对应 的输出节点为路由器B、路由器D和路由器E,在0环上,组播数据需要经 过路由器B、路由器C、路由器D和路由器E,组播数据传输的最小的跳数 为4,在l环上,组播数据需要经过路由器F、路由器E、路由器D、路由器 C、路由器B,组播数据传输的最小的跳数为5,得出最终的转发路径为0环, 最小跳数为4,剥离节点为节点E。
本发明中,当存在输出端口为RPR端口的RPR节点(路由器A)由于收 到加入报文或剪枝报文而更新路由器A中的组播转发表项时,会触发重新计算最短的转发路径。该重新计算的方法与上述的计算最短的转发路径的方法 相同,在此不再赘述。
本发明中,在通过使用单环组播的方式转发组播数据时,需要获取剥离
节点,并通知剥离节点对组播数据进行剥离操作,当重新计算时,路由器A 在获取到转发路径、剥离节点、转发环路以及RPR源MAC等信息之后,还 需要进行如下操作
1、 路由器A向原剥离节点发送撤销报文,该撤销报文中携带了组播组信 息和转发环路信息,转发路径信息和上环节点RPR源MAC,当在预设的时
间内,没有接收到来自原剥离节点的确认报文时,则重新向该原剥离节点发 送撤销报文。
2、 原剥离节点接收到撤销报文后,删除RPR剥离规则,并向路由器A 返回确iU艮文。
3、 路由器A向新的剥离节点发送通告报文,在该通告报文中携带了组播 组信息和转发环路信息,转发路径信息和上环节点RPR源MAC,当在预设 的时间内,没有接收到来自剥离节点的确认报文时,则重新向该剥离节点发 送通告l艮文。
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字段,此时再根据拓朴数据库,选出最短路径为O环,组 播数据采用单播的方式转发到路由器B后,进行下环和剥离操作,并通过路 由器B将该组播数据最终传输到接收者上。
其中,本发明方法可以根据实际需要对各个步骤顺序进行调整。
本发明第三实施例提出的 一种弹性分组环中数据的传^T方法,该方法适 用于接收者侧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接 收的第 一才艮文所对应的第 一组4番转发对应关系。
添加模块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盘,移 动硬盘等)中,包括若干指令用以使得一台计算机设备(可以是个人计算机, 服务器,或者网络设备等)执行本发明所述的方法。
以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普 通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润 饰,这些改进和润饰也应视本发明的保护范围。
本领域技术人员可以理解实施例中的装置中的模块可以按照实施例描述 进行分布于实施例的装置中,也可以进行相应变化位于不同于本实施例的一 个或多个装置中。上述实施例的模块可以合并为一个模块,也可以进一步拆
分成多个子模块。
上述本发明序号仅仅为了描述,不代表实施例的优劣。 以上公开的仅为本发明的几个具体实施例,但是,本发明并非局限于此,
任何本领域的技术人员能思之的变化都应落入本发明的保护范围。
权利要求
1、一种弹性分组环中数据的传输方法,应用于包括第一节点、组播源侧DR和接收者侧DR的系统中,其特征在于,所述方法包括以下步骤所述第一节点接收从RPR环下环的第一报文,所述第一报文中携带RPR源MAC地址信息;所述第一节点查找所述第一报文所对应的第一组播转发对应关系,将所述第一节点的RPR端口添加到所述第一组播转发对应关系的输出端口,将所述RPR源MAC地址添加到所述第一组播转发对应关系的输出节点,所述输出节点与所述输出端口具有对应关系;所述第一节点通过所述组播转发对应关系中的输出节点将来自所述组播源侧DR的组播数据传输给所述接收者侧DR。
2、 如权利要求l所述的方法,所述方法应用的系统中还包括第二节点, 其特征在于,所述第一节点接收从RPR环下环的第一报文之前,所述方法还 包括所述第二节点从非RPR端口接收到所述第一报文,生成所述第一报文所 对应的第二组播转发对应关系,并将接收到所述第 一报文的端口添加到所述 第二组播转发对应关系的输出端口 ;所述第二节点对所述第一"^艮文进行上环,所述第一才艮文的RPR源MAC 地址为所述第二节点的RPR MAC地址。
3、 如权利要求2所述的方法,其特征在于,所述将接收到第一报文的端 口添加到所述第二组播转发对应关系的输出端口之后,还包括所述第二节点从非RPR端口接收到第二报文,将接收到所述第二报文的 端口从所述第二组播转发对应关系的输出端口列表中删除,当所述输出端口 列表为空时,对所述第二^^文进行上环。
4、 如权利要求3所述的方法,其特征在于,所述第二节点对所述第二报 文进行上环之后,还包括所述第一节点接收从RPR环下环的第二报文,所述第二报文中携带RPR 源MAC地址信息;将所述第二报文所对应的RPR源MAC地址从所述第一组播转发对应关 系的输出节点列表中删除;当所述第一组播转发对应关系中的输出节点列表为空时,将所述第二报 文所对应的RPR端口从输出端口中删除;当所述第 一组播转发对应关系中的输出端口为空时,将所述第二报文向 上一级节点发送。
5、 如权利要求l所述的方法,其特征在于,所述第一节点查找所述第一 报文所对应的第一组^"转发对应关系,将所述第一节点的RPR端口添加到所 述第 一组播转发对应关系的输出端口 ,将所述RPR源MAC地址添加到所述 第 一组播转发对应关系的输出节点具体包括当所述第 一节点中没有所述第 一报文所对应的第 一组播转发对应关系 时,生成所述第一组播转发对应关系,将所述第一报文上一级节点的端口添 加到所述第 一组播转发对应关系的输入端口 ,将所述第 一节点的RPR端口添 加到所述第 一组播转发对应关系的输出端口 ,将所述RPR源MAC地址添加 到所述第一组播转发对应关系的输出节点;或当所述第一节点中有所述第一报文所对应的第一组播转发对应关系,但 输出端口中没有所述第 一节点的RPR端口时,将所述第 一节点的RPR端口添 加到所述第 一组播转发对应关系的输出端口 ,将所述RPR源MAC地址添加 到所述第一组播转发对应关系的输出节点;或当所述第 一节点中有所述第一报文所对应的第一組播转发对应关系,所 述输出端口中有所述第一节点的RPR端口 ,但所述输出节点中没有包含所述 RPR的源MAC时,将所述RPR源MAC地址添加到所述第一组播转发对应 关系的输出节点。
6、 如权利要求l所述的方法,其特征在于,所述第一节点通过所述组播 转发对应关系中的输出节点将来自所述组播源侧DR的组#"数据传输给所述 接收者侧DR包括所述第一节点根据所述组播转发对应关系中的输出节点获取最短转发路 径,并将所述组播数据上环插入到RPR环中,通过所述最短转发路径将所述组播数据发送给所述输出节点,由所迷输出节点将所述组^^数据传输给所述接收者侧DR。
7、 如权利要求6所述的方法,其特征在于,所述第一节点根据所述组播 转发对应关系中的输出节点获取最短转发路径,并将所述组播数据上环插入 到RPR环中,通过所述最短转发路径将所述组插4t据发送给所述输出节点包 括所述第 一节点的第 一组^潘转发对应关系中RPR端口所对应的输出节点为 一个时,将所述输出节点的RPR源MAC地址填充到所述组播数据的RPR报 文头的目的MAC中,将所述组播数据上环,并根据RPR拓朴数据库选出转 发跳数最少的路径,并通过所述转发跳数最少的路径以单播的方式将所述组 播数据发送给所述输出节点;或所述第 一节点的第 一组播转发对应关系中RPR端口所对应的输出节点为 两个,当采用双环转发的跳数不大于采用单环转发的跳数时,将所述组播数 据复制成两份,分别将所述输出节点的RPR源MAC地址填充到所述组播数 据的RPR报文头的目的MAC中,将所述组播数据上环,并根据RPR拓朴数 据库选出转发跳数最少的路径,将两份组播数据分别通过所述转发跳数最少 的路径以单播的方式发送到输出节点;当采用双环转发的跳数大于采用单环 转发的跳数时,将所述组播数据上环,并根据RPR拓朴数据库选出转发跳数 最少的路径,通过转发跳数最少的路径以单环组播的方式发送到输出节点; 或所述第 一节点的第 一组播转发对应关系中RPR端口所对应的输出节点大 于两个时,将所述组播数据上环,并根据RPR拓朴数据库选出转发跳数最少 的路径,通过转发跳数最少的路径以单环组播的方式发送到输出节点。
8、 如权利要求7所述的方法,其特征在于,所述第一节点通过转发跳数 最少的路径以单环组播的方式发送到输出节点时,所述第一节点获取所述剥离节点信息,并通知所述剥离节点对所述组l番 组数据进行剥离。
9、 如权利要求8所述的方法,其特征在于,所述第一节点通知所述剥离节点对所述组播组数据进行剥离包括所述第 一节点向所述剥离节点发送通告报文,所述通告报文中携带了组 播组信息、转发路径信息、转发环路信息、组播数据RPR源MAC信息;在 预设的第一时间内,所述第一节点没有接收到来自所述剥离节点的确认报文 时,所述第一节点重新向所述剥离节点发送通告^^艮文;所述剥离节点根据所述通告报文建立剥离条件,并向所述第一节点发送 确认报文,当所述组播组数据满足所迷剥离条件时,对所述组播数据进行剥 离。
10、 如权利要求9所述的方法,其特征在于,所述第一节点接收从RPR 环下环的第 一报文或第二报文,并更新所述第 一节点的第 一组播转发对应关 系时,所述第一节点重新获取最短转发路径。
11、 如权利要求IO所述的方法,其特征在于,所述第一节点通过转发跳 数最少的路径以单环组播的方式发送到输出节点,在重新获取最短转发路径 时,所述第一节点向所述剥离节点发送通告报文之前,还包括所述第一节点向原剥离节点发送撤销报文,所述撤销报文中携带了组播 组信息、转发路径信息、转发环路信息、组播数据RPR源MAC信息;在预 设的第二时间内,所述第一节点没有接收到来自所述剥离节点的确i/^艮文时, 所述第一节点重新向所述原剥离节点发送撤销报文;所述原剥离节点根据所述撤销报文删除所述剥离条件,并向所述第 一节 点发送确认^艮文。
12、 如权利要求1-11任一项所述的方法,所述方法应用的系统中还包括 汇聚点RP,其特征在于,所述第一报文为加入报文,所述第二报文为剪枝报文;所述第 一节点在所述RP和所述接收者侧DR之间,所述接收者侧DR向 所述RP发送。,G)加入报文或剪枝报文时,所述第一节点接收从RPR环 下环的(*, G)加入才艮文或剪枝净艮文;所述第一节点在所述RP和所述组播源侧DR之间,所述RP向所述组播 源侧DR发送(S, G)加入报文时,所述第一节点接收从RPR环下环的(S,G)加入4艮文;所述接收者侧DR发起SPT切换过程时,所述接收者侧DR向组播源侧 DR发送(S, G)加入报文,所述第一节点接收从RPR环下环的(S, G)加 入报文;所述接收者侧DR向所述RP发送剪枝报文,所述第一节点接收从 RPR环下环的剪枝报文。
13、 一种弹性分组环中数据的传输系统,其特征在于,包括第一节点、 组播源侧DR和"l妄收者侧DR,其中所述组播源侧DR,用于向所述接收者侧DR发送组播数据; 所述第一节点,用于接收从RPR环下环的第一报文,所述第一报文中携 带RPR源MAC地址信息;查找所述第一报文所对应的第一组播转发对应关 系,将所述第一节点的RPR端口添加到所述第一组播转发对应关系的输出端 口 ,将所述RPR源MAC地址添加到所述第 一组^"转发对应关系的输出节点, 所述输出节点与所述输出端口具有对应关系;并通过所述组播转发对应关系 中的输出节点将来自所述组播源侧DR的组播数据传输给所述接收者侧DR; 所述接收者侧DR,用于接收来自所述组播源侧DR的组播数据。
14、 一种弹性分組环中it据的传输设备,其特征在于,包括 接收模块,用于接收从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信息; 在预设的第二时间内,所述第一节点没有接收到来自所述剥离节点的确认报 文时,所述第一节点重新向所述原剥离节点发送撤销报文,以使所述原剥离 节点根据所述撤销报文删除所述剥离条件,并向所述第一节点发送确认报文。
全文摘要
本发明公开了一种弹性分组环中数据的传输方法、系统和设备,所述方法包括以下步骤第一节点接收从RPR环下环的第一报文,所述第一报文中携带RPR源MAC地址信息;第一节点查找所述第一报文所对应的第一组播转发对应关系,将第一节点的RPR端口添加到所述第一组播转发对应关系的输出端口,将RPR源MAC地址添加到所述第一组播转发对应关系的输出节点,所述输出节点与所述输出端口具有对应关系;第一节点通过所述组播转发对应关系中的输出节点将来自所述组播源侧DR的组播数据传输给所述接收者侧DR。本发明中,减少了RPR环中的组播报文,节约了网络带宽,而且保证只有最少的节点接收到组播报文,从而增强了组播信息的安全性。
文档编号H04L12/56GK101534231SQ20091013550
公开日2009年9月16日 申请日期2009年4月17日 优先权日2009年4月17日
发明者林鹏程, 顾雷雷 申请人:杭州华三通信技术有限公司