BGP 协议原理总结

上传人:m**** 文档编号:216189202 上传时间:2023-06-05 格式:DOCX 页数:16 大小:119.88KB
收藏 版权申诉 举报 下载
BGP 协议原理总结_第1页
第1页 / 共16页
BGP 协议原理总结_第2页
第2页 / 共16页
BGP 协议原理总结_第3页
第3页 / 共16页
资源描述:

《BGP 协议原理总结》由会员分享,可在线阅读,更多相关《BGP 协议原理总结(16页珍藏版)》请在装配图网上搜索。

1、BGP协议原理总结BGP协议3:边界网关路由协议(版本3)RFC1267王尚2 0 1 1 9 2 3 3 9名词解释:1 AS (自治系统):在单一技术管理下的一系列路由器,他们使用一个内部网关,在A S内部路由数据包的共同标准,使用同一个外部网关协议来想其他AS传输数 据包。因为这个经典的解释已经被扩展,所以对于一个单一的AS来说在内部 使用多个内部网关协议和有时多个系列的标准已经很普遍了。(在这里使用的AS强调了这样的事实,即便多个内部网关协议和度量标准被 使用,一个AS面向其他的AS的管理拥有一个单一的连贯一致的内部路由方 案,并且展示一个始终如一的图片,什么的网络通过它可以到达。从外

2、部的路 由的观点来看一个AS可以被看做一个单片集成电路:)图1 AS系统2 IGP(内部的边界网关协议)专门用于自治系统中的网关间交换数据流转通道信息的协议3 EGP(外部的边界网关协议)在自治系统间的相邻的网关主机间交换路由信息的协议。常用于在INTERNET主机间交换路由表信息。一个轮询协议,利用H ELLO和I HEARD YO U消息的转换,能让每个网关控制盒接受网络 可达性信息的速率,容许每个系统控制自己的开销,同时发出命令请求更新响应。路由表包括一组一知路由器及这些路由器的可到达地址及路径开销,从而选择最 佳路由。每个路由器没个12 0或者4 8 0秒访问邻居一次,邻居发挥完整的路

3、 由表来响应。4 IBGP(内部边界网关协议)5 EBGP(外部边界网关协议)6 EBGP对等体7 BGP和IGP同步:一个BGP路由器不将从内部Peer得知的目的地通告给外部Peer,除非该目的地也能通过IGP得知。若一个路由器通过IGP得知该 目的地,则可以认为路由能在AS中传播,内部通达已经可以得到保证。BGP协议概述1 BGP协议是外部路由协议,用来在AS之间传递路由信息。2 是一种增强的距离矢量路由协议。具有以下特点: 可靠的路由更新机制 丰富的Met ric度量方法 从设计上避免了环路的发生3 可以为路由附带属性信息4 支持CIDRC无类别域间路由)5 丰富的路由过滤和路由策略6使

4、用的传输层协议是TCP协议,使用的端口号是1797 无需周期性的更新8 周期性的发送KEEPALIVE报文验证TCP连接的连通性9 在进行路由更新时只发送路由增量BGP路由通告原则1当存在多条路径时,BGPSpeaker只选择最优的给自己使用2 BGPSpeaker只把自己只用的路由通告给邻居3 BGPSpeaker从EBPG获得的路由会向他的所有BGP邻居通告(包括 EBGP和IBGP)4 BGPSpeaker从IBGP获得的路由不向它的IBGP邻居发送5 BGP Speaker从IBGP获得的路由是否会通告给他的EBGP对等 体要依从于IGP和BGP同步的情况来决定6 连接一但建立,BGP

5、 Speaker将把自己所有BGP路由通告给新的邻居IBGP全连接 IBGP对等体物理意义上的全连接 IBGP对等体逻辑意义上的全连接BGP报文种类1 Open :在TCP会话建立之后,两个邻居都将发送Open消息,每个邻居都利用该消息标识自己并指定BGP操作参数2 KeepAlive:当路由器接受了由邻居发送来的Open消息中的指定参数。它将响应一条KeepAlive消息,此后路由器每60秒发 送一条KeepAlive消息,或是以协商的保持时间的1/ 3为周期发送KeepAlive消息。由于KEEPALIV E纯粹是一个通信知会,不需要携带什么信息,因此KEEPA LIVE报文实际上是不带数

6、据的BGP报文头。3 Upda te:被用来宣告可彳丁路由、撤销的路由4 Noti fica tion:只要路由器检测到差错就会发送Noti fica tion消息并关闭BGP进程,随后我们将看到BGP邻居断开, 然后试图重新建立BGP邻居。BGP报文头BGP报文的格式都是一样的:BGP报文头+BGP报文体其中BGP报文头格式如下:01230123456789012345 & 7S9012345678901-+一-1-一-1-一-1-一-1-一-1-一-1-一-1-一-1-一- 一+ 一 + 一 + 一 +一 -一H-一H-一H-一H-一H-一H-一H-一H-一H-一H-一H-一H-一H-一H

7、-一+-+-+-+-4-Karker|Len吕th|Type|十一十一十一十一十一十一十一十一十一十十一十一十一十一十一十一十一十一十一十一十Op图 2 BGP报文头Maker(16b yt e):全为1 ,否则标记值要使用认证机制来计算 (认证机制是通过认证信息的一部分来指定的)。标记可以用来探测BGP对 端的同步丢失,认证进入的BGP消息。h (2b yt e)BGP报文的全长,长度值必须最少19个字节, 6个字节1bytLen最大4 0 9Typn报文:可能更多,根据报文类型决定)1Open2-UPDATE3N4Ke0 12 3otifiepAlit ion23012345678901十

8、一十一十一十一十一十一十一十一十VersionI My Autone-inous System|十一十一十一十一十一十一十一十一十一十一十一十一十一十一十一十一十Hold TimeBGP Ident ifierAuth Code十一十一十一+十一十一十一十一+十一十一十一十一+十一十一十一十一+十一十一十一十一+十一十一十一十一+十一十一十一十Authentication Data+-H-一+-1- 一 -一H-一+-1- 一 -一H-一+-1- 一 -一H-一+-1- 一 -一H-一+-1- -H-一+-1- -4-VersiMyAuHoldTBGPIDIDAUTH.AUTHEUpdteIE

9、CODENTICATIOt onomusME(2字节):NTIFIER图3 Open报文头on(1字节) 当前BGP版本号为3Sys tem(2字节):发射者自导系统号BGP 的H(4字节):号old time 为180 秒发送者的BGP route167890123423012345678901| Total Path Attributes Length |+_+_+_+_-一-一-一-一-一+_+一一一一一一一一一一一+_+_+_+_+_+_+_+_+_+_+_+_+_+_-一+Path At tributes+_+_+_+_-一-一-一-一-一+_+一一一一一一一一一一一+_+_+_+_

10、+_+_+_+_+_+_+_+_+_+_-一+I Network n|+一+一+一+一+一+一+一+一+一+一+一+一斗一斗一+一+一+一+一+一+一+一+一+一+一+一+一+一+一+一+一+一+一+图 4 Upda te报文头 TOTALPath AttributeSLE NGTH(2 字节):总的路径属性长度 0代表在UPDATE消息中没有网络层可达信息域(11) Pa th Att rib ute:路径属性,在一个UPDATE中可能存在ttributetypecode ,Attribute DateLength三个字段。Attribute Flags,Attributetypecode各

11、占一个字节。1.AttributeFlags的8位分别表示:2.Attributetype code指明是什么属性。多个路径属性对。每个路径属性对包括Att rib ute Flags,AA11 r i but e NameORIGINAS.PATHIfEKT_HOF IHREACHAELEI If TER-AS METRICType CodeLengthAttribute category*-111ell-known,jnandaloryt-12variableell-knQwn,34well-known,mandat or m40well-known,discretiorary52op t

12、 i onal, non-transitive JNDATA图 5 Att rib ute type code 属性(12) Network( 4字节):INTER NET NETWOR K编码表明这个AS的路由由这个路径属性表明 KeepAlive报文 Notificatio n报文0123456789012345678901234:5678901+十一十一+十一-一-一+-一-一十一+十一十一+-一-一+十一十一十一+I Error code | Error subcode |Data|十一+一十一+_+一+一_一_一+_+_+_一_一+一+_+_+_i-一+一-一+_+_-一_一_一+_

13、+_+_一_一-一+_+_-一+一-_一_一+_+_+_-一+一-一+一+|_+图6 Notificatio n报文头(1)ERRORCODE: (1字节)Error CodeSymbolic Kame1 Message Header Error2 OPEN Message Errcr3 UPDATE Message Error4 Hold Ti皿已t Expired5 Finite State Ma.chine Error6 Cease Error Subcode( 1字节)Message Header Error subcodes:1 - Connection Not Synchroniz

14、ed.2 - Bad Message Length3 - E/d Message Type.OFEN Mess age Error siibcodes :1 - Unsupported Version Number2 - Bad Peer AS.3 - Ead EGP Identifier4 - Unsupported Authentication Code.5 - Authentication Failure.UFDATE Message Error subcodes:1 - Kalformed Attribute List.2 - Unrecognized IVell-known Attr

15、ibute.3 - KiEEing Veil-known Attribute.i - Attribute Flags Error.5 - Attribute Length Error6 - Invalid ORIGIN Attribute7 - AS Ronting Loop8 - Invalid NEXT_HOP Attribute.9 - Optional Attribute Error.10 - Invalid Network Field. Date用来诊断Noti fica tion的原因。依赖于错误码和错误子码。MessageLeng th = 21+da ta leng thBGP

16、协议中消息的使用1 通过TCP建立BGP连接时,发送Open报文2 连接建立后,如果路由需要发送或者路由改变时,发送Upda te报文告知对端 路由信息3稳定后此时要定时发送KeepAlive报文以保持BGP连接的有效性4档本地BGP在运行中发生错误时,发送Noti fica tion报文告知BGP对端BGP有限状态机ActiveUpcn-scntIdleEnorEAbJhhL-dT(卩 c(j nnre I an iiiiKTC Funnriiiior scLupn nee I IQ n 5dupEmrVpin eunilrmJrBGP协议的状态机Connctt-Rclry tiller e

17、spiryOlhcrsC-Lmjie4jLReiry timer expiryCorred (JPEhO packet receivedKeep Alive packetreceived-Keep.Al ivt;t inicr cxpirji*2. Update re-ceived 3 Keep Alive receivedKcepA 1 i ve f limc expiry BGP会话共有6种状态,分别是:1 - Idle2 -CONNECT3 - ACTIVE4 -OpenSENT5 - OpenCONFIRM6 -ESTABLISHEDBGP会话共有13种事件,影响BGP的会话,分别是:

18、1- BGPSTART2-BGPS top3-BGPTranspor t Connec tio nOpen4-BGPTranspor t Connec tio nCLOSED5- BGPTransport ConnectionOpenFAILED6- BGPTRANSPORTFATALERROR7-Connec tRetryti merExPIRED8-HoldTimerExPIRED9-KeepAlive ti merExPIRED10 - ReceiveOPENMESSAGE11 - ReceiveKEEPALIVEMESSAGE12 - ReceiveUpda teMESSAGES13

19、- ReceiveNOTIFICATIONMESSAGE1空闲状态BGP通常以空闲状态开始。在该状态下,它拒绝接收所有入连接。当一个开始事件出 现的时候,BGP初始化所有BGP资源,打开重试连接计时器(Connec tRet ryti mer).初始化到邻居的TCP连接、接听来自邻居的TCP初始化消息, 并将它的状态转到连接状态。开始事件是由一个操作者配置一个BGP过程,或重置一 个已经存在的过程,或者由路由器软件重置BGP过程引起的。一个差错的出现会将BGP过程的状态转为空闲状态。路由器可能会试图发起另外一个 是事件。但是对于路由器如何完成这个过程应当加以限制在具有持续差错的条件下 坚持不懈

20、的试图重新开始会导致摆动。因此,在第一次转向空闲状态以后,路由器会启 动重试连接计时器,当计时器终止后,路由器就会放弃重新开始BGP。下一次Con nec tRetry时间是前一次的两倍,以此类推。2连接状态在这种状态下,BGP过程会等到TCP连接完成以后再决定后续动作。如果TCP连接 成功,BGP连接将Connec tRetry清零,完成初始化过程,给邻居发送一 个Open消息并转移到发送Open消息状态。如果TCP连接建立失败。BGP过 程会继续监听由邻居发起的连接、重置Connec tRetry计时器并转移到激活 状态。如果再连接状态下,Connec tRetry计时器超时了,计时器将重

21、新开始计时, 并再一次试图与邻居建立一个TCP连接,BGP状态继续保持在连接状态。任何一个 其他输入事件的出现都会导致BGP状态转向空闲。3激活状态在这个状态下,BGP过程试图与邻居建立一个TCP连接。如果TCP连接建立成功, BGP过程将Connec tRetry清零,完成初始化工作,给邻居发送一个Op en消息并转移到发送Open消息状态。如果BGP在激活状态时,Connec tRetry计时器超时,该过程回到连接状态 并且重置Connec tRetry计时器。它同样也发起一个到对等的TCP连接并 且继续监听来自对等得连接。如果邻居试图与一个未知的IP 地址建立TCP会话, 那么Conne

22、c tRetry计时器会被重置,连接被拒绝并且本地过程保持在激活 状态。任何一个输入事件(除了开始事件,在激活状态下该事件会被忽略)都会导致状 态转移为空闲。4发送Open消息状态在这种状态下,已经发送了Open消息,BGP正在等待从邻居发来的Open消息。 当收到一个Open消息后,检查该消息的所有字段。如果发现了差错,会给它的邻居 发送一个Noti fica tion消息并且将状态转移到空闲。如果再接收到的Open消息种没有发现差错o BGP给邻居发送一个KeepAliv e消息,并且将KeepAlive计时器置位。邻居之间协商一个H old时间,他 们会选用较小的值。如果协商的H old

23、时间是0,则没有启动H old和KeepA live计时器。根据对等的AS号,决定该连接是内部的还是外部的,并且将状态转 移到Open消息确认。如果收到了一个TCP断开消息,本地过程断开BGP连接,重置Connec tRet ry计时器,开始监听将要由邻居发起的新的连接并将状态转移到激活。任何一个输入 事件(除了开始事件,在激活状态下该事件会被忽略)都会导致状态转移为空闲。5 Open消息确认状态在这种状态下,BGP过程会等待一个KeepAlive或者Noti fica tio n消息。如果收到KeepAlive消息,转移到已建立状态。如果收到Notifica tion消息或者TCP断开消息,

24、状态转移到空闲。如果Hold计时器超时,检测到一个差错或出现一个stop事件,BGP过程会给邻居发送一个Noti fica tion消息并且断开BGP连接,将状态转向空闲。6 已建立状态在这种状态下,BGP对等之间的连接完全建立起来了,对等之间可以交换Upda te、 KeepAlive、N oti fica tion消息。如果收到 Upda te或者K eepAlive消息,重新启动H old计时器(如果协商的H old时间是非零)。 如果收到Noti fica tion消息,状态会转移到空闲。任何其他的事件都会导 致Noti fica tion消息的发送并将状态转移到空闲。BGP建立邻居后

25、,会通过相互发送类似hell o包的数据来维持邻居关系,这个数 据包称为KeepAlive,默认60秒发送一次,hold ti mer为180秒, 即到达18 0秒没有收到邻居的KeepAlive,便认为邻居丢失,则断开与邻居 的连接。KeepAlive发送时间间隔的推荐值为H old计时器值饿1/3,最 小为3秒。BGP Update 消息处理Upda te消息仅仅在建立状态被接收。当一个UPDATE消息被接收,每一个域要有 效性检查。如果可选的非转发的属性不认识,默认丢弃。如果可选转发属性不认识,属性标志字节 设置部分位(第三个高位顺序位),保留属性公告到别的BGP Speaker。 如果

26、可选的属性被认识,而且值有效,要根据可选参数的类型在本地处理,保留 ,如果必 要的话,更新广播到别的BGP发言者。如果UPDATE消息包括非空的WITHDRAWNROUTES域,先前广播的路由如 果目的地包括在这里面需要从Adj -RIB_IN中移出来。BGPSpeaker应该运 行决策过程,原因是先前的公告路由不再可用。如果UPDATE消息包括了一个可用的路由,应该放在相应的Adj -RIB_IN内部, 同时做下面的步骤: 如果网络层可达信息(NLRI )和Adj-RIB_IN的路由一样,新路由应该替换 老路由,这样明确撤销了老路由的服务BGP发言者运行决策过程,原因是老路由不 再存在。 如

27、果新的路由重叠包含在AdjRIBIN老路由内部,BGPSpeaker应该 运行决策过程,因为更特殊路由使得原来的更不特殊路由的一部分不可用了。 如果新路由有和Adj_RIB_IN内包含的路由同样的路径属性,并且更特殊。不需要 做任何事情。 如果新路由的NLRI不同于AdjRIBIN存储的任何路由,新路由应该放入。 BGP发言者应该运行决策进程。如果新路由是更不特别的重叠路由,BGP发言者应该运行对更不特殊的路由运行决策进程。I决策过程决策过程选择路由用于下一步的通告,方法是应用本地策略信息库(PIB)的策略处理A djRIBIN中的路由。决策过程的输出是广播到对端的路由集合;被选的路由存储 在

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

29、目的地的具有最高优先级的路由。二期在一期完成的时候激活。负责从到达目的地的所有路由中选择最好的路由,同时安装 每个选择的路由到相应的LOC-RIB。在LOC-RIB修改后激活三期。负责发布LOC_RIB中的路由到邻居AS的每个对 端。路由聚合和信息简约在这期可选的执行。PHASE1:优先级的计算无论何时本地的BGP发言者接受到邻居AS的对端的通告新的路由,替代路由,测销路由 的UPDATE消息,都要激活一期决策过程, 一期决策过程是独立的过程,当没有别的工作要做的时候就停止。一期决策功能在操作任何包含路由之前锁定Adj-RIB-IN,在操作完成所有新的或 者不可用的路由之后,解开AdjRIBI

30、N。每一个新收到或者替代的可用路由,本的BGP发言者应该确定一个优先级。如果路由是通 过本地AS的BGP发言者学习到的,或者LOCAL-PREF值被当作优先级,或者本 地系统应该根据预先配置的策略信息计算路由优先级。如果路由通过邻居AS中的BGP发 言者学习,优先级的计算是根据预先配置的策略。策略信息的确切特性和相关计算是本地的 问题。本的发言者应该云内部更新过程选择并且通告最佳路由。PHASE2:路由选择 第二期决策函数在第一期完成后激活。第二期函数是独立的过程当没有更进一步的工作要做 的时候就停止。第二期进程要考虑AD j_RIB_IN中的所有路由,包括从自己的AS中 和邻居的AS中的BG

31、P发言者接收的路由。当运行第三期决策函数,第二期决策函数可以 阻塞。第二期距测函数应该在开始函数前锁定所有的AdjRIBIN,在完成后解开 所有。如果BGP路由的NEXT-HOP属性描述了一个地址,在本地LOC-RIB中BGP发 言者没有路由,BGP发言者应该排除在第二期决策函数外面。为了ADj_RIB_IN中的路由的每一个目的地集合,本地BGP发言者以确定路由:A)对同一个目的地集和,最高优先级的路由,或者B)是唯一的到目的的地路由,或者 是第二期解扣规则的选择结果。本地发言者应该安装路由到LOC-RIB中,替代LOC-RIB中保存的任何道相同目的 地的路由。本地发言者必须根据选择路由的NE

32、XT-HOP属性确定立即下一跳,通过查 找IGP悬着IGP中的可能的路径。当安装选择路由在LOC_RIB中,立即下一跳必 须被使用。如果NEXT-HOP属性描述的地址改变,路由选择应该按照上面的说明重新 计算。不可用的路由应该从LOC-RIB中拿出,相应的不可用路由应该从Adj-RIBs- IN拿出。解扣在Adj-RIBs-IN中一个BGP发言者可以有多个有相同的优先级的路由到同一 个目的地。本的发言者可以选择包含在相应LOC-RIB中的一条路由。本地发言者认为 所有的路由,不论是邻居AS的BGP发言者的路由,还是本地AS的BGP发言者的路由 是一样的。下面的解扣过程假设一个自治系统的所有AS

33、的每一个候选路由能够确定到NEXT-HO P属性描述的地址的路径代价(内部距离)。根据下面的算法解扣。A)如果本地系统配置考虑MULTI_EXIT_DISC,候选路由的MULTI_EXI T_DISC属性不同,选择MULTI_EXIT_DISC属性值最小的。B)否则,选择到路与欧的NEXT-HOP属性描述的入口的代价(内部距离)最小的。如 果有几个路由有相同的代价,按照下面的过程解扣-如果最少有一个路由是通过邻居AS的BGP发言者通告的,选择邻居AS的BGP发言 者通告的鲈鱼哦,如果BGP的标示符的值是所有邻居AS的BGP发言者中最小的。 -否则,选者BGP标示符最小的BGP发言者通告的路由。

34、PHASE3:路由分发 第三期路由决策过程可以被第二期的完成激活,或者下面的事件发生:A)LOC-RIB中的到本地目的地的路由改变。B)当本地产生的通过BGP以外的方式学习的路由改变。C)当新的BGP发言者-BGP发言者连接建立。第三期函数是独立的过程当没有进一步的工作去做的时候停止。第三期路由决策过程应该被 阻塞,如果第二期决策过程在运行。所有的LOC-RIB中的路由应该被处理到相应的到Adj-RIBs- Out的入口。 路由聚合和信息简约技术可选执行。为了更好支持未来的AS间多播能力,参加AS间多播路由的BGP发言者应该通告他从外 部对端收到的路由同时如果安装在Loc-RIB内,因该通告到

35、接收路由的对端。对没有 参加AS间多播路由的BGP发言者这个通告是可选的。如果做这样一个通告,NEXTHOP 属性应该被设置为对端地址。应用可以优化这个通告,组合AS-PATH属性的信 息不但包括自己的AS号码而且通告路由的对端的AS号码(这个组合要求ORIGIN属 性被设置为INCOMPLETE)。另外,应用不需要传递可选的或者自决的路径属性在 这种通告中。当Adj-RIBs-Out更新而且转发信息库(FIB)完成,本地BGP发言者应该 运行外部更新进程路由覆盖BGP发言者可以传送具有重叠的网络层可达信息(NLRI)的路由到别的BGP发言者。 NLRI重叠产生于一些列目的地对非匹配的多个路由

36、是唯一的。由于BGP使用IP前缀 对NLRI编码,重叠一般要展示子网关系。路由描述了更小范围的目的地(更长的前缀) 称为更特别路由,路由描述了更大范围的目的地(更短的前缀)成为更一般路由。反之同样。 这种优先关系有效分解了更一般路由为两部分: -一系列目的地,仅仅使用更一般路由描述。-一系列路由,使用更一般和更特殊路由的重叠描述。当重叠路由发生在同样的Adj-RIB-IN,更特殊的路由应该有优先权,顺序是更特 殊到更一般。重叠描述的目的地的集合表明一部分更一般路由是可用的,但是当前不可用。如果一个更特 殊的路由后来撤销了,重叠描述的目的地的集合将可以使用更一般的路由到达。如果BGP发言者接收了

37、重叠路由,决策过程应该考虑重叠路由的语义。特别是,如果BG P发言者接收了同一个对端的更一般的路由同时拒绝了更特殊的路由,那末重叠表示的目的 地可能不转发到路由的AS-PATH属性列出的AS那里。因此,BGP发言者可以由下 面选择:a)同时安装更一般和更特殊的路由b)只安装更特殊的路由c)只安装更一般路由的非重叠部分(这意味着解聚和)d)聚合着两条路由同时安装聚合路由e)安装更一般的路由f)都不安装如果一个BGP发言者选择e),应该加入ATOMIC-AGGREGATE属性到路由中。 承载ATOMIC-AGGREGATE属性的路由不能被解聚和。也就是说,路由的NL RI不能被是更特殊。向这个路由

38、转发不保证IP 包实际沿着路由的AS-PATH属性 列出的AS中转。如果BGP发言者选择A),必须不在通告更特殊的路由的时候通告更一 般的路由。IlUpdate发送过程Upda te-SEND进程负责通告UPDATE消息到所有的对端。例如,他发布决策 进程选择的路由到位于同样的自治系统或者邻居自治系统的BGP发言者。不同自治系统的 BGP发言者之间信息交换的法则相同自治系统的BGP发言者之间信息交换的法则. 在BGP发言者集合之间的路由信息的发布,所有BGP发言者如果在同一个自治系统,称 为内部发布。内部更新内部更新进程是发布路由信息到本地自治系统的BGP发言者。当BGP发言者从在本地自治系统

39、的别的BGP收到了 UPDATE消息,接收BGP发言 者不应该再分配UPDATE消息中的路由信息道别的本地自治系统的BGP发言者。当BGP发言者接收了邻居自治系统的BGP发言者的一条新的路由,如果下面的情况之一 发生,应该使用UPDATE消息通告路由到本的自治系统的所有的BGP发言者:1本地BGP发言者安排给新接收的路由的优先程度高于本地发言者已经安排的接受自邻 居自治系统的别的路由的优先级2没有接收到别的邻居自治系统的BGP发言者发送的路由3新接收路由是几个最高优先级,同样目的的的路由解扣的结果,当BGP发言者受到了U PDATE消息,有非空的WITHDRAWNRJOUTES域,应该从Adj

40、-RIB -IN里去掉所有的在这个域中(IP前缀表示)的目的地。发言者应该做下面的附加步骤: 1如果相应的可用路由先前没有被通告,不需要做更多的行动。2如果相应的可用路由先前被通告,那末:I 如果被选择通告的新的路由和不可用路由有相同的网络层可达信息,本的系统因该通告 替代路由。II如果替代路由不能用于通告,BGP发言者应该包括不可用路由的目的的(IP 前 缀形式)在UPDATE消息的WITHDRAWNROUTES域,因该发送这个消息到 先前通告了相应的可用路由的对端。所有的通告过的可用路由因该放入相应的AdjRIBsOu t,所有不可用的但是通 告过的路由应该被从AdjRIBsOut清除。解

41、扣 (内部更新)如果一个本地的BGP发言者连接到邻居AS的几个BGP发言者,有多个AdjRIB s IN和这些对段相关联。这些AdjRIBIN可以包括到同一个目的的的多个等 价优先级的路由,所有的路由要通告到邻居自治系统。本的BGP发言者应该根据下面法则 选择其中一条路由:A)如果候选路由的NEXT-HOP和MULTI -EXIT-DISC属性不同,本地系统 配置中考虑了MULTI-EXIT-DISC属性,选择有最低的MULTI -EXIT-D ISC属性的路由。B)如果本的系统能够确定候选路由中T-HOP属性描述的实体的路径的成本,选择成本较 低的路由。C)在所有别的情况中,选择通告路由的B

42、GP发言者具有较低的BGP标示符的路由。 外部更新外部更新过程和邻居AS的BGP发言者路由信息的发布有关。作为阶段3选择过程的一部 分,BGP发言者更新他的AdjRIBsOut和转发表.所有新的安装的路由和所 有新的没有替代路由的不可用的路由要通过UPDATE消息通告到邻居AS内部的BG P发言者。任何位于LOC-RIB的路由,如果是不可用的应该被撤销。在自己的AS内部如果可达 地址改变应该发送UPDATE消息。控制路由流量开销BGP协议限制路由流量(也就是UPDATE消息),目的是减少通告UPDATE消息 的带宽和消化UPDATE消息信息的决策过程的处理能力。 路由通告的频率参数MinRo

43、ut eAdver tiseme ntInt erval确定了BGP发言 者到特定目的地的两个路由通告之间的最小时间。这个速率限制过程是基于单个目的地的, 但是这个MinRo ut eAdver tiseme ntInt erval值是对每一个 对端设置的。从单个BGP发言者通告可用路由到目的地集合的来自BGP发言者的两个UPDATE 消息必须至少分离MinRo ut eAdver tiseme ntInt erval .无 疑,只有精确保持目的地集合的计时器才能做到这一点。这是不现实的开销。任何保证BG P发言者接受自邻居AS通告的两个UPDATE消息之间时间间隔的技术通告可用路由 到目的的

44、地最小间隔是MinRo ut eAdver tiseme ntInt erval , 也要保证大于间隔的一个常量是可以接受的。由于需要在AS内部快速收敛,本过程不能用于从本AS中别的BGP发言者发来的路由。 为了避免永久黑洞,本过程不能用于明确的撤销或者不可用路由(也就是,目的地(通过I P 前缀表示)在UPDATE消息中WITHDRAWNROUTEST域的路由)。 这个过程不限制路由选择的速率,但是仅仅限制路由通告的速率。当等待MinRo ute Adver tiseme ntInt erval溢出时,如果新的路由被选择多次,在Mi nRo ut eAdver tiseme ntInt er

45、val的最后最后选择的路由被通 告. 路由产生的速率参数MINASORIGINATIONINTERVAL确定了在BGP发言者本身的 AS,中报告变化的UPDATE消息的连续通告的最小间隔JITTER为了减少给定的BGP发言者的BGP消息产生尖峰,jITTER应该被使用于MINA SORIGINATIONINTERVAL, KeepAlive,MinRo uteA dver tiseme ntInt erval计时器.给定的BGP发言者应该应用同样的 jITTER数量,无论UPDATE被送到那个目的地;也就是说,jITTER不能被基 于“每个对端” 使用。引入的JITTER的数量使用相应的计数器

46、的基本值乘以一个范围是0。75到1的随机 因子。路由信息的有效组织选择将要广播的路由信息,一个BGP发言者可以采用几个方法,组织信息为一个有效形式。 信息简约 信息简约可以在策略控制的程度上使用简约-在信息崩溃之后,相同的策略在等价类上使用 在所有的目的地和路径。决策进程使用下面方法可选的减少放在ADj-RIB_ Out中的信息数量:A)网络层可达信息(NLRI)目的IP 地址可以被看作IP 地址前缀。若地址结构和在AS管理者控制下的系统能够 达成一致,有可能减少UPDATE消息中NLRI的尺寸。B)AS_PATHS(AS 路径):AS路径信息可以表达为顺序AS-SEQUENCE和无序AS-S

47、ET。S-SET可以用 在路由聚合算法,描述在9。2。4。2中。他们减少了AS-PATH的尺寸,通过只列 出每个AS号码一次,无论在聚合的AS-PATH上出现了几次。一个AS-SET意味着NLRI列出的目的地能够通过由AS -SET中的部分AS组成 的路径到达AS-SET提供有效的信息来避免回环;然而使用他们可能会剪除一些潜在 的有用路径,原因是一些路径不再被单独通过AS-SEQUENCE的方式列出。实际使 用中这不是个问题,应为一旦IP 报到达AS组的边界,这个点上的BGP发言者更可能 有更多的详细路径信息并能够区分到目的地的路径。 聚合路由信息聚合是一个过程用来组合几个不同的路由来广播一个

48、单独的路由。聚合作为决策的一个部分 发生,这样可以减少放在AjD_RIBS_ Out中路由信息的数量聚合减少了BGP发言者存储并且和别的BGP发言者交换的路由。路由聚合使用下面的独 立于期望类型的路径属性和网络层可达信息的过程。有下面属性的路由不能被聚合。除非相应的属性是唯一的MULTI _EXIT_DISC, NEXT_HOP.具有不同类型码的路径属性不能被聚合在一起.一些类型码的路径能够被聚合,使用下面的规 则:ORIGIN属性:如果最少一个被聚合路由它的ORIGIN指示INCOMPLETE, 聚合路由ORIGIN的属性值是IMCOMPLETE.否则,如果最少一个路由的属性是 EGP,聚合

49、路由的属性是EGP 在所有别的情况下ORIGIN属性是INTERNA L.AS-PATH属性:如果路由聚合有单一的AS-PATH属性,聚合的路由有同样的AS-P ATH属性.为了聚合路由属性,我们建模AS-PATH属性作为二元组 类型,值,类型定义了路径段 的属性(比如AS-SEQUENCE ,AS_SET ),值”定义了AS号码.如果路由被聚合有 不同的AS-PATH属性,聚合的AS-PATH属性应该满足:-所有在聚合AS-PATH的AS-SEQUENCE二元组应该在最早的路由集的AS-P ATH中都出现.-在聚合的AS-PATH中AS-SET类型的所有的二元组应该出现在最少一个AS-PA

50、TH类型中(可以出现为AS-SET或者AS-SEQUENCE)。-在聚合AS-PATH中任何类型AS-SEQUENCE的二元组X领先于Y,在初始的A S-PATH中,X在每一个AS-PATH中领先于Y,不论Y的类型。-在AS-PATH中不能由同一个二元组具有相同值却出现了两次,不论二元组的类型。 应用可以选择任何算法只要符合这些规则。最少的一个构造应用应该能够执行下埋嗯的算法 来满足所有的条件。-确定最长的对所有的聚合AS-PATH属性来说的二元组序列(如上定义)。把这个序列 作为聚合后的派头AS-PATH属性序列。-设置剩下的AS-PATH属性二元组为AS-SET,把他们加入到AS-PATH

51、后面。 -如果聚合AS-PATH属性有多个相同的二元组(不论二元组的类型),清除所有的,只 留下一个通过去掉AS-PATH属性中的AS-SET类型。ATOMIC .AGGREGATE:如果最少一个路由有这个路径属性,那末聚合后的路 由应该有这个属性。AGGREGATOR: 聚合者属性应该被忽略。路由选择标准总的来说,在几个可替代路由中比较路由的额外法则是在本文讨论问题之外的。有两个例外。 -如果新路由中AS路径出现了本地AS,新路由不能被看作比别的路由更好的路由。如果 使用这样的一个路由,路由环路会发生。-为了成功实现发布操作,只有具有稳定可能性的路由被选择。这样,一个AS必须避免使 用不稳定

52、的路由,必须不使路由自发选择快速改变。前面句子中“不稳定”和“快速”的名词量 化需要经验,但是原理是清楚的。产生BGP路由一个BGP发言者可以通过某些方式(比如通过IGP)获得的注入BGP的路由信息产生 BGP路由。BGP发言者产生BGP路由应该通过决策进程来安排路由的优先级别。这些 路由可以被发布到别的在本地AS的BGP发言者作为内部更新进程的一部分。在一个AS 内部决定是否发送非BGP获得的路由,取决于AS内部的环境(也就是IGP类型)而且 可以通过配置来控制。BGP路径属性每个路径属性由1字节的属性标志位,1字节的属性类型,1或2字节路由属性长度和路径 属性数据组成。属性标志位:位0:0

53、表示此属性必选,1表示此属性可选。位1:0表示此属性为非过渡属性,1表示此属性为过渡属性。位2:0表示所有属性均为路由起始处生成,1表示中间AS加入了新属性。位3:0表示路由属性长度由1字节指示,1表示由2字节指示。位4至位7:未用置0位0和位1标识了 BGP的4类路由属性: (0 1)公认必选:BGP的UPDATE报文中必须存在的属性。它必须能被所有 的BGP工具识别。公认必选属性的丢失意味着UPDATE报文的差错。这是为了保证所 有的BGP工具统一于一套标准属性。 (0 1)公认自决:能被所有BGP识别的属性,但在UPDATE报文中可发可不 发。 (11)可选过渡:如果BGP工具不能识别可

54、选属性,它就去找过渡属性位。如果 此属性是过渡的,BGP工具就接受此属性,并把它向前传递给其它BGP路由器。(10 ) 可选非过渡:当可选属性未被识别,且过渡属性也未被置位时,此属性被忽 略,不传递给其它BGP路由器。路由属性类型:(1) ORIGIN (TYPECODE = 1,公认必选属性)指示此路由起始类型:(2) AS_PATH (TYPECODE = 2,公认必选属性)AS路径属性由一系列AS路径段(SEGMENT)组成。每个AS路径段为一三元组 路径段类型,路径段长度,路径值。路径类型有:路径段长度用1字节表示AS号的数量,即最长为2 5 5个AS号。路径值为若干AS号,每个AS号

55、为2字节。(3) NEXT_HOP (TYPECODE = 3,公认必选属性)此属性为UPDATE消息中的信宿地址所使用的下一跳。(4) MULTI_EXIT_DISC (TYPECODE = 4,公认自决属性)简称MED属性。为一4字节无符合整数。它在AS区域间传播,用来帮助一个其它A S区域的BGP伙伴选择进入本AS区域的人口。(5) LOCAL_PREF (TYPECODE = 5,公认自决属性)本地优先级属性。为一4字节无符合整数。它在AS区域内传播,用来帮助一个本AS 区域内BGP伙伴选择进入其它AS区域的出口。(6) ATOMIC_ AGGREGATE (TYPECODE = 6,公认自决属性) 元聚合属性。长度为零。它表示本地BGP在若干路由中选择了一个较抽象的(LESSSPECIFIC)路由,而没有选择较具体(SPECIFIC)的路由。AGGREGATOR (TYPECODE = 7,可选过渡属性)聚合者属性。长度为6字节,分别为最后进行路由聚合的路由器的AS号(2字节)和I P 地址(4字节)。

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

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!