三层转发信息下发硬件LPM表的方法.pdf

上传人:小** 文档编号:687646 上传时间:2018-03-05 格式:PDF 页数:7 大小:303.30KB
返回 下载 相关 举报
摘要
申请专利号:

CN200410039172.6

申请日:

2004.02.20

公开号:

CN1561050A

公开日:

2005.01.05

当前法律状态:

终止

有效性:

无权

法律详情:

未缴年费专利权终止IPC(主分类):H04L 12/56申请日:20040220授权公告日:20070502终止日期:20110220|||授权|||专利申请权、专利权的转移(专利申请权的转移)变更项目:申请人变更前权利人:港湾网络有限公司 申请人地址:北京市海淀区西三环北路21号久凌大厦13层 邮政编码:100089变更后权利人:华为技术有限公司 申请人地址:广东省深圳市龙岗区坂田华为总部办公楼 邮政编码:518129登记生效日:2006.10.13|||实质审查的生效|||公开

IPC分类号:

H04L12/56

主分类号:

H04L12/56

申请人:

港湾网络有限公司;

发明人:

柴新忠

地址:

100089北京市海淀区西三环北路21号久凌大厦13层

优先权:

专利代理机构:

北京君尚知识产权代理事务所

代理人:

邵可声

PDF下载: PDF下载
内容摘要

本发明公开了一种三层转发信息下发硬件LPM表的方法,其中上层FIB下发给该硬件LPM表,设置用于存储FIB下发成功和下发失败的IP前缀值的数组S和F,FIB下发时,首先搜索数组F,查看是否存在与该IP前缀匹配的项;若存在,则将这个路由表项直接插入数组F;否则,将IP前缀值插入LPM表;若插入成功,则将其存储在数组S中;若插入失败,则将其插入数组F中,并将这个IP前缀在数组S中的所有IP短前缀表项全部移到数组F中,并删除LPM表中对应的IP前缀值;删除后,尝试将数组F中的其它前缀值插入LPM表,若插入成功,则将该IP相应的短前缀全部插入LPM表,并插入数组S中。本发明更有利于数据包的转发。

权利要求书

1.一种三层转发信息下发硬件LPM表的方法,其中上层FIB下发给该硬件
LPM表,其特征在于,该方法包括:
设置与硬件LPM表相关的存储单元,并设置两个数组S和F,分别用于存储
FIB下发成功和下发失败的IP前缀值;
FIB下发时,首先根据网络前缀值搜索数组F,查看是否存在与该IP前缀匹
配的项;若存在,则将这个路由表项直接插入数组F后返回;
否则,将所述IP前缀值插入LPM表;若插入成功,则将其存储在所述数组S
中;若插入失败,则将其插入数组F中,并将这个IP前缀在数组S中的所有IP
短前缀表项全部移到数组F中,并删除LPM表中对应的IP前缀值;
删除LPM表中部分IP前缀值后,循环尝试将数组F中的其他前缀值插入LPM
表,若插入成功,则将该IP相应的短前缀全部插入LPM表,并插入数组S中,
若失败,则保持不变。
2.如权利要求1所述的三层转发信息下发硬件LPM表的方法,其特征在于,
所述存储单元的容量大于或等于所述FIB存储IP前缀值的容量。
3.如权利要求1所述的三层转发信息下发硬件LPM表的方法,其特征在于,
所述存储单元中数组S和F以HASH表的方式存储IP前缀值。
4.如权利要求3所述的三层转发信息下发硬件LPM表的方法,其特征在于,
所述数组S和F的元素包括有IP前缀值和指向HASH表的指针两部分。
5.如权利要求3所述的三层转发信息下发硬件LPM表的方法,其特征在于,
所述HASH表由所有不同'前缀构成,并按其IP前缀值升序排列。
6.如权利要求1所述的三层转发信息下发硬件LPM表的方法,其特征在于,
所述数组S和F的存储容量可动态调整。

说明书

三层转发信息下发硬件LPM表的方法

技术领域:

本发明涉及一种三层转发信息下发硬件LPM表的方法。

背景技术:

一般,三层交换机的接口板上的转发芯片中的LPM(Longest-Prefix-Match,
最长前缀匹配)表空间非常有限。当将上层FIB(Forwarding Information Base,
路由转发表)下发给这个硬件表时,经常出现表满而插入不成功的现象。另外,
目前路由转发匹配算法为最长匹配,若一个长掩码前缀插入不成功,则要将所有
的相应短掩码前缀在硬件表中删除,虽然这些短掩码的删除释放了空间,但对这
个长掩码的插入没有带来任何好处,这时,只能尝试插入其他的网络前缀。这样,
就要频繁访问硬件表,从而严重影响能够匹配硬件表路由表项的包的转发。而三
层路由表的下发工作就是将上层FIB软件表中的表项设置到转发芯片中。由于路
由匹配算法为最长前缀匹配,故对掩码长度不同的相同前缀,若短掩码的前缀下
发成功,而相应的长掩码的前缀下发不成功,则一个数据包本来需要匹配到那个
长掩码的前缀,此时只能匹配到短掩码前缀,这样,本应按长掩码的前缀转发的
数据包,却按短掩码前缀的匹配关系发送了,很容易造成转发错误。

发明内容:

针对现有的三层转发信息下发硬件LPM表方法中所存在的问题和不足,本
发明的目的是提供一种可避免数据转发错误的三层转发信息下发硬件LPM表的
方法。

本发明是这样实现的:一种三层转发信息下发硬件LPM表的方法,其中上
层FIB下发给该硬件LPM表,该方法包括:

设置与硬件LPM表相关的存储单元,并设置两个数组S和F,分别用于存
储FIB下发成功和下发失败的IP前缀值;

FIB下发时,首先根据网络前缀值搜索数组F,查看是否存在与该IP前缀匹
配的项;若存在,则将这个路由表项直接插入数组F后返回;

否则,将所述IP前缀值插入LPM表;若插入成功,则将其存储在所述数组
S中;若插入失败,则将其插入数组F中,并将这个IP前缀在数组S中的所有
IP短前缀表项全部移到数组F中,并删除LPM表中对应的IP前缀值;

删除LPM表中部分IP前缀值后,循环尝试将数组F中的其他前缀值插入
LPM表,若插入成功,则将该IP相应的短前缀全部插入LPM表,并插入数组S
中,若失败,则保持不变。

进一步地,所述存储单元的容量大于或等于所述FIB存储IP前缀值的容量。

进一步地,所述存储单元中数组S和F以HASH表的方式存储IP前缀值。

进一步地,所述数组S和F的元素包括有IP前缀值和指向HASH表的指针
两部分。

进一步地,所述HASH表由所有不同IP前缀构成,并按其IP前缀值升序排
列。

进一步地,所述数组S和F的存储容量可动态调整。

本发明通过设置与FIB连接的存储单元,并在该存储单元中设置数组S和F
两数组,分别用于存储FIB下发到LPM表的IP前缀值,若下发成功则存储至数
组S中,若下发失败则存储到数组F中。并且,在FIB下发到LPM表前,先遍
历数组F,查找有无与之匹配的IP前缀,若有直接放入数组F,若无则尝试插入
LPM表,本发明采用预先判断的方式,而不是对FIB下发的所有IP前缀均直接
尝试插入LPM表,大大减少了访问硬件表的无效次数,从而大大提高了能够匹
配硬件表路由表项的数据包的转发效率,提高了带宽的利用率。并且,本发明的
存储单元采用HASH表的方式对其元素进行存储,减少了访问查找时间,更有
利于数据包的转发。

附图说明:

下面结合附图,对本发明作出详细描述。

图1为本发明的添加路由表项流程示意图;

图2为本发明的删除路由表项流程示意图。

具体实施方式:

本发明首先创建与硬件LPM表相关的存储单元,该存储单元的容量大于或
等于FIB中存储IP前缀值的容量,在存储单元中设置两个数组S和F,分别用
于存储FIB下发成功和下发失败的IP前缀值;

FIB下发时,首先根据网络前缀值搜索数组F,查看是否存在与该IP前缀匹
配的项;若存在,则将这个路由表项直接插入数组F后返回;

否则,将所述IP前缀值插入LPM表;若插入成功,则将其存储在所述数组
S中;若插入失败,则将其插入数组F中,并将这个IP前缀在数组S中的所有
IP短前缀表项全部移到数组F中,并删除LPM表中对应的IP前缀值;

删除LPM表中部分IP前缀值后,循环尝试将数组F中的其他前缀值插入
LPM表,若插入成功,则将该IP相应的短前缀全部插入LPM表,并插入数组S
中,若失败,则保持不变。

这里,数组S和F以HASH表的方式存储IP前缀值,即其中的元素包括有
IP前缀值和指向HASH表的指针两部分,HASH表由所有不同IP前缀构成,并
按其IP前缀值升序排列;数组S和F的存储容量可动态调整,即其容量之和与
存储单元容量相等,其实际容量由其存储的IP前缀值决定。

如图1所示,当添加路由表项时,首先根据网络前缀值搜索数组F,查看是
否存在与该IP前缀匹配的表项;若存在,则将这个路由表项直接插入数组F后
返回;若没有,则尝试将该IP前缀值插入LPM表,若成功,则马上将该IP前
缀值插入数组S中,并返回,若插入失败,则将数组S中与该IP前缀匹配的表
项全部移入数组F中,并删除LPM表中相应的IP前缀值。尝试插入数组F中其
他的IP前缀,并返回。

如图2所示,当删除LPM表中的表项和数组S中表项(删除LPM表和数
组S的表项为同步)后,尝试将数组F中的其他前缀表项插入LPM表,具体插
入过程为,将长IP前缀值表项插入,若插入成功,则将其他的所有短IP前缀插
入,并将这些插入成功的所有IP前缀值插入数组S中;若插入失败,则保持不
变,并返回。

三层转发信息下发硬件LPM表的方法.pdf_第1页
第1页 / 共7页
三层转发信息下发硬件LPM表的方法.pdf_第2页
第2页 / 共7页
三层转发信息下发硬件LPM表的方法.pdf_第3页
第3页 / 共7页
点击查看更多>>
资源描述

《三层转发信息下发硬件LPM表的方法.pdf》由会员分享,可在线阅读,更多相关《三层转发信息下发硬件LPM表的方法.pdf(7页珍藏版)》请在专利查询网上搜索。

本发明公开了一种三层转发信息下发硬件LPM表的方法,其中上层FIB下发给该硬件LPM表,设置用于存储FIB下发成功和下发失败的IP前缀值的数组S和F,FIB下发时,首先搜索数组F,查看是否存在与该IP前缀匹配的项;若存在,则将这个路由表项直接插入数组F;否则,将IP前缀值插入LPM表;若插入成功,则将其存储在数组S中;若插入失败,则将其插入数组F中,并将这个IP前缀在数组S中的所有IP短前缀表项全。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 电学 > 电通信技术


copyright@ 2017-2020 zhuanlichaxun.net网站版权所有
经营许可证编号:粤ICP备2021068784号-1