BGP-协议原理总结_第1页
BGP-协议原理总结_第2页
BGP-协议原理总结_第3页
BGP-协议原理总结_第4页
BGP-协议原理总结_第5页
已阅读5页,还剩11页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

BGP协议原理总结BGP协议3:边界网关路由协议(版本3)RFC1267王尚201192339名词解释:1AS(自治系统):在单一技术管理下的一系列路由器,他们使用一个内部网关,在AS内部路由数据包的共同标准,使用同一个外部网关协议来想其他AS传输数据包。因为这个经典的解释已经被扩展,所以对于一个单一的AS来说在内部使用多个内部网关协议和有时多个系列的标准已经很普遍了。(在这里使用的AS强调了这样的事实,即便多个内部网关协议和度量标准被使用,一个AS面向其他的AS的管理拥有一个单一的连贯一致的内部路由方案,并且展示一个始终如一的图片,什么的网络通过它可以到达。从外部的路由的观点来看一个AS可以被看做一个单片集成电路:)图1AS系统2IGP(内部的边界网关协议)专门用于自治系统中的网关间交换数据流转通道信息的协议3EGP(外部的边界网关协议)在自治系统间的相邻的网关主机间交换路由信息的协议。常用于在INTERNET主机间交换路由表信息。一个轮询协议,利用HELLO和I-HEARD-YOU消息的转换,能让每个网关控制盒接受网络可达性信息的速率,容许每个系统控制自己的开销,同时发出命令请求更新响应。路由表包括一组一知路由器及这些路由器的可到达地址及路径开销,从而选择最佳路由。每个路由器没个120或者480秒访问邻居一次,邻居发挥完整的路由表来响应。4IBGP(内部边界网关协议)5EBGP(外部边界网关协议)6EBGP对等体7BGP和IGP同步:一个BGP路由器不将从内部Peer得知的目的地通告给外部Peer,除非该目的地也能通过IGP得知。若一个路由器通过IGP得知该目的地,则可以认为路由能在AS中传播,内部通达已经可以得到保证。BGP协议概述1BGP协议是外部路由协议,用来在AS之间传递路由信息。2是一种增强的距离矢量路由协议。具有以下特点:可靠的路由更新机制丰富的Metric度量方法从设计上避免了环路的发生3可以为路由附带属性信息4支持CIDR(无类别域间路由)5丰富的路由过滤和路由策略6使用的传输层协议是TCP协议,使用的端口号是1797无需周期性的更新8周期性的发送KEEPALIVE报文验证TCP连接的连通性9在进行路由更新时只发送路由增量BGP路由通告原则1当存在多条路径时,BGPSpeaker只选择最优的给自己使用2BGPSpeaker只把自己只用的路由通告给邻居3BGPSpeaker从EBPG获得的路由会向他的所有BGP邻居通告(包括EBGP和IBGP)4BGPSpeaker从IBGP获得的路由不向它的IBGP邻居发送5BGPSpeaker从IBGP获得的路由是否会通告给他的EBGP对等体要依从于IGP和BGP同步的情况来决定6连接一但建立,BGPSpeaker将把自己所有BGP路由通告给新的邻居IBGP全连接IBGP对等体物理意义上的全连接IBGP对等体逻辑意义上的全连接BGP报文种类1Open:在TCP会话建立之后,两个邻居都将发送Open消息,每个邻居都利用该消息标识自己并指定BGP操作参数2KeepAlive:当路由器接受了由邻居发送来的Open消息中的指定参数。它将响应一条KeepAlive消息,此后路由器每60秒发送一条KeepAlive消息,或是以协商的保持时间的1/3为周期发送KeepAlive消息。由于KEEPALIVE纯粹是一个通信知会,不需要携带什么信息,因此KEEPALIVE报文实际上是不带数据的BGP报文头。3Update:被用来宣告可行路由、撤销的路由4Notification:只要路由器检测到差错就会发送Notification消息并关闭BGP进程,随后我们将看到BGP邻居断开,然后试图重新建立BGP邻居。BGP报文头BGP报文的格式都是一样的:BGP报文头+BGP报文体其中BGP报文头格式如下:图2BGP报文头Maker(16byte):全为1,否则标记值要使用认证机制来计算(认证机制是通过认证信息的一部分来指定的)。标记可以用来探测BGP对端的同步丢失,认证进入的BGP消息。Length(2byte)BGP报文的全长,长度值必须最少19个字节,最大4096个字节。可能更多,根据报文类型决定Type(1byte)1-Open2-UPDATE3—Notification4KeepAliveOpen报文:图3Open报文头Version(1字节)当前BGP版本号为3MyAutonomusSystem(2字节):发射者自导系统号HoldTIME(2字节):BGP的Holdtime为180秒BGPIDENTIFIER(4字节):发送者的BGProuteIDAUTH.CODEAUTHENTICATIONDATAUpdate图4Update报文头TOTALPathAttributeSLENGTH(2字节):总的路径属性长度0代表在UPDATE消息中没有网络层可达信息域PathAttribute:路径属性,在一个UPDATE中可能存在多个路径属性对。每个路径属性对包括AttributeFlags,Attributetypecode,AttributeDateLength三个字段。AttributeFlags,Attributetypecode各占一个字节。AttributeFlags的8位分别表示:Attributetypecode指明是什么属性。图5Attributetypecode属性Network(4字节):INTERNETNETWORK编码表明这个AS的路由由这个路径属性表明KeepAlive报文Notification报文图6Notification报文头ERRORCODE:(1字节)ErrorSubcode(1字节)Date用来诊断Notification的原因。依赖于错误码和错误子码。MessageLength=21+datalengthBGP协议中消息的使用1通过TCP建立BGP连接时,发送Open报文2连接建立后,如果路由需要发送或者路由改变时,发送Update报文告知对端路由信息3稳定后此时要定时发送KeepAlive报文以保持BGP连接的有效性4档本地BGP在运行中发生错误时,发送Notification报文告知BGP对端BGP有限状态机BGP会话共有6种状态,分别是:1-Idle2-CONNECT3-ACTIVE4-OpenSENT5-OpenCONFIRM6-ESTABLISHEDBGP会话共有13种事件,影响BGP的会话,分别是:1-BGPSTART2-BGPStop3-BGPTransportConnectionOpen4-BGPTransportConnectionCLOSED5-BGPTransportConnectionOpenFAILED6-BGPTRANSPORTFATALERROR7-ConnectRetrytimerExPIRED8-HoldTimerExPIRED9-KeepAlivetimerExPIRED10-ReceiveOPENMESSAGE11-ReceiveKEEPALIVEMESSAGE12-ReceiveUpdateMESSAGES13-ReceiveNOTIFICATIONMESSAGE1空闲状态BGP通常以空闲状态开始。在该状态下,它拒绝接收所有入连接。当一个开始事件出现的时候,BGP初始化所有BGP资源,打开重试连接计时器(ConnectRetrytimer)、初始化到邻居的TCP连接、接听来自邻居的TCP初始化消息,并将它的状态转到连接状态。开始事件是由一个操作者配置一个BGP过程,或重置一个已经存在的过程,或者由路由器软件重置BGP过程引起的。一个差错的出现会将BGP过程的状态转为空闲状态。路由器可能会试图发起另外一个是事件。但是对于路由器如何完成这个过程应当加以限制——在具有持续差错的条件下,坚持不懈的试图重新开始会导致摆动。因此,在第一次转向空闲状态以后,路由器会启动重试连接计时器,当计时器终止后,路由器就会放弃重新开始BGP。下一次ConnectRetry时间是前一次的两倍,以此类推。2连接状态在这种状态下,BGP过程会等到TCP连接完成以后再决定后续动作。如果TCP连接成功,BGP连接将ConnectRetry清零,完成初始化过程,给邻居发送一个Open消息并转移到发送Open消息状态。如果TCP连接建立失败。BGP过程会继续监听由邻居发起的连接、重置ConnectRetry计时器并转移到激活状态。如果再连接状态下,ConnectRetry计时器超时了,计时器将重新开始计时,并再一次试图与邻居建立一个TCP连接,BGP状态继续保持在连接状态。任何一个其他输入事件的出现都会导致BGP状态转向空闲。3激活状态在这个状态下,BGP过程试图与邻居建立一个TCP连接。如果TCP连接建立成功,BGP过程将ConnectRetry清零,完成初始化工作,给邻居发送一个Open消息并转移到发送Open消息状态。如果BGP在激活状态时,ConnectRetry计时器超时,该过程回到连接状态并且重置ConnectRetry计时器。它同样也发起一个到对等的TCP连接并且继续监听来自对等得连接。如果邻居试图与一个未知的IP地址建立TCP会话,那么ConnectRetry计时器会被重置,连接被拒绝并且本地过程保持在激活状态。任何一个输入事件(除了开始事件,在激活状态下该事件会被忽略)都会导致状态转移为空闲。4发送Open消息状态在这种状态下,已经发送了Open消息,BGP正在等待从邻居发来的Open消息。当收到一个Open消息后,检查该消息的所有字段。如果发现了差错,会给它的邻居发送一个Notification消息并且将状态转移到空闲。如果再接收到的Open消息种没有发现差错。BGP给邻居发送一个KeepAlive消息,并且将KeepAlive计时器置位。邻居之间协商一个Hold时间,他们会选用较小的值。如果协商的Hold时间是0,则没有启动Hold和KeepAlive计时器。根据对等的AS号,决定该连接是内部的还是外部的,并且将状态转移到Open消息确认。如果收到了一个TCP断开消息,本地过程断开BGP连接,重置ConnectRetry计时器,开始监听将要由邻居发起的新的连接并将状态转移到激活。任何一个输入事件(除了开始事件,在激活状态下该事件会被忽略)都会导致状态转移为空闲。5Open消息确认状态在这种状态下,BGP过程会等待一个KeepAlive或者Notification消息。如果收到KeepAlive消息,转移到已建立状态。如果收到Notification消息或者TCP断开消息,状态转移到空闲。如果Hold计时器超时,检测到一个差错或出现一个stop事件,BGP过程会给邻居发送一个Notification消息并且断开BGP连接,将状态转向空闲。6已建立状态在这种状态下,BGP对等之间的连接完全建立起来了,对等之间可以交换Update、KeepAlive、Notification消息。如果收到Update或者KeepAlive消息,重新启动Hold计时器(如果协商的Hold时间是非零)。如果收到Notification消息,状态会转移到空闲。任何其他的事件都会导致Notification消息的发送并将状态转移到空闲。BGP建立邻居后,会通过相互发送类似hello包的数据来维持邻居关系,这个数据包称为KeepAlive,默认60秒发送一次,holdtimer为180秒,即到达180秒没有收到邻居的KeepAlive,便认为邻居丢失,则断开与邻居的连接。KeepAlive发送时间间隔的推荐值为Hold计时器值饿1/3,最小为3秒。BGPUpdate消息处理Update消息仅仅在建立状态被接收。当一个UPDATE消息被接收,每一个域要有效性检查。如果可选的非转发的属性不认识,默认丢弃。如果可选转发属性不认识,属性标志字节

设置部分位(第三个高位顺序位),保留属性公告到别的BGPSpeaker。如果可选的属性被认识,而且值有效,要根据可选参数的类型在本地处理,保留,,如果必要的话,更新广播到别的BGP发言者。如果UPDATE消息包括非空的WITHDRAWNROUTES域,先前广播的路由如果目的地包括在这里面需要从Adj-RIB_IN中移出来。BGPSpeaker应该运行决策过程,原因是先前的公告路由不再可用。如果UPDATE消息包括了一个可用的路由,应该放在相应的Adj-RIB_IN内部,同时做下面的步骤:如果网络层可达信息(NLRI)和Adj-RIB_IN的路由一样,新路由应该替换老路由,这样明确撤销了老路由的服务。BGP发言者运行决策过程,原因是老路由不再存在。②如果新的路由重叠包含在Adj-RIB-IN老路由内部,BGPSpeaker应该运行决策过程,因为更特殊路由使得原来的更不特殊路由的一部分不可用了。③如果新路由有和Adj_RIB_IN内包含的路由同样的路径属性,并且更特殊。不需要做任何事情。④如果新路由的NLRI不同于Adj-RIB-IN存储的任何路由,新路由应该放入。BGP发言者应该运行决策进程。如果新路由是更不特别的重叠路由,BGP发言者应该运行对更不特殊的路由运行决策进程。Ⅰ决策过程

决策过程选择路由用于下一步的通告,方法是应用本地策略信息库(PIB)的策略处理Adj-RIB-IN中的路由。决策过程的输出是广播到对端的路由集合;被选的路由存储在Adj-RIB-Out中。选择过程可以定义为一个函数,给定路由的属性作为参数,返回非负的整数指示路由的优先级别。计算路由优先级别的函数不能把以下的情况作为输入:别的路由的存在,别的路由的不存在,或者别的路由的路径属性。路由选择对每一个可用路由运用优先程度算法,选择最高优先程度的路由。决策过程操作Adj-RIB-IN包括的路由中,同时负责:-选择路由通告到本地的AS中别的BGP发言者-选择路由通告到邻居AS中的BGP发言者-路由聚合和路由信息简化决策过程分三期,通过不同的事件触发。⑴一期负责计算来自邻居AS的BGP发言者的每条路有的优先级,通告到在本地AS的

别的BGP发言者到每个确定的目的地的具有最高优先级的路由。⑵二期在一期完成的时候激活。负责从到达目的地的所有路由中选择最好的路由,同时安装每个选择的路由到相应的LOC-RIB。⑶在LOC-RIB修改后激活三期。负责发布LOC_RIB中的路由到邻居AS的每个对端。路由聚合和信息简约在这期可选的执行。PHASE1:优先级的计算无论何时本地的BGP发言者接受到邻居AS的对端的通告新的路由,替代路由,测销路由的UPDATE消息,都要激活一期决策过程,一期决策过程是独立的过程,当没有别的工作要做的时候就停止。一期决策功能在操作任何包含路由之前锁定Adj-RIB-IN,在操作完成所有新的或者不可用的路由之后,解开Adj-RIB-IN。每一个新收到或者替代的可用路由,本的BGP发言者应该确定一个优先级。如果路由是通过本地AS的BGP发言者学习到的,或者LOCAL-PREF值被当作优先级,或者本地系统应该根据预先配置的策略信息计算路由优先级。如果路由通过邻居AS中的BGP发言者学习,优先级的计算是根据预先配置的策略。策略信息的确切特性和相关计算是本地的问题。本的发言者应该云内部更新过程选择并且通告最佳路由。PHASE2:路由选择第二期决策函数在第一期完成后激活。第二期函数是独立的过程当没有更进一步的工作要做的时候就停止。第二期进程要考虑ADj_RIB_IN中的所有路由,包括从自己的AS中和邻居的AS中的BGP发言者接收的路由。当运行第三期决策函数,第二期决策函数可以阻塞。第二期距测函数应该在开始函数前锁定所有的Adj-RIB-IN,在完成后解开所有。如果BGP路由的NEXT-HOP属性描述了一个地址,在本地LOC-RIB中BGP发言者没有路由,BGP发言者应该排除在第二期决策函数外面。为了ADj_RIB_IN中的路由的每一个目的地集合,本地BGP发言者以确定路由:A)对同一个目的地集和,最高优先级的路由,或者B)是唯一的到目的的地路由,或者⑶是第二期解扣规则的选择结果。本地发言者应该安装路由到LOC-RIB中,替代LOC-RIB中保存的任何道相同目的地的路由。本地发言者必须根据选择路由的NEXT-HOP属性确定立即下一跳,通过查找IGP悬着IGP中的可能的路径。当安装选择路由在LOC_RIB中,立即下一跳必须被使用。如果NEXT-HOP属性描述的地址改变,路由选择应该按照上面的说明重新计算。不可用的路由应该从LOC-RIB中拿出,相应的不可用路由应该从Adj-RIBs-IN拿出。解扣在Adj-RIBs-IN中一个BGP发言者可以有多个有相同的优先级的路由到同一个目的地。本的发言者可以选择包含在相应LOC-RIB中的一条路由。本地发言者认为所有的路由,不论是邻居AS的BGP发言者的路由,还是本地AS的BGP发言者的路由是一样的。下面的解扣过程假设一个自治系统的所有AS的每一个候选路由能够确定到NEXT-HOP属性描述的地址的路径代价(内部距离)。根据下面的算法解扣。A)如果本地系统配置考虑MULTI_EXIT_DISC,候选路由的MULTI_EXIT_DISC属性不同,选择MULTI_EXIT_DISC属性值最小的。B)否则,选择到路与欧的NEXT-HOP属性描述的入口的代价(内部距离)最小的。如果有几个路由有相同的代价,按照下面的过程解扣-如果最少有一个路由是通过邻居AS的BGP发言者通告的,选择邻居AS的BGP发言者通告的鲈鱼哦,如果BGP的标示符的值是所有邻居AS的BGP发言者中最小的。-否则,选者BGP标示符最小的BGP发言者通告的路由。PHASE3:路由分发第三期路由决策过程可以被第二期的完成激活,或者下面的事件发生:A)LOC-RIB中的到本地目的地的路由改变。B)当本地产生的通过BGP以外的方式学习的路由改变。C)当新的BGP发言者-BGP发言者连接建立。第三期函数是独立的过程当没有进一步的工作去做的时候停止。第三期路由决策过程应该被阻塞,如果第二期决策过程在运行。所有的LOC-RIB中的路由应该被处理到相应的到Adj-RIBs-Out的入口。路由聚合和信息简约技术可选执行。为了更好支持未来的AS间多播能力,参加AS间多播路由的BGP发言者应该通告他从外部对端收到的路由同时如果安装在Loc-RIB内,因该通告到接收路由的对端。对没有参加AS间多播路由的BGP发言者这个通告是可选的。如果做这样一个通告,NEXT-HOP属性应该被设置为对端地址。应用可以优化这个通告,组合AS-PATH属性的信息不但包括自己的AS号码而且通告路由的对端的AS号码(这个组合要求ORIGIN属性被设置为INCOMPLETE)。另外,应用不需要传递可选的或者自决的路径属性在这种通告中。当Adj-RIBs-Out更新而且转发信息库(FIB)完成,本地BGP发言者应该运行外部更新进程路由覆盖BGP发言者可以传送具有重叠的网络层可达信息(NLRI)的路由到别的BGP发言者。NLRI重叠产生于一些列目的地对非匹配的多个路由是唯一的。由于BGP使用IP前缀对NLRI编码,重叠一般要展示子网关系。路由描述了更小范围的目的地(更长的前缀)称为更特别路由,路由描述了更大范围的目的地(更短的前缀)成为更一般路由。反之同样。这种优先关系有效分解了更一般路由为两部分:-一系列目的地,仅仅使用更一般路由描述。-一系列路由,使用更一般和更特殊路由的重叠描述。当重叠路由发生在同样的Adj-RIB-IN,更特殊的路由应该有优先权,顺序是更特殊到更一般。重叠描述的目的地的集合表明一部分更一般路由是可用的,但是当前不可用。如果一个更特殊的路由后来撤销了,重叠描述的目的地的集合将可以使用更一般的路由到达。如果BGP发言者接收了重叠路由,决策过程应该考虑重叠路由的语义。特别是,如果BGP发言者接收了同一个对端的更一般的路由同时拒绝了更特殊的路由,那末重叠表示的目的地可能不转发到路由的AS-PATH属性列出的AS那里。因此,BGP发言者可以由下面选择:a)同时安装更一般和更特殊的路由b)只安装更特殊的路由c)只安装更一般路由的非重叠部分(这意味着解聚和)d)聚合着两条路由同时安装聚合路由e)安装更一般的路由f)都不安装如果一个BGP发言者选择e),应该加入ATOMIC-AGGREGATE属性到路由中。承载ATOMIC-AGGREGATE属性的路由不能被解聚和。也就是说,路由的NLRI不能被是更特殊。向这个路由转发不保证IP包实际沿着路由的AS-PATH属性列出的AS中转。如果BGP发言者选择A),必须不在通告更特殊的路由的时候通告更一般的路由。ⅡUpdate发送过程Update-SEND进程负责通告UPDATE消息到所有的对端。例如,他发布决策进程选择的路由到位于同样的自治系统或者邻居自治系统的BGP发言者。不同自治系统的BGP发言者之间信息交换的法则.相同自治系统的BGP发言者之间信息交换的法则.在BGP发言者集合之间的路由信息的发布,所有BGP发言者如果在同一个自治系统,称为内部发布。内部更新内部更新进程是发布路由信息到本地自治系统的BGP发言者。当BGP发言者从在本地自治系统的别的BGP收到了UPDATE消息,接收BGP发言者不应该再分配UPDATE消息中的路由信息道别的本地自治系统的BGP发言者。当BGP发言者接收了邻居自治系统的BGP发言者的一条新的路由,如果下面的情况之一发生,应该使用UPDATE消息通告路由到本的自治系统的所有的BGP发言者:1本地BGP发言者安排给新接收的路由的优先程度高于本地发言者已经安排的接受自邻居自治系统的别的路由的优先级2没有接收到别的邻居自治系统的BGP发言者发送的路由3新接收路由是几个最高优先级,同样目的的的路由解扣的结果,当BGP发言者受到了UPDATE消息,有非空的WITHDRAWNRJOUTES域,应该从Adj-RIB-IN里去掉所有的在这个域中(IP前缀表示)的目的地。发言者应该做下面的附加步骤:1如果相应的可用路由先前没有被通告,不需要做更多的行动。2如果相应的可用路由先前被通告,那末:I如果被选择通告的新的路由和不可用路由有相同的网络层可达信息,本的系统因该通告替代路由。II如果替代路由不能用于通告,BGP发言者应该包括不可用路由的目的的(IP前缀形式)在UPDATE消息的WITHDRAWNROUTES域,因该发送这个消息到先前通告了相应的可用路由的对端。所有的通告过的可用路由因该放入相应的Adj-RIBs-Out,所有不可用的但是通告过的路由应该被从Adj-RIBs-Out清除。解扣(内部更新)如果一个本地的BGP发言者连接到邻居AS的几个BGP发言者,有多个Adj-RIBs-IN和这些对段相关联。这些Adj-RIB-IN可以包括到同一个目的的的多个等价优先级的路由,所有的路由要通告到邻居自治系统。本的BGP发言者应该根据下面法则选择其中一条路由:A)如果候选路由的NEXT-HOP和MULTI-EXIT-DISC属性不同,本地系统配置中考虑了MULTI-EXIT-DISC属性,选择有最低的MULTI-EXIT-DISC属性的路由。B)如果本的系统能够确定候选路由中T-HOP属性描述的实体的路径的成本,选择成本较低的路由。C)在所有别的情况中,选择通告路由的BGP发言者具有较低的BGP标示符的路由。外部更新外部更新过程和邻居AS的BGP发言者路由信息的发布有关。作为阶段3选择过程的一部分,BGP发言者更新他的Adj-RIBs-Out和转发表.所有新的安装的路由和所有新的没有替代路由的不可用的路由要通过UPDATE消息通告到邻居AS内部的BGP发言者。任何位于LOC-RIB的路由,如果是不可用的应该被撤销。在自己的AS内部如果可达地址改变应该发送UPDATE消息。控制路由流量开销BGP协议限制路由流量(也就是UPDATE消息),目的是减少通告UPDATE消息的带宽和消化UPDATE消息信息的决策过程的处理能力。路由通告的频率参数MinRouteAdvertisementInterval确定了BGP发言者到特定目的地的两个路由通告之间的最小时间。这个速率限制过程是基于单个目的地的,但是这个MinRouteAdvertisementInterval值是对每一个对端设置的。从单个BGP发言者通告可用路由到目的地集合的来自BGP发言者的两个UPDATE消息必须至少分离MinRouteAdvertisementInterval.无疑,只有精确保持目的地集合的计时器才能做到这一点。这是不现实的开销。任何保证BGP发言者接受自邻居AS通告的两个UPDATE消息之间时间间隔的技术通告可用路由到目的的地最小间隔是MinRouteAdvertisementInterval,也要保证大于间隔的一个常量是可以接受的。由于需要在AS内部快速收敛,本过程不能用于从本AS中别的BGP发言者发来的路由。为了避免永久黑洞,本过程不能用于明确的撤销或者不可用路由(也就是,目的地(通过IP前缀表示)在UPDATE消息中WITHDRAWNROUTEST域的路由)。这个过程不限制路由选择的速率,但是仅仅限制路由通告的速率。当等待MinRouteAdvertisementInterval溢出时,如果新的路由被选择多次,在MinRouteAdvertisementInterval的最后最后选择的路由被通告.路由产生的速率参数MINASORIGINATIONINTERVAL确定了在BGP发言者本身的AS,中报告变化的UPDATE消息的连续通告的最小间隔JITTER为了减少给定的BGP发言者的BGP消息产生尖峰,jITTER应该被使用于MINASORIGINATIONINTERVAL,KeepAlive,MinRouteAdvertisementInterval计时器.给定的BGP发言者应该应用同样的jITTER数量,无论UPDATE被送到那个目的地;也就是说,jITTER不能被基于“每个对端”使用。引入的JITTER的数量使用相应的计数器的基本值乘以一个范围是0。75到1的随机因子。路由信息的有效组织选择将要广播的路由信息,一个BGP发言者可以采用几个方法,组织信息为一个有效形式。①信息简约信息简约可以在策略控制的程度上使用简约-在信息崩溃之后,相同的策略在等价类上使用在所有的目的地和路径。决策进程使用下面方法可选的减少放在ADj-RIB_Out中的信息数量:A)网络层可达信息(NLRI)目的IP地址可以被看作IP地址前缀。若地址结构和在AS管理者控制下的系统能够达成一致,有可能减少UPDATE消息中NLRI的尺寸。B)AS_PATHS(AS路径):AS路径信息可以表达为顺序AS-SEQUENCE和无序AS-SET。S-SET可以用在路由聚合算法,描述在9。2。4。2中。他们减少了AS-PATH的尺寸,通过只列出每个AS号码一次,无论在聚合的AS-PATH上出现了几次。一个AS-SET意味着NLRI列出的目的地能够通过由AS-SET中的部分AS组成的路径到达。AS-SET提供有效的信息来避免回环;然而使用他们可能会剪除一些潜在的有用路径,原因是一些路径不再被单独通过AS-SEQUENCE的方式列出。实际使用中这不是个问题,应为一旦IP报到达AS组的边界,这个点上的BGP发言者更可能有更多的详细路径信息并能够区分到目的地的路径。②聚合路由信息聚合是一个过程用来组合几个不同的路由来广播一个单独的路由。聚合作为决策的一个部分发生,这样可以减少放在AjD_RIBS_Out中路由信息的数量聚合减少了BGP发言者存储并且和别的BGP发言者交换的路由。路由聚合使用下面的独立于期望类型的路径属性和网络层可达信息的过程。有下面属性的路由不能被聚合。除非相应的属性是唯一的MULTI_EXIT_DISC,NEXT_HOP.具有不同类型码的路径属性不能被聚合在一起.一些类型码的路径能够被聚合,使用下面的规则:ORIGIN属性:如果最少一个被聚合路由它的ORIGIN指示INCOMPLETE,聚合路由ORIGIN的属性值是IMCOMPLETE.否则,如果最少一个路由的属性是EGP,聚合路由的属性是EGP.在所有别的情况下ORIGIN属性是INTERNAL.AS-PATH属性:如果路由聚合有单一的AS-PATH属性,聚合的路由有同样的AS-PATH属性.为了聚合路由属性,我们建模AS-PATH属性作为二元组<类型,值>,”类型”定义了路径段的属性(比如AS-SEQUENCE,AS_SET),”值”定义了AS号码.如果路由被聚合有不同的AS-PATH属性,聚合的AS-PATH属性应该满足:-所有在聚合AS-PATH的AS-SEQUENCE二元组应该在最早的路由集的AS-PATH中都出现.-在聚合的AS-PATH中AS-SET类型的所有的二元组应该出现在最少一个AS-PATH类型中(可以出现为AS-SET或者AS-SEQUENCE)。-在聚合AS-PATH中任何类型AS-SEQUENCE的二元组X领先于Y,在初始的AS-PATH中,X在每一个AS-PATH中领先于Y,不论Y的类型。-在AS-PATH中不能由同一个二元组具有相同值却出现了两次,不论二元组的类型。应用可以选择任何算法只要符合这些规则。最少的一个构造应用应该能够执行下埋嗯的算法来满足所有的条件。-确定最长的对所有的聚合AS-PATH属性来说的二元组序列(如上定义)。把这个序列作为聚合后的派头AS-PATH属性序列。-设置剩下的AS-PATH属性二元组为AS-SET,把他们加入到AS-PATH后面。-如果聚合AS-PATH属性有多个相同的二元组(不论二元组的类型),清除所有的,只留下一个通过去掉AS-PATH属性中的AS-SET类型。ATOMIC_AGGREGATE:如果最少一个路由有这个路径属性,那末聚合后的路由应该有这个属性。AGGREGATOR:聚合者属性应该被忽略。路由选择标准总的来说,在几个可替代路由中比较路由的额外法则是在本文讨论问题之外的。有两个例外。-如果新路由中AS路径出现了本地AS,新路由不能被看作比别的路

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论