
图一
3.BGP-4的基本概念BGP-4是典型的外部网关协议,是现行的因特网实施标准。它完成了在自治系统AS间的路由选择。可以说,BGP协议是现代整个网络的支架。BGP-4在RFC1771中作出了规定,并且还涉及其他很多的RFC文档。在这一新版本中,BGP开始支持CIDR(Classless interdomains routing)和AS路径聚合(Aggregation),这种新属性的加入,可以减缓BGP表中条目的增长速度。
图二
BGP协议是一种距离矢量(Distance vector)的路由协议,但是比起RIP等典型的距离矢量协议,又有很多增强的性能。BGP使用TCP作为传输协议,使用端口号179。在通信时,要先建立TCP会话,这样数据传输的可靠性就由TCP协议来保证,而在BGP的协议中就不用再使用差错控制和重传的机制,从而简化了复杂的程度。另外,BGP使用增量的、触发性的路由更新,而不是一般的距离矢量协议的整个路由表的、周期性的更新,这样节省了更新所占用的带宽。BGP还使用“保留”信号(Keepalive)来监视TCP会话的连接。而且,BGP还有多种衡量路由路径的度量标准(称为路由属性),可以更加准确的判定出最优的路径。与传统的内部路由协议相比,BGP还有一个有趣的特性,就是使用BGP的路由器之间,可以被未使用BGP的路由器隔开。这是因为BGP在独立的内部路由协议之上工作,所以通过BGP会话连接的路由器能被多个运行内部路由协议的路由器分开。建立了BGP会话连接的路由器被称作对等体(peers or neighbors),对等体的连接有两种模式:IBGP(Internal BGP)和EBGP(External BGP)。IBGP是指单个AS内部的路由器之间的BGP连接,而EBGP则是指AS之间的路由器建立BGP会话。
图三前面已经提到,BGP是用来完成AS之间的路由选择的,所以对于BGP来说,每一个AS都是一个原子的跳度。那么,IBGP又起什么样的作用呢?IBGP是用来在AS内部完成BGP更新信息的交换。虽然这种功能也可以由“再分布” (Redistribution)技术来完成——将EBGP传送来的其他AS的路由“再分布”到IGP中,然后将其“再分布”到EBGP传送到其他AS。但是相比之下,IBGP提供了更高的扩展性、灵活性和治理的有效性。比如,IBGP提供了选择本地AS外出点的方式。IBGP的功能是维护AS内部连通性。BGP规定,一个IBGP的路由器不能将来自另一IBGP路由器的路由发送给第三方IBGP路由器。这也可以理解为通常所说的Split-horizon规则。当路由器通过EBGP接收到更新信息时,它会对这个更新信息进行处理,并发送到所有的IBGP及余下的EBGP对等体;而当路由器从IBGP接收到更新信息时,它会对其进行处理并仅通过EBGP传送,而不会向IBGP传送。所以,在AS中,BGP路由器必须要通过IBGP会话建立完全连接的网状连接,以此来保持BGP的连通性。假如没有在物理上实现全网状(full meshed)的连接,就会出现连通性上的问题(这在大型网络中会碰到扩展性的问题,将在下面“扩展性”一节中作讨论。)
图四联盟则是将AS再划分成子AS(sub AS),在sub AS中运行IBGP,使用全网状结构;而在sub AS之间使用EBGP,这样也可减少对IBGP连接的需求。联盟同样也存在缺陷,如路由选择等。所以和路由反射器一样,一般只在存在很多IBGP连接时才会使用联盟技术。7.BGP的使用BGP的功能是在各AS之间完成路由选择。它主要用于ISP(Internet Service Provider)之间的连接和数据交换。但是,并不是所有情况下BGP都适用。使用BGP会大大增加路由器的开销,并且大大增加规划和配置的复杂性。所以,使用BGP协议需要先做好需求分析。一般来说,假如本地的AS与多个外界AS建立了连接,并且有数据流从外部AS通过本地AS到达第三方的AS,那么可以考虑使用BGP来控制数据流。假如本地AS与外界只有一个连接(通常说的stub AS),而且并不需要对数据流进行严格控制,那就不必使用BGP协议,而可以简单的使用静态路由(Static route)来完成与外部AS的数据交换。另外,硬件和线路的原因也会影响到BGP的选择。如前所说,使用BGP会加大路由器的开销,并且BGP路由表也需要很大的存储空间,所以当路由器的CPU或者存储空间有限时,或者带宽太小时,不宜使用BGP路由协议。8.总结BGP的主要功能是连接各个AS,提供AS之间的信息交换。各个BGP系统之间交换路由信息,来保证得到一个无环路的路由结构。BGP还提供了在AS的水平上的路由策略的选择方式,以优化路由选择。作为整个互联网的整体支架,BGP提供了一个功能强大的连接AS的工具,但是它在使用中也存在一定的局限性,所以在决定使用之前一定要作认真分析,以确定是否使用BGP以及具体实施方案。 新闻热点
疑难解答