一种泛洪报文转发方法及装置与流程

文档序号:14748395发布日期:2018-06-22 05:56阅读:336来源:国知局

本申请涉及网络通信技术领域,尤其涉及一种泛洪报文转发方法及装置。



背景技术:

RPR(ResilientPacketRing,弹性分组环)是一种新型的MAC(MediaAccessControl,媒体访问控制)协议,采用逆向双环结构,流量沿环网在站点之间进行转发。RPR环网在处理泛洪报文时采用源站点剥离的转发方式,即从源站点上环,最后又从源站点剥离。其中,从源站点的上一站点到源站点的转发过程存在资源浪费。



技术实现要素:

有鉴于此,本申请提供一种泛洪报文转发方法及装置。

具体地,本申请是通过如下技术方案实现的:

本申请提供一种泛洪报文转发方法,所述方法应用于弹性分组环RPR环网中的源站点上,所述源站点为泛洪报文进入RPR环网的首个站点,该方法包括:

获取第一生存时间,所述第一生存时间用于使携带所述第一生存时间的第一泛洪报文沿所述RPR环网转发至所述源站点的上一站点时所述第一生存时间减为零;

沿所述RPR环网转发所述第一泛洪报文。

本申请还提供一种泛洪报文转发装置,所述装置应用于弹性分组环RPR环网中的源站点上,所述源站点为泛洪报文进入RPR环网的首个站点,该装置包括:

获取单元,用于获取第一生存时间,所述第一生存时间用于使携带所述第一生存时间的第一泛洪报文沿所述RPR环网转发至所述源站点的上一站点时所述第一生存时间减为零;

转发单元,用于沿所述RPR环网转发所述第一泛洪报文。

由以上描述可以看出,本申请通过精准确定泛洪报文的生存时间,使泛洪报文在到达源站点的上一站点时生存时间为零,从而停止向源站点转发泛洪报文,最大限度地降低RPR环网的资源浪费,减轻站点的处理负担。

附图说明

图1是本申请一示例性实施例示出的RPR环网示意图;

图2是本申请一示例性实施例示出的现有泛洪报文的转发路径示意图;

图3是本申请一示例性实施例示出的一种泛洪报文转发方法流程图;

图4是本申请一示例性实施例示出的泛洪报文的转发路径示意图;

图5是本申请一示例性实施例示出的一种泛洪报文转发装置所在设备的基础硬件结构示意图;

图6是本申请一示例性实施例示出的一种泛洪报文转发装置的结构示意图。

具体实施方式

这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本申请相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本申请的一些方面相一致的装置和方法的例子。

在本申请使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本申请。在本申请和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本文中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。

应当理解,尽管在本申请可能采用术语第一、第二、第三等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本申请范围的情况下,第一信息也可以被称为第二信息,类似地,第二信息也可以被称为第一信息。取决于语境,如在此所使用的词语“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”。

需要说明的是,在以下实施例中所述的站点(例如源站点、中间站点、源站点的上一站点等)可以为交换设备,例如交换机、路由器等。

RPR环网对于广播报文、组播报文、未知单播报文等泛洪报文采用源站点剥离的转发方式,即泛洪报文从源站点上环,经过中间站点过环和下环,最后返回源站点剥离,可见,泛洪报文从源站点发送并经过中间站点转发至所述源站点的上一站点时,所述泛洪报文已经遍历了该RPR环网中的各站点,因此泛洪报文从源站点的上一站点至源站点的转发过程存在资源浪费,尤其对周期性发送的泛洪报文(例如,RPR协议报文)来说,其产生的资源浪费不可忽视。

参见图1,为RPR环网示意图。该环网由5个站点(StationA~StationE)组成,其中,顺时针方向的环路为0环,亦称外环;逆时针方向的环路为1环,亦称内环。假设,泛洪报文从StationA的0环上环,由于StationA无法感知RPR环网中的站点数目,在向RPR环网转发泛洪报文时,通常在泛洪报文的TTL(TimeToLive,生存时间)字段填充255(该数值大于RPR协议规定的最大站点数目),以保证RPR环网的所有站点(包括StationA)均能接收到泛洪报文,进而在StationA剥离泛洪报文,报文转发路径如图2所示,泛洪报文沿StationA→StationB→StationC→StationD→StationE→StationA转发,由于StationA为泛洪报文的上环站点,其无需再次获取该泛洪报文进行处理,所以,该泛洪报文从StationE→StationA的转发过程存在资源浪费,且增加StationE和StationA的处理负担。

针对上述问题,本申请实施例提出一种泛洪报文转发方法,该方法由源站点(泛洪报文进入RPR环网的首个站点)精准确定泛洪报文的生存时间,使泛洪报文在到达源站点的上一站点时生存时间减为零,从而停止向源站点转发泛洪报文。

参见图3,为本申请提供的一种泛洪报文转发方法的实施例流程图,该实施例对泛洪报文处理过程进行描述。

步骤301,获取第一生存时间,所述第一生存时间用于使携带所述第一生存时间的第一泛洪报文沿所述RPR环网转发至所述源站点的上一站点时所述第一生存时间减为零。

在一种实施方式中,可通过源站点沿RPR环网转发携带第二生存时间的第二泛洪报文来获取第一生存时间,该第二生存时间使第二泛洪报文沿RPR环网转发回源站点,例如,可在第二泛洪报文的TTL字段填充第二生存时间为255。

RPR环网中的各站点可根据报文的目的MAC(MediaAccessControl,介质访问控制)地址确认接收的报文为泛洪报文(例如,目的MAC地址为FF-FF-FF-FF的报文为广播报文,目的MAC为组播组地址的报文为组播报文等等),对泛洪报文采取过环和下环操作,同时,在过环时,对泛洪报文的生存时间作递减操作,再转发给下一站点。

当源站点接收到泛洪报文时,判断接收的泛洪报文是否为第二泛洪报文沿RPR环网转发回本站点的,本实施例提供一种判断方法,具体为判断泛洪报文携带的MAC地址是否与自身的MAC地址相同,其中,泛洪报文携带的MAC地址可以为泛洪报文的源MAC地址,也可以为携带在泛洪报文其它字段中的用于唯一标识源站点的MAC地址;源站点的自身MAC地址可以为源站点的桥MAC,也可以为源站点上端口的MAC地址,这是由于MAC地址具有唯一性,因此,端口的MAC地址可唯一标识对应站点。

当源站点接收的泛洪报文携带的MAC地址与自身的MAC地址相同时,说明该接收的泛洪报文为源站点沿RPR环网发送的泛洪报文,即确定接收的泛洪报文为所述第二泛洪报文沿RPR环网转发回本站点的,获取该接收的泛洪报文的生存时间作为第三生存时间,根据第二生存时间和第三生存时间确定第一生存时间,具体为,第一生存时间为第二生存时间减去第三生存时间。例如,初始设置第二生存时间为255,将该第二生存时间携带在第二泛洪报文沿RPR环网转发该第二泛洪报文,同时RPR环网中的泛洪报文每经一个站点转发时,生存时间减一,当确定源站点接收到的泛洪报文为沿PRP环网转发的第二泛洪报文时,获取接收到的泛洪报文的生存时间为251,则第一生存时间为255-251=4。

在另一种实施方式中,第一生存时间可根据RPR环网的实际站点数目确定。具体为,获取RPR环网的站点数目,并将获取的所述站点数目减一。该RPR环网的站点数目可根据实际站点数目进行配置,也可自动获取。

其中,自动获取RPR环网的站点数目的方法为,可通过第二生存时间和第三生存时间来获取RPR环网的站点数目,具体为:用第二生存时间减去第三生存时间后再加一得到RPR环网的站点数目,其过程为:源站点沿RPR环网转发携带第二生存时间的第二泛洪报文,该第二生存时间使第二泛洪报文沿RPR环网转发回源站点,例如,可预估一个大于环网站点数目的第二生存时间。RPR环网中的各站点在转发过程中对第二泛洪报文的生存时间作递减操作。当源站点接收到泛洪报文时,并判断出接收的泛洪报文是第二泛洪报文沿RPR环网转发回本站点的(即当接收的泛洪报文携带的MAC地址与自身的MAC地址相同时),获取该接收的泛洪报文的生存时间作为第三生存时间。则站点数目为第二生存时间减去第三生存时间加一。例如,初始设置第二生存时间为255,将该第二生存时间携带在第二泛洪报文沿RPR环网转发该第二泛洪报文,同时RPR环网中的泛洪报文每经一个站点转发时,生存时间减一,当确定源站点接收到的泛洪报文为沿PRP环网转发的第二泛洪报文时,获取接收到的泛洪报文的生存时间为251,则该RPR环网中站点数目为255-251+1=5,即当前RPR环网有5个站点。

在获取RPR环网的站点数目后,第一生存时间为站点数目减一。例如,站点数目为5,则泛洪报文的第一生存时间为5-1=4。

步骤302,沿所述RPR环网转发所述第一泛洪报文。

在确定第一生存时间后,将携带第一生存时间的泛洪报文沿RPR环网转发,环网中各站点接收所述第一泛洪报文并在转发所述第一泛洪报文时将所述第一泛洪报文中携带的第一生存时间作递减操作,直至该第一泛洪报文转发至所述源站点的上一站点时,该第一生存时间递减为零,从而使所述源站点的上一站点将该第一泛洪报文剥离,避免了所述源站点的上一站点将该第一泛洪报文发送到源站点造成的资源浪费。

现仍以图1为例,详细介绍泛洪报文的转发过程。

假设,StationA作为源站点在泛洪报文的TTL字段填充255向StationB转发(一般情况下,由于源站点自身不会更改泛洪报文中的生存时间,即TTL值,因此源站点向下一站点发送的泛洪报文中的TTL均为255)。

StationB接收到报文后,根据报文的目的MAC地址确定该报文为泛洪报文,并且判断接收到的所述报文的MAC地址是否与自身的MAC地址相同(例如,判断所述泛洪报文中的源MAC地址是否为自身的桥MAC地址),若相同则剥离所述泛洪报文,若不同则在下一时刻转发所述泛洪报文,进一步的,获取该泛洪报文的生存时间(255),在转发所述泛洪报文时对该生存时间作减一操作,得到生存时间为254,将该生存时间(254)填充到泛洪报文中,向StationC转发。

同理,StationC接收到所述泛洪报文后,更改所述泛洪报文的生存时间为253,向StationD转发;以此类推,所述泛洪报文继续经StationD、StationE转发到StationA。

StationA接收到所述泛洪报文后,判断接收到的所述泛洪报文的MAC地址是否为自身的MAC地址相同(例如,判断所述泛洪报文中的源MAC地址是否为自身的桥MAC地址),若相同,则获取所述泛洪报文中的生存时间。泛洪报文在经过StationA→StationB→StationC→StationD→StationE→StationA的转发后,当前泛洪报文的生存时间为251。StationA计算当前RPR环网的站点数目为255-251+1=5,即当前RPR环网有5个站点。StationA将泛洪报文从RPR环网剥离,转发路径参见图2。

当StationA再次作为源站点发送泛洪报文时,将得到的站点数目减一作为泛洪报文的生存时间,即当前泛洪报文的生存时间为5-1=4,向StationB转发。

同前述中间站点的处理过程,StationB、StationC、StationD对泛洪报文的生存时间减一后转发。当泛洪报文到达StationE时,泛洪报文的生存时间为1,StationE对生存时间作减一操作,生存时间变为零,则泛洪报文停止转发,从StationE剥离,转发路径参见图4,可见,该转发过程避免了StationE向StationA转发StationA发送的泛洪报文而造成的资源浪费。

与前述泛洪报文转发方法的实施例相对应,本申请还提供了泛洪报文转发装置的实施例。

本申请提供的泛洪报文转发装置的实施例可以应用在RPR环网中的源站点上。装置实施例可以通过软件实现,也可以通过硬件或者软硬件结合的方式实现。以软件实现为例,作为一个逻辑意义上的装置,是通过其所在设备的处理器运行存储器中对应的计算机程序指令形成的。从硬件层面而言,如图5所示,为本申请提供的泛洪报文转发装置所在设备的一种硬件结构图,除了图5所示的处理器以及非易失性存储器之外,实施例中装置所在的设备通常根据该设备的实际功能,还可以包括其他硬件,对此不再赘述。

请参考图6,为本申请一个实施例中的泛洪报文转发装置的结构示意图。该泛洪报文转发装置包括获取单元601和转发单元602,其中:

获取单元601,用于获取第一生存时间,所述第一生存时间用于使携带所述第一生存时间的第一泛洪报文沿所述RPR环网转发至所述源站点的上一站点时所述第一生存时间减为零;

转发单元602,用于沿所述RPR环网转发所述第一泛洪报文。

进一步的,获取单元601获取第一生存时间的过程可以为:

所述转发单元,还用于沿所述RPR环网转发第二泛洪报文,所述第二泛洪报文携带第二生存时间,所述第二生存时间使所述第二泛洪报文沿所述RPR环网转发回所述源站点。

所述获取单元,还用于获取发送的第二泛洪报文携带的第二生存时间。

报文判断单元,用于判断接收的泛洪报文是否为所述第二泛洪报文沿RPR环网转发回本站点的。

所述获取单元,还用于在报文判断单元的判断结果为是时,获取接收的泛洪报文的生存时间并将其作为第三生存时间;根据所述第二生存时间和所述第三生存时间确定所述第一生存时间。

具体的,所述获取单元,用所述第二生存时间减去所述第三生存时间得到所述第一生存时间。

在另一种实施例中,获取单元601获取第一生存时间的过程还可以为:

所述获取单元,根据所述第二生存时间和所述第三生存时间,获得站点数目,具体的,用所述第二生存时间减去所述第三生存时间后再加一获得所述站点数目。

进一步的,所述获取单元再用所述站点数目减一得到所述第一生存时间。

在另一种实施例中,所述获取单元,用于获取根据所述RPR环网的实际站点数目在本地配置的站点数目。

进一步的,

所述获取单元,获取所述RPR环网的站点数目,用所述站点数目减一得到所述第一生存时间。

上述装置中各个单元的功能和作用的实现过程具体详见上述方法中对应步骤的实现过程,在此不再赘述。

对于装置实施例而言,由于其基本对应于方法实施例,所以相关之处参见方法实施例的部分说明即可。以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本申请方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。

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

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1