外部网关协议 是对自治系统之间传输路由信息的所有协议的一个分类,与之相对的 内部网关协议 则是指自治系统内部路由器间传输路由信息的所有协议。

在大多数TCP/IP互联网中使用了一个称为 边界网关协议BGP (Border Gateway Protocol)的外部网关协议。目前该协议发展到第4版,因此也称 BGP-4

如下图所示,当一对自治系统同意交换路由信息时,每个自治系统必须指定一个运行BGP协议的路由器负责自治系统间相互对等地通信,这个路由器相对于对方被称为 BGP对等路由器 。为了获得优化的传输效率, BGP对等路由器一般位于自治系统的边缘,因此也被称为 边界网关 (border gateway)或 边界路由器 (border router)。

BGP协议具有一些特殊性。 首先它既不是纯粹的矢量距离协议,也不是纯粹的链路状态协议,它具有以下一些特点:

自治系统间通信。BGP协议专门用于自治系统间的路由信息通信。

多个BGP路由器之间的协调。如果一个自治系统有多个路由器分别与外界自治系统中的对等路由器进行通信,BGP可以协调这一系列路由器,使它们都能够传播一致的信息。

可达信息的传播。BGP协议允许一个自治系统通告其内部可达的目的站,以及通过它可以到达的目的站。并且能够从另一个自治系统了解这些信息。

下一跳信息。BGP为每个目的站提供下一跳信息。

策略支持。一般的矢量距离协议确切通告本地路由表中的信息,而BGP可以实现本地管理员选择的策略,区分自治系统内计算机可达的目的站和通告给其他自治系统的目的站。

可靠传输。BGP传输的路由信息往往涉及网络主干的路由,因此对可靠性要求高。BGP采用TCP协议传输。

路径信息。BGP通告的路由信息不仅包含下一跳信息,而且包含到达目的站路径上的一系列自治系统信息。因此通告的是全路径信息。

增加更新。为了节约带宽资源,BGP在第一次交换中提供完整的信息。后续报文只携带变化的信息。

支持无类型编址。协议不需要地址自标识,而提供了掩码和网络地址一起发送的方式。

路由聚集。BGP通过路由聚集,将若干路由信息聚集在一起,并发送单一条目来表示多个相关的目的站。这样就节约了网络带宽。

鉴别。BGP允许接收方对报文进行鉴别,验证发送方的身份。

BGP对等路由器主要包含以下三项功能:

发起对等路由器探测和鉴别。两个对等路由器建立一个TCP连接并执行报文交换,这样就保证了双方同意进行通信。

每一方都发送肯定或否定的可达性信息,报告一个或多个目的站可达状态的变化,包括可以到达或不可到达。

提供外发的验证,表明对等路由器以及它们之间的网络连接一切正常。

BGP的报文类型和用途如下图所示: