路由的使用,极大地扩展了网络的更方面性能。那么接下来我们主要分析一下IBGP路由协议的一些特点。通过文章的介绍我们能够了解一下这方面的路由特性。随着网络的近一步发展,ISP需要通过不同的网络提供商,通过多条线路与INTERNET连接,以保证网络的可靠性。这时BGP才有了真正的用武之地。在这种情况下,网络通常会出现以下几种结构。如图二,图三。两种网络结构看起来有些类似,图三中网络结构只是增加了一台路由器以排除图二中路由器R1产生单点故障的可能,但在如何部署BGP路由时却完全不同。
在图二中只需在R1上配置BGP,并将R1作为网内其它路由器的缺省网关,并通过BGP路由协议所提供的Weight这个路由参数,调节网内流量在两条线路上的分布。这样即可实现线路的互为备份,又可有效的调节流量分布。
网络的几种结构
在图中,有两台路由器拥有外部路由,通常为保证域内的路由一致性,需在图中路由器R1和R2之间建立IBGP连接,使其建立一致的BGP路由表。在这个过程中,也可人为的使用BGP路由协议所提供的Local-Preference这个路由参数,优化路由选择,以控制数据流量在线路上的分布。但如何将这些外部路由告知网内的其它路由器,简单的有以下两种方法:
1.在网络结构相对简单时,网络没有分布层,核心层直接与接入层连接。这时接入层路由器往往不能在传输大量的用户数据的同时, 满足启用BGP所需的性能要求。在这种情况下,只有依据流量的分布情况,将网内接入路由器划分组别,不同的组别将缺省网关指向不同的边界网关路由器。
这种设计只能作为网络结构不完善,设备性能不高时的临时方案,不能作为***性方案。因为它经常需要人为干预,依据网络流量变化情况重新划分路由器组别,否则会出现某一路由器负载过重,而另为一台负载较轻的情况,从而不能有效的使用设备资源。而且当互联的线路增多时,这种设计会面临更多的问题。
2.***的方法是首先要建立完善网络结构,网络结构应具备核心层,分布层和接入层。通过IBGP路由协议将外部路由注入到分布层路由器中,如图二中路由器R3,R4。进而将分布层的路由器作为某一区域接入层路由器的缺省网关,将通往域外的负载均匀的分布到各个分布层路由器上,从减少对具体某个路由器的压力。
这种设计是网络结构日趋完善,网络规模日趋扩大的ISP最终的选择。
最近CISCO公司有从另一角度提出一个部署BGP路由协议的新思路,使用IBGP作为内部路由协议,交换网内用户路由信息。及在网络的接入层路由器上启用IBGP路由协议,并将指向用户的静态路由分布到IBGP中。这主要是考虑,BGP路由协议在路由变动时,只更新发生变动的路由,不会象OSPF和ISIS,重新计算SPF数据库。因而利用BGP这一特性减少路由收敛时间,提高网络的稳定性。但在使用这种方法时,应注意BGP对路由器性能的要求,应避免将外部路由注入到接入层路由器中,导致路由器工作性能下降。
综上所述,我们简单讨论了如何在ISP的网络上部署BGP路由协议。实际上,BGP的应用重点和优势在于其对路由信息的控制能力, 从而达到对数据流量的控制和分配。这是一项非常复杂的工作,要依据具体的情况而定,在本文就不多谈了。但有一点需要注意,仅仅依靠BGP自身的手段来满足各种不同的实际需要是不可行的,还需与互联伙伴共同协作才能实现,因为BGP中的许多参数需要互联双方共同商定,才能生效。