BGP(BorderGatewayProtocol)边界网关协议,用来连接Internet上独立系统的路由选择协议。它是Internet工程任务组制定的一个加强的、完善的、可伸缩的协议。BGP4支持CIDR寻址方案,该方案增加了Internet上的可用IP地址数量。BGP是为取代最初的外部网关协议EGP设计的,也被认为是一个路径矢量协议。
背景
路由包括两个基本的动作:确定***路径和信息群(通常称为分组)通过网络的传输。通过网络传输分组相对较简单,而路径的确定复杂。BGP就是当今网络中实现路径选择的一种协议。下面简述BGP的基本操作,并提供其协议组件的描述。
BGP在TCP/IP网中实现域间路由。BGP是一种外部网关协议(EGP),即它在多个自治系统或域间执行路由、与其它BGP系统交换路由和可达性信息。
BGP设计用以代替其前身(现在已不用了)外部网关协议(EGP)作为全球因特网的标准外部网关路由协议。BGP解决了EGP的严重问题,能更有效地适应因特网的飞速发展。
BGP在多个RFC中规定:RFC1771-描述了BGP4,即BGP的当前版本。RFC1654-描述了***个BGP4规范。RFC1105,RFC1163和RFC1267-描述了BGP4之前的BGP版本。
操作
BGP执行三类路由:AS间路由、AS内部路由和贯穿AS路由。
AS间路由发生在不同AS的两个或多个BGP路由器之间,这些系统的对等路由器使用BGP来维护一致的网络拓扑视图,AS间通信的BGP邻居必须处于相同的物理网络。因特网就是使用这种路由的实例,因为它由多个AS(或称管理域)构成,许多域为构成因特网的研究机构、公司和实体。BGP经常用于为因特网内提供***路径而做路由选择。
AS内部路由发生在同一AS内的两个或多个BGP路由器间,同一AS内的对等路由器用BGP来维护一致的系统拓扑视图。BGP也用于决定哪个路由器作为外部AS的连接点。再次重申,因特网提供了AS间路由的实例。一个组织,如大学,可以利用BGP在其自己的管理域(或称AS)内提供***路由。BGP协议既可以提供AS间也可以提供AS内部路由。
bgp贯穿(pass-through)AS路由发生在通过不运行BGP的AS交换数据的两个或多个BGP对等路由器间。在贯穿AS环境中,BGP通信既不源自AS内,目的也不在该AS内的节点,BGP必须与AS内使用的路由协议交互以成功地通过该AS传输BGP通信,下图所示为贯穿AS环境:
路由
与其它路由协议一样,BGP维护路由表、发送路由更新信息且基于路由metric决定路由。BGP系统的主要功能是交换其它BGP系统的网络可达信息,包括AS路径的列表信息,此信息可用于建立AS系统连接图,以消除路由环,及执行AS策略确定。
每个BGP路由器维护到特定网络的所有可用路径构成的路由表,但是它并不清除路由表,它维持从对等路由器收到的路由信息直到收到增值(incremental)更新。
BGP设备在初始数据交换和增值更新后交换路由信息。当路由器***次连接到网络时,BGP路由器交换它们的整个BGP路由表,类似的,当路由表改变时,路由器发送路由表中改变的部分。BGP路由器并不周期性发送路由更新,且BGP路由更新只包含到某网络的***路径。
BGP用单一的路由metric决定到给定网络的***路径。这一metric含有指定链路优先级的任意单元值,BGP的metric通常由网管赋给每条链路。赋给一条链路的值可以基于任意数目的尺度,包括途经的AS数目、稳定性、速率、延迟或代价等。
【编辑推荐】