发明名称 一种128位因特网地址并行高速路由寻址方法
摘要 本发明设计了一种128位因特网地址(IPv6)的四路并行寻址方法,其中三路是由占了路由前缀数量90%以上的长度为32,35,48的前缀组成,第四路处理除长度为32,35,48外的其他前缀,采用硬件实现方法,其查询速度很快,不会影响并行框架的整体性能。对于32,35,48三路,本文设计了段表加偏移量表的数据结构,并设计了相应的hash函数。由于该三路只要考虑确定长度的路由前缀,避免了最长前缀匹配问题。该三路的路由查找只需要最多两次的存储器访问操作,并且可以在常量时间内实现路由更新,存储器的需求不到1M bytes,且该需求受路由前缀数量的增加影响较小,该算法对未来路由寻址方法的发展具有良好的适应性。
申请公布号 CN101494603A 申请公布日期 2009.07.29
申请号 CN200910028310.3 申请日期 2009.01.13
申请人 南京邮电大学 发明人 杨庚;陈燕俐;李大伟;祁正华;陈珊珊
分类号 H04L12/56(2006.01)I;H04L29/12(2006.01)I 主分类号 H04L12/56(2006.01)I
代理机构 南京经纬专利商标代理有限公司 代理人 叶连生
主权项 1.一种128位因特网地址并行高速路由寻址方法,其特征在于对路由寻址采用四路并行匹配方法,具体步骤为:c)采用四路并行路由地址寻找框架,其中三路是由占了路由前缀长度为32,35,48的前缀组成,第四路处理其他长度的前缀寻址,路由寻址查找时,对并行框架中的4路同时进行查找,然后由前缀长度比较器选出前缀最长的一路对应的下一跳;d)对每一路采用的寻址方法为;1)取目标IP地址的17到32比特做为索引,记为h17_32(IP),访问段表的对应的表项;2)查看该表项的最高位即第1比特,若为0,则取出段表表项中存储的信息,并取目标IP的前16比特,记为h1_16(IP),进行比较,若相等,则读取段表表项中存储的下一跳信息做为查询结果,送前缀长度比较器;若不相等,则将0作为结果送前缀长度比较器;3)若段表表项的第1比特为1,则读取段表表项中存储的信息,记为off_index,并取目标IP的前16比特,按以下公式计算散列值,记为hash:hash=off_index*16+f(h1_16(IP))然后以此hash为索引去访问偏移量表,若偏移量表对应的表项不为空,则取出该表项中存储的信息,记为h1_16(prefix32),并与h1_16(IP)进行比较,若相等,则读取该表项中存储的下一跳信息做为查询结果,送前缀长度比较器;若不相等,则将0作为结果送前缀长度比较器;4)前缀长度比较器从并行的各个分路获得前缀长度和对应的下一跳的路由信息,除去下一跳为零的分路后,选择前缀长度最长的分路对应的下一跳做为查询结果,路由寻址结束。
地址 210003江苏省南京市新模范马路66号