重启机制改进BGP性能


长期以来 , 冗余网络设计和热交换路由器硬件部件不断提高网络正常运行时间 。目前 , IETF正领导着一项基于软件的高可用性工作 , 这项工作需要对已有路由协议进行扩展来减少软件故障的影响 。
扩展边界网关协议(BGP)的功能是IETF工作的首批任务之一 。说明BGP协议扩展的Internet草案叫做“BGP优化重新启动机制” 。利用优化的重新启动 , 数据转发层即使在负责决定最佳路径的控制层发生故障时 , 仍可以连续处理和转发数据包 。优化的重新启动还减少了路由切换 , 从而稳定了网络和减少了控制层资源的消耗 。
BGP是高可用性改进技术的强有力的候选者 , 原因之一是其在设计上可支持大量的路由 。因此 , BGP软件发生故障后的收敛通常需要比其他路由协议更长的时间 , 从而导致更长持续时间的故障 。此外 , 由于BGP一般被部署在企业网络和服务提供商网络相会之处的广域网边缘 , 因此出现故障的BGP过程的影响会传播到多条网络上 , 而非限制在一个网域中 。
BGP优化的重新启动 , 是为减少出现故障的BGP过程引起故障的持续时间和范围而开发的 。为了实现这一目标 , 这种软件扩展必须部署在重新启动BGP过程的路由器以及在这个路由器的BGP对等路由器上 。对等路由器帮助BGP过程重新获得丢失的转发信息 , 还帮助将故障与网络的其他部署隔离开 。
当初始BGP连接建立时 , 协议修改就开始了 。重新启动路由器和对等路由器通过在建立会话的初始BGP开始消息中交换新BGP功能 , 来表明它们知道BGP优化的重新启动机制 。重新启动路由器还为其对等一方提供一个基于IP的协议清单 , 表明重新启动路由器在这些协议上具有在BGP重新启动过程中保持转发状态的功能 。这张清单可以包括IPv4、IPv6、IP多播和MPLS等协议 。
当路由器重新启动其BGP过程时 , 到对等路由器的TCP连接可能被清除 。在正常环境中 , 它会造成对等路由器清除所有与重新启动路由器相关的路由 。而这种情况在使用BGP优化的重新启动机制时不会出现 。相反 , 对等路由器将所有的路由标记为“过期” , 但基于重新启动路由器不久将重新建立的BGP会话的预期 , 继续使用它们来转发数据包 。同样 , 重新启动路由器还继续在这种过渡期内转发数据包 。
当重新启动路由器开始新BGP会话时 , 它将向对等路由器再次发送BGP功能代码 。不过 , 这次在优化的重新启动功能交换中,将通知对等路由器BGP过程已经重新开始 。在继续转发数据包的同时 , 对等路由器将利用有关的BGP路由信息库更新来重新启动路由器 。
所有主要路由器厂商都支持IETF“BGP优化重新启动机制”草案 , 两家主要Internet骨干路由器供给商目前正在发送支持这种协议扩展的代码 。

    推荐阅读