您好,欢迎访问三七文档
BGP(BorderGatewayProtocol)边界网关协议,用来连接Internet上独立系统的路由选择协议。它是Internet工程任务组制定的一个加强的、完善的、可伸缩的协议。BGP4支持CIDR寻址方案,该方案增加了Internet上的可用IP地址数量。BGP是为取代最初的外部网关协议EGP设计的,也被认为是一个路径矢量协议。目录定义扩展详解同步规则协议分析应用路由的优化ISP网内部署定义扩展详解同步规则协议分析应用路由的优化ISP网内部署商业价值PE的设置选路原则展开编辑本段定义BGP(BorderGatewayProtocol)是一种在自治系统之间动态交换路由信息的路由协议。一个自治系统的经典定义是在一个管理机构控制之下的一组路由器,它使用IGP和普通度量值向其他自治系统转发报文。在BGP中使用自治系统这个术语是为了强调这样一个事实:一个自治系统的管理对于其他自治系统而言是提供一个统一的内部选路计划,它为那些通过它可以到达的网络提供了一个一致的描述。BGP,边界网关协议,是自主网络系统中网关之间交换器路由信息的协议。边界网关协议常常应用于互联网的网关之间。路由表包含已知路由器的列表、路由器能够达到的地址以及到达每个路由器的路径的跳数。使用边界网关协议的主机一般也使用传输控制协议(TCP)。当网络检测到某台主机发出变化时,就会发送新的路由表。BGP-4,边界网关协议的最新版本,允许网络管理员在策略描述下配置跳数的规格。编辑本段扩展BGP是一种不同自治系统的路由器之间进行通信的外部网关协议。BGP是ARPANET所使用的老EGP的取代品。RFC1267[LougheedandRekhter1991]对第3版的BGP进行了描述。RFC1268[RekhterandGross1991]描述了如何在Internet中使用BGP。下面对于BGP的大部分描述都来自于这两个RFC文档。同时,1993年开发第4版的BGP(见RFC1467[Topolcic1993]),以支持CIDR。BGP系统与其他BGP系统之间交换网络可到达信息。这些信息包括数据到达这些网络所必须经过的自治系统AS中的所有路径。这些信息足以构造一幅自治系统连接图。然后,可以根据连接图删除选路环,制订选路策略。首先,将一个自治系统中的IP数据报分成本地流量和通过流量。在自治系统中,本地流量是起始或终止于该自治系统的流量。也就是说,其信源IP地址或信宿IP地址所指定的主机位于该自治系统中。其他的流量则称为通过流量。在Internet中使用BGP的一个目的就是减少通过流量。可以将自治系统分为以下几种类型:1)残桩自治系统(stubAS),它与其他自治系统只有单个连接。stubAS只有本地流量。2)多接口自治系统(multihomedAS),它与其他自治系统有多个连接,但拒绝传送通过流量。3)转送自治系统(transitAS),它与其他自治系统有多个连接,在一些策略准则之下,它可以传送本地流量和通过流量。这样,可以将Internet的总拓扑结构看成是由一些残桩自治系统、多接口自治系统以及转送自治系统的任意互连。残桩自治系统和多接口自治系统不需要使用BGP——它们通过运行EGP在自治系统之间交换可到达信息。BGP允许使用基于策略的选路。由自治系统管理员制订策略,并通过配置文件将策略指定给BGP。制订策略并不是协议的一部分,但指定策略允许BGP实现在存在多个可选路径时选择路径,并控制信息的重发送。选路策略与政治、安全或经济因素有关。BGP与RIP和OSPF的不同之处在于BGP使用TCP作为其传输层协议。两个运行BGP的系统之间建立一条TCP连接,然后交换整个BGP路由表。从这个时候开始,在路由表发生变化时,再发送更新信号。BGP是一个距离向量协议,但是与(通告到目的地址跳数的)RIP不同的是,BGP列举了到每个目的地址的路由(自治系统到达目的地址的序列号)。这样就排除了一些距离向量协议的问题。采用16bit数字表示自治系统标识。BGP通过定期发送keepalive报文给其邻站来检测TCP连接对端的链路或主机失败。两个报文之间的时间间隔建议值为30秒。应用层的keepalive报文与TCP的keepalive选项是独立的。编辑本段详解背景路由包括两个基本的动作:确定最佳路径和信息群(通常称为分组)通过网络的传输。通过网络传输分组相对较简单,而路径的确定复杂。BGP就是当今网络中实现路径选择的一种协议。下面简述BGP的基本操作,并提供其协议组件的描述。BGP在TCP/IP网中实现域间路由。BGP是一种外部网关协议(EGP),即它在多个自治系统或域间执行路由、与其它BGP系统交换路由和可达性信息。BGP设计用以代替其前身(现在已不用了)外部网关协议(EGP)作为全球因特网的标准外部网关路由协议。BGP解决了EGP的严重问题,能更有效地适应因特网的飞速发展。下面是核心路由器用BGP在AS间路由数据的示意图。bgpBGP在多个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数目、稳定性、速率、延迟或代价等。BGP消息类型RFC1771中规定了四种BGP消息类型:初始(open)消息,更新消息、通知消息和keep-alive消息。初始消息在对等路由器间打开一个BGP通信会话,是建立传输协议后发送的第一个消息,初始消息由对等设备发送的keep-alive消息确认,且必须得到确认后才可以交换更新、通知和keep-alive消息。更新消息用于提供到其它BGP系统的路由更新,使路由器可以建立网络拓扑的一致视图。更新用TCP发送以保证传输的可靠性。更新消息可以从路由表中清除一条或多条失效路由,同时发布若干路由。通知消息在检查到有错误时发送。通知消息用于关闭一条活动的会话,并通知其它路由器为何关闭该会话。keep-alive消息通知对等BGP路由器该设备仍然alive。keep-alive消息发布足够频繁以防止会话过期。分组格式简述BGP初始、更新、通知和keep-alive消息类型及基本的BGP信头格式。1、信头格式bgp所有的BGP消息类型都使用基本的分组信头。初始、更新和通知消息有附加的域,而keep-alive消息只使用基本的分组信头。下图为BGP信头使用的域:每个BGP分组都包含信头,其主要目的是标识该分组的功能。下面简述信头中的每个域。标记-含有认证值。长度-指示消息的总长度,以字节计。类型-标识消息类型为下列类型之一:初始更新通知keep-alive数据:为可选域,含有上层信息。2、初始消息格式bgpBGP初始消息由BGP信头和附加域构成,下图为BGP初始消息的附加域:在信头的类型域中标识为BGP初始消息的BGP分组包含下列各域,这些域为两个BGP路由器建立对等关系提供了交换方案:版本-提供BGP版本号,使接收者可以确认它是否与发送者运行同一版本协议。自治系统-提供发送者的AS号。保持时间(Hold-time)-在发送者被认为失效前最长的不接收消息的秒数。BGP标识-提供发送者的标识(IP地址),在启动时决定,对所有本地接口和所有对等BGP路由器而言都是相同的。可选参数长度-标识可选参数域的长度(如果存在的话)。可选参数-包含一组可选参数。目前只定义了一个可选参数类型:认证信息。认证信息含有下列两个域:认证码:标识使用的认证类型。认证数据:包含由认证机制使用的数据。3、更新消息格式bgpBGP更新消息由BGP信头和附加域构成,下图为BGP更新消息的附加域:收到更新消息分组后,路由器就可以从其路由表中增加或删除指定的表项以保证路由的准确性。更新消息包含下列域:失效路由长度-标识失效路由域的总长度或该域不存在。失效路由-包含一组失效路由的IP地址前缀。总路径属性长度-标识路径属性域的总长度或该域不存在。路径属性-描述发布路径的属性,可能的值如下:源:必选属性,定义路径信息的来源。AS路径:必选属性,由一系列AS路径段组成。下一跳:必选属性,定义了在网络层可达信息域中列出的应用作到目的地下一跳的边缘路由器的IP地址。多重出口区分:可选属性,用于在到相邻AS的多个出口间进行区分。本地优先权:可选属性,用以指定发布路由的优先权等级。原子聚合:可选属性,用于发布路由选择信息。聚合:可选属性,包含聚合路由信息。网络层可达信息-包含一组发布路由的IP地址前缀。4、通知消息格式:bgp下图为BGP通知消息使用的附加域:通知消息分组用于给对等路由器通知某种错误情况。错误码-标识发生的错误类型。下面为定义的错误类型:消息头错:指出消息头出了问题,如不可接受的消息长度、标记值或消息类型。初始消息错:指出初始消息出了问题,如不支持的版本号,不可接受的AS号或IP地址或不支持的认证码。更新消息错:指出更新消息出了问题,如属性列表残缺、属性列表错误或无效的下一跳属性。保持时间过期:指出保持时间已过期,这之后BGP节点就被认为已失效。有限状态机错:指示期望之外的事件。终止:发生严重错误时根据BGP设备的请求关闭BGP连接。错误子码-提供关于报告的错误的更具体的信息。错误数据-包含基于错误码和错误子码域的数据,用于检测通知消息发送的原因。编辑本段同步规则BGP同步及其基本需求1.BGP同步规则的定义:在bgp同步打开的情况下,一个BGP路由器不会把那些通过ibgp邻居学到的bgp路由通告给自己的ebgp邻居;除非自己的igb路由表中存在这些路由,才可以向ebgp路由器通告.2.BGP同步规则的目的:防止一个AS(不是所有的路由器都运行bgp)内部出现路由黑洞,即向外部通告了一个本AS不可达的虚假的路由.BGP同步规则的拓扑示意3.BGP同步规则的基本需求如果一个
本文标题:BGP协议
链接地址:https://www.777doc.com/doc-3093813 .html