边缘网关协议(BGP)

2008-02-22 12:36:26来源:互联网 阅读 ()

新老客户大回馈,云服务器低至5折

一、背景
  路由包括两个基本的动作:确定最佳路径和信息群(通常称为分组)通过网络的传输。通过网络传输分组相对较简单, 而路径的确定可以分复杂。BGP就是当今网络中实现路径选择的一种协议。本文简述BGP的基本操作,并提供其协议组件的描述。

  BGP在TCP/IP网中实现域间路由。BGP是一种外部网关协议(EGP),即它在多个自治系统或域间执行路由、 与其它BGP系统交换路由和可达性信息。

  BGP设计用以代替其前身(现在已不用了)外部网关协议(EGP)作为全球因特网的标准外部网关路由协议。 BGP解决了EGP的严重问题,能更有效地适应因特网的飞速发展。

  注:EGP是外部网关协议(也叫EGP)的一种,这二者不要混淆。

  下面是核心路由器用BGP在AS间路由数据的示意图。



  BGP在多个RFC中规定:

RFC1771 - 描述了BGP4,即BGP的当前版本。
RFC1654 - 描述了第一个BGP4规范。
RFC1105,RFC1163和RFC1267 - 描述了BGP4之前的BGP版本。
二、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内部路由。

  贯穿(pass-through)AS路由发生在通过不运行BGP的AS交换数据的两个或多个BGP对等路由器间。在贯穿AS环境中, BGP通信既不源自AS内,目的也不在该AS内的节点,BGP必须与AS内使用的路由协议交互以成功地通过该AS传输BGP通信, 下图所示为贯穿AS环境:



三、BGP路由
  与其它路由协议一样,BGP维护路由表、发送路由更新信息且基于路由metric决定路由。 BGP系统的主要功能是交换其它BGP系统的网络可达信息,包括AS路径的列表信息,此信息可用于建立AS系统连接图, 以消除路由环,及执行AS级策略确定。

  每个BGP路由器维护到特定网络的所有可用路径构成的路由表,但是它并不清除路由表, 它维持从对等路由器收到的路由信息直到收到增值(incremental)更新。

  BGP设备在初始数据交换和增值更新后交换路由信息。当路由器第一次连接到网络时,BGP路由器交换它们的整个BGP路由表, 类似的,当路由表改变时,路由器发送路由表中改变的部分。BGP路由器并不周期性发送路由更新, 且BGP路由更新只包含到某网络的最佳路径。

  BGP用单一的路由metric决定到给定网络的最佳路径。这一metric含有指定链路优先级的任意单元值, BGP的metric通常由网管赋给每条链路。赋给一条链路的值可以基于任意数目的尺度, 包括途经的AS数目、稳定性、速率、延迟或代价等。

四、BGP消息类型

  RFC1771中规定了四种BGP消息类型:初始(open)消息,更新消息、通知消息和keep-alive消息。

  初始消息在对等路由器间打开一个BGP通信会话,是建立传输协议后发送的第一个消息, 初始消息由对等设备发送的keep-alive消息确认,且必须得到确认后才可以交换更新、通知和keep-alive消息。

  更新消息用于提供到其它BGP系统的路由更新,使路由器可以建立网络拓扑的一致视图。更新用TCP发送以保证传输的可靠性。 更新消息可以从路由表中清除一条或多条失效路由,同时发布若干路由。

  通知消息在检查到有错误时发送。通知消息用于关闭一条活动的会话,并通知其它路由器为何关闭该会话。

  keep-alive消息通知对等BGP路由器该设备仍然alive。keep-alive消息发布足够频繁以防止会话过期。

五、BGP分组格式

  本节简述BGP初始、更新、通知和keep-alive消息类型及基本的BGP信头格式。

  1、信头格式

所有的BGP消息类型都使用基本的分组信头。初始、更新和通知消息有附加的域,而keep-alive消息只使用基本的分组信头。
下图为BGP信头使用的域:



每个BGP分组都包含信头,其主要目的是标识该分组的功能。下面简述信头中的每个域。

标记 - 含有认证值。
长度 - 指示消息的总长度,以字节计。
类型 - 标识消息类型为下列类型之一:

初始
更新
通知
keep-alive
数据:为可选域,含有上层信息。
2、初始消息格式

BGP初始消息由BGP信头和附加域构成,下图为BGP初始消息的附加域:



在信头的类型域中标识为BGP初始消息的BGP分组包含下列各域,这些域为两个BGP路由器建立对等关系提供了交换方案:
版本 - 提供BGP版本号,使接收者可以确认它是否与发送者运行同一版本协议。
自治系统 - 提供发送者的AS号。
保持时间(Hold-time) - 在发送者被认为失效前最长的不接收消息的秒数。
BGP标识 - 提供发送者的标识(IP地址),在启动时决定,对所有本地接口和所有对等BGP路由器而言都是相同的。
可选参数长度 - 标识可选参数域的长度(如果存在的话)。
可选参数 - 包含一组可选参数。目前只定义了一个可选参数类型:认证信息。认证信息含有下列两个域:
认证码:标识使用的认证类型。
认证数据:包含由认证机制使用的数据。

标签:

版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有

上一篇:Internet 路由协议

下一篇:路由信息协议(RIP)