[发明专利]对路由表进行空间管理的方法、装置、交换机及路由器无效
申请号: | 200810116921.9 | 申请日: | 2008-07-21 |
公开(公告)号: | CN101335706A | 公开(公告)日: | 2008-12-31 |
发明(设计)人: | 王旭 | 申请(专利权)人: | 北京星网锐捷网络技术有限公司 |
主分类号: | H04L12/56 | 分类号: | H04L12/56 |
代理公司: | 北京同立钧成知识产权代理有限公司 | 代理人: | 刘芳 |
地址: | 100036北京市海*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 路由 进行 空间 管理 方法 装置 交换机 路由器 | ||
1.一种对路由表进行空间管理的方法,其特征在于,包括:
计算待插入表项的掩码长度;
遍历空间管理链表中的空间管理单元;所述空间管理链表中,各空间管理单元与掩码长度一一对应,管理与对应的掩码长度相同的路由表中表项;所述各空间管理单元按照对应的掩码长度从长到短的顺序排列,均设置有表项在所述路由表中存储的开始地址start、表项在所述路由表中存储的结束地址end、前一个空间管理单元存储对应的掩码长度prev、后一个空间管理单元对应的掩码长度next、本空间管理单元在所述路由表中管理的掩码长度对应的空间存储的表项个数vent及本空间管理单元在所述路由表中管理的掩码长度对应的空间中的空闲空间fent;
获取与所述待插入表项的掩码长度对应的空间管理单元,确定所述待插入表项在路由表中的存放位置,插入所述待插入表项。
2.根据权利要求1所述的对路由表进行空间管理的方法,其特征在于,确定所述待插入表项在路由表中的存放位置,插入所述待插入表项包括:
将所述获取的空间管理单元中的end值加1;
将所述待插入表项存放在加1后的end空间内,并将所述获取的空间管理单元中的vent值加1。
3.根据权利要求1所述的对路由表进行空间管理的方法,其特征在于,
所述空间管理链表中不存在与所述待插入表项的掩码长度对应的空间管理单元的情况下,在所述空间管理链表中设置所述待插入表项的掩码长度对应的空间管理单元,分配路由表空间,并确定所述待插入表项的存放位置,插入所述待插入表项。
4.根据权利要求3所述的对路由表进行空间管理的方法,其特征在于,在所述空间管理链表中设置所述待插入表项的掩码长度对应的空间管理单元,分配路由表空间包括:
找到对应的掩码长度大于所述待插入表项的空间管理单元,并从中获取对应的掩码长度最短的空间管理单元;
将所述对应的掩码长度最短的空间管理单元管理的部分空闲空间分配给待设置的空间管理单元;
将所述待设置的空间管理单元的start设置为所述对应的掩码长度最短的空间管理单元的end+剩余的空闲空间+1;
将所述待设置的空间管理单元的end设置为与本空间管理单元的start相同的值;
将所述待设置的空间管理单元的prev设置为所述对应的掩码长度最短的空间管理单元对应的掩码长度;
将所述待设置的空间管理单元的next设置为所述对应的掩码长度最短的空间管理单元中next的值;
将所述待设置的空间管理单元的fent设置为所述部分空闲空间;
将所述对应的掩码长度最短的空间管理单元中的next设置为所述插入表项的掩码长度;
获取所述空间管理链表中对应的掩码长度小于所述待插入表项的空间管理单元,并从中获取对应的掩码长度最长的空间管理单元;
将所述对应的掩码长度最长的空间管理单元中的prev设置为所述待插入表项的掩码长度;
确定所述待插入表项的存放位置,插入所述待插入表项包括:
将所述待插入表项存放在所述待设置的空间管理单元的start空间内;
将所述待设置的空间管理单元的fent值减1。
5.根据权利要求1-4中任一项所述的对路由表进行空间管理的方法,其特征在于,确定所述待插入表项在路由表中的存放位置,插入所述待插入表项包括:
在所述待插入表项的掩码长度对应的空间管理单元之前或之后的空间管理单元所管理的空间中查找空闲空间;
通过整体移动,将具有空闲空间的空间管理单元管理的部分空闲空间,分配给所述待插入表项的掩码长度对应的空间管理单元;
将所述待插入表项插入分配的空闲空间内,并将所述待插入表项的掩码长度对应的空间管理单元的end值加1。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京星网锐捷网络技术有限公司,未经北京星网锐捷网络技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/200810116921.9/1.html,转载请声明来源钻瓜专利网。