【技术实现步骤摘要】
本专利技术涉及数据网络通信技术,尤其涉及一种路由表的维护方法和装置。
技术介绍
随着互联网协议第六版(IPV6,InternetProtocolVersion6)网络建设大规模的展开,合理高效的管理ipv6路由成为路由器软件设计的关键。由于ipv6路由长达128位,因此,基于DonaldR.Morrison所提出的Patricia树的思想而设计的基数radix树算法,以其适合处理非常长的、可变长度的键值的特性,成为了ipv6路由管理的首选算法。但是,目前开源的radix树算法,是使用树算法来动态生成和管理掩码,如图1所示的现有开源radix算法生成的路由表的组成结构中,可以得知,路由表由掩码树、路由树和普适链组成,其中,圆形节点表示中间节点,底色为纯白的是根节点,底色为横线阴影的是普通节点,节点中的数字表示分支的位置值;矩形节点为叶子节点,底色为纯白的是根节点,底色为阴影的是普通节点,节点中的内容为路由前缀及掩码;六边形节点为普适链结点,节点中的内容为该结点对应的掩码长度。此外,该路由树中还包括了对非连续掩码分支的支持,也就是在对路由树进行搜索时,需要对非连续掩码的分支进行判断和处理。由图1所示的路由表的组成结构可以得知,每次路由表维护时都需要进行掩码树查找以确定是否已经存在相应的掩码;而且,在普适链管理等维护操作时也进行了繁复的字节比较和移位运算,这极大的提高了算法的时间复杂度。
技术实现思路
为解
【技术保护点】
一种路由表的维护方法,其特征在于,所述方法包括:根据待更新的IPV6路由条目中的掩码长度查询IPV6路由表中的掩码表,得到所述待更新的IPV6路由条目对应的掩码结构;其中,所述IPV6路由表包括掩码长度与掩码结构对应的二维索引表和路由树,所述路由树为对于非连续掩码分支进行裁剪之后的路由树;根据所述待更新的IPV6路由条目及所述待更新的IPV6路由条目对应的掩码结构对所述IPV6路由表结构中的路由树进行搜索,获取所述路由树的回溯起始节点;从所述回溯起始节点出发,向所述路由树的顶部回溯,获取所述待更新的IPV6路由条目的更新位置。
【技术特征摘要】
1.一种路由表的维护方法,其特征在于,所述方法包括:
根据待更新的IPV6路由条目中的掩码长度查询IPV6路由表中的掩码表,
得到所述待更新的IPV6路由条目对应的掩码结构;其中,所述IPV6路由表包
括掩码长度与掩码结构对应的二维索引表和路由树,所述路由树为对于非连续
掩码分支进行裁剪之后的路由树;
根据所述待更新的IPV6路由条目及所述待更新的IPV6路由条目对应的掩
码结构对所述IPV6路由表结构中的路由树进行搜索,获取所述路由树的回溯
起始节点;
从所述回溯起始节点出发,向所述路由树的顶部回溯,获取所述待更新的
IPV6路由条目的更新位置。
2.根据权利要求1所述的方法,其特征在于,所述根据所述待更新的IPV6
路由条目及所述待更新的IPV6路由条目对应的掩码结构对所述IPV6路由表结
构中的路由树进行搜索,获取所述路由树的回溯起始节点,包括:
根据所述路由树的各中间节点记录的选向信息与所述待更新的IPV6路由
条目进行比较,得到符合路径中的中间节点记录的分叉位置和字节掩码特性的
叶子节点,并将该叶子节点作为回溯起始节点。
3.根据权利要求1所述的方法,其特征在于,所述从所述回溯起始节点出
发,向所述路由树的顶部回溯,获取所述待更新的IPV6路由条目的更新位置,
包括:
从所述回溯起始节点出发,查询所述待更新的中间节点的上一级中间节点
和下一级中间节点,其中,所述待更新的中间节点的键值为所述待更新的IPV6
路由条目的掩码长度;
分别对所述待更新的中间节点的上一级中间节点和下一级中间节点进行检
测,确定所述待更新的中间节点在所述路由树的更新位置;
在所述路由树中更新所述待更新的中间节点和叶子节点,其中,所述待更
\t新的中间节点和叶子节点一起表征了所述待更新的IPV6路由条目的键值属性。
4.根据权利要求1至3所述的方法,其特征在于,所述方法还包括:从所
述待更新的中间节点的叶子节点的兄弟节点对应的普适链结点开始向上回溯所
述路由树的中间节点,并根据所述待更新的IPV6路由条目对应的掩码长度与
回溯时的路由树...
【专利技术属性】
技术研发人员:袁俊,
申请(专利权)人:中兴通讯股份有限公司,
类型:发明
国别省市:广东;44
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。