解决这个问题目前通常采用两种方法:一种方法是设法保存原始的BGP路由,这样,重新计算时就不需要重传了;另外一种方法是在启用新策略的时候,在不中断BGP会话的前提下,向对方请求重发全部BGP路由表 。
第一种方法是利用软件配置实现的,配置的命令如下:
neighbor;1.1.1.1;soft-reconfiguration;inbound
在启用新策略的时候输入命令:
clear;ip;bgp;1.1.1.1;soft;[inout]
这样,所有的原始BGP路由就会被存储在另外一张路由表里面,在修改策略的时候,通过对这张路由表进行运算,就可以得到最优的BGP路由表,这样对路由产生的资源消耗较小;而且有这样一张原始的路由表,可以在修改策略后、正式启用之前使用命令来检查策略修改后的效果 。但这种方法需要额外的内存资源来存储路由表 。
第二种方法是由路由器设备的BGP;能力(BGP;Capabilities)决定的,也就是系统软件本身内置的功能模块 。在建立BGP会话的时候,这个参数通过BGP;OPEN在两个路由器间进行交换 。一个设备是否支持BGP;Refresh;Capabilites,可以用命令下列来检查:
show;ip;bgp;n;x.x.x.x
假如参与BGP的两个路由器都具备这个功能,那么不需要任何配置,当执行clear;ip;bgp;n;x.x.x.x;in;时,本端BGP进程不会中断BGP会话,而是向对端请求重发全部的BGP路由表 。相对于第一种方法,这种方法的好处是可以节省内存资源,缺点是网络治理员无法了解对方发过来的原始路由,而且重发了全部路由表,效率上也没有第一种方法高 。目前骨干网内的设备基本上都支持这个功能 。
3;总结
以上对BGP扩展性相关的几个问题和相关的措施进行了论述,在实际的应用中还需要根据具体情况来部署 。但是总的思路和原则都是一样的,即一方面要降低设备的资源消耗,另外一方面要简化维护治理,从硬件、软件两方面来提高网络的扩展性 。
推荐阅读
- BGP邻居协商过程
- 在可扩展的网络中实施BGP
- BGP路由的优化
- BGP常见问题
- BGP协议建立连接及使用ISDN备份卫星链路
- BGP:边界网关协议概述
- BGP 边缘网关协议简介
- OSPF协议与其它路由协议的比较--使用情况不同
- RoutingProtocols路由选择协议
- 路由器BGP协议配置命令