《BGP路由协议原理.ppt》由会员分享,可在线阅读,更多相关《BGP路由协议原理.ppt(54页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、HUAWEI TECHNOLOGIES CO.,LTD.All rights reservedInternal 2023/1/26 BGP路由协议原理华为技术HUAWEI TECHNOLOGIES CO.,LTD.All rights reservedl学习完此课程,您将会:理解BGP协议的基本概念和原理了解BGP协议的路由属性HUAWEI TECHNOLOGIES CO.,LTD.All rights reserved第第第第1 1章章章章 BGPBGP协议概述协议概述协议概述协议概述第第2章章 BGP工作原理工作原理第第3章章 BGP路由属性路由属性HUAWEI TECHNOLOGIES
2、CO.,LTD.All rights reserved1、BGP概述(BGP是什么)lBGP是Border Gateway Protocol 边界网关路由协议,属于距离矢量路由协议。l作用:在AS自治系统之间传递路由信息。l4个版本:V1、V2、V4、V4(即MBGP)l被TCP承载,端口号179,由TCP来解决可靠性。l路由附带丰富的属性信息,可以通过控制属性来控制路由选择HUAWEI TECHNOLOGIES CO.,LTD.All rights reserved2、为什么要使用BGPBGP价值传递使用BGP的三大理由l(1)大量路由需要承载承载,IGP只能容纳千条,而BGP可以容纳上万。
3、l(2)支撑MPLS/VPN的应用,传递客户VPN路由。l(3)策略能力强,可以很好的实现路由决策路由决策与数据控制。HUAWEI TECHNOLOGIES CO.,LTD.All rights reserved2、为什么要使用BGPBGP VS OSPFlOSPF VS BGP 话说当年武林挑选盟主,主办方IP组织让OSPF和BGP说各自的修行心得:lOSPF:身如路由器,心似转发表,报文何其多,日夜勤查找。lBGP:路由本非器,转发何需表?报文虽然多,自有他人找。l主办方IP组织宣布BGP获胜,OSPF不服:“老子日夜辛苦,修行的OSPF心法300多页,构思巧妙,算法复杂,堪称武林绝学。而
4、师弟BGP,终日游山玩水,草草写了一本70多页的心法就交差了。”主办方问:“那么你的心法能够管理多少设备多少路由呢?”。OSPF这时才自知不如,无话可说。主办方继续说:“OSPF只能管理设备百台,路由千条;而BGP能够管理整个internet百万台路由器,路由十万余条。原因是:BGP是无为而治,表面看是无所做为,其实他只是不想过份的拘泥于细节,OSPF虽然厉害,但是太拘泥于细节。l最终BGP胜出,但是BGP也知道,他少不了OSPF的这个帮手,他得靠OSPF培养人才(路由)。最终BGP联手OSPF,一统江湖,无人能敌。HUAWEI TECHNOLOGIES CO.,LTD.All rights
5、reserved3、BGP协议基本概念l什么是自治系统(AS)?自治系统指由同一个技术管理机构管理、使用内部路由策略的一些路由器的集合。每个自治系统都有唯一的自治系统编号。自治系统的编号范围是1到65535,其中1到64511是注册的因特网编号,64512到65535是专用网络编号。HUAWEI TECHNOLOGIES CO.,LTD.All rights reserved没有BGP的日子里OSPFRIPISISEIGRPHUAWEI TECHNOLOGIES CO.,LTD.All rights reserved有了BGP之后链路层协议生成生成路由,IGP发现和计算路由,BGP控制路由控制
6、路由传播和选择传播和选择OSPFRIPISISEIGRPBGPBGPBGPHUAWEI TECHNOLOGIES CO.,LTD.All rights reservedBGP两种邻居IBGP和EBGPEBGPEBGPRTBRTCIBGPRTARTDRTEHUAWEI TECHNOLOGIES CO.,LTD.All rights reserved第第1章章 BGP协议概述协议概述第第第第2 2章章章章 BGPBGP工作原理工作原理工作原理工作原理第第3章章 BGP路由属性路由属性HUAWEI TECHNOLOGIES CO.,LTD.All rights reserved1、BGP的协议包报文
7、名称报文名称作用是什么作用是什么什么时候发包什么时候发包OPEN协商BGP邻居的各项参数,建立邻居关系(相遇:你好!我们一起玩吧)通过TCP建立BGP连接,发送open报文NOTIFICATION报告错误,中止邻居关系(失败:有分歧!我们不合适)当在Open交互过程中、或者在后续运行中发现错误时,要发送NOTIFICATION报文通告BGP对端UPDATE进行路由信息的交换(相恋:把我所有的给献给你)连接建立后,有路由需要发送或路由变化时,发送UPDATE通告对端路由信息KEEPALIVE维持邻居关系(热恋:每天短信诉相思)定时发送KEEPALIVE报文以保持BGP邻居关系的有效性HUAWEI
8、 TECHNOLOGIES CO.,LTD.All rights reserved2、BGP报文封装格式单播形式发送单播形式发送Link Layer HeaderIP 头TCP头BGP Protocol PacketFrameChecksumIP协议号为6TCP端口号为179BGP Protocol HeaderBGP PacketMarker(16 byte)Length(2 byte)Type(1 byte)标识标识BGP报文类型报文类型HUAWEI TECHNOLOGIES CO.,LTD.All rights reservedOpen报文类型lOpen报文是由BGP报文头(报文头typ
9、e=1)加如下结构构成Hold TimeVersionMy Autonomous SystemBGP IdentifierOptional ParamentersOptional Paramenters Length扩展参数,如扩展参数,如MBGP、GR、route-refresh接收不到邻居的接收不到邻居的 Update或或Keepalive 所能等待的最所能等待的最长时间。此值默认为长时间。此值默认为180sHUAWEI TECHNOLOGIES CO.,LTD.All rights reservedUpdate报文类型lUpdate Message用于 BGP路由的更新 lUpdate报
10、文由BGP报文头(type=2)加如下结构构成Withdrawn RoutesUnfeasible Routes LengthPath Attribute LengthNetwork Layer Reachability InformationPath Attribute撤销的路由撤销的路由路由属性路由属性更新的路由更新的路由HUAWEI TECHNOLOGIES CO.,LTD.All rights reservedKeepalive报文类型lKeepalive Message用于保持BGP邻居之间的会话缺省缺省60秒发一次给秒发一次给PeerlKeepalive(type=4)报文只有BG
11、P报文头Marker(16 byte)Length(2 byte)Type(1 byte)HUAWEI TECHNOLOGIES CO.,LTD.All rights reservedNotification报文类型lNotification Message用于终止BGP邻居间的会话BGP进程遭遇错误或设备出现问题Open Message交互的过程中,如果设备发现Open Message中协商的某些参数不匹配,就会发送一个Notification Message并中断连接。lNotification报文由BGP报文头(type=3)加如下结构构成DataError Code Error Sub
12、codeHUAWEI TECHNOLOGIES CO.,LTD.All rights reserved3、BGP工作流程有限状态机FSMActiveOpen-sentOpen-confirmEstablishedIdleConnectConnect-Retrytimer expiryTCP connection failsConnect-Retrytimer expiryStartOthersTCP connection failsErrorErrorErrorKeepAlivetimer expiryKeepAlive packet received1.KeepAlive timer exp
13、iry2.Update received3.KeepAlive receivedCorrect OPENpacket receivedTCP connection setupTCP connection setupOthersHUAWEI TECHNOLOGIES CO.,LTD.All rights reserved3、BGP工作流程邻居状态机一览表PeerPeer状态名称状态名称发什么包发什么包在做什么在做什么Idle尝试建立TCP连接开始准备TCP的连接并监视远程peer启动TCP连接,启用BGP时,要准备足够的资源Connect发TCP包正在进行TCP连接,等待完成中,认证都是在TCP
14、建立期间完成的。如果TCP连接不上则进入Active状态,反复尝试连接。Active发TCP包反复尝试TCP连接,OpenSent发Open包TCP连接建立已经成功,开始发送Open包,Open包携带参数协商对等体的建立。OpenConfirm发Keepalive包参数、能力特性协商成功,自己开始发送Keepalive包,等待对方的Keepalive包。Established发Update包已经收到对方的Keepalive包,双方能力特性一致,开始使用Update通告路由信息。HUAWEI TECHNOLOGIES CO.,LTD.All rights reserved4、BGP工作机制l在B
15、GP对等体建立之前,对等体之间首先进行TCP连接。lBGP邻居间会通过Open消息协商相关参数,建立起BGP对等体关系。lBGP邻居刚建立时,发送整个BGP路由表交换路由信息,之后为了更新路由表只交换更新消息(update message)。l系统在运行过程中,通过接收和发送keep-alive消息来检测相互之间的连接是否正常的。HUAWEI TECHNOLOGIES CO.,LTD.All rights reserved成为BGP路由的途径之一:纯动态注入lOSPF发现路由把IGP(OSPF)发现的路由纯动态地注入到RTB的BGP路由表中18.0.0.1/8RTBAS200OSPFHUAWE
16、I TECHNOLOGIES CO.,LTD.All rights reserved成为BGP路由的途径之二:半动态注入lOSPF发现路由把IGP(OSPF)发现的路由半动态地注入到RTB的BGP路由表中OSPFRTBAS200HUAWEI TECHNOLOGIES CO.,LTD.All rights reserved成为BGP路由的途径之三:静态注入l人为配置静态路由把人为配置的静态路由注入到RTB的BGP路由表中18.0.0.1/8AS200RTBHUAWEI TECHNOLOGIES CO.,LTD.All rights reservedBGP路由通告原则l存在多条路径时,BGP Sp
17、eaker只选取最优的使用(非负载分担)lBGP Speaker只把自己使用的路由通告给相邻体lBGP Speaker从EBGP获得的路由会向它所有BGP相邻体通告(包括EBGP和IBGP)lBGP Speaker从IBGP获得的路由不向它的IBGP相邻体通告(如果存在RR呢)lBGP Speaker 从IBGP获得的路由是否通告给它的EBGP相邻体要依IGP和BGP同步的情况来决定l连接一建立,BGP Speaker按照以上原则,把自己所有BGP路由通告给新相邻体HUAWEI TECHNOLOGIES CO.,LTD.All rights reservedBGP路由通告原则lBGP Spea
18、ker从IBGP获得的路由不向它的IBGP相邻体通告。AS 42AS 12AS 14R-14R-12RTARTBRTDRT-CX 12 EBGPIBGPX 12 X 12 HUAWEI TECHNOLOGIES CO.,LTD.All rights reservedBGP路由表与系统路由表的关系l存在多条路径时,BGP Speaker只选取最优的使用(非负载分担时)lBGP Speaker只把自己使用的最优路由通告给相邻体lBGP Speaker只把自己使用的最优的路由加入到路由表中HUAWEI TECHNOLOGIES CO.,LTD.All rights reservedBGP同步lBGP
19、 Speaker 从IBGP获得的路由是否通告给它的EBGP相邻体要依IGP和BGP同步情况决定(解决方法:RB上配置静态并发布让同步或者取消同步)l取消同步的条件:全连接(但是全连接也会产生一个问题:IBGP缺省不改变下一跳。)。EBGPEBGPRTBRTCIBGPRTARTDRTERTFS0:1.1.1.2/24E0:10.1.1.1/24S0:1.1.1.1/24S1:2.1.1.2/24AS100AS200AS300S0:2.1.1.1/24HUAWEI TECHNOLOGIES CO.,LTD.All rights reservedIBGP全互联lIBGP全互联AS内部的所有路由器都
20、运行BGP,就可以关闭所有路由器的同步,而不影响路由的通告和连通性.l随之产生的问题:当as内部路由器数量很多时,需要建立N*(N-1)/2个ibgp会话,带来过度的系统开销,扩展性不好。即15个路由器的AS,需要建立15(15-1)/2=105个ibgp会话HUAWEI TECHNOLOGIES CO.,LTD.All rights reservedIBGP全互联的解决方案1.路由反射器AS内部的所有路由器都运行bgp,在AS内部部署路由反射器,构建hub and spoke的ibgp(会话数为N-1),然后关闭所有bgp路由器的同步.l问题:此方案可以使bgp路由器传递ibgp路由到ebg
21、p,并保证bgp路由的连通性,但是对物理拓扑有很大的限制。HUAWEI TECHNOLOGIES CO.,LTD.All rights reservedBGP路由反射路由反射器路由反射器 (Route Reflector)(Route Reflector)AS 101AS 100AS 102IBGPEBGPRRClientClientClientHUAWEI TECHNOLOGIES CO.,LTD.All rights reservedclientclientnonclientAS100RRAS200路由反射器的规则RR 从clients和nonclients收路由更新后路由反射的规则按照B
22、GP的基本选路原则,选出最佳路由,只通告最佳路由从 client收到的更新,反射到 nonclients 和 clients从 nonclient收到的更新,反射到 clients从 EBGP邻居收到的更新,反射到 所有nonclients 和 clientsHUAWEI TECHNOLOGIES CO.,LTD.All rights reserved IBGP全互联的解决方案l2.bgp联盟 AS内部的所有路由器都运行bgp,把一个原始的AS基于网络拓扑划分为若干个sub-AS(又称联盟AS),联盟AS之间的bgp邻居叫做联盟ebgp,不需要full mesh bgp会话;在每个联盟AS内部
23、运full mesh ibgp或者hub and spoke反射器,然后就可以关闭所有路由器的bgp同步功能.l结论:bgp联盟结合路由反射器的方式,较好的解决了bgp的同步规则带来的需求,是最为有效的解决方案.HUAWEI TECHNOLOGIES CO.,LTD.All rights reservedBGP联盟联盟联盟 (Confederation)(Confederation)AS 100IBGPEBGPAS 1001AS 1003AS 1002AS 101EBGP_ConfedHUAWEI TECHNOLOGIES CO.,LTD.All rights reserved第第1章章 BG
24、P协议概述协议概述第第2章章 BGP工作原理工作原理第第第第3 3章章章章 BGPBGP路由属性路由属性路由属性路由属性HUAWEI TECHNOLOGIES CO.,LTD.All rights reserved BGP属性作用lBGP属性的作用:描述路由的一组参数,BGP根据路由的属性选择最佳路由,一条路由可能有多个属性,可以人为置值,以便执行路由策略。表达了路由的特征,同时便于扩展。lBGP为什么如此强大,如此受欢迎,就是因为拥有这么多丰富的独门功夫,操纵起路由的时候是易如反掌。HUAWEI TECHNOLOGIES CO.,LTD.All rights reserved BGP属性分类
25、l属性分类:公认属性(Well-known):公认必遵(Well-known mandatory)如:Origin AS-Path Next hopBGP 都认识,且在路由属性中必须携带公认自决(Well-known discretionary)如:Local-PreferenceBGP都认识,但不一定必须携带可选属性(Optional)可选可传递(Optional transitive)如:Community可以不认识该属性,但该属性可以传递到其他BGP speaker可选不可传递(Optional non-transitive)如:MED可以不认识该属性,不可以传递给其他BGP speak
26、erHUAWEI TECHNOLOGIES CO.,LTD.All rights reservedBGP的路由属性l1、Originl2、AS-Pathl3、Next hopl4、MEDl5、Local-Preferencel6、Atomic-Aggregatel7、Aggregatorl8、Communityl9、Originator-IDl10、Cluster-Listl11、Destination Pref(MCI)l12、Advertiser(Baynet)l13、Rcid-Path(Baynet)l14、MP_Reach_NLRIl15、MP_Unreach_NLRIl16、Exte
27、nded_CommunitiesHUAWEI TECHNOLOGIES CO.,LTD.All rights reserved1、Origin 属性l作用:标识路由的来源 l起点属性是一个公认必遵属性,它指示路由更新的起源。BGP允许三种类型的起源。某条路由是直接而具体的注入到BGP路由表中的,则origin属性为IGP路由是通过EGP得到的,则origin属性为EGP其他情形下,Origin属性都为 IncompleteHUAWEI TECHNOLOGIES CO.,LTD.All rights reserved2、AS-Path属性l公认必遵属性l向EBGP peer通告路由时在AS属性的
28、最左边添加自己的AS号(最左边的是刚经过的AS,最右边的是起源AS)。l作用一:描述到达目标网络所要经过的AS号序列,EBGP使用AS-Path防止循环。l作用二:AS 路径属性也在影响路由选择。在其它因素相同的情况下,选择AS路径较短的路由。HUAWEI TECHNOLOGIES CO.,LTD.All rights reservedAS-Path 属性(防止环路、优选AS-Path短的路径)D(18.0.0.0/8)AS200AS300AS400AS100AS500RTARTB30.0.0.130.0.0.2D,dl 400 300 200D,d2 500 200 D,d1 400 300
29、 200D,d2 500 200HUAWEI TECHNOLOGIES CO.,LTD.All rights reserved3、Next Hop 属性l公认必遵属性lBGP的下一跳属性和IGP的有所不同,不一定就是邻居路由器的IP地址。通常情况下,Next_Hop属性遵循下面的规则:lBGP Speaker在向EBGP对等体发布某条路由时,会把该路由信息的下一跳属性设置为本地与对端连接的接口地址。lBGP Speaker将本地始发路由发布给IBGP对等体时,会把下一跳属性设置为发起该路由的路由器的接口地址。lBGP Speaker在向IBGP对等体发布从EBGP对等体学来的路由时,并不改变该
30、路由信息的下一跳属性。HUAWEI TECHNOLOGIES CO.,LTD.All rights reservedNext Hop 属性AS100AS200EBGPEBGPIBGPAS300IBGPRTARTBRTCRTERTFHUAWEI TECHNOLOGIES CO.,LTD.All rights reserved4、Local preference属性的使用lLocal preference 本地优先级l公认可选属性,缺省local-pref为100l一般只在AS内部IBGP peer之间传递,不会传递给ebgp peerl可以修改设置local-pref的值,优选较高值的路由HUA
31、WEI TECHNOLOGIES CO.,LTD.All rights reservedLocal-Preference 属性AS400AS100AS300AS200RTARTBRTCRTDRTERTFD(18.0.0.0/8)30.0.0.130.0.0.220.0.0.120.0.0.2D,local-pref1 100D,local-pref2 200 D,local-pref1 100 D,local-pref2 200RTA就会优先选择本地就会优先选择本地优先级高的优先级高的local-pref2l假如RTF上还有19的A类地址,如果想要RTA访问它的时候,数据通过路由器RTD走,可
32、以如何实现?(这样就实现了数据的负载均衡,并有备份)HUAWEI TECHNOLOGIES CO.,LTD.All rights reserved5、MED属性的使用lMed multi-exit-disc 任选非传递属性l优选较低MED值的;l不跨AS传播l相对于local-pref,可以把路由策略传递给ebgp peerl除非配置了“always-compare-med”,其它时候永远只比较来自同一AS的路径;HUAWEI TECHNOLOGIES CO.,LTD.All rights reservedMED(Multi-Exit-DISC)属性D(18.0.0.0/8)RTARTBRTC
33、30.0.0.130.0.0.220.0.0.120.0.0.2AS100AS200D,metric1 10 D,metric2 20D,metric1 10D,metric2 20RTA会选择metric值较小的metric1IBGPHUAWEI TECHNOLOGIES CO.,LTD.All rights reserved6、Community团体属性l作用:标识一些有相同性质的前缀,给路由打标记,以便统一处理,实现路由过滤和路由选择lCommunity不限于一个网络或一个自治系统,没有物理边界l一个路由可以有多个团体属性。l公认的Community NO_ADVERTISE:不通告给任
34、何的BGP对等体;NO_EXPORT:不通告给EBGP对等体;INTERNET:可以通告给所有的其他BGP对等体。LOCAL-AS:表示本路径不发布到本AS 外部,当配置联盟时,本路径不发布给其它的自治系统或子自治系统。l私有community HUAWEI TECHNOLOGIES CO.,LTD.All rights reservedCommunity团体属性的使用l私有团体是对用户有意义的数字l四个字节,为增加可读性,可配置为aa:nn,一般aa建议为AS号,nn代表业务。l缺省在peer之间不传递community属性,必须针对特定peer使用命令修改,才能将community属性发送
35、出去。HUAWEI TECHNOLOGIES CO.,LTD.All rights reservedBGP路由选优过程l综合起来,本地BGP路由选优的过程为:首先丢弃下一跳(Next_Hop)不可达的路由;无条件优选带Label的IPv4路由;优选协议优先级最高,Preference值小的路由;优选本地优先级(Local_Pref)最高的路由;优选聚合路由(聚合路由优先级高于非聚合路由);优选AS路径(AS_Path)最短的路由;比较Origin属性,IGPEGPIncomplete;优选MED值最低的路由;HUAWEI TECHNOLOGIES CO.,LTD.All rights rese
36、rvedBGP路由选优过程EBGPIBGP;到达路由下一跳IGP的cost值,低者优先;优选Cluster_List最短的路由;优选Originator_ID最小的路由;优选Router ID最小的路由器发布的路由;比较对等体的IP Address,优选从具有较小IP Address的对等体学来的路由。HUAWEI TECHNOLOGIES CO.,LTD.All rights reservedBGP循环避免机制回顾lBGP作为一种D-V距离矢量路由协议,防止循环的措施水平分割等都是有的,同时还采用ASPath属性来防止循环的发生l(1)水平分割l(2)ASpath。EBGP向对等体通告路由时
37、附加上自己的AS号存放在ASpath属性字段中,收到EBGP对等体Update报文时检查ASpath,如果发现自己的AS号则丢弃该路由。也就是说EBGP是依靠路由经过的AS路径来发现循环的。l(3)IBGP由于向对等体通告路由时不会加上自己的AS号(因为根据规则AS号相同就要丢弃该路由了),所以IBGP通过收到路由后不再向其他IBGP对等体通告来防止循环的发生,并且IBGP在路由通告时还不改变路由的下一跳进一步防止循环的发生。但IBGP中如果邻居太多,为了相互能通告学习路由,一种方法使用IBGP全连接,另一种方法是采用路由反射器来解决IBGP内部路由扩散的问题。HUAWEI TECHNOLOGIES CO.,LTD.All rights reserved小结l在本课程中我们学习了BGP协议的基本原理和丰富的属性特征,和这些属性的应用。小结小结小结小结HUAWEI TECHNOLOGIES CO.,LTD.All rights reserved第第1章章 BGP协议概述协议概述第第2章章 BGP工作原理工作原理第第2章章 BGP路由属性路由属性谢谢