一种反射路由的处理方法和路由反射设备转让专利

申请号 : CN200710031079.4

文献号 : CN101420357B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 曾晴倪辉王苌宋宝华庄顺万

申请人 : 华为技术有限公司

摘要 :

本发明公开了一种反射路由的处理方法,其包括:接收到反射路由信息后,选择一条路由作为最佳路由;发送所述最佳路由,并根据控制命令判断所述最佳路由是否加入到通用路由信息表,如果否,则不加入到通用路由信息表,否则,进入下一步骤;将所述最佳路由加入到通用路由信息表。相应地,本发明还公开了一种路由反射设备。根据本发明提供的技术方案,通过控制命令限制仅用于反射的路由加入到通用路由信息表来提高设备内存的利用率。

权利要求 :

1.一种反射路由的处理方法,其特征在于,包括:接收到反射路由信息后,选择一条路由作为最佳路由;

发送所述最佳路由,并根据控制命令判断所述最佳路由是否加入到通用路由信息表,具体为:当控制命令不带有控制条件参数时,所有最佳路由都不加入到所述通用路由信息表;

当所述控制命令带有控制条件参数时,与所述控制条件参数匹配的最佳路由不加入到所述通用路由信息表。

2.如权利要求1所述的方法,其特征在于,所述控制命令格式为:控制命令[控制条件参数 参数名称],或者为控制命令。

3.如权利要求1或2所述的方法,其特征在于,所述控制条件参数为路由策略。

4.如权利要求1或2所述的方法,其特征在于,所述方法适用于边界网关路由协议。

5.如权利要求4所述的方法,其特征在于,所述控制命令定义在边界网关路由协议的全局级别、或地址族级别、或邻居组级别、或邻居级别。

6.一种路由反射设备,包括:通用路由信息表、转发信息表,其特征在于,所述路由反射设备还包括:路由接收单元,用于接收反射路由信息;

路由选择单元,用于从路由接收单元接收到的反射路由信息中选择一条路由作为最佳路由; 路由发送单元,用于发送路由选择单元选出的最佳路由;

路由分析单元,用于根据控制命令判断所述路由选择单元选出的最佳路由是否加入所述通用路由信息表,并输出判断结果;

路由安装单元,用于当路由分析单元输出的判断结果为加入通用路由信息表时,将所述最佳路由加入到所述通用路由信息表中;

其中,所述路由分析单元包括:

命令分析单元,用于分析控制命令是否带有控制条件参数;

匹配单元,用于当命令分析单元分析出控制命令带有控制条件参数时,分析所述控制条件参数与所述路由是否匹配,并输出匹配或不匹配的分析结果;

结果输出单元,用于当命令分析单元分析出控制命令带有控制条件参数并且匹配单元输出的分析结果为不匹配时,输出加入通用路由信息表的判断结果。

7.如权利要求6所述的路由反射设备,其特征在于,该路由反射设备为路由器。

说明书 :

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

技术领域

[0001] 本发明涉及网络通信领域,尤其涉及一种反射路由的处理方法和路由反射设备。 背景技术
[0002] 边界网关路由协议(Border Gateway Protocol,BGP)是一种用于自治系统(Autonomous System,AS)之间的动态路由协议。
[0003] 为了避免路由环路,BGP协议规定AS内的内部BGP协议(Internal BGP,IBGP)对等体之间不能转发BGP路由,为了保证IBGP对等体之间的连通性,需要在IBGP对等体之间建立全连接关系。假设一个AS内部有n台路由器,那么应该建立的IBGP连接数为n(n-1)/2。当IBGP对等体的数目很多时,对网络资源和CPU资源的消耗都很大。为此,BGP协议引人路由反射的概念,在一个AS内,其中一台路由器作为路由反射器(Route Reflector,RR),其它路由器作为客户机(Client),其中,路由反射器是进行路由反射和路由策略控制的关键设备。
[0004] 如图1所示,客户机与路由反射器之间建立IBGP连接,路由反射器和它的客户机组成一个集群(Cluster)。路由反射器在客户机之间传递(反射)路由信息,而客户机之间不需建立BGP连接。既不是路由反射器也不是客户机的BGP路由器称为非客户机(Non-Client),非客户机与路由反射器之间,以及所有非客户机之间仍然必须建立全连接关系。当RR接收到IBGP发送来的路由,首先使用BGP选择路由的策略选出最佳路由,然后按照RFC2796(RFC是一系列关于Internet的技术资料汇编)中的规则发布路由:从非客户机IBGP对等体学到的路由,发布给此RR的所有客户机;从客户机学到的路由,发布给此RR的所有非客户机和客户机(发起此路由的客户机除外);从外部BGP(External BGP,BGP)对等体学到的路由,发布给所有的非客户机和客户机。
[0005] 路由反射器采用一系列防止路由环路的规则,可以有效地防止路由环路,而在实际应用中,路由反射器下挂的客户机数量通常很大,同时为适应所有的客户机和非客户机的路由反射需求,路由反射器上必须保存接收到的路由的全集,所以路由反射器是BGP网中对路由容量要求最高的设备,随着网络技术飞速发展,路由量激增,如何有效地提高路由反射器的容量或者如何提高路由反射器内存使用率成为路由器设备制造商关注的技术问题。
[0006] 通常一条BGP路由在BGP选路中优选为最佳路由后,会安装到路由器的通用路由信息库(Routing Information Base,RIB)表中,在RIB中进行本地选路,优选后下发到转发信息库(Forward Information Base,FIB)表中指导转发,因此计算一条路由的内存消耗是:一条BGP路由表项、一条RIB表项和一条FIB表项三者的内存耗费的总和。 [0007] 在实际应用中,与提高普通路由器的容量的方法相同,提高路由反射器容量的方法有两种:一是路由表项的数据结构设计优化,使BGP路由表项、RIB表项、FIB表项占用尽可能少的内存,提高内存的使用率,用来存储尽可能多的BGP路由;二是硬件设计优化增加路由器内存容量。
[0008] 发明人在实现本发明的过程中发现:路由表项的数据结构设计优化方法,无论怎么优化,BGP路由表项、RIB表项、FIB表项都必须占用内存,一条路由这三部分内存占用的比例通常是1∶1∶1,优化终究有限,并且由于FIB表项和硬件转发表项一一对应,而硬件转发设备的成本相对较高,在成本因素的限制下,FIB表项的容量受限;对于硬件设计优化,增加路由器内存容量,必然带来硬件成本的增加。
[0009] 发明内容
[0010] 本发明实施例提供了一种反射路由的处理方法和路由反射设备,将用于仅用于路由反射的路由限制加入到RIB表中,减少了RIB表项和FIB表项的内存占用,提高了内存的使用率,降低了成本。
[0011] 为此,本发明实施例提出了一种反射路由的处理方法,其包括: [0012] 接收到反射路由信息后,选择一条路由作为最佳路由;
[0013] 发送所述最佳路由,并根据配置的控制命令判断所述最佳路由是否加入到通用路由信息表,具体为:当控制命令不带有控制条件参数时,所有最佳路由都不加入到所述通用路由信息表;当所述控制命令带有控制条件参数时,与所述控制条件参数匹配的最佳路由不加入到所述通用路由信息表。
[0014] 相应地,本发明实施例还提供了一种路由反射设备,包括:通用路由信息 表、转发信息表,其中,所述路由反射设备还包括:
[0015] 路由接收单元,用于接收反射路由信息;
[0016] 路由选择单元,用于从路由接收单元接收到的反射路由信息中选择一条路由作为最佳路由;
[0017] 路由发送单元,用于发送路由选择单元选出的最佳路由;
[0018] 路由分析单元,用于根据控制命令判断所述路由选择单元选出的最佳路由是否加入所述通用路由信息表,并输出判断结果;路由安装单元,用于当路由分析单元输出的判断结果为加入通用路由信息表时,将所述最佳路由加入到所述通用路由信息表中; [0019] 其中,所述路由分析单元包括:
[0020] 命令分析单元,用于分析控制命令是否带有控制条件参数;
[0021] 匹配单元,用于当命令分析单元分析出控制命令带有控制条件参数时,分析所述控制条件参数与所述路由是否匹配,并输出匹配或不匹配的分析结果; [0022] 结果输出单元,用于当命令分析单元分析出控制命令带有控制条件参数并且匹配单元输出的分析结果为不匹配时,输出加入通用路由信息表的判断结果。 [0023] 综上所述,本发明提供的一种反射路由的处理方法和路由反射设备通过限制将仅用于路由反射,不需要指导本地路由转发的路由加入到通用路由信息(RIB)表中,提高了内存使用率,同时,由于不需加入RIB表中,减少了RIB选路和FIB的下刷处理,提高了路由反射器的处理性能。
[0024] 附图说明
[0025] 图1是目前的一种自治系统内路由反射器在网络中的位置结构图; [0026] 图2是本发明实施例提供的一种路由反射设备的结构示意图;
[0027] 图3是图2所述的路由分析单元的结构示意图;
[0028] 图4是本发明实施例提供的一种反射路由的处理方法的流程图; [0029] 图5是本发明实施例提供的一种反射路由的处理方法的流程图。 [0030] 具体实施方式
[0031] 本发明实施例提供的一种反射路由的处理方法和路由反射设备通过控制命令限制仅用于反射的路由加入到通用路由信息表来提高设备内存的利用率。 [0032] 下面结合附图详细阐述本发明实施例的技术方案。
[0033] 参考图2,图示了一种路由反射设备的结构。如图所示,路由反射设备2包括: [0034] 路由接收单元21,用于接收反射路由信息;
[0035] 路由选择单元22,用于从路由接收单元21接收到的路由信息中优选一条路由作为最佳路由;
[0036] 路由发送单元28,用于发送路由选择单元22选出的最佳路由; [0037] 路由分析单元23,用于根据配置的控制命令判断所述路由选择单元22选出的最佳路由是否加入所述通用路由信息表26,并输出判断结果;
[0038] 路由安装单元24,用于当路由分析单元23输出的判断结果为加入通用路由信息表26,将所述最佳路由加入到所述通用路由信息表26中,经过通用路由信息表26路由选择后,下发到转发信息表27中指导数据转发;
[0039] 当路由分析单元23输出的判断结果为不加入所述通用路由信息表26,不将所述最佳路由加入到通用路由信息表26中。
[0040] 其中,所述控制命令是网络管理人员在配置路由器时,配置的命令,其格式为:控制命令[控制条件参数参数名称],如,no-local-forward[route-policypolicy-name],或者为:不带控制条件参数的控制命令,如:no-local-forward。
[0041] 当所述控制命令不带有控制条件参数时,所有最佳路由都不加入到所述通用路由信息表;
[0042] 当所述控制命令带有控制条件参数时,与所述控制条件参数匹配的最佳路由不加入到所述通用路由信息表。
[0043] 其中,如图3所示,图2所述的路由分析单元23包括:
[0044] 命令分析单元231,用于分析控制命令是否带有控制条件参数; [0045] 匹配单元232,用于当命令分析单元231分析出控制命令带有控制条件参数时,分析所述控制条件参数与所述路由是否匹配,并输出匹配或不匹配的分析结果; [0046] 结果输出单元233,用于当命令分析单元231分析出控制命令带有控制条件参数并且匹配单元232输出的分析结果为不匹配时,输出加入通用路由信息表的判断结果到路由安装单元24。
[0047] 在具体实现时,所述路由反射设备采用的路由协议为边界网关路由协议,其中,所述控制命令的级别可以适应不同应用,定义在边界网关路由协议的全局级别、或地址族级别、或邻居组级别、或邻居级别,实现不同层面的精确控制。
[0048] 值得说明的是,本发明实施例的路由反射设备可以为一台BGP路由器或BGP路由反射器,所述BGP路由器或BGP路由反射器除了具有上述功能模块外,还具有与现有的BGP路由器或BGP路由反射器一样的结构。当然所述路由反射设备也可以是专用设备(非路由器),比如高性能服务器。所述高性能服务器除了具备上述结构外,还具备的高速网口用于BGP路由的转发,高性能CPU和高容量和高可靠性的存储设备用来进行丰富的策略控制和路由处理。
[0049] 上面具体阐述了本发明实施例提供的一种路由反射设备的技术方案,下面结合图4和图5,具体阐述本发明实施例的一种反射路由的处理方法的技术方案。 [0050] 参考图4,图示了本发明实施例的一种反射路由的处理方法的流程,所述处理方法包括:
[0051] 步骤S31,接收到反射路由信息后,从所述反射路由信息中选择一条路由,将所述选择出的路由作为最佳路由;
[0052] 步骤S32,发送所述最佳路由,并根据配置的控制命令判断所述最佳路由是否加入到通用路由信息表,如果否,则不加入到通用路由信息表,否则,进入下一步骤; [0053] 步骤S33,将所述最佳路由加入到通用路由信息表,在通用路由信息表中进行本地选路,优选后下发到转发信息表中指导转发。
[0054] 其中,所述控制命令是网络管理人员在配置路由器时,配置的命令,其格式为:控制命令[控制条件参数参数名称],如,no-local-forward[route-policypolicy-name],或者为:不带控制条件参数的控制命令,如:no-local-forward。
[0055] 其中,在步骤S32中,所述根据控制命令判断所述路由是否加入到通用路由信息表,如果否,则不加入到通用路由信息表的步骤具体为:
[0056] 当所述控制命令不带有控制条件参数(如:路由策略)时,所有最佳路由都不加入到所述通用路由信息表;
[0057] 当所述控制命令带有控制条件参数(如:路由策略)时,与所述控制条件参数匹配的最佳路由不加入到所述通用路由信息表。
[0058] 在具体实现时,所述方法适用的路由协议为边界网关路由协议,当然不限于此。 [0059] 为了进一步阐述本发明的技术方案,下面以BGP协议为例,结合图5详细阐述本发明实施例的技术方案。
[0060] 如图5所示,一种反射路由的处理方法包括:
[0061] 步骤S41,路由反射器接收到IBGP发送来的BGP路由;
[0062] 步骤S42,使用BGP选择路由的策略优选出一条路由作为最佳BGP路由,然后同时分别执行步骤S43和S44;
[0063] 步骤S43,将所述最佳BGP路由发送到所述路由反射器下的其它客户机; [0064] 同时,步骤S44,根据配置的控制命令判断所述BGP最佳路由是否加入到RIB表,如果否,则转到步骤S45,否则,进入步骤S46;
[0065] 步骤S45,不将所述BGP最佳路由加入到RIB表,结束;
[0066] 步骤S46,将所述最佳路由加入到RIB表;
[0067] 步骤S47在RIB表中进行路由选择;
[0068] 步骤S48,优选后的RIB表中的最佳路由下刷FIB表;
[0069] 步骤S49,FIB表根据最佳路由指导本地数据转发。
[0070] 在具体实现时,所述控制命令是网络管理人员在配置路由器时,配置的命令。所述控制命令的控制级别可以适用不同的应用,可以定义在边界网关路由协议的全局级别、或地址族级别、或邻居组级别、或邻居级别。例全局级别控制命令:no-local-forward[route-policy policy-name],作用域 为本 路由器 的BGP进程;地址族级别控制命令:no-local-forward[route-policy policy-name],作用域为BGP某地址族,例如IPV4 unicast地址族;邻居组级别和邻居级别控制命令:peer no-local-forward[route-policy policy-name],作用域为BGP邻居或邻居组。 [0071] 其中,在步骤S44中,根据控制命令判断所述BGP最佳路由是否加入到RIB表具体为:
[0072] 当所述控制命令不带有控制条件参数(route-policy)时,所有BGP最佳路由都不加入到RIB表;
[0073] 当所述控制命令带有控制条件参数(route-policy)时,与所述route-policy参数匹配的最佳路由不加入到RIB表。
[0074] 由上述实施例可知,本发明提供的一种反射路由的处理方法和路由反射设备通过限制将仅用于路由反射,不需要指导本地路由转发的路由加入到通用路由信息(RIB)表中,提高了内存使用率,即提高了设备容量。同时,由于不需加入RIB表中,减少了RIB选路和FIB下刷处理,提高了路由反射器的处理性 能。另外,由于不下刷转发信息表,解除了BGP优选路由和转发信息表项一一对应的关系,所以BGP能反射的前缀数目,也不再受转发信息表的容量约束,特别是不再受硬件转发信息表容量的约束。同时本发明没有对FIB表项和硬件设计进行优化,因此,不会带来硬件成本的增加,相对现有技术,本发明的成本极低。当然本发明也可以与路由表项的数据结构设计优化等方法配合使用达到更高技术效果。
[0075] 以上所揭露的仅为本发明一种较佳实施例而已,当然不能以此来限定本发明之权利范围,依本发明权利要求所作的等同变化,仍属本发明所涵盖的范围。