两个交换路由信息的路由器如果分属两个自治系统,则称为外部邻居(exterior neighbors),若同属一个自治系统,则称为内部邻居(interior neighbors)。外部邻居使用的向其他自治系统通告可达信息的协议称为外部网关协议EGP(Exterior Gateway Protocol),使用该协议的路由器称为外部路由器(exterior router)。如图7-19所示,显示两个外部邻居使用EGP的情况。路由器Rl收集自治系统1中的网络信息,使用EGP把这些信息通告给路由器R2,与此同时,路由器R2也通告自治系统2的信息。对两个外部路由器Rl和R2收集到所在的自治系统中的网络信息后,使用EGP来通告这些信息。外部路由器通常接近自治系统的外围边界。
EGP有三大功能:第一个是支持邻居获取机制,即允许一个路由器请求另一个路由器同意交换可达信息。一路由器获得一EGP对等路由器或一EGP邻居,EGP对等路由器仅在交换选路信息的意义上是邻居,而不论其地理位置是否邻近。第二,路由器持续测试其EGP邻站是否能响应。第三,EGP邻站周期性地传送路由更新报文来交换网络可达的信息。
图7-19 自治系统之间的通信
1.BGP基础
BGP(Border Gateway Protocol,边界网关协议)是一种用于自治系统之间的动态路由协议,用于在多个自治系统中实现互连。
(1)自治系统
AS是拥有同一选路策略,在同一技术管理部门下运行的一组路由器。互联网是由许多自治系统组成,并将自治系统集合在一起构成的更大网络。自治系统是构成网络路由的基本单元,如:它可以是由多个本地网组成的整个企业网。
通过BGP自治系统可在网络内发布外部网络可见的路由,也可了解到由其他自治系统发布的可达性路由信息。如何选择向外部发布消息的路由,每个自治系统都有自己特定的策略。在自治系统与外界连接的每个结点上,这个策略可以不同。
互联网由许多网络组成,这些网络互连。每一公司网络或ISP(互联网服务提供商)都有唯一的一个自治系统号(ASN),当共享路由信息的时候,这些ASN帮助建立起一个等级关系。
在自治网络内部,内部路由选择协议称为内部网关协议IGP。IGP的主要任务是在一系列IP子网中建立连接。常见的内部网关协议有路由信息协议RIP、内部网关路由协议IGRP、开放最短路径优先协议OSPF与增强内部网关路由协议EIGRP。
外部网关协议EGP是一类互连不同自治系统并在其间寻找路由的协议,来往于自治系统之间。一个自治系统中IP数据报可分成本地流量和通过流量。在自治系统中,信源IP地址或信宿IP地址所指定的主机位于该自治系统中,本地流量是起始或终止于该自治系统的流量,其他流量则称为通过流量。在网中使用BGP的一个目的就是减少通过流量。
(2)自治系统分为3种类型
1)残桩自治系统(Stub AS):它与其他自治系统只有单个连接。Stub AS只有本地流量。如图7-20所示,Stub AS只有一个进出口。在这种网络结构中,残桩网络不需要知道互联网的路由。因为残桩网络下一跳是本地服务提供者或互联网服务提供商,所有流量都通过唯一接口传递给提供商,然后由提供商负责通告客户的静态路由。如只有少量静态路由需手工配置和通知,残桩网络是不错的选择,但当路由增多时,该方法就显得复杂。
图7-20 Stub AS
如有多个路由器通过网络,就有多种选择。可建立静态路由或使用IGP决定网络结构,在AS与服务提供商之间选择最佳路由,也可在客户和本地服务提供商之间使用eBGP,或将这些方法综合使用。如图7-21所出。
如通过ISP与外部通信的话,那么Stub AS要想获得AS较困难。因为ISP会将Stub AS看做自己AS的一个扩展,会要求Stub AS遵守其AS策略。
AS号为16bit的整数,从1覆盖到65535,其中64512~65535保留私用。通常情况下,ISP会从私有池中为客户分配一个AS号,即从64512~65535中分配一个号码。
2)多接口自治系统(Multihomed AS):它与其他自治系统有多个连接,但拒绝传送通过流量。多接口自治系统可以与几个服务提供商交换数据,但不为提供商之间转送数据。
3)转送自治系统(Transit AS):与其他自治系统有多个连接,在一些策略准则下,可传送本地流量及通过流量。转送自治系统的最好实例是本地服务提供商,它为多个AS提供流量运载服务。(www.xing528.com)
从以上分析可知,可将互联网的总拓扑结构看成是由一些残桩自治系统、多接口自治系统以及转送自治系统的任意互连。
2.BGP拓扑结构
BGP没有对基础互联网拓扑施加任何限制,假定自治系统内部的路由已通过自治系统内的路由协议完成。基于在BGP相邻体之间交换的信息,BGP构造一个自治系统图,有时也称为树。就BGP而言,该互联网就是一个AS图,每个AS用AS号码识别,两个AS之间连接形成一个路径,路径信息汇集成到达特定目的地的路由。BGP确保无循环域之间进行路由。图7-22表达了这个概念。
图7-21 Stub AS与服务提供商的连接
图7-22 AS路径树
通过BGP直接连接的路由器即BGP发言人,BGP发言人可在同一个AS内,也可在不同AS内。每个AS的BGP发言人互相通信,遵照每个AS建立的策略,交换网络的可达信息。对某个BGP发言人,如与其他BGP发言人通信且那个BGP发言人在不同的AS,则其他BGP发言人称为外部对等体,而如果在相同的AS内则称为内部对等体。
通常,如一个AS与其他AS有多个连接,则需要多个BGP发言人。所有BGP发言人代表着相同AS,对外保持统一,这就要求它们之间保持一致的路由信息。这些路由器可通过BGP或其他方法互相通信,在同一个AS内的所有BGP发言人的策略约束必须一致。
外部对等体,分别属于不同的AS,但共享同一数据链路子网。这些共同的子网用来在对等体之间传输BGP信息。自治系统号必须在BGP中使用,标明BGP发言人所在的自治系统。
3.iBGP和eBGP
属于同一个自治系统的路由器使用iBGP(内部边界网关协议)。这些路由器可能会使用回送接口来提高AS中的可到达性。这种情形有可能发生,因为一个IGP对于一个给定的目的地址可提供多条路由,如路由器的一个接口失效了,回送地址的TCP连接仍能通过其他端口得到保持,在两路由器之间传送任何BGP的路由信息之前,须先建立TCP连接。
对等体的路由信息不会从一个iBGP发布到另一个iBGP对等体。这样可避免不一致的路由信息和网络中路由环路的产生。为了能在所有的iBGP路由器之间共享路由信息,必须确立一个如图7-23所示的逻辑网络结构,路由信息仅在网络成员之间进行交换。路由器B仅从路由器A那里学习到BGP的网络结构,当路由器C发送BGP信息时,只有关于它自己的那部分被发送,而从路由器A处学习来的路由信息不会被传送。
图7-23 iBGP信息交换
eBGP(外部边界网关协议)用在不同的自治系统之间交换路由信息。若两个自治系统之间只有一个链路,那么接口的IP地址被用来建立两自治系统间的BGP网段。接口上也可用其他的IP地址,但这些地址必须在没有使用IGP的情况下也是有效的。若几个自治系统之间有多条链路,使用回送地址是最好的选择。
在每个自治系统外部,eBGP用来将一个自治系统的路由通过企业网连接到另一个自治系统中。内部路由要想通过BGP被广播必须首先满足两个条件:某路由器要通告某条路由给BGP,该路由必须在该路由器的路由表中存在;BGP必须能够学习到路由。
4.BGP应用环境
何时使用BGP,有以下几种情形:需穿越一个AS系统发送信息到另一个系统;AS有到其他自治系统的多条连接;必须对进入和离开AS的数据流进行控制。
以下几种情况不使用BGP:只有到互联网或另一个AS的单一连接时,无需考虑路由策略或路由选择时,路由器缺乏经常性的BGP更新的内存或处理器时,对路由过滤和BGP路径选择过程了解十分有限时,自治系统间带宽较低时。
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。