一种路由信息的处理方法及装置制造方法及图纸

技术编号:27833394 阅读:19 留言:0更新日期:2021-03-30 11:47
本发明专利技术公开了一种路由信息的处理方法及装置,其中方法为:根据待存储路由信息包括的目标头前缀和目标掩码长度确定目标尾前缀;将所述目标头前缀和所述目标尾前缀存储至所述平衡多叉树中的第一前缀位置和第二前缀位置;将所述目标掩码长度分别存储至所述第一掩码长度组中的第一掩码长度位置及所述第二掩码长度组中的第二掩码长度位置;设置所述第一掩码长度位置的所述目标掩码长度所绑定的指示信息为头指示信息、所述第二掩码长度位置的所述目标掩码长度所绑定的指示信息为尾指示信息;确定所述目标头前缀和所述目标尾前缀所绑定的指示信息及转发信息。定的指示信息及转发信息。定的指示信息及转发信息。

【技术实现步骤摘要】
一种路由信息的处理方法及装置


[0001]本专利技术涉及通信
,尤其涉及一种路由信息的处理方法及装置。

技术介绍

[0002]网络中数据包的转发要依据路由信息,路由信息指示了对应的某个网络地址的数据包需要如何转发。举例来说,一个数据包到达路由器后,路由器会根据数据包中的网络地址,匹配相应的路由信息,并根据匹配到的路由信息进行转发。
[0003]目前的路由信息处理方法是,路由器中的路由信息是以离散路由的方式存储的,即一个网络地址与一条路由信息相对应。在查询时,是基于对网络地址的精确命中,得到该网络地址对应的路由信息。
[0004]由于上述路由信息处理方式中,一个网络地址与一条路由信息相对应,会降低路由器的存储空间利用率。

技术实现思路

[0005]本专利技术提供一种路由信息的处理方法及装置,解决了现有技术中路由器的存储空间利用率较低的问题。
[0006]第一方面,本专利技术提供一种路由信息的处理方法,包括:
[0007]根据待存储路由信息包括的目标头前缀和目标掩码长度确定目标尾前缀;
[0008]根据所述目标头前缀、所述目标尾前缀与平衡多叉树中各前缀的大小关系,分别将所述目标头前缀和所述目标尾前缀存储至所述平衡多叉树中的第一前缀位置和第二前缀位置;
[0009]根据所述目标掩码长度与第一掩码长度组及第二掩码长度组中各掩码长度的大小关系,将所述目标掩码长度分别存储至所述第一掩码长度组中的第一掩码长度位置及所述第二掩码长度组中的第二掩码长度位置;所述第一掩码长度组、所述第二掩码长度组分别为所述第一前缀位置、所述第二前缀位置在掩码链中所指向的掩码长度组;
[0010]设置所述第一掩码长度位置的所述目标掩码长度所绑定的指示信息为头指示信息、所述第二掩码长度位置的所述目标掩码长度所绑定的指示信息为尾指示信息;并将所述待存储路由信息包括的目标转发信息分别与所述第一掩码长度位置及所述第二掩码长度位置的所述目标掩码长度绑定;
[0011]根据所述掩码链中各掩码长度所绑定的指示信息及转发信息,确定所述目标头前缀和所述目标尾前缀所绑定的指示信息及转发信息。
[0012]上述方法中,获取待存储路由信息,可以确定出目标尾前缀,并通过平衡多叉树,分别将所述目标头前缀、所述目标尾前缀存储至第一前缀位置和第二前缀位置,并且将所述目标掩码长度存储至所述第一掩码长度组中的第一掩码长度位置及所述第二掩码长度组中的第二掩码长度位置,并设置相应绑定的指示信息和转发信息,从而目标头前缀至目标尾前缀之间的网络地址所对应的待存储路由信息只有一条,即为目标头前缀和目标尾前
缀所绑定的存储路由信息,也就是说,每一条路由信息都对应多个网络地址,从而提升了存储空间利用率。
[0013]可选的,还包括:
[0014]获取待查找前缀;
[0015]确定所述平衡多叉树中是否存在所述待查找前缀;
[0016]若确定所述平衡多叉树中存在所述待查找前缀,则将所述待查找前缀所绑定的指示信息及转发信息作为所述待查找前缀命中的指示信息及转发信息。
[0017]上述方法中,当所述平衡多叉树中存在所述待查找前缀时,直接将所述待查找前缀所绑定的指示信息及转发信息作为所述待查找前缀命中的指示信息及转发信息。
[0018]可选的,若所述平衡多叉树包括第一平衡多叉树和第二平衡多叉树,则所述根据所述目标头前缀、所述目标尾前缀与平衡多叉树中各前缀的大小关系,分别将所述目标头前缀和所述目标尾前缀存储至所述平衡多叉树中的第一前缀位置和第二前缀位置,包括:
[0019]将所述目标头前缀的前N位作为第一头子前缀、所述目标头前缀中除去前N后之外的后M位作为第二头子前缀、所述目标尾前缀的前N位作为第一尾子前缀、所述目标尾前缀中除去前N后之外的后M位作为第二尾子前缀;所述第一头子前缀指向所述第二头子前缀,所述第一尾子前缀指向所述第二尾子前缀;
[0020]根据所述第一头子前缀、所述第一尾子前缀与所述第一平衡多叉树中各前缀的大小关系,将所述第一头子前缀存储至所述第一平衡多叉树中所述第一前缀位置的第一子前缀位置,将所述第一尾子前缀存储至所述第一平衡多叉树中所述第二前缀位置的第二子前缀位置;
[0021]根据所述第二头子前缀、所述第二尾子前缀与所述第二平衡多叉树中各前缀的大小关系,将所述第二头子前缀存储至所述第二平衡多叉树中所述第二前缀位置的第三子前缀位置,将所述第二尾子前缀存储至所述第二平衡多叉树中所述第二前缀位置的第四子前缀位置。
[0022]上述方法中,通过两棵平衡二叉树分别存储前缀的头N位和后M位,通过分层存储的方式在每棵平衡多叉树中只关注相应位数的数据,管理更加方便,网络地址的前N位以及后M位可能在不同场景下有特定的意义,从而上述方法可以适配不同场景下路由信息的存储。
[0023]可选的,所述根据所述掩码链中各掩码长度所绑定的指示信息及转发信息,确定所述目标头前缀和所述目标尾前缀所绑定的指示信息及转发信息,包括:
[0024]若所述目标掩码长度为所述第一掩码长度组和\或所述第二掩码长度组中最大的掩码长度,则将所述目标掩码长度所绑定的指示信息及转发信息作为所述第二头子前缀和所述第二尾子前缀所绑定的指示信息及转发信息;
[0025]若所述第二头子前缀为所述第一头子前缀所指向的最大子前缀,则将所述第二头子前缀所绑定的指示信息及转发信息作为所述第一头子前缀所绑定的指示信息及转发信息;若所述第二尾子前缀为所述第一尾子前缀所指向的最大子前缀,则将所述第二尾子前缀所绑定的指示信息及转发信息作为所述第一尾子前缀所绑定的指示信息及转发信息。
[0026]上述方式中,若所述目标掩码长度为所述第一掩码长度组和\或所述第二掩码长度组中最大的掩码长度,说明所述目标掩码长度是在所述第一掩码长度组和\或所述第二
掩码长度组中确定的最优选择,所述目标掩码长度所确定的范围没有更加细分的情况,所述第二头子前缀和所述第二尾子前缀同理,不需要继续遍历,便能获取到最优的指示信息及转发信息。
[0027]可选的,还包括:
[0028]将获取的待查找前缀的前N位作为第一子待查找前缀;
[0029]获取所述第一平衡多叉树中小于或等于所述第一子待查找前缀的最大子前缀,得到第一目标子前缀;
[0030]若确定所述第一目标子前缀所绑定的指示信息为尾指示信息且所述第一目标子前缀小于所述第一子待查找前缀,则将所述第一目标子前缀所绑定的转发信息作为所述待查找前缀命中的转发信息。
[0031]上述方式下,满足上述条件时,说明所述第一子待查找前缀位于所述第一目标子前缀和下一个大于所述第一子待查找前缀的子前缀之间,而这个范围没有更细分的范围,因此,大于所述第一子待查找前缀的子前缀范围所对应的转发信息,也就是所述第一目标子前缀所绑定的转发信息,就是所述待查找前缀命中的转发信息,从而无需逐个查找,提升了查找效率。
[0032]可选的,若所述第一目标子前缀等于所述本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种路由信息的处理方法,其特征在于,包括:根据待存储路由信息包括的目标头前缀和目标掩码长度确定目标尾前缀;根据所述目标头前缀、所述目标尾前缀与平衡多叉树中各前缀的大小关系,分别将所述目标头前缀和所述目标尾前缀存储至所述平衡多叉树中的第一前缀位置和第二前缀位置;根据所述目标掩码长度与第一掩码长度组及第二掩码长度组中各掩码长度的大小关系,将所述目标掩码长度分别存储至所述第一掩码长度组中的第一掩码长度位置及所述第二掩码长度组中的第二掩码长度位置;所述第一掩码长度组、所述第二掩码长度组分别为所述第一前缀位置、所述第二前缀位置在掩码链中所指向的掩码长度组;设置所述第一掩码长度位置的所述目标掩码长度所绑定的指示信息为头指示信息、所述第二掩码长度位置的所述目标掩码长度所绑定的指示信息为尾指示信息;并将所述待存储路由信息包括的目标转发信息分别与所述第一掩码长度位置及所述第二掩码长度位置的所述目标掩码长度绑定;根据所述掩码链中各掩码长度所绑定的指示信息及转发信息,确定所述目标头前缀和所述目标尾前缀所绑定的指示信息及转发信息。2.如权利要求1所述的方法,其特征在于,还包括:获取待查找前缀;确定所述平衡多叉树中是否存在所述待查找前缀;若确定所述平衡多叉树中存在所述待查找前缀,则将所述待查找前缀所绑定的指示信息及转发信息作为所述待查找前缀命中的指示信息及转发信息。3.如权利要求1所述的方法,其特征在于,若所述平衡多叉树包括第一平衡多叉树和第二平衡多叉树,则所述根据所述目标头前缀、所述目标尾前缀与平衡多叉树中各前缀的大小关系,分别将所述目标头前缀和所述目标尾前缀存储至所述平衡多叉树中的第一前缀位置和第二前缀位置,包括:将所述目标头前缀的前N位作为第一头子前缀、所述目标头前缀中除去前N后之外的后M位作为第二头子前缀、所述目标尾前缀的前N位作为第一尾子前缀、所述目标尾前缀中除去前N后之外的后M位作为第二尾子前缀;所述第一头子前缀指向所述第二头子前缀,所述第一尾子前缀指向所述第二尾子前缀;根据所述第一头子前缀、所述第一尾子前缀与所述第一平衡多叉树中各前缀的大小关系,将所述第一头子前缀存储至所述第一平衡多叉树中所述第一前缀位置的第一子前缀位置,将所述第一尾子前缀存储至所述第一平衡多叉树中所述第二前缀位置的第二子前缀位置;根据所述第二头子前缀、所述第二尾子前缀与所述第二平衡多叉树中各前缀的大小关系,将所述第二头子前缀存储至所述第二平衡多叉树中所述第二前缀位置的第三子前缀位置,将所述第二尾子前缀存储至所述第二平衡多叉树中所述第二前缀位置的第四子前缀位置。4.如权利要求3所述的方法,其特征在于,所述根据所述掩码链中各掩码长度所绑定的指示信息及转发信息,确定所述目标头前缀和所述目标尾前缀所绑定的指示信息及转发信息,包括:
若所述目标掩码长度为所述第一掩码长度组和\或所述第二掩码长度组中最大的掩码长度,则将所述目标掩码长度所绑定的指示信息及转发信息作为所述第二头子前缀和所述第二尾子前缀所绑定的指示信息及转发信息;若所述第...

【专利技术属性】
技术研发人员:郭淳
申请(专利权)人:锐捷网络股份有限公司
类型:发明
国别省市:

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

1