您好,欢迎访问三七文档
当前位置:首页 > 办公文档 > 工作范文 > M0000003BGP协议原理(中文版10)
课程XXXXBGP路由协议原理(M0000003)Issue1.011.1BGP协议概述1.1.1基本概念BGP协议概述BGP协议概述lBGP是外部路由协议,用来在AS之间传递路由信息l是一种距离矢量的路由协议,从设计上避免了环路的发生l为路由附带属性信息l传送协议:TCP,端口号179l支持CIDR(无类别域间选路)l路由更新:只发送增量路由l丰富的路由过滤和路由策略BGP(BorderGatewayProtocol)是一种自治系统间的动态路由发现协议,它的基本功能是在自治系统间自动交换无环路的路由信息,通过交换带有自治系统号(AS)序列属性的路径可达信息,来构造自治区域的拓扑图,从而消除路由环路并实施用户配置的路由策略。与OSPF和RIP等在自治区域内部运行的协议对应,BGP是一类EGP(ExteriorGatewayProtocol)协议,而OSPF和RIP等为IGP(InteriorGatewayProtocol)协议。BGP协议经常用于ISP之间。BGP协议从1989年以来就已经开始使用。它最早发布的三个版本分别是RFC1105(BGP-1)、RFC1163(BGP-2)和RFC1267(BGP-3),当前使用的是RFC1771(BGP-4)。随着INTERNET的飞速发展,路由表的体积也迅速增加,自治区域间路由信息的交换量越来越大,影响了网络的性能。BGP支持无类别域间选路CIDR(ClasslessInterdomainRouting),可以有效的减少日益增大的路由表。BGP-4正迅速成为事实上的Internet边界路由协议标准。特性描述如下:BGP是一种外部路由协议,与OSPF、RIP等的内部路由协议不同,其着眼点不在于发现和计算路由,而在于控制路由的传播和选择最好的路由。通过携带AS路径信息,可以彻底解决路由循环问题。为控制路由的传播和路由选择,它为路由附带属性信息。使用TCP作为其传输层协议,提高了协议的可靠性。课程XXXXBGP路由协议原理(M0000003)Issue1.02BGP-4支持无类别域间选路CIDR(ClasslessInterDomainRouting),有时也称为supernetting,这是对BGP-3的一个重要改进。CIDR以一种全新的方法看待IP地址,不再区分A类网、B类网及C类网。例如一个非法的C类网络地址192.213.0.0(255.255.0.0)采用CIDR表示法192.213.0.0/16就成为一个合法的超级网络,其中/16表示子网掩码由从地址左端开始的16比特构成。CIDR的引入简化了路由聚合(RoutesAggregation),路由聚合实际上是合并几个不同路由的过程,这样从通告几条路由变为广告一条路由,减化了路由表。路由更新时,BGP只发送增量路由,大大减少了BGP传播路由所占用的带宽,适用于在Internet上传播大量的路由信息。由于政治的、经济的原因,每个自治系统希望对路由进行过滤、选择和控制,因此,BGP-4提供了丰富的路由策略,它使得BGP便于扩展以支持因特网新的发展。与OSPF,RIP等IGP协议相比,BGP的拓扑图要更抽象和粗略一些。因为IGP协议构造的是AS内部的路由器的拓扑结构图。IGP把路由器抽象成若干端点,把路由器之间的链路抽象成边,根据链路的状态等参数和一定的度量标准,每条边配以一定的权值,生成拓扑图。根据此拓扑图选择代价(两点间经过的边的权值和)最小的路由。这里有一个假设,即路由器(端点)转发数据包是没有代价的。而在BGP中,拓扑图的端点是一个AS区域,边是AS之间的链路。此时,数据包经过一个端点(AS自治区域)时的代价就不能假设为0了,此代价要由IGP来负责计算。这体现了EGP和IGP是分层的关系。即IGP负责在AS内部选择花费最小的路由,EGP负责选择AS间花费最小的路由。BGP作为EGP的一种,选择路由时考虑的是AS间的链路花费、AS区域内的花费(由BGP路由器配置)等因素。如上所述,内部网关协议IGP需引入AS自治区域内部网络拓扑图其它各点的路由,同时向其它端点发送本端点(路由器)所知的路由,如直接路由、静态路由等。作为外部网关协议,BGP发送和引入路由的单位是整个AS自治区域,即BGP要发送本地路由器所在的AS内部的所有路由,引入其它AS自治区域的所有路由(假设不使用路由策略控制发送和引入)。其路由数量显然要远远大于IGP发送和引入的路由数量。因此,类似于IGP那样定时对外广播路由信息是不可取的。BGP采用发送路由增量(Incremental)的方法,完成全部路由信息的通告和维护:初始化时发送所有的路由给BGP对等体(BGPPeer),同时在本地保存了已经发送给BGP对等体的路由信息。当本地的BGP收到了一条新路由时(如通过IGP注入了新路由或加入了新的静态路由),与保存的已发送信息进行比较,如未发送过,则发送,如已发送过则与已经发送的路由进行比较,如新路由花费更小,则发送此新路由,同时更新已发送信息,反之则不发送。当本地BGP发现一条路由失效时(如对应端口失效),如此路由已发送过,则向BGP对等体发送一个撤消路由消息。课程XXXXBGP路由协议原理(M0000003)Issue1.03总之,BGP不是每次都广播所有的路由信息,而是在初始化全部路由信息后只发送路由的变化量(增量)。这样保证了BGP和对端的最小通信量,但同时也增加了BGP的复杂程度。因为对于IGP,本地路由协议只需发送发送时刻所知的全部路由,而不保存任何已发送信息,路由选择的工作由对端来完成;而BGP必须为每个BGP对端保存已经发送的路由信息,以便发送一条新路由前确认其是否真的应该发送。为了减小路由表的体积和发送路由的通信量,BGP还支持CIDR(ClasslessInterDomainRouting)。它使用带有较短的掩码(相对于自然掩码)的路由来在一条路由中表达更多的路由信息。如从202.112.1.0/24-202.112.254.0/24可以使用202.112.0.0/16表示,从而减小了路由表的体积和发送路由信息时的网络流量。同时,作为AS自治区域间的路由协议,由于政治的、经济的等原因,BGP需要按照不同的路由的属性控制路由的发送和引入。因此,BGP有丰富的路由策略控制手段。课程XXXXBGP路由协议原理(M0000003)Issue1.041.1.2自治系统OSPF协议基本概念OSPF协议基本概念l什么是自治系统(AS)l为什么引入自治系统这一概念l自治系统内部的路由协议l自治系统之间的路由协议——BGP自治系统指的是:由同一个技术管理机构管理、使用统一选路策略的一些路由器的集合。每个自治系统都有唯一的自治系统编号,这个编号是由因特网授权的管理机构分配的。引入自治系统的基本思想:就是通过不同的编号来区分不同的自治系统。这样,当网络管理员不期望自己的通信数据通过某个自治系统时,这种编号方式就十分有用了。或许,该网络管理员的网络完全可以访问这个自治系统,但由于它可能是由竞争对手在管理,或是缺乏足够的安全机制,因此,可能要回避它。通过采用路由协议和自治系统编号,路由器就可以确定彼此间的路径和路由信息的交换方法。自治系统的编号范围是1到65535,其中1到64511是注册的因特网编号,64512到65535是专用网络编号。课程XXXXBGP路由协议原理(M0000003)Issue1.051.1.3BGP的工作机制BGP工作机制BGP工作机制AS1AS7AS6AS5AS4AS3AS2BGP系统作为应用层协议运行在一个特定的路由器上。系统初启时通过发送整个BGP路由表交换路由信息,之后为了更新路由表只交换更新消息(updatemessage)。系统在运行过程中,是通过接收和发送keep-alive消息来检测相互之间的连接是否正常。发送BGP消息的路由器称为BGP发言人(speaker),它不断的接收或产生新路由信息,并将它广告(advertise)给其它的BGP发言人。当BGP发言人收到来自其他自治系统的新路由广告时,如果该路由比当前已知路由好、或者当前还没有可接受路由,它就把这个路由广告给自治系统内所有其它的BGP发言人。一个BGP发言人也将同它交换消息的其它的BGP发言人称为同伴(peer),若干相关的同伴可以构成同伴组(group)。一般情况下一条路由是从自治系统内部产生的,它由某种内部路由协议发现和计算,传递到自治系统的边界,由自治系统边界路由器(ASBR)通过EBGP连接传播到其它自治系统中。路由在传播过程中可能会经过若干个自治系统,这些自治系统称为过渡自治系统。如:AS5。若这个自治系统有多个边界路由器,这些路由器之间运行IBGP来交换路由信息。这时内部的路由器并不需要知道这些外部路由,它们只需要在边界路由器之间维护IP连通性。如:AS2、AS3、AS4。路由到达自治系统边界后,若内部路由器需要知道这些外部路由,ASBR可以将路由引入内部路由协议。外部路由的数量是很大的,通常会超出内部路由器的处理能力,因此引入外部路由时一般需要过滤或聚合,以减少路由的数量,极端的情况是使用默认路由。还有一种自治系统称为StubAS,如:AS1、AS6、AS7。课程XXXXBGP路由协议原理(M0000003)Issue1.06其内部只有一个ASBR通过EBGP连接外部,同外部其他AS的通信要靠过渡自治系统来转接。对一个具体的ASBR来说,其路由的来源有两种:从对等体接收的或者从IGP引入的。对于接收的路由,根据其属性(如AS路径、团体属性等)进行过滤,并设置某些属性(如本地优先、MED值等),之后若需要的话,将具体的路由聚合为超网路由。BGP可能从多个对等体收到目的地相同的路由,根据规则选择最好的路由并加入IP路由表。对于IGP路由,则要经过引入策略的过滤和设置。BGP发送优选的BGP路由和引入的IGP路由给对等体。课程XXXXBGP路由协议原理(M0000003)Issue1.071.1.4BGP的两种邻居BGP两种邻居-IBGP和EBGPBGP两种邻居-IBGP和EBGPEBGPEBGPRTBRTCIBGPRTARTDRTEBGP在路由器上以下列两种方式运行:IBGP(InternalBGP)EBGP(ExternalBGP)如果两个交换BGP报文的对等体属于同一个自治系统,那么这两个对等体就是IBGP对等体(InternalBGP),如RTB和RTD。如果两个交换BGP报文的对等体属于不同的自治系统,那么这两个对等体就是EBGP对等体(ExternalBGP),如RTA和RTB。虽然BGP是运行于自治系统之间的路由协议,但是一个AS的不同边界路由器之间也要建立BGP连接,只有这样才能实现路由信息在全网的传递,如RTB和RTD,为了建立AS100和AS300之间的通信,我们要在它们之间建立IBGP连接。IBGP对等体之间不一定是物理上直连的,但必须保证逻辑上全连接。(TCP连接能够建立即可)。一般的路由器(包括Quidway系列路由器)都默认要求EBGP对等体之间是有物理上的直连链路,同时他们一般也提供改变这个缺省设置的配置命令。课程XXXXBGP路由协议原理(M0000003)Issue1.081.1.5BGP路由通告原则BGP路由通告原则BGP路由通告原则l多条路径时,BGPSpeaker只选最优的给自己使用lBGPSpeaker只把自己使用的路由通告给相邻体lBGPSpeaker从EBGP获得的路由会向它所有BGP相邻体通告(包括EBGP和IBGP)lBGPSpeaker从IBGP获得的路由不向它的IBGP相邻体通告lBGPSpeaker从IBGP获得的路由是否通告给它的EBGP相邻体要依IGP和BGP同步的情况来决定l连接一建立,BGPSpeaker将把自己所有BGP路由通告给新相邻体BGP的路由通告原则:多条路径时,BGPSpeaker只选最优的给自己使用;BGPSpeaker只把自己使用的路由通告给相邻体;BGPSpeaker从EBG
本文标题:M0000003BGP协议原理(中文版10)
链接地址:https://www.777doc.com/doc-2886488 .html