[发明专利]一种路由表项的管理方法及系统无效
申请号: | 200710002533.3 | 申请日: | 2007-01-26 |
公开(公告)号: | CN101083555A | 公开(公告)日: | 2007-12-05 |
发明(设计)人: | 韩冰 | 申请(专利权)人: | 华为技术有限公司 |
主分类号: | H04L12/24 | 分类号: | H04L12/24;H04L12/56 |
代理公司: | 北京挺立专利事务所 | 代理人: | 皋吉甫 |
地址: | 518129广东省*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 路由 管理 方法 系统 | ||
技术领域
本发明涉及路由表项管理技术领域,尤其涉及一种路由表项的管理方法及系统。
背景技术
第五代路由器使用NP(Network Processor,网络处理器)进行转发核心处的工作,但由于转发依赖于各种路由表项,比如FIB(Forwarding InformationTable转发信息表)、ARP(Address Resolution Protocol,地址解析协议)表等,所以在网络处理器中处理转发单元13外,还包括控制单元11和管理单元12,控制单元11对转发表项进行控制,管理单元12对处理器进行管理等操作,如图1所示。
但是图1中的控制单元并不运行路由协议,也不生成路由表项,该方面的工作是由在控制层面运行路由协议的CP(Control Processor,控制处理器)实现,如图2所示。当CP生成各种路由表项后,通过通讯格式将这些路由表项和对应的操作封装成各种命令,再将一组命令打包封装成一个帧,发送给NP;NP识别该帧后,执行携带的命令,各种路由表项就会转换为NP的数据结构添加到NP的内存中,供转发使用。这种帧在本文中称为控制帧,每个路由表项绑定操作在一起称为一个控制命令。
在网络处理器中,表在内存中有动态和静态两种存在形态。其中,动态表使用树的数据结构组织,以提高查找性能,可以进行Key(关键)值查找,表项为树中的叶子节点,内存资源在表项创建时动态的从共享内存池中获得;静态表以顺序表方式组织,以索引方式查找,内存在初始化后即一直占用。
在控制层面处理器对转发表项提供添加、更新、删除、查询四种操作。对于树表来说,添加和删除操作还要维护树的数据结构、申请释放叶子和中间节点资源。静态表添加和更新是一样的,删除即为将表项内存清零。
现有技术中的控制命令都是独立的,相互之间基本没有联系,每条命令的成功和失败不会影响其它命令的执行。
假设存在一业务,在转发的上行需要查找某树A,得到一个索引值,然后使用这个索引在下行查找某静态表B得到出接口,然后将报文转发到相应接口。添加树和静态表表项的时候在CP分别封装对应的命令,然后送给NP执行。由于NP执行时会产生错误,例如对树的操作命令执行成功,而对静态表的更新命令执行失败,那么命中这个树叶子的转发数据帧使用叶子中的索引在下行查静态表时就得到了更新前的出接口地址,这个包就被转发到了一个错误的接口。
上面举的只是一个最简单的例子。有很多复杂的业务可能需要查找很多表项,并且这些表项的查找结果相互关联,一旦其中某些表项操作执行失败,那么就会出现控制层面和转发层面的表项不一致,使用这些不一致的表项进行转发会产生各种严重的错误。
其次,当前封装发送给NP的控制帧中包含的路由表项操作都是针对一个表,一个控制帧处理N个表项,N等于控制帧最大内存长度/控制命令长度。处理另外一个表要封装另一个控制帧,从空间概念上来说是纵向的处理表。而实际的一个业务对应多个表,如果新配置一条业务流,现有的纵向处理技术会对应每个表封装一个控制帧,然后发送给NP,一个一个表的处理。
造成内存空间和计算资源的浪费,封装多个控制帧会使用多个buffer(缓存器),处理起来还要经过多次消息通讯,还要解析多个控制帧头。另外,由于不同CPU(Central Processor Unit,中央处理单元),不同内存空间的通讯受环境影响,通讯时延不确定,对每个表的修改存在远超过指令周期的时间差,流量较大时,全部表项更新完毕需要较长时间,转发流程可能在这一瞬间发生各种错误,可能造成转发已经查到其中的一些表进入其它流程,而后续表格没有更新,于是在这个流程中发生错误。
发明内容
本发明实施例提供一种以事务方式在NP端进行表项管理,针对每种业务建立事务,解决NP和CP中的转发表项不一致和当前只能纵向管理表项的问题。
本发明实施例提供了一种路由表项的管理方法,包括以下步骤:
网络处理器接收控制处理器发送的以事务为单位的扩展控制帧;
所述网络处理器执行所述以事务为单位的扩展控制帧中的携带路由表项的命令;
当一个事务中的任一命令执行失败时,则所述事务中携带路由表项的命令全部不执行,
所述携带路由表项的命令全部不执行具体包括:
将已执行成功的携带路由表项的命令对应的所述网络处理器中的路由表项退至执行前状态;或
将所述网络处理器中所有受影响的路由表项删除。
本发明实施例还提供了一种路由表项的管理系统,包括:控制处理器和网络处理器;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于华为技术有限公司,未经华为技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/200710002533.3/2.html,转载请声明来源钻瓜专利网。
- 上一篇:电子频闪观测器
- 下一篇:一种道路路面结构及其施工方法