一种报文处理方法、装置、转发设备和存储介质制造方法及图纸

技术编号:34982077 阅读:15 留言:0更新日期:2022-09-21 14:25
本发明专利技术实施例提供了一种报文处理方法、装置、转发设备和存储介质,涉及网络技术领域,方法包括:获取待处理报文中的目的地址;按照目的地址,在预先基于路由表项构建的目标物理树中查询,确定当前待查询的节点的节点类型;若当前待查询的节点为第一类型,则获取转发参考信息;若为第二类型,则确定第一剩余前缀部分,并基于第一剩余前缀部分,获取转发参考信息;若为第三类型,则确定第二剩余前缀部分,并基于第二剩余前缀部分,确定出当前待查询的节点,返回执行按照目的地址,在预先基于路由表项构建的目标物理树中查询,确定当前待查询的节点的节点类型的步骤;基于转发参考信息对待处理报文进行转发。能够降低存储成本。能够降低存储成本。能够降低存储成本。

【技术实现步骤摘要】
一种报文处理方法、装置、转发设备和存储介质


[0001]本专利技术涉及网络
,特别是涉及一种报文处理方法、装置、转发设备和存储介质。

技术介绍

[0002]相关技术中,可以通过路由设备完成网络中报文的转发工作。路由设备可以为高端路由器、核心路由器、三层交换机等。例如,路由设备可以根据报文的目的IP(Internet Protocol,网际协议)地址,按照最长前缀匹配(Longest Prefix Matching,LPM)方式,查找路由表项,进而,可以根据查找到的路由表项对报文进行转发。
[0003]然而,随着互联网的快速发展和网络通讯技术的不断进步,尤其是IPv6(Internet Protocol version 6,网际协议第6版)协议的应用,使得IP地址的长度以及数量大幅度膨胀,也就会增大存储成本。因此,亟需一种方法,以降低存储成本。

技术实现思路

[0004]本专利技术实施例的目的在于提供一种报文处理方法、装置、转发设备和存储介质,以降低存储成本。具体技术方案如下:本专利技术实施例的第一方面,首先提供了一种报文处理方法,所述方法应用于转发设备,所述方法包括:获取待处理报文中携带的目的地址;按照所述目的地址,在预先基于路由表项构建的目标物理树中查询,确定当前待查询的节点的节点类型;其中,所述目标物理树中第一类型的节点记录有该节点的分支前缀对应的转发参考信息;一个节点的分支前缀包含在所述目标物理树中根节点与该节点之间的路径表征的路径前缀;所述目标物理树中第二类型的节点记录有该节点的节点前缀,以及该节点的节点前缀对应的参考转发信息;一个节点的节点前缀表示在该节点处进行查询时使用的前缀;所述目标物理树中第三类型的节点记录有该节点与子节点之间的路径表征的路径前缀;若当前待查询的节点为第一类型,则获取当前待查询的节点中记录的转发参考信息;若当前待查询的节点为第二类型,则确定所述目的地址与当前待查询的节点的分支前缀匹配后的第一剩余前缀部分,并获取当前待查询的节点中记录的与所述第一剩余前缀部分相匹配的节点前缀对应的转发参考信息;若当前待查询的节点为第三类型,则确定所述目的地址与当前待查询的节点的分支前缀匹配后的第二剩余前缀部分,以及确定当前待查询的节点中记录的与所述第二剩余前缀部分相匹配的路径前缀,并将确定出的路径前缀对应的子节点作为当前待查询的节点,返回执行所述按照所述目的地址,在预先基于路由表项构建的目标物理树中查询,确定当前待查询的节点的节点类型的步骤;基于获取到的转发参考信息对所述待处理报文进行转发。
[0005]在一些实施例中,在所述确定当前待查询的节点中记录的与所述第二剩余前缀部分相匹配的路径前缀之前,所述方法还包括:若当前待查询的节点中记录有第一优化前缀,则按照最长前缀匹配方式,判断所述第一优化前缀中是否存在与所述目的地址相匹配的前
缀;其中,所述第一优化前缀包含当前待查询的节点对应的子树中指定节点的分支前缀;当前待查询的节点对应的子树表示:所述目标物理树中以当前待查询的节点为根节点的部分;所述确定当前待查询的节点中记录的与所述第二剩余前缀部分相匹配的路径前缀,包括:若所述第一优化前缀中不存在与所述目的地址相匹配的前缀,则确定当前待查询的节点中记录的与所述第二剩余前缀部分相匹配的路径前缀;所述方法还包括:若所述第一优化前缀中存在与所述目的地址相匹配的前缀,则将所述第一优化前缀中与所述第二剩余前缀部分相匹配的前缀对应的节点作为当前待查询的节点,并返回执行所述按照所述目的地址,在预先基于路由表项构建的目标物理树中查询,确定当前待查询的节点的节点类型的步骤。
[0006]在一些实施例中,所述目标物理树中的节点为基于预设结构的平衡多路查找树Btree生成的。
[0007]在一些实施例中,所述目标物理树包含业务存储空间中记录的第一物理树;所述方法还包括:若基于当前的第一物理树未查询到所述目的地址对应的转发参考信息,则获取待添加路由表项;其中,所述待添加路由表项中记录有与所述目的地址相匹配的待添加前缀和对应的待添加转发参考信息;基于所述待添加前缀和所述预设结构的Btree的维度,确定所述待添加路由表项在当前的第一物理树中对应的节点位置;判断所述节点位置处是否已存在节点;若所述节点位置不存在节点,则在所述节点位置处添加所述待添加路由表项对应的节点,以更新当前的第一物理树;若所述节点位置已存在节点,则基于该节点的节点类型,判断是否能够基于该节点记录所述待添加路由表项;若基于该节点无法记录所述待添加路由表项,则对该节点的节点类型进行转换,并基于该节点记录所述待添加路由表项,以更新当前的第一物理树。
[0008]在一些实施例中,所述确定所述待添加路由表项在当前的第一物理树中对应的节点位置,包括:按照最长前缀匹配方式,从当前的第一物理树中确定所述第三类型的节点,作为第一节点;其中,所述第一节点的分支前缀与所述待添加前缀相匹配;确定所述待添加前缀与所述第一节点的分支前缀匹配后的剩余前缀部分,作为第三剩余前缀部分;在所述第一节点对应的各层级的位图Bitmap中,确定与所述第三剩余前缀部分相匹配的位图;基于所述第三剩余前缀部分,在确定出的位图中进行位图寻址,得到第一位图位置;基于所述第三剩余前缀部分在进行位图寻址后的第四剩余前缀部分,在所述第一位图位置对应的扩展空间中进行空间寻址,得到所述待添加路由表项在当前的第一物理树中对应的节点位置。
[0009]在一些实施例中,所述对该节点的节点类型进行转换,并基于该节点记录所述待添加路由表项,以更新当前的第一物理树,包括:若该节点为所述第一类型,则基于所述待添加前缀与该节点的分支前缀匹配后的剩余前缀部分,判断是否能够基于所述第二类型的节点记录所述待添加路由表项;若基于所述第二类型的节点能够记录所述待添加路由表项,则将该节点转换为所述第二类型,并在转换后的节点中记录转换前该节点中的转发参考信息,以及所述待添加转发参考信息;若基于所述第二类型的节点无法记录所述待添加路由表项,则将该节点转换为所述第三类型;基于所述待添加前缀与该节点的分支前缀匹配后的剩余前缀部分,判断是否能够基于所述第二类型的节点记录所述待添加路由表项;若基于所述第二类型的节点能够记录所述待添加路由表项,基于所述待添加前缀和所述预
设结构的Btree的维度,确定所述待添加路由表项在当前的第一物理树中对应的节点位置,并执行所述在所述节点位置处添加所述待添加路由表项对应的节点,以更新当前的第一物理树的步骤;若该节点为所述第二类型,则将该节点转换为所述第三类型;基于所述待添加前缀与该节点的分支前缀匹配后的剩余前缀部分,判断是否能够基于所述第二类型的节点记录所述待添加路由表项;若基于所述第二类型的节点能够记录所述待添加路由表项,基于所述待添加前缀和所述预设结构的Btree的维度,确定所述待添加路由表项在当前的第一物理树中对应的节点位置,并执行所述在所述节点位置处添加所述待添加路由表项对应的节点,以更新当前的第一物理树的步骤。
[0010]在一些实施例中,所述在所述节点位置处添加所述待添加路由表本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种报文处理方法,其特征在于,所述方法应用于转发设备,所述方法包括:获取待处理报文中携带的目的地址;按照所述目的地址,在预先基于路由表项构建的目标物理树中查询,确定当前待查询的节点的节点类型;其中,所述目标物理树中第一类型的节点记录有该节点的分支前缀对应的转发参考信息;一个节点的分支前缀包含在所述目标物理树中根节点与该节点之间的路径表征的路径前缀;所述目标物理树中第二类型的节点记录有该节点的节点前缀,以及该节点的节点前缀对应的参考转发信息;一个节点的节点前缀表示在该节点处进行查询时使用的前缀;所述目标物理树中第三类型的节点记录有该节点与子节点之间的路径表征的路径前缀;若当前待查询的节点为第一类型,则获取当前待查询的节点中记录的转发参考信息;若当前待查询的节点为第二类型,则确定所述目的地址与当前待查询的节点的分支前缀匹配后的第一剩余前缀部分,并获取当前待查询的节点中记录的与所述第一剩余前缀部分相匹配的节点前缀对应的转发参考信息;若当前待查询的节点为第三类型,则确定所述目的地址与当前待查询的节点的分支前缀匹配后的第二剩余前缀部分,以及确定当前待查询的节点中记录的与所述第二剩余前缀部分相匹配的路径前缀,并将确定出的路径前缀对应的子节点作为当前待查询的节点,返回执行所述按照所述目的地址,在预先基于路由表项构建的目标物理树中查询,确定当前待查询的节点的节点类型的步骤;基于获取到的转发参考信息对所述待处理报文进行转发。2.根据权利要求1所述的方法,其特征在于,在所述确定当前待查询的节点中记录的与所述第二剩余前缀部分相匹配的路径前缀之前,所述方法还包括:若当前待查询的节点中记录有第一优化前缀,则按照最长前缀匹配方式,判断所述第一优化前缀中是否存在与所述目的地址相匹配的前缀;其中,所述第一优化前缀包含当前待查询的节点对应的子树中指定节点的分支前缀;当前待查询的节点对应的子树表示:所述目标物理树中以当前待查询的节点为根节点的部分;所述确定当前待查询的节点中记录的与所述第二剩余前缀部分相匹配的路径前缀,包括:若所述第一优化前缀中不存在与所述目的地址相匹配的前缀,则确定当前待查询的节点中记录的与所述第二剩余前缀部分相匹配的路径前缀;所述方法还包括:若所述第一优化前缀中存在与所述目的地址相匹配的前缀,则将所述第一优化前缀中与所述第二剩余前缀部分相匹配的前缀对应的节点作为当前待查询的节点,并返回执行所述按照所述目的地址,在预先基于路由表项构建的目标物理树中查询,确定当前待查询的节点的节点类型的步骤。3.根据权利要求1所述的方法,其特征在于,所述目标物理树中的节点为基于预设结构的平衡多路查找树Btree生成的。4.根据权利要求3所述的方法,其特征在于,所述目标物理树包含业务存储空间中记录的第一物理树;所述方法还包括:
若基于当前的第一物理树未查询到所述目的地址对应的转发参考信息,则获取待添加路由表项;其中,所述待添加路由表项中记录有与所述目的地址相匹配的待添加前缀和对应的待添加转发参考信息;基于所述待添加前缀和所述预设结构的Btree的维度,确定所述待添加路由表项在当前的第一物理树中对应的节点位置;判断所述节点位置处是否已存在节点;若所述节点位置不存在节点,则在所述节点位置处添加所述待添加路由表项对应的节点,以更新当前的第一物理树;若所述节点位置已存在节点,则基于该节点的节点类型,判断是否能够基于该节点记录所述待添加路由表项;若基于该节点无法记录所述待添加路由表项,则对该节点的节点类型进行转换,并基于该节点记录所述待添加路由表项,以更新当前的第一物理树。5.根据权利要求4所述的方法,其特征在于,所述确定所述待添加路由表项在当前的第一物理树中对应的节点位置,包括:按照最长前缀匹配方式,从当前的第一物理树中确定所述第三类型的节点,作为第一节点;其中,所述第一节点的分支前缀与所述待添加前缀相匹配;确定所述待添加前缀与所述第一节点的分支前缀匹配后的剩余前缀部分,作为第三剩余前缀部分;在所述第一节点对应的各层级的位图Bitmap中,确定与所述第三剩余前缀部分相匹配的位图;基于所述第三剩余前缀部分,在确定出的位图中进行位图寻址,得到第一位图位置;基于所述第三剩余前缀部分在进行位图寻址后的第四剩余前缀部分,在所述第一位图位置对应的扩展空间中进行空间寻址,得到所述待添加路由表项在当前的第一物理树中对应的节点位置。6.根据权利要求4所述的方法,其特征在于,所述对该节点的节点类型进行转换,并基于该节点记录所述待添加路由表项,以更新当前的第一物理树,包括:若该节点为所述第一类型,则基于所述待添加前缀与该节点的分支前缀匹配后的剩余前缀部分,判断是否能够基于所述第二类型的节点记录所述待添加路由表项;若基于所述第二类型的节点能够记录所述待添加路由表项,则将该节点转换为所述第二类型,并在转换后的节点中记录转换前该节点中的转发参考信息,以及所述待添加转发参考信息;若基于所述第二类型的节点无法记录所述待添加路由表项,则将该节点转换为所述第三类型;基于所述待添加前缀与该节点的分支前缀匹配后的剩余前缀部分,判断是否能够基于所述第二类型的节点记录所述待添加路由表项;若基于所述第二类型的节点能够记录所述待添加路由表项,基于所述待添加前缀和所述预设结构的Btree的维度,确定所述待添加路由表项在当前的第一物理树中对应的节点位置,并执行所述在所述节点位置处添加所述待添加路由表项对应的节点,以更新当前的第一物理树的步骤;若该节点为所述第二类型,则将该节点转换为所述第三类型;基于所述待添加前缀与该节点的分支前缀匹配后的剩余前缀部分,判断是否能够基于所述第二类型的节点记录所述待添加路由表项;若基于所述第二类型的节点能够记录所述待添加路由表项,基于所述
待添加前缀和所述预设结构的Btree的维度,确定所述待添加路由表项在当前的第一物理树中对应的节点位置,并执行所述在所述节点位置处添加所述待添加路由表项对应的节点,以更新当前的第一物理树的步骤。7.根据权利要求6所述的方法,其特征在于,所述在所述节点位置处添加所述待添加路由表项对应的节点,包括:若所述节点位置处对应的分支前缀与所述待添...

【专利技术属性】
技术研发人员:文超孙向东
申请(专利权)人:新华三半导体技术有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1