一种反射路由的处理方法和路由反射设备的制作方法

文档序号:7645343阅读:126来源:国知局
专利名称:一种反射路由的处理方法和路由反射设备的制作方法
技术领域
本发明涉及网络通信领域,尤其涉及一种反射路由的处理方法和路由反射 设备。
背景技术
边界网关路由协议(Border Gateway Protocol, BGP)是一种用于自治系统 (Autonomous System, AS )之间的动态3各由协i义。
为了避免路由环路,BGP协议规定AS内的内部BGP协议(Internal BGP, IBGP)对等体之间不能转发BGP路由,为了保证IBGP对等体之间的连通性, 需要在IBGP对等体之间建立全连接关系。假设一个AS内部有n台路由器,那 么应该建立的IBGP连接数为n(n-l)/2。当IBGP对等体的数目很多时,对网络 资源和CPU资源的消耗都很大。为此,BGP协议引人路由反射的概念,在一个 AS内,其中一台路由器作为路由反射器(Route Reflector, RR),其它路由器作 为客户机(Client),其中,路由反射器是进行路由反射和路由策略控制的关键 设备。
如图l所示,客户机与路由反射器之间建立IBGP连接,路由反射器和它的 客户机组成一个集群(Cluster )。路由反射器在客户机之间传递(反射)路由信 息,而客户机之间不需建立BGP连接。既不是路由反射器也不是客户机的BGP 路由器称为非客户机(Non-Client),非客户机与路由反射器之间,以及所有非 客户机之间仍然必须建立全连接关系。当RR接收到IBGP发送来的路由,首先 使用BGP选择路由的策略选出最佳路由,然后按照RFC2796 (RFC是一系列关 于Internet的技术资料汇编)中的规则发布路由从非客户机IBGP对等体学到 的路由,发布给此RR的所有客户机;从客户机学到的路由,发布给此RR的所 有非客户机和客户机(发起此路由的客户机除外);从外部BGP (External BGP, BGP)对等体学到的路由,发布给所有的非客户机和客户机。
路由反射器采用 一系列防止路由环路的规则,可以有效地防止^各由环路,而在实际应用中,路由反射器下挂的客户机数量通常很大,同时为适应所有的 客户机和非客户机的路由反射需求,路由反射器上必须保存接收到的路由的全
集,所以路由反射器是BGP网中对路由容量要求最高的设备,随着网络技术飞 速发展,路由量激增,如何有效地提高路由反射器的容量或者如何提高路由反 射器内存使用率成为路由器设备制造商关注的技术问题。
通常一条BGP路由在BGP选路中优选为最佳路由后,会安装到路由器的通 用路由信息库(Routing Information Base, RIB )表中,在RIB中进行本地选路, 优选后下发到转发信息库(Forward Information Base, FIB)表中指导转发,因 此计算一条路由的内存消耗是 一条BGP路由表项、 一条RIB表项和一条FIB 表项三者的内存耗费的总和。
在实际应用中,与提高普通路由器的容量的方法相同,提高路由反射器容 量的方法有两种 一是路由表项的数据结构设计优化,使BGP路由表项、RIB 表项、FIB表项占用尽可能少的内存,提高内存的使用率,用来存储尽可能多的 BGP路由;二是硬件设计优化增加路由器内存容量。
发明人在实现本发明的过程中发现路由表项的数据结构设计优化方法, 无论怎么优化,BGP路由表项、RIB表项、FIB表项都必须占用内存, 一条路 由这三部分内存占用的比例通常是1:1:1,优化终究有限,并且由于FIB表项和 硬件转发表项一一对应,而硬件转发设备的成本相对较高,在成本因素的限制 下,FIB表项的容量受限;对于硬件设计优化,增加路由器内存容量,必然带来 硬件成本的增加。

发明内容
本发明实施例提供了 一种反射路由的处理方法和路由反射设备,将用于仅 用于路由反射的路由限制加入到RIB表中,减少了 RIB表项和FIB表项的内存 占用,提高了内存的使用率,降低了成本。
为此,本发明实施例提出了一种反射路由的处理方法,其包括
接收到反射路由信息后,选择一条路由作为最佳路由;
发送所述最佳路由,并根据配置的控制命令判断所述最佳路由是否加入到 通用路由信息表,如果否,则不加入到通用路由信息表,否则,进入下一步骤;
将所述最佳路由加入到通用路由信息表。相应地,本发明实施例还提供了一种路由反射设备,包括通用路由信息 表、转发信息表,其中,所述路由反射设备还包括 路由接收单元,用于接收反射路由信息;
路由选择单元,用于从路由接收单元接收到的反射路由信息中选出一条路 由作为最佳^^由;
路由发送单元,用于将路由选择单元选出的最佳路由发送出去;
路由分析单元,用于根据配置的控制命令判断所迷路由选择单元选出的最 佳路由是否加入所述通用路由信息表,并输出判断结果;
路由安装单元,用于当路由分析单元输出的判断结果为加入通用路由信息 表时,将所述最佳路由加入到所述通用路由信息表中;
当路由分析单元输出的判断结果为不加入所述通用路由信息表,不将所述 最佳路由加入到通用路由信息表。
综上所述,本发明提供的一种反射路由的处理方法和路由反射设备通过限 制将仅用于路由反射,不需要指导本地路由转发的路由加入到通用路由信息 (RIB)表中,提高了内存使用率,同时,由于不需加入RIB表中,减少了RIB 选路和FIB的下刷处理,提高了路由反射器的处理性能。


图1是目前的一种自治系统内路由反射器在网络中的位置结构图; 图2是本发明实施例提供的一种路由反射设备的结构示意图; 图3是图2所述的路由分析单元的结构示意图; 图4是本发明实施例提供的一种反射路由的处理方法的流程图; 图5是本发明实施例提供的一种反射路由的处理方法的流程图。
具体实施例方式
本发明实施例提供的 一种反射路由的处理方法和路由反射设备通过控制命 令限制仅用于反射的路由加入到通用路由信息表来提高设备内存的利用率。 下面结合附图详细阐述本发明实施例的技术方案。
参考图2,图示了一种路由反射设备的结构。如图所示,路由反射设备2包
括路由接收单元21,用于接收反射路由信息;
路由选择单元22,用于从路由接收单元21接收到的路由信息中优选一条路 由作为最佳路由;
路由发送单元28,用于发送路由选择单元22选出的最佳路由;
路由分析单元23,用于根据配置的控制命令判断所述路由选择单元22选出 的最佳路由是否加入所述通用路由信息表26,并输出判断结果;
路由安装单元24,用于当路由分析单元23输出的判断结果为加入通用路由 信息表26,将所述最佳路由加入到所述通用路由信息表26中,经过通用路由信 息表26路由选择后,下发到转发信息表27中指导数据转发;
当路由分析单元23输出的判断结果为不加入所述通用路由信息表26,不将 所述最佳路由加入到通用路由信息表26中。
其中,所述控制命令是网络管理人员在配置路由器时,配置的命令,其格 式为控制命令[控制条件参数参数名称],如,no-local-forward [route-policy policy-name],或者为不带控制条件参数的控制命令,如no-local-forward。
当所述控制命令不带有控制条件参数时,所有最佳路由都不加入到所述通 用路由信息表;
当所述控制命令带有控制条件参数时,与所述控制条件参数匹配的最佳路
由不加入到所述通用路由信息表。
其中,如图3所示,图2所述的路由分析单元23包括
命令分析单元231,用于分析控制命令是否带有控制条件参数;
匹配单元232,用于当命令分析单元231分析出控制命令带有控制条件参数
时,分析所述控制条件参数与所述路由是否匹配,并输出匹配或不匹配的分析
结果;
结果输出单元233,用于当命令分析单元231分析出控制命令带有控制条件 参数并且匹配单元232输出的分析结果为不匹配时,输出加入通用路由信息表 的判断结果到路由安装单元24。
在具体实现时,所述路由反射设备采用的路由协议为边界网关路由协议, 其中,所述控制命令的级别可以适应不同应用,定义在边界网关路由协议的全 局级别、或地址族级别、或邻居组级别、或邻居级别,实现不同层面的精确控 制值得说明的是,本发明实施例的路由反射设备可以为一台BGP路由器或 BGP路由反射器,所述BGP路由器或BGP路由反射器除了具有上述功能模块 外,还具有与现有的BGP路由器或BGP路由反射器一样的结构。当然所述路由 反射设备也可以是专用设备(非路由器),比如高性能服务器。所述高性能服务 器除了具备上述结构外,还具备的高速网口用于BGP路由的转发,高性能CPU 和高容量和高可靠性的存储设备用来进行丰富的策略控制和路由处理。
上面具体阐述了本发明实施例提供的一种路由反射设备的技术方案,下面 结合图4和图5,具体阐述本发明实施例的一种反射路由的处理方法的技术方案。
参考图4,图示了本发明实施例的一种反射路由的处理方法的流程,所述处 理方法包括
步骤S31,接收到反射路由信息后,从所述反射路由信息中选择一条路由, 将所述选择出的路由作为最佳路由;
步骤S32,发送所述最佳路由,并根据配置的控制命令判断所述最佳路由是 否加入到通用路由信息表,如果否,则不加入到通用路由信息表,否则,进入 下一步骤;
步骤S33,将所述最佳路由加入到通用路由信息表,在通用路由信息表中进 行本地选路,优选后下发到转发信息表中指导转发。
其中,所述控制命令是网络管理人员在配置路由器时,配置的命令,其格 式为控制命令[4空制条件参数参lt名称],如,no-local-forward [route-policy policy-name],或者为不带控制条件参数的控制命令,如no-local-forward。
其中,在步骤S32中,所述根据控制命令判断所述路由是否加入到通用路 由信息表,如果否,则不加入到通用路由信息表的步骤具体为
当所述控制命令不带有控制条件参数(如:路由策略)时,所有最佳路由都 不加入到所述通用路由信息表;
当所述控制命令带有控制条件参数(如:路由策略)时,与所述控制条件参 数匹配的最佳路由不加入到所述通用路由信息表。
在具体实现时,所述方法适用的路由协议为边界网关路由协议,当然不限 于此。
为了进一步阐述本发明的技术方案,下面以BGP协议为例,结合图5详细 阐述本发明实施例的技术方案。如图5所示, 一种反射路由的处理方法包括
步骤S41,路由反射器接收到IBGP发送来的BGP路由;
步骤S42,使用BGP选择路由的策略优选出一条路由作为最佳BGP路由, 然后同时分别执行步骤S43和S44;
步骤S43,将所述最佳BGP路由发送到所述路由反射器下的其它客户机;
同时,步骤S44,根据配置的控制命令判断所述BGP最佳路由是否加入到 RIB表,如果否,则转到步骤S45,否则,进入步骤S46;
步骤S45,不将所述BGP最佳路由加入到RIB表,结束;
步骤S46,将所述最佳路由加入到RIB表;
步骤S47在RIB表中进行路由选择;
步骤S48,优选后的RIB表中的最佳路由下刷FIB表;
步骤S49, FIB表根据最佳路由指导本地数据转发。
在具体实现时,所述控制命令是网络管理人员在配置路由器时,配置的命 令。所述控制命令的控制级别可以适用不同的应用,可以定义在边界网关路由 协议的全局级别、或地址族级别、或邻居组级别、或邻居级别。例全局级别控 制命令no-local-forward [route-policy policy-name], 4乍用i或为本路由器的BGP 进程;地址族级别控制命令no-local-forward [route-policy policy-name],作用 域为BGP某地址族,例如IPV4 unicast地址族;邻居组级别和邻居级别控制命 令peer no-locakforward [route-policy policy-name], 作用域为BGP邻居或邻 居组。
其中,在步骤S44中,根据控制命令判断所述BGP最佳路由是否加入到 RIB表具体为
当所述控制命令不带有控制条件参数(route-policy)时,所有BGP最佳路 由都不加入到RIB表;
当所述控制命令带有控制条件参数(route-policy)时,与所述route-policy 参数匹配的最佳路由不加入到RIB表。
由上述实施例可知,本发明提供的一种反射路由的处理方法和路由反射设 备通过限制将仅用于路由反射,不需要指导本地路由转发的路由加入到通用路 由信息(RIB)表中,提高了内存使用率,即提高了设备容量。同时,由于不需 加入RIB表中,减少了 RIB选路和FIB下刷处理,提高了路由反射器的处理性能。另外,由于不下刷转发信息表,解除了 BGP优选路由和转发信息表项—— 对应的关系,所以BGP能反射的前缀数目,也不再受转发信息表的容量约束, 特别是不再受硬件转发信息表容量的约束。同时本发明没有对FIB表项和硬件 设计进行优化,因此,不会带来硬件成本的增加,相对现有技术,本发明的成 本极低。当然本发明也可以与路由表项的数据结构设计优化等方法配合使用达 到更高技术效果。
以上所揭露的仅为本发明 一种较佳实施例而已,当然不能以此来限定本发 明之权利范围,依本发明权利要求所作的等同变化,仍属本发明所涵盖的范围。
权利要求
1、一种反射路由的处理方法,其特征在于,包括接收到反射路由信息后,选择一条路由作为最佳路由;发送所述最佳路由,并根据控制命令判断所述最佳路由是否加入到通用路由信息表,如果是,将所述最佳路由加入到通用路由信息表,否则,不加入到通用路由信息表。
2、 如权利要求l所述的方法,其特征在于,所述控制命令格式为 控制命令[控制条件参数参数名称],或者为不带控制条件参数的控制命令。
3、 如权利要求2所述的方法,其特征在于,所述根据控制命令判断所述最 佳路由是否加入到通用路由信息表,如果是,将所述最佳路由加入到通用路由 信息表,否则,不加入到通用路由信息表的步骤具体为当所述控制命令不带有控制条件参数时,所有最佳路由都不加入到所述通 用路由信息表;当所述控制命令带有控制条件参数时,与所述控制条件参数匹配的最佳路 由不加入到所述通用路由信息表。
4、 如权利要求2或3所述的方法,其特征在于,所述控制条件参数为路由 策略。
5、 如权利要求1或2或3所述的方法,其特征在于,所述方法适用于边界 网关路由协议。
6、 如权利要求5所述的方法,其特征在于,所述控制命令定义在边界网关 路由协议的全局级别、或地址族级别、或邻居组级别、或邻居级别。
7、 一种路由反射设备,包括通用路由信息表、转发信息表,其特征在于,所述路由反射设备还包括路由接收单元,用于接收反射路由信息;路由选择单元,用于从路由接收单元接收到的反射路由信息中选择一条路 由作为最佳路由;路由发送单元,用于发送路由选择单元选出的最佳路由;路由分析单元,用于根据控制命令判断所述路由选择单元选出的最佳路由 是否加入所述通用路由信息表,并输出判断结果;路由安装单元,用于当路由分析单元输出的判断结果为加入通用路由信息 表时,将所述最佳路由加入到所述通用路由信息表中。
8、 如权利要求7所述的路由反射设备,其特征在于,所述路由分析单元包括命令分析单元,用于分析控制命令是否带有控制条件参数;匹配单元,用于当命令分析单元分析出控制命令带有控制条件参数时,分析所述控制条件参数与所述路由是否匹配,并输出匹配或不匹配的分析结果; 结果输出单元,用于当命令分析单元分析出控制命令带有控制条件参数并且匹配单元输出的分析结果为不匹配时,输出加入通用路由信息表的判断结果。
9、 如权利要求8所述的路由反射设备,其特征在于,该路由反射设备为路 由器。
全文摘要
本发明公开了一种反射路由的处理方法,其包括接收到反射路由信息后,选择一条路由作为最佳路由;发送所述最佳路由,并根据控制命令判断所述最佳路由是否加入到通用路由信息表,如果否,则不加入到通用路由信息表,否则,进入下一步骤;将所述最佳路由加入到通用路由信息表。相应地,本发明还公开了一种路由反射设备。根据本发明提供的技术方案,通过控制命令限制仅用于反射的路由加入到通用路由信息表来提高设备内存的利用率。
文档编号H04L29/06GK101420357SQ200710031079
公开日2009年4月29日 申请日期2007年10月26日 优先权日2007年10月26日
发明者辉 倪, 宋宝华, 庄顺万, 晴 曾, 苌 王 申请人:华为技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1