CN101425979B - 一种以太环网的数据报文转发方法 - Google Patents
一种以太环网的数据报文转发方法 Download PDFInfo
- Publication number
- CN101425979B CN101425979B CN2008102394445A CN200810239444A CN101425979B CN 101425979 B CN101425979 B CN 101425979B CN 2008102394445 A CN2008102394445 A CN 2008102394445A CN 200810239444 A CN200810239444 A CN 200810239444A CN 101425979 B CN101425979 B CN 101425979B
- Authority
- CN
- China
- Prior art keywords
- ring
- data message
- node
- mac
- address
- 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
Abstract
本发明公开了一种以太环网的数据报文转发方法,包括步骤:分别为环上每个节点配置一级转发表和二级转发表;确定数据报文在其上环处环上节点上的输出端口,为数据报文封装环MAC头,从所确定的输出端口转发该数据报文;根据数据报文的环MAC头查询二级转发表,确定除数据报文上环处和下环处环上节点外,该数据报文在其余环上节点上的输出端口,从所确定的输出端口转发该数据报文;查询一级转发表,确定数据报文在下环处环上节点的输出端口,从所确定的输出端口转发该数据报文。采用本发明所述的方法,能够减少以太环网转发数据所需时间,加快以太环网转发数据的速率。
Description
技术领域
本发明涉及数据通信领域,尤其涉及一种以太环网的数据报文转发方法。
背景技术
在以太网的实际应用中,广泛采用了各种保护技术,这些保护技术具体通过主用路径发生了故障时,阻塞备用路径的数据转发功能,使得网络之间的数据在主用路径上传输,而主用路径发生故障时切换到备用路径上传输网络之间的数据,实现网络正常状态下防止数据被重复接收形成广播风暴,网络的主用路径出现故障时启用备用路径传输保护数据,提高以太网的抗故障能力,且切换时的收敛时间小于50ms的要求,即实现主用路径和备用路径的冗余备份。
以太环网保护技术就是这些技术之一,以太环网保护技术定义了环保护链路和控制节点,即:在以太环网无故障的情况下,环上对数据报文进行阻塞防止环路形成的链路为环保护链路,而拥有环保护链路的节点,称为控制节点。如图1a所示环网,节点A、B、C、D、E、F都为该环网的环上节点。其中,网络M和网络N之间有2条物理路径,网络N<—>节点D<—>节点C<—>节点B<—>网络M为主用路径,网络N<—>节点D<—>节点E<—>节点F<—>节点A<—>节点B<—>网络M为备用路径;链路<F,A>为环保护链路,节点A为控制节点。
以太环网保护技术实现主用路径和备用路径冗余备份的网络结构如图1a、1b所示,当主用路径完好时,控制节点A阻塞与环保护链路<F,A>直接相连端口a2的数据报文转发功能,网络M和N通过主用路径通信,网络中无环路产生,防止了由于网络环路引起的广播风暴;而当主用路径上的<B,C>链路发生了故障,控制节点A放开了对端口a2数据报文转发功能的阻塞,网络M和 N通过备用路径通信。
但在以太环网中,每个环网上的节点连接着大量的子网,如图2a所示,环上的链路<A,F>是环保护链路,环上节点A是控制节点,环上以太网交换节点各连接了10000个子网,而,每个交换节点均维护了一个类似图2b所示环上节点D的庞大的地址转发表。这样,在以太环网上转发一个数据报文需要花费大量的时间查表。例如,图2a中环上节点D收到去往子网A0的分组报文XX时,环上节点D读取分组报文XX用户MAC头中的目的MAC地址A0,然后查找图2b中环上节点D的转发表,找出该目的MAC地址对应的端口d2,d2即为分组报文XX在环上节点D上的出端口,通过端口d2转发分组报文XX至环上节点C;环上节点C收到分组报文XX时,同样查询节点C的地址转发表,得到分组报文XX在环上节点C上的出端口后,将分组报文XX转发至环上节点B;环上节点B收到分组报文XX时,同样查询接地B的地址转发表,得到分组报文XX在环上节点B上的出端口后,将分组报文XX转发至环上节点A;环上节点A收到该分组报文XX时,同样查询接地A的地址转发表,得到分组报文XX在环上节点A上的出端口后,最终将分组报文XX转发至子网A0。即,将分组报文XX由环上节点D转发至子网A0,该过程中,需要先后查询环上节点D的转发表、环上节点C的转发表、环上节点B的转发表、环上节点A的转发表,而图2a中的环网包含了6个环上节点,因此,每个环上节点的转发表所包含转发条目最大可以达到5×1010个,即由环上节点D转发报文XX至子网A0,在最坏情况下需要查找4×5×1010个转发条目,需要花费大量的时间。
发明内容
有鉴于此,本发明的主要目的在于提供一种以太环网的数据报文转发方法,能够减少以太环网转发数据所需时间,加快以太环网转发数据的速率。
为达到上述目的,本发明的技术方案是这样实现的:
一种以太环网的数据报文转发方法,分别为环上每个节点配置一级转发表 和二级转发表,该方法包括以下步骤:
当环上节点从非环上端口收到数据报文,并且所述数据报文不是本地报文时,查询一级转发表,确定数据报文下环处环上节点的MAC地址;根据所确定的下环处环上节点MAC地址查询二级转发表,确定该数据报文在上环处环上节点的输出端口;为数据报文封装环MAC头,从所确定的输出端口转发该数据报文;
当环上节点从环上端口收到数据报文、数据报文的环MAC头中的目的MAC地址是单播地址、并且所述环上节点不是所述数据报文下环处环上节点时,根据数据报文的环MAC头查询二级转发表,确定除数据报文上环处和下环处环上节点外,该数据报文在上环处至下环处各环上节点上的输出端口,并从所确定的输出端口转发该数据报文;
当环上节点从环上端口收到数据报文、数据报文的环MAC头中的目的MAC地址是广播地址时,查询一级转发表,确定数据报文在下环处环上节点的输出端口,从所确定的输出端口转发该数据报文。
进一步地,该方法进一步包括:
每隔设定刷新间隔时间,各环上节点刷新自身的一级转发表和二级转发表。
进一步地,该方法进一步包括:
各环上节点接收到控制节点发送来的主备用路径切换协议报文,分别刷新自身的一级转发表和二级转发表。
进一步地,该方法进一步包括:
根据所述数据报文的用户MAC头中源MAC地址、或所述数据报文用户MAC头和环MAC头中的源MAC地址,为所述环上节点的一级转发表添加转发条目。
进一步地,该方法进一步包括:
根据所述数据报文的环MAC头中源MAC地址,为二级转发表添加转发条目。
进一步地,环上节点从非环上端口收到数据报文后,确定所收到的数据报文不是本地报文,所述查询一级转发表,确定数据报文下环处环上节点的MAC地址;根据所确定的下环处环上节点MAC地址查询二级转发表,定该数据报文在上环处环上节点的输出端口;为数据报文封装环MAC头,从所确定的输出端口转发该数据报文包括:
a2、查询所述环上节点的一级转发表,确定该一级转发表的目的字段中是否存在与所收到的数据报文用户MAC头中目的MAC地址相同的元素,如果存在,则认为该元素所在的转发条目的目的站即为数据报文下环处环上节点的MAC地址,执行步骤b2,如果不存在,执行步骤d2;
b2、根据所确定的下环处环上节点MAC地址查询所述环上节点的二级转发表,确定该二级转发表中是否存在与所确定的下环处环上节点MAC地址相同的元素,如果存在,执行步骤c2;如果不存在,执行步骤d2;
c2、为所述数据报文封装环MAC头,之后从所查询到的与所述数据报文下环处环上节点MAC地址相同的元素所在转发条目中的环上端口转发所述数据报文;所述环MAC头中的源MAC地址为所述数据报文上环处环上节点MAC地址,目的MAC地址为所述数据报文下环处环上节点MAC地址;
d2、为所述数据报文封装环MAC头,之后从所述环上节点上的所有环上端口转发所述数据报文;所述环MAC头中源MAC地址为所述环上节点的MAC地址,目的地址为广播地址。
进一步地,环上节点从环上端口收到数据报文后,确定该数据报文的环MAC头中目的节点MAC地址是单播地址,并确定该环上节点不是该数据报文下环处环上节点,所述根据数据报文的环MAC头查询二级转发表,确定除数据报文上环处和下环处环上节点外,该数据报文在上环处至下环处各环上节点上的输出端口,并从所确定的输出端口转发该数据报文包括:
a3、根据所接收到的数据报文的环MAC头查询收到数据报文的环上节点的二级转发表,确定该二级转发表中是否存在与所该数据报文的环MAC头中目的节点MAC地址相同的元素,如果存在,执行步骤b3;如果不存在,执行步骤c3;
b3、从所查询到的元素所在转发条目中的环上端口转发所述数据报文;
c3、从所述环上节点上的其余环上端口转发所述数据报文。
进一步地,环上节点从非环上端口收到数据报文后,确定所收到的数据报文是本地报文,所述查询一级转发表,确定数据报文在下环处环上节点的输出 端口,并从所确定的输出端口转发该数据报文包括:
a1、查询接收到数据报文的环上节点的一级转发表,确定该一级转发表的目的字段中是否存在与所接收到的数据报文用户MAC头中目的MAC地址相同的元素,如果存在,则执行步骤b1;如果不存在,则执行步骤c1;
b1、从所查询到的与所述用户MAC头中目的MAC地址相同的元素所在转发条目中的端口转发所述数据报文;
c1、从所述环上节点上的其余非环上端口转发所述数据报文,所述其余非环上端口是指所述环上节点上,除去接收该数据报文的非环上端口后所剩余的非环上端口。
进一步地,所述方法还包括:当环上节点从环上端口收到数据报文,数据报文的环MAC头中的目的MAC地址是单播地址,并且该环上节点是该数据报文下环处环上节点时,查询一级转发表,确定数据报文在下环处环上节点的输出端口,从所确定的输出端口转发该数据报文,具体为:
a4、剥去所述数据报文的环MAC头;
b4、查询接收到数据报文的环上节点的一级转发表,确定该一级转发表中是否存在与所接收到的数据报文用户MAC头中目的MAC地址相同的元素,如果存在,执行步骤c4;如果不存在,则执行步骤d4;
c4、从与所述用户MAC头中目的MAC地址相同的元素所在转发条目中的端口转发所述数据报文;
d4、从所述环上节点的所有非环上端口转发所述数据报文。
进一步地,环上节点从环上端口收到数据报文后,确定该数据报文的环MAC头中目的节点MAC地址是广播地址,该方法进一步包括:
a5、从其余环上端口转发所述数据报文,并拷贝一份所述数据报文;
b5、通过查询接收到数据报文的环上节点的一级转发表,确定该一级转发表的目的字段中是否存在与所接收到的数据报文用户MAC头中目的MAC地址相同的元素,如果存在,则执行步骤c5;如果不存在,则执行步骤d5;
c5、剥去拷贝所得的数据报文的环MAC头后,从该元素对应的端口转发 该数据报文;
d5、从所述环上节点的所有非环上端口转发所述数据报文。
本发明所提供的以太环网的数据报文转发方法,通过设置一级转发表和二级转发表,能够减少以太环网转发数据时所需查询转发条目中的数量,进而减少以太环网转发数据所需时间,加快以太环网转发数据的速率。本发明还具有以下的优点和特点:
本发明每隔设定刷新间隔时间,刷新一级转发表和二级转发表,防止了一级转发表和二级转发表老化;且主备用路径发生切换时,刷新一级转发表和二级转发表,能够及时将数据报文由主用路径切换至备用路径传输。
附图说明
图1a为无故障的情况下以太环网的结构示意图;
图1b为主用路径发生了故障后以太环网的结构示意图;
图2a为以太环网环上节点连接子网的网络架构示意图;
图2b为环上节点D的地址转发表;
图3为本发明实施例以太环网的数据报文转发方法的实现流程图;
图4为本发明环上节点D的一级转发表和二级转发表。
具体实施方式
本发明的基本思想是:设置一级转发表和二级转发表,通过查询二级转发表确定除数据报文下环处环上节点外,该数据报文上环处至下环处各环上节点上该数据报文的输出端口,只有数据报文在下环处环上节点的输出端口通过查询一级转发表确定,而二级转发表的转发条目远小于一级转发表和现有转发方法中的地址转发表的条目,这样,采用本发明即能够减少以太环网转发数据时所需查询转发条目中的数量,进而减少以太环网转发数据所需时间,加快以太环网转发数据的速率。
本发明实施例以太环网的数据报文转发方法的实现流程如图3所示,包括 以下步骤:
步骤301:分别为环上每个节点预先配置一级转发表和二级转发表;其中,一级转发表包括字段:目的、目的站、端口,二级转发表包括字段:目的站、端口。
其中,一级转发表中端口字段的元素为非环上端口,表示本地交换报文的输出端口或数据报文下环处输出端口;二级转发表中端口字段的元素为环上端口,数据报文通过环上端口在以太环网上传输;一级转发表的关键字段为目的,二级转发表的关键字段为目的站。
步骤302A:环上节点从非环上端口收到数据报文,读取该数据报文的用户MAC头中源MAC地址和目的MAC地址;所述数据报文从所述环上节点进入到以太环网传输,因此,称该环上节点为该数据报文上环处环上节点。
步骤303A:根据所读取到的用户MAC头中源MAC地址,为所述环上节点的一级转发表添加转发条目。
设置或刷新一级转发表后,均通过步骤303A、303B添加转发条目;
具体添加方法包括:
步骤3a1、通过查询所述环上节点的一级转发表,确定该一级转发表的目的字段中是否存在与所读取的用户MAC头中源MAC地址相同的元素,如果存在与所述用户MAC头中源MAC地址相同的元素,则认为该一级转发表中已经存在含所述用户MAC头中源MAC地址的转发条目,执行步骤3a2;如果不存在与所述用户MAC头中源MAC地址相同的元素,则执行步骤3a3;
步骤3a2、丢弃所读取到的用户MAC头中源MAC地址;
步骤3a3、将所述用户MAC头中源MAC地址写入所述一级转发表的目的字段,并将所述数据报文上环处环上节点MAC地址、以及接收到所述数据报文的非环上端口分别写入所述一级转发表中所述用户MAC头中源MAC地址所对应的转发条目中的目的站字段和端口字段;这样,所述环上节点接收到用户MAC头中目的MAC地址与所述转发条目中的目的字段相同的数据报文时,即可从该转发条目中的目的站字段和端口字段得知该数据报文的输出端口,以及 该数据报文是本地交换报文。
步骤304A:确定所述数据报文是不是本地报文,如果是,则可以认为所述环上节点即是该数据报文的下环处环上节点,执行步骤304A1;如果不是,则执行步骤304A2;
确定数据报文是不是本地报文的方法具体包括:
比较所述用户MAC头中目的MAC地址与所述环上节点的MAC地址是否相同,如果相同,则认为该数据报是本地交换报文;如果不相同,则认为该数据报不是本地交换报文。
步骤304A1:查询所述环上节点的一级转发表,以确定该数据报文的输出端口,并从所确定的输出端口转发该数据报文;
具体转发方法包括:
步骤4a11、通过查询所述环上节点的一级转发表,确定该一级转发表的目的字段中是否存在与所述用户MAC头中目的MAC地址相同的元素,如果存在,即该一级转发表中存在含所述用户MAC头中的目的MAC地址的转发条目,则执行步骤4a12;如果不存在,即目前该一级转发表中不存在含所述用户MAC头中的目的MAC地址的转发条目,则执行步骤4a13;
步骤4a12、从所查询到的与所述用户MAC头中目的MAC地址相同的元素所在转发条目中的端口转发所述数据报文;
步骤4a13、从所述环上节点上的其余非环上端口转发所述数据报文,所述其余非环上端口是指所述环上节点上,除去接收该数据报文的非环上端口后所剩余的非环上端口;
步骤304A2:查询所述环上节点的一级转发表,确定数据报文下环处环上节点的MAC地址;根据所确定的MAC地址查询所述环上节点的二级转发表,以确定该数据报文的输出端口,并为所述数据报文封装环MAC头后转发该数据报文;
具体转发方法包括:
步骤4a21、查询一级转发表,确定该一级转发表的目的字段中是否存在与 所述用户MAC头中目的MAC地址相同的元素,如果存在,则认为该元素所在的转发条目的目的站即为数据报文下环处环上节点的MAC地址,执行步骤4a24,如果不存在,执行步骤4a22;
步骤4a22、通过查询所述环上节点的二级转发表,确定该二级转发表中是否存在与所述数据报文下环处环上节点MAC地址相同的元素,如果存在,执行步骤4a23;如果不存在,即目前该二级转发表中不存在含所述数据报文下环处环上节点MAC地址的转发条目,执行步骤4a24;所述数据报文下环处环上节点是指与所述数据报文用户MAC头中目的MAC地址所对应的子网连接的环上节点;
步骤4a23、为所述数据报文封装环MAC头,之后从所查询到的与所述数据报文下环处环上节点MAC地址相同的元素所在转发条目中的环上端口转发所述数据报文;所述环MAC头中的源MAC地址为所述数据报文上环处环上节点MAC地址,目的MAC地址为所述数据报文下环处环上节点MAC地址;
步骤4a24、为所述数据报文封装环MAC头,之后从所述环上节点上的所有环上端口转发所述数据报文;所述环MAC头中源MAC地址为所述环上节点的MAC地址,目的地址为广播地址。
本发明通过步骤304A~304A2完成环上节点从非环上端口收到的数据报文的转发,而从步骤304A~304A2可见:环上节点的非环上端口所收到的数据报文不是本地交换报文时,只需查该环上节点的二级转发表,即可确定该数据报文的输出端口,而二级转发表的关键字段为目的站,即二级转发表的转发条目中的数目仅为环上节点的数目减1的差,大大减少了所需查询转发条目中的数量,进而减少以太环网转发数据所需时间。
步骤302B:环上节点从环上端口收到数据报文,读取所述数据报文的用户MAC头中源MAC地址和目的MAC地址,以及环MAC头中源节点MAC地址和目的节点MAC地址。
步骤303B:根据所读取到的用户MAC头中源MAC地址和环MAC头中的源MAC地址,为一级转发表添加转发条目;
具体添加方法包括:
步骤3b1、查询所述环上节点的一级转发表,确定一级转发表的目的字段中是否存在与所述用户MAC头中源MAC地址相同的元素,如果存在与所述用户MAC头中源MAC地址相同的元素,则认为一级转发表中已存在含所述用户MAC头中源MAC地址的转发条目,执行步骤3b2;如果不存在与所述用户MAC头中源MAC地址相同的元素,则执行步骤3b3;
步骤3b2、丢弃所述用户MAC头中源MAC地址;
步骤3b3、将所述用户MAC头中源MAC地址写入所述一级转发表的目的字段,并将所述环MAC头中的源MAC地址写入该一级转发表中该用户MAC头中源MAC地址所在转发条目中的目的站字段;该一级转发表中该用户MAC头中源MAC地址所在转发条目中的端口元素为空。这样,当所述环上节点接收到用户MAC头中目的MAC地址与所述转发条目中的目的字段相同的数据报文时,即可从该转发条目中的目的站字段得知该数据报文下环处环上节点MAC地址,并根据该数据报文下环处环上节点MAC地址查询二级转发表。
步骤304B:根据所读取到的环MAC头中源MAC地址,为二级转发表添加转发条目;设置或刷新二级转发表后,通过本步骤添加转发条目;
具体添加方法包括:
步骤4b1:查询所述环上节点的二级转发表,确定所述二级转发表的目的站字段中是否存在与所读取到的环MAC头中源MAC地址相同的元素,如果存在与所述环MAC头中源MAC地址相同的元素,则认为该二级转发表中已经存在含所述环MAC头中源MAC地址的转发条目,执行步骤4b2;如果不存在与所述环MAC头中源MAC地址相同的元素,则执行步骤4b3;
步骤4b2:丢弃所读取到的环MAC头中源MAC地址;
步骤4b3:将所述环MAC头中源MAC地址写入所述二级转发表的目的站字段,并将接收到所述数据报文的环上端口写入所述二级转发表中所述环MAC头中源MAC地址所在转发条目中的端口字段;这样,当已经确认所述环上节点收到数据报文的下环处环上节点MAC地址,则可在所述二级转发表中查询 含该下环处环上节点MAC地址的转发条目,所查询到的转发条目中的端口字段即为所述数据报文的输出端口。
步骤305B:确定所读取到的环MAC头中目的MAC地址是单播地址或广播地址,如果是单播地址,执行步骤305B1;如果是广播地址,则不能确定所述环上节点是不是所述数据报文下环处环上节点,执行步骤305B2。
步骤305B1:确定所述环上节点是不是所述数据报文下环处环上节点,如果是下环处环上节点,执行步骤305B11;如果不是下环处环上节点,执行步骤305B12;
具体确定方法包括:
比较所述环MAC头中目的节点MAC地址与所述环上节点的MAC地址是否相同,如果不相同,所述环上节点不是所述数据报文下环处环上节点;如果相同,所述环上节点是所述数据报文下环处环上节点。
步骤305B11:剥去所述数据报文的环MAC头后,查询所述环上节点的一级转发表,以确定该数据报文的输出端口,并从所确定的输出端口转发该数据报文;
具体转发方法包括:
步骤5b11、通过查询所述环上节点的一级转发表,确定该一级转发表中是否存在与所述用户MAC头中目的MAC地址相同的元素,如果存在,执行步骤5b12;如果不存在,不能确定所述环上节点哪个非环上端口是所述数据报文的下环处端口,则执行步骤5b13;
步骤5b12、从与所述用户MAC头中目的MAC地址相同的元素所在转发条目中的端口转发所述数据报文;
步骤5b13、从所述环上节点的所有非环上端口转发所述数据报文。
步骤305B12:根据所述环MAC头中目的节点MAC地址查询所述环上节点的二级转发表,以确定该数据报文的输出端口,并从所确定的输出端口转发该数据报文;
具体转发方法包括:
通过查询所述环上节点的二级转发表,确定该二级转发表中是否存在与所述环MAC头中目的节点MAC地址相同的元素,如果存在,从所查询到的元素所在转发条目中的环上端口转发所述数据报文;如果不存在,不能确定所述环上节点哪个环上端口是所述数据报文的输出端口,则从所述环上节点上的其余环上端口转发所述数据报文;所述其余环上端口指所述环上节点上,除去接收该数据报文的环上端口后所剩余的环上端口。
步骤305B2:从其余环上端口转发所述数据报文,并拷贝一份所述数据报文,查询所述环上节点的一级转发表,根据查询结果确定该数据报文的输出端口,并从所确定的输出端口转发该数据报文;
具体确定输出该数据报文的非环上端口的方法包括:
步骤5b21、通过查询所述一级转发表,确定该一级转发表的目的字段中是否存在与所述用户MAC头中目的MAC地址相同的元素,如果存在,则执行步骤5b22;如果不存在,并不能排除所述环上节点的非环上端口是所述数据报文的下环处端口的可能,则执行步骤5b23;
步骤5b22、剥去拷贝所得的数据报文的环MAC头后,从该元素对应的端口转发该数据报文;
步骤5b23、从所述环上节点的所有非环上端口转发所述数据报文。
本发明通过步骤305B~305B2完成了环上节点从环上端口收到的数据报文的转发,从步骤305B~305B2可见,所述环上节点不是所收到数据报文的下环处环上节点时,只需查该环上节点的二级转发表,即可确定该数据报文的输出端口,大大减少了所需查询转发条目中的数量,进而减少以太环网转发数据所需时间。
为了防止一级转发表和二级转发表老化,以及在主备用路径切换后,能够及时将数据报文由主用路径切换至备用路径传输,本发明实施例还包括以下步骤:
每隔设定刷新间隔时间,各环上节点刷新自身的一级转发表和二级转发表;所述设定刷新间隔时间的长短可与现有以太环网数据转发方法中地址转发表的 刷新间隔时间相同;本步骤防止了一级转发表和二级转发表老化。
各环上节点接收到控制节点发送来的主备用路径切换协议报文,分别刷新自身的一级转发表和二级转发表;本发明通过本步骤实现主备用路径切换后,及时将数据报文由主用路径切换至备用路径传输。
以下以在以太环网上传输分组报文XX为例,具体说明本发明实施例转发数据报文的流程。
如图2a所示,环上节点D从非环上端口d3收到去往子网B0的分组报文XX后,首先由分组报文XX的用户MAC头中目的MAC地址是子网B0的MAC地址,与环上节点D的MAC地址不相同,确定所述数据报文不是本地报文,接着通过查询环上节点D的二级转发表,找到分组报文XX下环处环上节点B的MAC地址所在转发条目<B,d2>中的环上端口d2,环上端口d2即为分组报文XX在环上节点D上的输出端口,为分组报文XX封装环MAC头后通过端口d2转发分组报文XX至环上节点C;环上节点C从环上端口c1收到分组报文XX,由于分组报文XX的环MAC头中目的MAC地址是单播地址,且环上节点C不是分组报文XX的下环处环上节点,因此,通过查询环上节点C的二级转发表,找到分组报文XX下环处环上节点B的MAC地址所在转发条目<B,c2>中的环上端口c2,端口c2即为分组报文XX在环上节点C上的输出端口,通过端口c2转发分组报文XX至环上节点B;环上节点B从环上端口b1收到分组报文XX,由于分组报文XX的环MAC头中目的MAC地址是单播地址,且环上节点B是分组报文XX的下环处环上节点,因此,通过查询环上节点B的一级转发表,找到分组报文XX的用户MAC头中目的MAC地址所在转发条目<B0,B,b3>中的非环上端口b3,端口b3即为分组报文XX在环上节点B上的输出端口,通过端口b3转发分组报文XX至子网B0,完成分组报文XX在以太环网上传输。
其中,环上节点D、环上节点C转发分组报文XX时,通过分别查询环上节点D、环上节点C的二级转发表,即得到了分组报文XX环上节点D、环上节点C上的输出端口,即本发明完成分组报文XX在以太环网上传输,需查询 了两次二级转发表和一次一级转发表,该以太环网上有6个环上节点,因此,各环上节点的二级转发表中最多有5个转发条目,而一级转发表与现有转发方法中地址转发表的最多转发条目相同,可算得本发明完成分组报文XX在以太环网上传输,最多需查询10+5×1010个转发条目,远小于采用现有转发方法最多寻查询的5×1010个转发条目,大大减少了以太环网转发数据所需时间。
以上所述,仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。
Claims (10)
1.一种以太环网的数据报文转发方法,其特征在于,分别为环上每个节点配置一级转发表和二级转发表,该方法包括以下步骤:
当环上节点从非环上端口收到数据报文,并且所述数据报文不是本地报文时,查询一级转发表,确定数据报文下环处环上节点的MAC地址;根据所确定的下环处环上节点MAC地址查询二级转发表,确定该数据报文在上环处环上节点的输出端口;为数据报文封装环MAC头,从所确定的输出端口转发该数据报文;
当环上节点从环上端口收到数据报文、数据报文的环MAC头中的目的MAC地址是单播地址、并且所述环上节点不是所述数据报文下环处环上节点时,根据数据报文的环MAC头查询二级转发表,确定除数据报文上环处和下环处环上节点外,该数据报文在上环处至下环处各环上节点上的输出端口,并从所确定的输出端口转发该数据报文;
当环上节点从环上端口收到数据报文、数据报文的环MAC头中的目的MAC地址是广播地址时,查询一级转发表,确定数据报文在下环处环上节点的输出端口,从所确定的输出端口转发该数据报文。
2.根据权利要求1所述以太环网的数据报文转发方法,其特征在于,该方法进一步包括:
每隔设定刷新间隔时间,各环上节点刷新自身的一级转发表和二级转发表。
3.根据权利要求1所述以太环网的数据报文转发方法,其特征在于,该方法进一步包括:
各环上节点接收到控制节点发送来的主备用路径切换协议报文,分别刷新自身的一级转发表和二级转发表。
4.根据权利要求1所述以太环网的数据报文转发方法,其特征在于,该方法进一步包括:
根据所述数据报文的用户MAC头中源MAC地址、或所述数据报文用户MAC头和环MAC头中的源MAC地址,为所述环上节点的一级转发表添加转发条目。
5.根据权利要求1所述以太环网的数据报文转发方法,其特征在于,该方法进一步包括:
根据所述数据报文的环MAC头中源MAC地址,为二级转发表添加转发条目。
6.根据权利要求1至5任一项所述以太环网的数据报文转发方法,其特征在于,环上节点从非环上端口收到数据报文后,确定所收到的数据报文不是本地报文,所述查询一级转发表,确定数据报文下环处环上节点的MAC地址;根据所确定的下环处环上节点MAC地址查询二级转发表,定该数据报文在上环处环上节点的输出端口;为数据报文封装环MAC头,从所确定的输出端口转发该数据报文包括:
a2、查询所述环上节点的一级转发表,确定该一级转发表的目的字段中是否存在与所收到的数据报文用户MAC头中目的MAC地址相同的元素,如果存在,则认为该元素所在的转发条目的目的站即为数据报文下环处环上节点的MAC地址,执行步骤b2,如果不存在,执行步骤d2;
b2、根据所确定的下环处环上节点MAC地址查询所述环上节点的二级转发表,确定该二级转发表中是否存在与所确定的下环处环上节点MAC地址相同的元素,如果存在,执行步骤c2;如果不存在,执行步骤d2;
c2、为所述数据报文封装环MAC头,之后从所查询到的与所述数据报文下环处环上节点MAC地址相同的元素所在转发条目中的环上端口转发所述数据报文;所述环MAC头中的源MAC地址为所述数据报文上环处环上节点MAC地址,目的MAC地址为所述数据报文下环处环上节点MAC地址;
d2、为所述数据报文封装环MAC头,之后从所述环上节点上的所有环上端口转发所述数据报文;所述环MAC头中源MAC地址为所述环上节点的MAC地址,目的地址为广播地址。
7.根据权利要求1至5任一项所述以太环网的数据报文转发方法,其特征在于,环上节点从环上端口收到数据报文后,确定该数据报文的环MAC头中目的节点MAC地址是单播地址,并确定该环上节点不是该数据报文下环处环上节点,所述根据数据报文的环MAC头查询二级转发表,确定除数据报文上环处和下环处环上节点外,该数据报文在上环处至下环处各环上节点上的输出 端口,并从所确定的输出端口转发该数据报文包括:
a3、根据所接收到的数据报文的环MAC头查询收到数据报文的环上节点的二级转发表,确定该二级转发表中是否存在与所该数据报文的环MAC头中目的节点MAC地址相同的元素,如果存在,执行步骤b3;如果不存在,执行步骤c3;
b3、从所查询到的元素所在转发条目中的环上端口转发所述数据报文;
c3、从所述环上节点上的其余环上端口转发所述数据报文。
8.根据权利要求1至5任一项所述以太环网的数据报文转发方法,其特征在于,环上节点从非环上端口收到数据报文后,确定所收到的数据报文是本地报文,所述查询一级转发表,确定数据报文在下环处环上节点的输出端口,并从所确定的输出端口转发该数据报文包括:
a1、查询接收到数据报文的环上节点的一级转发表,确定该一级转发表的目的字段中是否存在与所接收到的数据报文用户MAC头中目的MAC地址相同的元素,如果存在,则执行步骤b1;如果不存在,则执行步骤c1;
b1、从所查询到的与所述用户MAC头中目的MAC地址相同的元素所在转发条目中的端口转发所述数据报文;
c1、从所述环上节点上的其余非环上端口转发所述数据报文,所述其余非环上端口是指所述环上节点上,除去接收该数据报文的非环上端口后所剩余的非环上端口。
9.根据权利要求1至5任一项所述以太环网的数据报文转发方法,其特征在于,所述方法还包括:当环上节点从环上端口收到数据报文,数据报文的环MAC头中的目的MAC地址是单播地址,并且该环上节点是该数据报文下环处环上节点时,查询一级转发表,确定数据报文在下环处环上节点的输出端口,从所确定的输出端口转发该数据报文,具体为:
a4、剥去所述数据报文的环MAC头;
b4、查询接收到数据报文的环上节点的一级转发表,确定该一级转发表中是否存在与所接收到的数据报文用户MAC头中目的MAC地址相同的元素,如 果存在,执行步骤c4;如果不存在,则执行步骤d4;
c4、从与所述用户MAC头中目的MAC地址相同的元素所在转发条目中的端口转发所述数据报文;
d4、从所述环上节点的所有非环上端口转发所述数据报文。
10.根据权利要求1至5任一项所述以太环网的数据报文转发方法,其特征在于,环上节点从环上端口收到数据报文后,确定该数据报文的环MAC头中目的节点MAC地址是广播地址,该方法进一步包括:
a5、从其余环上端口转发所述数据报文,并拷贝一份所述数据报文;
b5、通过查询接收到数据报文的环上节点的一级转发表,确定该一级转发表的目的字段中是否存在与所接收到的数据报文用户MAC头中目的MAC地址相同的元素,如果存在,则执行步骤c5;如果不存在,则执行步骤d5;
c5、剥去拷贝所得的数据报文的环MAC头后,从该元素对应的端口转发该数据报文;
d5、从所述环上节点的所有非环上端口转发所述数据报文。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2008102394445A CN101425979B (zh) | 2008-12-10 | 2008-12-10 | 一种以太环网的数据报文转发方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2008102394445A CN101425979B (zh) | 2008-12-10 | 2008-12-10 | 一种以太环网的数据报文转发方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101425979A CN101425979A (zh) | 2009-05-06 |
CN101425979B true CN101425979B (zh) | 2011-05-11 |
Family
ID=40616322
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2008102394445A Expired - Fee Related CN101425979B (zh) | 2008-12-10 | 2008-12-10 | 一种以太环网的数据报文转发方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN101425979B (zh) |
Families Citing this family (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101697525B (zh) * | 2009-10-14 | 2012-12-19 | 中兴通讯股份有限公司 | 基于环网的地址转发表配置方法及数据传输方法及系统 |
CN102201979B (zh) * | 2011-03-21 | 2014-12-17 | 中兴通讯股份有限公司 | 一种对微码表项进行层次化处理的方法和装置 |
CN102299835B (zh) | 2011-08-26 | 2014-01-08 | 华为技术有限公司 | 环网故障切换方法和装置 |
WO2014134806A1 (en) * | 2013-03-07 | 2014-09-12 | Telefonaktiebolaget L M Ericsson (Publ) | Method and device for protection switching of ethernet ring |
CN103888189B (zh) * | 2014-03-03 | 2016-08-17 | 浙江大学 | 适用于大规模电力电子系统的单光纤环网通讯方法 |
CN104113481A (zh) * | 2014-07-04 | 2014-10-22 | 北京华为数字技术有限公司 | 基于控制端口切换事件的刷新mac地址表的方法和装置 |
CN108683617B (zh) * | 2018-04-28 | 2021-01-01 | 新华三技术有限公司 | 报文分流方法、装置及分流交换机 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1671122A (zh) * | 2004-03-19 | 2005-09-21 | 港湾网络有限公司 | 在rpr环之间实现报文转发的方法及rpr网络 |
CN1725731A (zh) * | 2005-05-19 | 2006-01-25 | 杭州华为三康技术有限公司 | 控制二层以太环网设备mac地址学习数目的方法 |
-
2008
- 2008-12-10 CN CN2008102394445A patent/CN101425979B/zh not_active Expired - Fee Related
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1671122A (zh) * | 2004-03-19 | 2005-09-21 | 港湾网络有限公司 | 在rpr环之间实现报文转发的方法及rpr网络 |
CN1725731A (zh) * | 2005-05-19 | 2006-01-25 | 杭州华为三康技术有限公司 | 控制二层以太环网设备mac地址学习数目的方法 |
Also Published As
Publication number | Publication date |
---|---|
CN101425979A (zh) | 2009-05-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101425979B (zh) | 一种以太环网的数据报文转发方法 | |
CN101160836B (zh) | 一种桥模式弹性分组环冗余保护的方法 | |
CN101426031B (zh) | 一种以太网环的地址刷新方法和装置 | |
CN102035712B (zh) | 多协议标签交换的环网保护方法、装置和系统 | |
CN104243630A (zh) | Vxlan网络中的mac地址学习方法及装置 | |
JP6355536B2 (ja) | 中継システムおよびスイッチ装置 | |
EP2339791A1 (en) | Method for forwarding a protocol frame in spanning rings and the shared nodes in ethernet network multi-rings | |
CN102711234A (zh) | 主备vrrp设备间同步arp表的方法及vrrp设备 | |
CN103607293B (zh) | 一种流量保护方法及设备 | |
CN111865704B (zh) | 数据传输方法、系统和网络设备 | |
CN101326770A (zh) | 帧处理方法以及帧处理设备 | |
CN101854283A (zh) | 一种rpr环网的通信方法和设备 | |
CN100548001C (zh) | 一种触发下游设备处理报文的方法及交换设备 | |
JP5491623B2 (ja) | アドレスのリフレッシュ方法及びシステム | |
CN101136838B (zh) | 一种桥模式弹性分组环跨环桥设备冗余保护的方法 | |
JP2005110253A (ja) | トラフィック過負荷状態の間のスパニングツリーループを防止する方法および装置 | |
CN102104533B (zh) | Rrpp单环网络数据发送路径优化方法及环网节点 | |
CN101729361A (zh) | 报文处理的方法和装置 | |
EP2405606B1 (en) | Method for controlling the times of refreshing the ethernet forwarding database | |
CN101951303A (zh) | 一种实现复用段双向线性保护倒换的方法及节点设备 | |
CN100411387C (zh) | 基于弹性分组数据环网的双归属网络支持方法 | |
CN101938395B (zh) | 一种以太环网的单环地址刷新方法及系统 | |
KR20060090219A (ko) | 상이한 링크를 사용하여 접속되는 다중 스테이션을 포함한전송 매체에서 패킷을 스위칭하는 방법 | |
CN101188541A (zh) | 弹性分组环rpr桥冗余保护方法和系统 | |
CN108199986B (zh) | 一种数据传输方法、堆叠设备及堆叠系统 |
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 | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20110511 Termination date: 20171210 |
|
CF01 | Termination of patent right due to non-payment of annual fee |