一种以太环网的数据报文转发方法

文档序号:7928651阅读:163来源:国知局
专利名称:一种以太环网的数据报文转发方法
技术领域
本发明涉及数据通信领域,尤其涉及一种以太环网的数据报文转发方法。
背景技术
在以太网的实际应用中,广泛釆用了各种保护技术,这些保护技术具体通 过主用路径发生了故障时,阻塞备用路径的数据转发功能,使得网络之间的数 据在主用路径上传输,而主用路径发生故障时切换到备用路径上传输网络之间 的数据,实现网络正常状态下防止数据被重复接收形成广播风暴,网络的主用 路径出现故障时启用备用路径传输保护数据,提高以太网的抗故障能力,且切
换时的收敛时间小于50ms的要求,即实现主用路径和备用路径的冗余备份。
以太环网保护技术就是这些技术之一,以太环网保护技术定义了环保护链 路和控制节点,即在以太环网无故障的情况下,环上对数据报文进行阻塞防 止环路形成的链路为环保护链路,而拥有环保护链路的节点,称为控制节点。 如图la所示环网,节点A、 B、 C、 D、 E、 F都为该环网的环上节点。其中, 网络M和网络N之间有2条物理路径,网络N<—>节点D<—->节点(:<一>节 点B<—>网络M为主用路径,网络1SK—〉节点0<—>节点E<—>节点F<-—> 节点八<^>节点8<--〉网络M为备用路径;链路〈F,A〉为环保护链路,节点 A为控制节点。
lb所示,当主用路径完好时,控制节点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地址AO,然后 查找图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个环上节点,因此,每个环上节 点的转发表所包含转发条目最大可以达到5xl0化个,即由环上节点D转发报文 XX至子网AO,在最坏情况下需要查找4x5xlO^个转发条目,需要花费大量的 时间。

发明内容
有鉴于此,本发明的主要目的在于提供一种以太环网的数据报文转发方法, 能够减少以太环网转发数据所需时间,加快以太环网转发数据的速率。 为达到上述目的,本发明的技术方案是这样实现的
一种以太环网的数据报文转发方法,分别为环上每个节点配置一级转发表和二级转发表,该方法包括以下步骤
查询一级转发表,确定数据报文下环处环上节点的MAC地址;根据所确 定的下环处环上节点MAC地址查询二级转发表,确定该数据报文在上环处环 上节点的输出端口;为数据报文封装环MAC头,从所确定的输出端口转发该 数据报文;
根据数据报文的环MAC头查询二级转发表,确定除数据报文上环处和下 环处环上节点外,该数据报文在上环处至下环处各环上节点上的输出端口,并 从所确定的输出端口转发该数据"^艮文;
查询一级转发表,确定数据报文在下环处环上节点的输出端口,从所确定 的输出端口转发该数据报文。
进一步地,该方法进一步包括
每隔设定刷新间隔时间,各环上节点刷新自身的一级转发表和二级转发表。 进一步地,该方法进一步包括
各环上节点接收到控制节点发送来的主备用路径切换协议报文,分别刷新 自身的一级转发表和二级转发表。 进一步地,该方法进一步包括
根据所述数据4艮文的用户MAC头中源MAC地址、或所述数据报文用户 MAC头和环MAC头中的源MAC地址,为所述环上节点的一级转发表添加转 发条目。
进一步地,该方法进一步包括
根据所述数据报文的环MAC头中源MAC地址,为二级转发表添加转发条目。
进一步地,环上节点从非环上端口收到数据报文后,确定所收到的数据报 文不是本地报文,所述查询一级转发表,确定数据报文下环处环上节点的MAC 地址;根据所确定的下环处环上节点MAC地址查询二级转发表,定该数据报 文在上环处环上节点的输出端口;为数据报文封装环MAC头,从所确定的输 出端口转发该数据才艮文包括a2、查询所述环上节点的一级转发表,确定该一级转发表的目的字段中是 否存在与所收到的数据^艮文用户MAC头中目的MAC地址相同的元素,如果存 在,则认为该元素所在的转发条目的目的站即为数据报文下环处环上节点的 MAC地址,执行步骤b2,如果不存在,执行步骤d2;
b2、 4艮据所确定的下环处环上节点MAC地址查询所述环上节点的二级转 发表,确定该二级转发表中是否存在与所确定的下环处环上节点MAC地址相 同的元素,如果存在,执行步骤c2;如果不存在,执行步骤d2;
c2、为所述数据报文封装环MAC头,之后从所查询到的与所述数据报文 下环处环上节点MAC地址相同的元素所在转发条目中的环上端口转发所述数
地址,目的MAC地址为所述数据报文下环处环上节点MAC地址;
d2、为所述数据报文封装环MAC头,之后从所述环上节点上的所有环上 端口转发所述数据报文;所述环MAC头中源MAC地址为所述环上节点的MAC 地址,目的地址为广插-地址。
进一步地,环上节点从环上端口收到数据报文后,确定该数据报文的环 MAC头中目的节点MAC地址是单播地址,并确定该环上节点不是该数据报文 下环处环上节点,所述根据数据报文的环MAC头查询二级转发表,确定除数 据报文上环处和下环处环上节点外,该数据报文在上环处至下环处各环上节点 上的输出端口 ,并乂人所确定的输出端口转发该数据"R文包括
a3、根据所接收到的数据报文的环MAC头查询收到数据报文的环上节点 的二级转发表,确定该二级转发表中是否存在与所该数据报文的环MAC头中 目的节点MAC地址相同的元素,如果存在,执行步骤b3;如果不存在,执行 步骤c3;
b3、从所查询到的元素所在转发条目中的环上端口转发所述数据报文; c3、从所述环上节点上的其余环上端口转发所述数据报文。 进一步地,环上节点从非环上端口收到数据报文后,确定所收到的数据报 文是本地报文,所述查询一级转发表,确定数据报文在下环处环上节点的输出端口 ,并从所确定的输出端口转发该数据报文包括
al、查询接收到数据报文的环上节点的一级转发表,确定该一级转发表的 目的字段中是否存在与所接收到的数据报文用户MAC头中目的MAC地址相同 的元素,如果存在,则执行步骤bl;如果不存在,则执行步骤cl;
bl、从所查询到的与所述用户MAC头中目的MAC地址相同的元素所在转 发条目中的端口转发所述数据报文;
cl、从所述环上节点上的其余非环上端口转发所述数据报文,所述其余非 环上端口是指所述环上节点上,除去接收该数据报文的非环上端口后所剩余的 非环上端口。
进一步地,环上节点从环上端口收到数据报文后,确定该数据报文的环 MAC头中目的节点MAC地址是单播地址,并确定该环上节点是该数据报文下 环处环上节点,所述查询一级转发表,确定数据"^艮文在下环处环上节点的输出 端口 ,从所确定的输出端口转发该数据报文包括
a4、剥去所述数据报文的环MAC头;
b4、查询接收到数据报文的环上节点的一级转发表,确定该一级转发表中 是否存在与所接收到的数据报文用户MAC头中目的MAC地址相同的元素,如 果存在,执行步骤c4;如果不存在,则执行步骤d4;
c4、从与所述用户MAC头中目的MAC地址相同的元素所在转发条目中的 端口转发所述数据报文;
d4、从所述环上节点的所有非环上端口转发所述数据才艮文。
进一步地,环上节点从环上端口收到数据报文后,确定该数据报文的环 MAC头中目的节点MAC地址是广播地址,该方法进一步包括
a5、从其余环上端口转发所述数据报文,并拷贝一份所述数据报文;
b5、通过查询接收到数据报文的环上节点的一级转发表,确定该一级转发 表的目的字段中是否存在与所接收到的数据报文用户MAC头中目的MAC地址 相同的元素,如果存在,则执行步骤c5;如果不存在,则执行步骤d5;
c5、剥去拷贝所得的数据报文的环MAC头后,从该元素对应的端口转发该数据报文;
d5、从所述环上节点的所有非环上端口转发所述数据报文。 本发明所提供的以太环网的数据报文转发方法,通过设置一级转发表和二 级转发表,能够减少以太环网转发数据时所需查询转发条目中的数量,进而减 少以太环网转发数据所需时间,加快以太环网转发数据的速率。本发明还具有 以下的优点和特点
本发明每隔设定刷新间隔时间,刷新一级转发表和二级转发表,防止了一 级转发表和二级转发表老化;且主备用路径发生切换时,刷新一级转发表和二 级转发表,能够及时将数据报文由主用路径切换至备用路径传输。


图la为无故障的情况下以太环网的结构示意图; 图lb为主用路径发生了故障后以太环网的结构示意图; 图2a为以太环网环上节点连接子网的网络架构示意图; 图2b为环上节点D的地址转发表;
图3为本发明实施例以太环网的数据报文转发方法的实现流程图; 图4为本发明环上节点D的一级转发表和二级转发表。
具体实施例方式
本发明的基本思想是设置一级转发表和二级转发表,通过查询二级转发 表确定除数据报文下环处环上节点外,该数据报文上环处至下环处各环上节点 上该数据报文的输出端口 ,只有数据报文在下环处环上节点的输出端口通过查 询一级转发表确定,而二级转发表的转发条目远小于一级转发表和现有转发方 法中的地址转发表的条目,这样,釆用本发明即能够减少以太环网转发数据时 所需查询转发条目中的数量,进而减少以太环网转发数据所需时间,加快以太 环网转发数据的速率。
本发明实施例以太环网的数据报文转发方法的实现流程如图3所示,包括以下步骤
步骤301:分别为环上每个节点预先配置一级转发表和二级转发表;其中, 一级转发表包括字段目的、目的站、端口, 二级转发表包括字段目的站、 端口。
其中, 一级转发表中端口字段的元素为非环上端口,表示本地交换报文的 输出端口或数据报文下环处输出端口 ; 二级转发表中端口字段的元素为环上端 口,数据报文通过环上端口在以太环网上传输; 一级转发表的关键字段为目的, 二级转发表的关键字^:为目的站。
步骤302A:环上节点从非环上端口收到数据报文,读取该数据报文的用户 MAC头中源MAC地址和目的MAC地址;所述数据报文从所述环上节点进入 到以太环网传输,因此,称该环上节点为该数据才艮文上环处环上节点。
步骤303A:才艮据所读取到的用户MAC头中源MAC地址,为所述环上节 点的一级转发表添加转发条目。
设置或刷新一级转发表后,均通过步骤303A、 303B添加转发条目;
具体添加方法包括
步骤3al、通过查询所述环上节点的一级转发表,确定该一级转发表的目 的字段中是否存在与所读取的用户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:查询所述环上节点的一级转发表,以确定该数据才艮文的输出 端口 ,并从所确定的输出端口转发该数据报文;
具体转发方法包括
步骤4al1、通过查询所述环上节点的一级转发表,确定该一级转发表的目 的字段中是否存在与所述用户MAC头中目的MAC地址相同的元素,如果存在, 即该一级转发表中存在含所述用户MAC头中的目的MAC地址的转发条目,则 执行步骤4al2;如果不存在,即目前该一级转发表中不存在含所述用户MAC 头中的目的MAC地址的转发条目,则执行步骤4al3;
步骤4al2、从所查询到的与所述用户MAC头中目的MAC地址相同的元 素所在转发条目中的端口转发所述数据报文;
步骤4al3、从所述环上节点上的其余非环上端口转发所述数据"^艮文,所述 其余非环上端口是指所述环上节点上,除去接收该数据报文的非环上端口后所 剩余的非环上端口;
步骤304A2:查询所述环上节点的一级转发表,确定数据报文下环处环上 节点的MAC地址;才艮据所确定的MAC地址查询所述环上节点的二级转发表, 以确定该数据报文的输出端口,并为所述数据报文封装环MAC头后转发该数 据报文;
具体转发方法包括
步骤4a21、查询一级转发表,确定该一级转发表的目的字段中是否存在与所述用户MAC头中目的MAC地址相同的元素,如果存在,则认为该元素所在 的转发条目的目的站即为数据^艮文下环处环上节点的MAC地址,执行步骤 4a24,如果不存在,执行步骤4a22;
步骤4a22、通过查询所述环上节点的二级转发表,确定该二级转发表中是 否存在与所述数据报文下环处环上节点MAC地址相同的元素,如果存在,执 行步骤4a23;如果不存在,即目前该二级转发表中不存在含所述数据报文下环 处环上节点MAC地址的转发条目,执行步骤4a24;所述数据报文下环处环上 节点是指与所述数据才艮文用户MAC头中目的MAC地址所对应的子网连接的环 上节点;
步骤4a23、为所述数据报文封装环MAC头,之后从所查询到的与所述数 据报文下环处环上节点MAC地址相同的元素所在转发条目中的环上端口转发
点MAC地址,目的MAC地址为所述数据报文下环处环上节点MAC地址;
步骤4a24、为所述数据报文封装环MAC头,之后从所述环上节点上的所 有环上端口转发所述数据报文;所述环MAC头中源MAC地址为所述环上节点 的MAC地址,目的地址为广4番地址。
本发明通过步骤304A 304A2完成环上节点从非环上端口收到的数据报 文的转发,而从步骤304A 304A2可见环上节点的非环上端口所收到的数据 报文不是本地交换纟艮文时,只需查该环上节点的二级转发表,即可确定该数据 报文的输出端口,而二级转发表的关键字段为目的站,即二级转发表的转发条 目中的数目仅为环上节点的数目减1的差,大大减少了所需查询转发条目中的 数量,进而減少以太环网转发数据所需时间。
步骤302B:环上节点从环上端口收到数据报文,读取所述数据报文的用户 MAC头中源MAC地址和目的MAC地址,以及环MAC头中源节点MAC地 址和目的节点MAC地址。
步骤303B:才艮据所读取到的用户MAC头中源MAC地址和环MAC头中 的源MAC地址,为 一级转发表添加转发条目;具体添加方法包括
步骤3bl、查询所述环上节点的一级转发表,确定一级转发表的目的字段 中是否存在与所述用户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地址,为二级转发表添 加转发条目;设置或刷新二级转发表后,通过本步骤添加转发条目;
具体添加方法包括
步骤4bl:查询所述环上节点的二级转发表,确定所述二级转发表的目的 站字段中是否存在与所读取到的环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头后,查询所述环上节点的一 级转发表,以确定该数据报文的输出端口,并从所确定的输出端口转发该数据 报文;
具体转发方法包括
步骤5bl1、通过查询所述环上节点的一级转发表,确定该一级转发表中是 否存在与所述用户MAC头中目的MAC地址相同的元素,如果存在,执行步骤 5bl2;如果不存在,不能确定所述环上节点哪个非环上端口是所述数据报文的 下环处端口,则执行步骤5bl3;
步骤5bl2、从与所述用户MAC头中目的MAC地址相同的元素所在转发 条目中的端口转发所述数据报文;
步骤5bl3、从所述环上节点的所有非环上端口转发所述数据报文。
步骤305B12:才艮据所述环MAC头中目的节点MAC地址查询所述环上节 点的二级转发表,以确定该数据报文的输出端口,并从所确定的输出端口转发 该数据报文;
具体转发方法包括通过查询所述环上节点的二级转发表,确定该二级转发表中是否存在与所
述环MAC头中目的节点MAC地址相同的元素,如果存在,从所查询到的元素 所在转发条目中的环上端口转发所述数据净艮文;如果不存在,不能确定所述环 上节点哪个环上端口是所述数据报文的输出端口 ,则从所述环上节点上的其余 环上端口转发所述数据^R文;所述其余环上端口指所述环上节点上,除去接收 该数据报文的环上端口后所剩余的环上端口 。
步骤305B2:从其余环上端口转发所述数据报文,并拷贝一份所述数据报 文,查询所述环上节点的一级转发表,根据查询结果确定该数据报文的输出端 口,并从所确定的输出端口转发该数据报文;
具体确定输出该数据"t艮文的非环上端口的方法包括
步骤5b21、通过查询所述一级转发表,确定该一级转发表的目的字段中是 否存在与所述用户MAC头中目的MAC地址相同的元素,如果存在,则执行步 骤5b22;如果不存在,并不能排除所述环上节点的非环上端口是所述数据报文 的下环处端口的可能,则执行步骤5b23;
步骤5b22、剥去拷贝所得的数据报文的环MAC头后,从该元素对应的端 口转发该数据4艮文;
步骤5b23、 >^人所述环上节点的所有非环上端口转发所述数据"^艮文。
本发明通过步骤305B ~ 305B2完成了环上节点从环上端口收到的数据报文 的转发,从步骤305B-305B2可见,所述环上节点不是所收到数据报文的下环 处环上节点时,只需查该环上节点的二级转发表,即可确定该数据报文的输出 端口,大大减少了所需查询转发条目中的数量,进而减少以太环网转发数据所 需时间。
为了防止一级转发表和二级转发表老化,以及在主备用路径切换后,能够 及时将数据报文由主用路径切换至备用路径传输,本发明实施例还包括以下步 骤
每隔设定刷新间隔时间,各环上节点刷新自身的一级转发表和二级转发表; 所述设定刷新间隔时间的长短可与现有以太环网数据转发方法中地址转发表的刷新间隔时间相同;本步骤防止了一级转发表和二级转发表老化。
各环上节点接收到控制节点发送来的主备用路径切换协议报文,分别刷新
自身的一级转发表和二级转发表;本发明通过本步骤实现主备用路径切换后,
及时将数据报文由主用路径切换至备用路径传输。
以下以在以太环网上传输分组报文XX为例,具体说明本发明实施例转发
数据报文的流程。
如图2a所示,环上节点D从非环上端口 d3收到去往子网B0的分组才艮文
地址,与环上节点D的MAC地址不相同,确定所述数据报文不是本地报文, 接着通过查询环上节点D的二级转发表,找到分组^^艮文XX下环处环上节点B 的MAC地址所在转发条目〈B, d2〉中的环上端口d2,环上端口d2即为分组 报文XX在环上节点D上的输出端口 ,为分组才艮文XX封装环MAC头后通过 端口 d2转发分组报文XX至环上节点C;环上节点C从环上端口 cl收到分组 报文XX,由于分组报文XX的环MAC头中目的MAC地址是单播地址,且环 上节点C不是分组4艮文XX的下环处环上节点,因此,通过查询环上节点C的 二级转发表,找到分组报文XX下环处环上节点B的MAC地址所在转发条目 〈B, c2〉中的环上端口 c2,端口 c2即为分组报文XX在环上节点C上的输出 端口,通过端口 c2转发分组报文XX至环上节点B;环上节点B从环上端口 bl收到分组报文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+5xl0"个转发条目,远小于采用现有转发方法最 多寻查询的5xl(T个转发条目,大大减少了以太环网转发数据所需时间。
以上所述,仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。
权利要求
1、一种以太环网的数据报文转发方法,其特征在于,分别为环上每个节点配置一级转发表和二级转发表,该方法包括以下步骤查询一级转发表,确定数据报文下环处环上节点的MAC地址;根据所确定的下环处环上节点MAC地址查询二级转发表,确定该数据报文在上环处环上节点的输出端口;为数据报文封装环MAC头,从所确定的输出端口转发该数据报文;根据数据报文的环MAC头查询二级转发表,确定除数据报文上环处和下环处环上节点外,该数据报文在上环处至下环处各环上节点上的输出端口,并从所确定的输出端口转发该数据报文;查询一级转发表,确定数据报文在下环处环上节点的输出端口,从所确定的输出端口转发该数据报文。
2、 根据权利要求1所述以太环网的数据报文转发方法,其特征在于,该方 法进一步包括每隔设定刷新间隔时间,各环上节点刷新自身的一级转发表和二级转发表。
3、 根据权利要求1所述以太环网的数据报文转发方法,其特征在于,该方 法进一步包括各环上节点接收到控制节点发送来的主备用路径切换协议报文,分别刷新 自身的一级转发表和二级转发表。
4、 根据权利要求1所述以太环网的数据报文转发方法,其特征在于,该方 法进一步包括根据所述数据报文的用户MAC头中源MAC地址、或所述数据报文用户 MAC头和环MAC头中的源MAC地址,为所述环上节点的一级转发表添加转 发条目。
5、 根据权利要求1所述以太环网的数据报文转发方法,其特征在于,该方 法进一步包括根据所述数据报文的环MAC头中源MAC地址,为二级转发表添加转发条S。
6、 根据权利要求1至5任一项所述以太环网的数据报文转发方法,其特征 在于,环上节点从非环上端口收到数据报文后,确定所收到的数据报文不是本 地报文,所述查询一级转发表,确定数据报文下环处环上节点的MAC地址; 根据所确定的下环处环上节点MAC地址查询二级转发表,定该数据报文在上 环处环上节点的输出端口;为数据报文封装环MAC头,从所确定的输出端口 转发该数据报文包括a2、查询所述环上节点的一级转发表,确定该一级转发表的目的字^a中是 否存在与所收到的数据"^艮文用户MAC头中目的MAC地址相同的元素,如果存 在,则认为该元素所在的转发条目的目的站即为数据报文下环处环上节点的 MAC地址,扭J于步骤b2,如果不存在,执行步骤d2;b2、 一艮据所确定的下环处环上节点MAC地址查询所述环上节点的二级转 发表,确定该二级转发表中是否存在与所确定的下环处环上节点MAC地址相 同的元素,如果存在,执行步骤c2;如果不存在,执行步骤d2;c2、为所述数据报文封装环MAC头,之后从所查询到的与所述数据报文 下环处环上节点MAC地址相同的元素所在转发条目中的环上端口转发所述数 据报文;所述环MAC头中的源MAC地址为所述数据报文上环处环上节点MAC 地址,目的MAC地址为所述数据报文下环处环上节点MAC地址;d2、为所述数据报文封装环MAC头,之后从所述环上节点上的所有环上 端口转发所述数据报文;所述环MAC头中源MAC地址为所述环上节点的MAC 地址,目的纟也址为广插J也址。
7、 根据权利要求1至5任一项所述以太环网的数据报文转发方法,其特征 在于,环上节点从环上端口收到数据报文后,确定该数据报文的环MAC头中 目的节点MAC地址是单播地址,并确定该环上节点不是该数据报文下环处环 上节点,所述根据数据报文的环MAC头查询二级转发表,确定除数据报文上 环处和下环处环上节点外,该数据报文在上环处至下环处各环上节点上的输出端口,并从所确定的输出端口转发该数据报文包括a3、根据所接收到的数据报文的环MAC头查询收到凄t据报文的环上节点 的二级转发表,确定该二级转发表中是否存在与所该数据^t艮文的环MAC头中 目的节点MAC地址相同的元素,如果存在,执行步骤b3;如果不存在,执行 步骤c3;b3、从所查询到的元素所在转发条目中的环上端口转发所述数据报文; c3、从所述环上节点上的其余环上端口转发所述数据报文。
8、 根据权利要求1至5任一项所述以太环网的数据报文转发方法,其特征 在于,环上节点从非环上端口收到数据报文后,确定所收到的数据报文是本地 报文,所述查询一级转发表,确定数据报文在下环处环上节点的输出端口,并 从所确定的输出端口转发该数据报文包括al、查询接收到数据报文的环上节点的一级转发表,确定该一级转发表的 目的字段中是否存在与所接收到的数据报文用户MAC头中目的MAC地址相同 的元素,如果存在,则执行步骤bl;如果不存在,则执行步骤cl;bl、从所查询到的与所述用户MAC头中目的MAC地址相同的元素所在转 发条目中的端口转发所述数据报文;cl、从所述环上节点上的其余非环上端口转发所述数据报文,所述其余非 环上端口是指所述环上节点上,除去接收该数据报文的非环上端口后所剩余的 非环上端口。
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、从所述环上节点的所有非环上端口转发所述数据报文。
全文摘要
本发明公开了一种以太环网的数据报文转发方法,包括步骤分别为环上每个节点配置一级转发表和二级转发表;确定数据报文在其上环处环上节点上的输出端口,为数据报文封装环MAC头,从所确定的输出端口转发该数据报文;根据数据报文的环MAC头查询二级转发表,确定除数据报文上环处和下环处环上节点外,该数据报文在其余环上节点上的输出端口,从所确定的输出端口转发该数据报文;查询一级转发表,确定数据报文在下环处环上节点的输出端口,从所确定的输出端口转发该数据报文。采用本发明所述的方法,能够减少以太环网转发数据所需时间,加快以太环网转发数据的速率。
文档编号H04L12/56GK101425979SQ20081023944
公开日2009年5月6日 申请日期2008年12月10日 优先权日2008年12月10日
发明者吴少勇, 斌 王 申请人:中兴通讯股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1