首页> 中国专利> 一种RPR上传输组播数据的方法和RPR节点

一种RPR上传输组播数据的方法和RPR节点

摘要

本发明所提供了一种弹性分组环(RPR)上传输组播数据的方法和RPR节点,在对因特网组管理协议(IGMP)查询报文进行上环处理的RPR节点上实现包含组播组和接收节点之间对应关系的转发表的建立,使得该RPR节点能够根据该转发表和RPR的拓扑信息确定该组播组所对应的最短转发路径,并确定该最短转发路径中的最后一个接收节点为剥离节点,使得传输的该组播组的组播数据在该剥离节点出终止在RPR上的传输。本发明能够更加节约组播数据传输过程中占用的RPR的带宽。

著录项

  • 公开/公告号CN101494549A

    专利类型发明专利

  • 公开/公告日2009-07-29

    原文格式PDF

  • 申请/专利权人 杭州华三通信技术有限公司;

    申请/专利号CN200910078728.5

  • 发明设计人 林鹏程;顾雷雷;

    申请日2009-03-02

  • 分类号H04L12/18(20060101);H04L12/56(20060101);H04L12/42(20060101);H04L29/06(20060101);

  • 代理机构11018 北京德琦知识产权代理有限公司;

  • 代理人谢安昆;宋志强

  • 地址 310053 浙江省杭州市高新技术产业开发区之江科技工业园六和路310号华为杭州生产基地

  • 入库时间 2023-12-17 22:23:16

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2017-05-10

    专利权人的姓名或者名称、地址的变更 IPC(主分类):H04L12/18 变更前: 变更后: 申请日:20090302

    专利权人的姓名或者名称、地址的变更

  • 2011-07-06

    授权

    授权

  • 2009-10-21

    实质审查的生效

    实质审查的生效

  • 2009-07-29

    公开

    公开

说明书

技术领域

本发明涉及网络通信技术,特别涉及一种弹性分组环(RPR)上传输组播数据的方法和RPR节点。

背景技术

RPR是IEEE 802.17工作组定义的一种新型媒体访问控制(MAC)层协议,具有小于50ms保护倒换、拓扑自动发现以及高带宽利用率等多种技术特点。RPR为互逆的双环拓扑结构,两个环可以称为内环和外环,都能够传输数据,其中,外环的传输方向为顺时针方向,内环的传输方向为逆时针方向。

RPR上的节点通常称为RPR节点,对RPR上的报文进行以下操作:上环(insert)、下环(copy)、过环(transit)和剔除(strip)操作。其中,上环是指RPR节点将来自RPR外的报文插入到RPR网中,下环是指RPR节点将RPR网上的报文交给上层做处理,过环是指RPR节点将RPR上的报文转发给下一个RPR节点,剔除是指终止RPR上的报文在RPR上的转发。RPR节点通过拓扑发现收集RPR的拓扑信息,生成并维护拓扑数据库。其中,RPR网的拓扑信息包括:RPR网的RPR节点数目、RPR网状态、RPR节点的排列顺序、各RPR节点的MAC地址等。

RPR支持组播报文的转发,对于上环的组播报文,RPR节点会在接收到的组播报文上封装扩展帧,其中包含生存时间(TTL)、RPR源MAC、RPR目的MAC等字段,现有实现中,将TLL填充为默认值,例如填充为255,RPR源MAC填充为源RPR节点的MAC地址,RPR目的MAC填充为组播MAC地址。

在现有技术中,对于组播数据报文的传输过程如图1所示,假设RPR节点A接收到来自网络节点G的组播数据报文,对该组播数据报文进行上环处理,将该组播数据报文通过内环或者外环进行传输,假设通过外环进行传输,如果RPR节点B和RPR节点D都存在主机加入了该组播组,则RPR节点B和RPR节点D都为接收节点,对数据报文进行下环处理和过环处理,并在下环处理后转发给对应的主机,而其它RPR节点对数据报文进行下环处理和过环处理,并在下环处理后丢弃数据报文。也就是说,该组播数据报文经由RPR节点B、C、D、E、F进行传输,直至回到RPR节点A或者TTL值为0。可以看出,现有技术的上述方法中,组播数据需要在回到源RPR节点或者TTL值为0时,才进行剥离操作,而如图1所示的组网中实际上只需要传输至RPR节点D就可以进行剥离操作,显然浪费了RPR节点D到RPR节点G之间的带宽。

发明内容

有鉴于此,本发明提供了一种RPR上传输组播数据的方法和RPR节点,以便于节约组播数据传输过程中占用的RPR的带宽。

一种RPR上传输组播数据的方法,该方法包括:

A、对因特网组管理协议IGMP查询报文进行上环处理的第一RPR节点接收到针对某一组播组的IGMP成员关系报告报文后,将该IGMP成员关系报告报文的RPR源MAC所对应的RPR节点作为该组播组的接收节点,并建立包含该组播组和接收节点之间对应关系的转发表;

B、所述第一RPR节点根据所述转发表和RPR的拓扑信息,确定该组播组所对应的最短转发路径,并确定该最短转发路径中的最后一个接收节点为剥离节点;

C、所述第一RPR节点按照所述最短转发路径传输该组播组的组播数据,所述剥离节点对该组播组的组播数据进行剥离处理。

一种RPR节点,该RPR节点包括:IGMP报文处理单元、路径确定单元和数据传输单元;

所述IGMP报文处理单元,用于对IGMP查询报文进行上环处理后,接收到针对某一组播组的IGMP成员关系报告报文时,将该IGMP成员关系报告报文的RPR源MAC所对应的RPR节点作为该组播组的接收节点,并建立包含该组播组和接收节点之间对应关系的转发表;

所述路径确定单元,用于根据所述转发表和RPR的拓扑信息,确定该组播组所对应的最短转发路径,并确定该最短转发路径中的最后一个接收节点为剥离节点;

所述数据传输单元,用于按照所述最短转发路径传输该组播组的组播数据,并通知所述剥离节点对该组播组的组播数据进行剥离处理。

由以上技术方案可以看出,本发明所提供的方法和RPR节点,在对IGMP查询报文进行上环处理的RPR节点上实现包含组播组和接收节点之间对应关系的转发表的建立,使得该RPR节点能够根据该转发表和RPR的拓扑信息确定该组播组所对应的最短转发路径,并确定该最短转发路径中的最后一个接收节点为剥离节点,使得传输的该组播组的组播数据在该剥离节点出终止在RPR上的传输。这种方式使得组播数据的传输仅沿最短转发路径,而不必传输回发送该组播数据的RPR节点或者待TLL从诸如255的默认值减为0时才进行剥离处理,显然更加节约组播数据传输过程中占用的RPR的带宽。

附图说明

图1为现有技术中在RPR上传输组播数据报文的示意图;

图2为本发明提供的主要方法流程图;

图3为本发明实施例提供的在RPR上传输组播数据报文的示意图;

图4为本发明实施例提供的详细方法流程图;

图5为本发明实施例提供的RPR节点的结构图。

具体实施方式

为了使本发明的目的、技术方案和优点更加清楚,下面结合附图和具体实施例对本发明进行详细描述。

图2为本发明提供的主要方法流程图,如图2所示,该方法主要包括:

步骤201:对因特网组管理协议(IGMP)查询报文进行上环处理的第一RPR节点接收到针对某一组播组的IGMP成员关系报告报文后,将该IGMP成员关系报告报文的RPR源MAC所对应的RPR节点作为该组播组的接收节点,建立包含该组播组和接收节点之间对应关系的转发表。

步骤202:该第一RPR节点根据上述对应关系和RPR的拓扑信息,确定该组播组所对应的最短转发路径,并确定该最短转发路径中的最后一个接收节点为剥离节点。

步骤203:该第一RPR节点按照确定的最短转发路径传输该组播组的组播数据,剥离节点对该组播组的组播数据进行剥离处理。

需要说明的是,本发明所提供的上述方法主要用于IGMP查询报文和组播数据在同一个RPR节点上环的情况。

下面结合具体实施例对上述方法进行详细描述。下面以图3所示的组网为例,图3所示的组网结构与图1所示的组网结构相同,在RPR节点B和RPR节点D处需要对组播数据进行下环处理后转发给对应的主机。图4为本发明实施例提供的详细方法流程图,如图4所示,该方法可以包括以下步骤:

步骤401:RRP节点A侦听到网络节点G发送的IGMP查询报文后,如果该IGMP组报文需要进行上环处理,则该IGMP查询报文进行封装后转发到RPR,并将自身设置为针对所在VLAN的查询节点。

RPR节点如果通过非RPR端口(即普通端口)接收都到IGMP查询报文,且该非RPR端口与RPR端口如果属于同一虚拟局域网(VLAN),则可以确定需要对该IGMP查询报文进行上环处理。

当RPR节点在将该需要上环处理的IGMP查询报文转发到RPR后,如果该RPR节点针对该VLAN为普通节点,则将该RPR节点设置为针对该VLAN的查询节点,将接收IGMP查询报文的端口添加到路由器端口列表中,针对该端口启动老化定时器。如果该RPR节点针对该VLAN为查询节点,而路由器端口列表中尚未包含接收IGMP查询报文的端口,则将该端口添加到路由器端口列表中,针对该端口启动老化定时器。如果该RPR节点针对该VLAN为查询节点,且路由器端口列表中已经包含接收IGMP查询报文的端口,则针对该端口重置老化定时器。当老化定时器到时后,将该端口从路由器端口列表中删除。

步骤402:其它RPR节点侦听到IGMP查询报文后,按照正常流程进行过环和下环的处理。

其它RPR节点从RPR上接收到IGMP查询报文,由于IGMP查询报文对于其它RPR节点都需要进行过环和下环的处理,即通过所有端口进行转发,因此,按照现有正常流程执行。

步骤403:RPR节点B和RPR节点D通过非RPR端口(即普通端口)接收到主机发送的针对某一组播组的IGMP成员关系报告报文(IGMPmembership report message)时,进行封装后转发RPR。

如图3所示,如果主机1和主机2接收到针对某组播组的IGMP查询报文后,都需要加入该组播组,则会向与其连接的RPR节点发送IGMP成员关系报告报文。

RPR节点如果接收到需要上环处理的IGMP成员关系报告报文,即通过普通端口接收到主机发送的IGMP成员关系报告报文,进行封装后转发到RPR,RPR节点B和RPR节点D封装的RPR源MAC分别为自身的MAC地址,也就是说RPR节点B和RPR节点D都为该组播组的接收节点。

步骤404:作为该组播组查询节点的RPR节点A接收到针对该组播组的IGMP成员关系报告报文后,根据IGMP成员关系报告报文的RPR源MAC,确定接收节点为RPR节点B和D,将该组播组和接收节点之间的对应关系存储在转发表中。

RPR上的普通节点接收到IGMP成员关系报告报文时,进行过环和下环处理,并将进行下环处理后的IGMP成员关系报告报文丢弃,即仅通过RPR端口转发,不通过其它端口进行转发,防止其它主机上运行的IGMP成员关系报告报文抑制机制,使得无法获知RPR上存在其它接收节点。例如RPR节点B接收到来自RPR节点D发送的IGMP成员关系报告报文后,如果通过普通接口转发给主机1,由于主机1上运行了IGMP成员关系报告报文抑制机制,则主机1不再发送IGMP成员关系报告报文,则RPR节点A则无法接收到RPR节点B作为接收节点发送的IGMP成员关系报告报文,因此,本发明中,各RPR节点不再通过普通端口转发IGMP成员关系报告报文。

RPR节点A接收到IGMP成员关系报告报文后,通过路由器端口表中RPR所在VLAN中的所有路由器端口转发。

RPR节点A接收到IGMP成员关系报告报文后,如果该IGMP成员关系报告报文的RPR源MAC为RPR节点B的MAC地址,则判断转发表中是否已经包含该组播组与RPR节点B之间的对应关系,如果没有,则将该组播组与RPR节点B之间的对应关系作为转发表项存储在转发表中,并启动针对该转发表项的老化定时器;如果已经存在,则重置该转发表项的老化定时器。当该转发表项的老化定时器到时后,删除该转发表项。如果该IGMP成员关系报告报文的RPR源MAC为RPR节点D的MAC地址,也执行类似操作。

步骤405:RPR节点A根据转发表中的对应关系和RPR的拓扑信息,确定该组播组对应的最短转发路径,并通知该最短转发路径中的最后一个接收节点作为该组播组的剥离节点。

RPR节点A可以在建立转发表的设定时长后,触发确定最短转发路径的操作,该设定时长可以保证RPR中的所有RPR节点都接收到IGMP查询报文,且将IGMP成员关系报告报文发送至RPR节点A,例如可以设置几毫秒。也可以在接收到发送到该组播组的组播数据后,触发确定最短转发路径的操作。

确定最短转发路径的操作可以具体为:根据转发表确定该组播组对应的所有接收节点,确定在所有接收节点中完成传输时经过最小跳数的路径作为最短转发路径。在图3所示组网中,RPR节点根据转发表项可以查找出该组播组的接收节点为RPR节点B和RPR节点D,且根据网络拓扑信息可以确定沿外环传输的路径为A-B-C-D,经过的跳数为3跳,沿内环传输的路径为A-F-E-D-C-B,经过的跳数为5跳,因此,可以确定最短转发路径为沿外环传输,且该路径的最后一个接收节点为RPR节点D,将该RPR节点D确定为剥离节点。

另外,如果确定出沿外环和内环的传输路径的跳数相同,则可以按照预设的选择策略进行选择,例如任选其中一条,或者按照默认设置选择等。

RPR节点A通知RPR节点D作为剥离节点的方式至少可以包括但不限于以下两种中的其中一种:

第一种方式:RPR节点A向RPR节点D发送通告报文,该通告报文中携带组播组信息和最后一个接收节点的信息,其中最后一个接收节点的信息可以为最短转发路径的信息或者RPR节点D的MAC地址信息等。RPR节点D接收到该通告报文后,确定自身为该组播组的剥离节点。

第二种方式:RPR节点A根据该最短转发路径所经过的跳数,将该跳数减一的值作为TTL的值封装在发送的组播数据中。例如,可以将TTL的值填充为2封装在发送的组播数据中。接收到TTL为0的组播数据的RPR节点,在对该组播数据进行下环处理后,对该组播数据进行剥离处理,即不再转发给下一个PRP节点。

步骤406:RPR节点D接收到针对上述组播组的组播数据后,除了对该组播数据进行下环处理之外,还对该组播数据进行剥离处理。

可以看出,通过上述方法,组播数据从RPR节点A开始沿外环进行传输,且传输至RPR节点D结束,既保证了该组播组中的所有成员都接收到该组播数据,也节省了RPR节点D到节点F之间的带宽。

如果RPR节点A接收到RPR源MAC为其它RPR节点的MAC地址的IGMP成员关系报告报文,则将该RPR节点作为接收节点,并更新转发表项,即将该组播组和该接收节点之间的对应关系作为转发表项添加在转发表中,并转至执行步骤405,即重新进行最短路径的确定,并在确定的剥离节点发生变化时,通知RPR节点D不作为该组播组的剥离节点。

如果RPR节点A接收到针对该组播组的IGMP离开组报文(IGMP leavegroup message),则根据该IGMP离开组报文的RPR源MAC确定对应的接收节点。判断该组播组和接收节点之间的对应关系是否在转发表中,如果不存在,则丢弃该IGMP离开组报文。如果存在,则RPR节点A通过该VLAN对应的所有路由器端口转发该IGMP离开组报文;另外,由于RPR节点A并不知晓该接收节点是否还存在其它主机仍在该组播组中,因此,并不删除转发表中该组播组和接收节点的对应关系的转发表项,而是重置该转发表项的老化定时器。如果在老化定时器到后,将该转发表项删除。例如,主机2和主机3都加入了该组播组,主机2向RPR节点D发送了IGMP离开组报文,RPR节点A接收到该离开报文后,并不能确定RPR节点D是否还连接其它主机仍在该组播组中,则重置该组播组和RPR节点的MAC地址之间对应关系所构成的转发表项的老化定时器,由于主机3仍在该组播组中,仍会周期性的发送IGMP成员关系报告报文,该转发表项的老化定时器会被及时重置,不会被删除。

在某个转发表项被删除后,也会转至执行步骤405,即重新进行最短路径的确定,并在确定的剥离节点发生变化时,通知RPR节点D不作为该组播组的剥离节点。

对于其它普通节点接收到该组播组的IGMP离开组报文后,进行过环处理和下环处理,并将进行下环处理的IGMP离开组报文丢弃,即不通过其它普通端口进行转发。

另外,RPR节点A在通过路由器端口接收到针对该组播组的IGMP查询报文后,都会重置该路由器端口的老化定时器,如果路由器端口的老化定时器到时,则将该路由器端口从路由器端口列表中删除,如果RPR节点A在针对该VLAN的路由器端口列表为空时,从针对该VLAN的查询节点还原到普通节点。

以上是对本发明所提供的方法进行的详细描述,下面对本发明所提供的RPR节点进行详细描述。图5为本发明实施例提供的RPR节点的结构图,如图5所示,该RPR节点可以包括:IGMP报文处理单元500、路径确定单元510和数据传输单元520。

IGMP报文处理单元500,用于对IGMP查询报文进行上环处理后,接收到针对某一组播组的IGMP成员关系报告报文时,将该IGMP成员关系报告报文的RPR源MAC所对应的RPR节点作为该组播组的接收节点,并建立包含该组播组和接收节点之间对应关系的转发表。

路径确定单元510,用于根据上述转发表和RPR的拓扑信息,确定该组播组所对应的最短转发路径,并确定该最短转发路径中的最后一个接收节点为剥离节点。

数据传输单元520,用于按照路径确定单元510确定最短转发路径传输该组播组的组播数据,并通知剥离节点对该组播组的组播数据进行剥离处理。

其中,上述IGMP报文处理单元500可以具体包括:上环处理子单元501、状态设置子单元502、列表建立子单元503和转发表建立子单元504。

上环处理子单元501,用于通过非RPR端口接收到IGMP查询报文,且该非RPR端口与RPR端口属于同一VLAN时,对该IGMP查询报文进行上环处理,并向状态设置子单元502发送状态设置通知。

状态设置子单元502,用于接收到状态设置通知时,将该RPR节点设置为针对上述VLAN的查询节点。

列表建立子单元503,用于将非RPR端口添加到针对该VLAN的路由器端口列表中,启动非RPR端口的老化定时器。

转发表建立子单元504,用于在该RPR节点为查询节点时,如果接收到针对组播组的IGMP成员关系报告报文时,将该IGMP成员关系报告报文的RPR源MAC所对应的RPR节点作为该组播组的接收节点,并建立包含该组播组和接收节点之间对应关系的转发表。

更进一步地,列表建立子单元503,还可以用于当上环处理子单元501通过非RPR端口再次接收到IGMP查询报文时,重置非RPR端口的老化定时器;当非RPR端口的老化定时器到时后,将该非RPR端口从路由器端口列表中删除。

状态设置子单元502,还可以用于在路由器端口列表为空时,将该RPR节点从针对该VLAN的查询节点退回到普通节点。

更优地,IGMP报文处理单元500,还可以用于在该RPR节点为普通节点时,如果接收到IGMP成员关系报告报文,进行过环和下环处理,并丢弃进行下环处理后的IGMP成员关系报告报文。

更优地,转发表建立子单元504,在建立包含该组播组和接收节点之间对应关系的转发表之前,还可以用于判断转发表中是否已经存在该组播组和接收节点之间的对应关系,如果否,则继续执行建立包含该组播组和接收节点之间对应关系的转发表的操作,并重置该对应关系的老化定时器;如果是,则重置该对应关系的老化定时器。

其中,路径确定单元510可以在IGMP报文处理单元建立转发表的设定时长后,或者在该RPR节点接收到组播组的组播数据后,执行确定该组播组所对应的最短转发路径的操作。

具体地,路径确定单元510在确定最小转发路径过程中,可以根据上述转发表确定该组播组对应的所有接收节点,确定在接收节点中完成传输时经过最小跳数的路径作为最短转发路径。

其中,路径确定单元510在确定出的最短转发路径为两条时,任选其中一条或者按照默认设置选择其中一条。

具体地,数据传输单元520在通知剥离节点的过程中,可以向最短转发路径中的最后一个接收节点发送通告报文,以通知该接收节点为组播组的剥离节点;或者,根据最短转发路径所经过的跳数减一的值作为TTL的值封装在传输的组播数据中。

对应地,所述数据传输单元,还用于接收到TTL为0的组播数据时,对该组播数据进行下环处理后,对该组播数据进行剥离处理。

另外,IGMP报文处理单元500可以进一步包括:离开报文处理子单元505,用于接收到针对组播组的IGMP离开组报文后,确定该IGMP离开组报文的RPR源MAC所对应的接收节点,判断该组播组和该接收节点之间的对应关系是否在转发表中,如果否,则丢弃该IGMP离开组报文;如果是,则通过路由器端口列表中的所有路由器端口转发该IGMP离开组报文,并通知列表建立子单元503重置该路由器端口的老化时间。

当上述转发表发生变化时,列表建立子单元503重新确定最短转发路径,并在确定的剥离节点发生变化时,通知原剥离节点退出剥离节点的状态。

由以上描述可以看出,本发明所提供的方法和RPR节点,在对IGMP查询报文进行上环处理的RPR节点上实现包含组播组和接收节点之间对应关系的转发表的建立,使得该RPR节点能够根据该转发表和RPR的拓扑信息确定该组播组所对应的最短转发路径,并确定该最短转发路径中的最后一个接收节点为剥离节点,使得传输的该组播组的组播数据在该剥离节点出终止在RPR上的传输。这种方式使得组播数据的传输仅沿最短转发路径,而不必传输回发送该组播数据的RPR节点或者待TLL从诸如255的默认值减为0时才进行剥离处理,显然更加节约组播数据传输过程中占用的RPR的带宽。

另外,由于该方法使得组播数据报文按照最短转发路径传输,使得RPR中最少的RPR节点接收该组播数据报文,在一定程度上增强了组播数据传输过程中的安全性。

以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明保护的范围之内。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号