BGP路由协议原理.ppt_第1页
BGP路由协议原理.ppt_第2页
BGP路由协议原理.ppt_第3页
BGP路由协议原理.ppt_第4页
BGP路由协议原理.ppt_第5页
已阅读5页,还剩49页未读 继续免费阅读

下载本文档

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

文档简介

1、2020/6/24,BGP路由协议原理,华为技术,学习完此课程,您将会: 理解BGP协议的基本概念和原理 了解BGP协议的路由属性,目 标,第1章 BGP协议概述 第2章 BGP工作原理 第3章 BGP路由属性,内容介绍,1、BGP概述(BGP是什么),BGP是Border Gateway Protocol 边界网关路由协议,属于距离矢量路由协议。 作用:在AS自治系统之间传递路由信息。 4个版本:V1、 V2、V4、V4(即MBGP) 被TCP承载,端口号179,由TCP来解决可靠性。 路由附带丰富的属性信息,可以通过控制属性来控制路由选择,2、为什么要使用BGPBGP价值传递,使用BGP的

2、三大理由 (1)大量路由需要承载,IGP只能容纳千条,而BGP可以容纳上万。 (2)支撑MPLS/VPN的应用,传递客户VPN路由。 (3)策略能力强,可以很好的实现路由决策与数据控制。,2、为什么要使用BGPBGP VS OSPF,OSPF VS BGP 话说当年武林挑选盟主,主办方IP组织让OSPF和BGP说各自的修行心得: OSPF:身如路由器,心似转发表,报文何其多,日夜勤查找。 BGP: 路由本非器,转发何需表?报文虽然多,自有他人找。 主办方IP组织宣布BGP获胜,OSPF不服:“老子日夜辛苦,修行的OSPF心法300多页,构思巧妙,算法复杂,堪称武林绝学。而师弟BGP,终日游山玩

3、水,草草写了一本70多页的心法就交差了。”主办方问:“那么你的心法能够管理多少设备多少路由呢?”。OSPF这时才自知不如,无话可说。主办方继续说:“OSPF只能管理设备百台,路由千条;而BGP能够管理整个internet百万台路由器,路由十万余条。原因是:BGP是无为而治,表面看是无所做为,其实他只是不想过份的拘泥于细节,OSPF虽然厉害,但是太拘泥于细节。 最终BGP胜出,但是BGP也知道,他少不了OSPF的这个帮手,他得靠OSPF培养人才(路由)。最终BGP联手OSPF,一统江湖,无人能敌。,3、BGP协议基本概念,什么是自治系统(AS)? 自治系统指由同一个技术管理机构管理、使用内部路由

4、策略的一些路由器的集合。每个自治系统都有唯一的自治系统编号。自治系统的编号范围是1到65535,其中1到64511是注册的因特网编号,64512到65535是专用网络编号。,没有BGP的日子里,有了BGP之后,链路层协议生成路由,IGP发现和计算路由,BGP控制路由传播和选择,BGP两种邻居IBGP和EBGP,第1章 BGP协议概述 第2章 BGP工作原理 第3章 BGP路由属性,内容介绍,12,1、BGP的协议包,13,2、BGP报文封装格式,单播形式发送,IP协议号为6,TCP端口号为179,Open报文类型,Open报文是由BGP报文头(报文头type=1)加如下结构构成,Hold Ti

5、me,Version,My Autonomous System,BGP Identifier,Optional Paramenters,Optional Paramenters Length,扩展参数,如MBGP、 GR、route-refresh,接收不到邻居的 Update或Keepalive 所能等待的最长时间。此值默认为180s,Update报文类型,Update Message用于 BGP路由的更新 Update报文由BGP报文头(type=2)加如下结构构成,Keepalive报文类型,Keepalive Message用于保持BGP邻居之间的会话 缺省60秒发一次给Peer Ke

6、epalive(type=4)报文只有BGP报文头,Notification报文类型,Notification Message用于终止BGP邻居间的会话 BGP进程遭遇错误或设备出现问题 Open Message交互的过程中,如果设备发现Open Message中协商的某些参数不匹配,就会发送一个Notification Message并中断连接。 Notification报文由BGP报文头(type=3)加如下结构构成,Data,Error Code,Error Subcode,3、BGP工作流程有限状态机FSM,Active,Open-sent,Open-confirm,Establish

7、ed,Idle,Connect,Connect-Retry timer expiry,TCP connection fails,Connect-Retry timer expiry,Start,Others,TCP connection fails,Error,Error,Error,KeepAlive timer expiry,KeepAlive packet received,1. KeepAlive timer expiry 2. Update received 3. KeepAlive received,Correct OPEN packet received,TCP connecti

8、on setup,TCP connection setup,Others,19,3、BGP工作流程邻居状态机一览表,4、BGP工作机制,在BGP对等体建立之前,对等体之间首先进行TCP连接。 BGP邻居间会通过Open消息协商相关参数,建立起BGP对等体关系。 BGP邻居刚建立时,发送整个BGP路由表交换路由信息,之后为了更新路由表只交换更新消息(update message)。 系统在运行过程中,通过接收和发送keep-alive消息来检测相互之间的连接是否正常的。,成为BGP路由的途径之一:纯动态注入,OSPF发现路由18.0.0.1/8把IGP(OSPF)发现的路由纯动态地注入到RTB的

9、BGP路由表中,成为BGP路由的途径之二:半动态注入,OSPF发现路由18.0.0.1/8把IGP(OSPF)发现的路由半动态地注入到RTB的BGP路由表中,18.0.0.1/8,OSPF,RTB,AS200,成为BGP路由的途径之三:静态注入,人为配置静态路由18.0.0.1/8把人为配置的静态路由注入到RTB的BGP路由表中,BGP路由通告原则,存在多条路径时,BGP Speaker只选取最优的使用(非负载分担) BGP Speaker只把自己使用的路由通告给相邻体 BGP Speaker从EBGP获得的路由会向它所有BGP相邻体通告(包括EBGP和IBGP) BGP Speaker从IB

10、GP获得的路由不向它的IBGP相邻体通告(如果存在RR呢) BGP Speaker 从IBGP获得的路由是否通告给它的EBGP相邻体要依IGP和BGP同步的情况来决定 连接一建立,BGP Speaker按照以上原则,把自己所有BGP路由通告给新相邻体,BGP路由通告原则,BGP Speaker从IBGP获得的路由不向它的IBGP相邻体通告。,BGP路由表与系统路由表的关系,存在多条路径时,BGP Speaker只选取最优的使用(非负载分担时) BGP Speaker只把自己使用的最优路由通告给相邻体 BGP Speaker只把自己使用的最优的路由加入到路由表中,BGP同步,BGP Speake

11、r 从IBGP获得的路由是否通告给它的EBGP相邻体要依IGP和BGP同步情况决定(解决方法:RB上配置静态并发布让同步或者取消同步) 取消同步的条件:全连接(但是全连接也会产生一个问题:IBGP缺省不改变下一跳。)。,IBGP全互联,IBGP全互联 AS内部的所有路由器都运行BGP,就可以关闭所有路由器的同步,而不影响路由的通告和连通性. 随之产生的问题: 当as内部路由器数量很多时,需要建立N*(N-1)/2个ibgp会话,带来过度的系统开销,扩展性不好。即15个路由器的AS,需要建立15(15-1)/2=105个ibgp会话,IBGP全互联的解决方案,路由反射器 AS内部的所有路由器都运

12、行bgp,在AS内部部署路由反射器,构建hub and spoke的ibgp(会话数为N-1), 然后关闭所有bgp路由器的同步. 问题: 此方案可以使bgp路由器传递ibgp路由到ebgp, 并保证bgp路由的连通性,但是对物理拓扑有很大的限制。,BGP路由反射,路由反射器 (Route Reflector),AS 101,AS 100,AS 102,IBGP,EBGP,RR,Client,Client,Client,client,client,nonclient,AS100,RR,AS200,路由反射器的规则,RR 从clients和nonclients收路由更新后路由反射的规则 按照BG

13、P的基本选路原则,选出最佳路由,只通告最佳路由 从 client收到的更新,反射到 nonclients 和 clients 从 nonclient收到的更新,反射到 clients 从 EBGP邻居收到的更新,反射到 所有nonclients 和 clients,IBGP全互联的解决方案,2.bgp联盟 AS内部的所有路由器都运行bgp,把一个原始的AS基于网络拓扑划分为若干个sub-AS(又称联盟AS),联盟AS之间的bgp邻居叫做联盟ebgp,不需要full mesh bgp会话;在每个联盟AS内部运full mesh ibgp或者hub and spoke反射器,然后就可以关闭所有路由

14、器的bgp同步功能. 结论:bgp联盟结合路由反射器的方式,较好的解决了bgp的同步规则带来的需求,是最为有效的解决方案.,BGP联盟,联盟 (Confederation),AS 100,IBGP,EBGP,AS 1001,AS 1003,AS 1002,AS 101,EBGP_Confed,第1章 BGP协议概述 第2章 BGP工作原理 第3章 BGP路由属性,内容介绍,BGP属性作用,BGP属性的作用:描述路由的一组参数,BGP根据路由的属性选择最佳路由,一条路由可能有多个属性,可以人为置值,以便执行路由策略。表达了路由的特征,同时便于扩展。 BGP为什么如此强大,如此受欢迎,就是因为拥有

15、这么多丰富的独门功夫,操纵起路由的时候是易如反掌。,BGP属性分类,属性分类: 公认属性(Well-known): 公认必遵(Well-known mandatory)如:Origin AS-Path Next hop BGP 都认识,且在路由属性中必须携带 公认自决(Well-known discretionary)如: Local-Preference BGP都认识,但不一定必须携带 可选属性(Optional) 可选可传递(Optional transitive)如: Community 可以不认识该属性,但该属性可以传递到其他BGP speaker 可选不可传递(Optional no

16、n-transitive)如:MED 可以不认识该属性,不可以传递给其他BGP speaker,BGP的路由属性,1、Origin 2、AS-Path 3、Next hop 4、MED 5、Local-Preference 6、Atomic-Aggregate 7、Aggregator 8、Community,9、Originator-ID 10、Cluster-List 11、Destination Pref (MCI) 12、Advertiser (Baynet) 13、Rcid-Path (Baynet) 14、MP_Reach_NLRI 15、MP_Unreach_NLRI 16、Ex

17、tended_Communities,1、Origin 属性,作用:标识路由的来源 起点属性是一个公认必遵属性,它指示路由更新的起源。BGP允许三种类型的起源。 某条路由是直接而具体的注入到BGP路由表中的,则origin属性为IGP 路由是通过EGP得到的,则origin属性为EGP 其他情形下,Origin属性都为 Incomplete,2、AS-Path属性,公认必遵属性 向EBGP peer通告路由时在AS属性的最左边添加自己的AS号(最左边的是刚经过的AS,最右边的是起源AS)。 作用一:描述到达目标网络所要经过的AS号序列,EBGP使用AS-Path防止循环。 作用二:AS 路径属

18、性也在影响路由选择。在其它因素相同的情况下,选择AS路径较短的路由。,AS-Path 属性(防止环路、优选AS-Path短的路径),3、Next Hop 属性,公认必遵属性 BGP的下一跳属性和IGP的有所不同,不一定就是邻居路由器的IP地址。通常情况下,Next_Hop属性遵循下面的规则: BGP Speaker在向EBGP对等体发布某条路由时,会把该路由信息的下一跳属性设置为本地与对端连接的接口地址。 BGP Speaker将本地始发路由发布给IBGP对等体时,会把下一跳属性设置为发起该路由的路由器的接口地址。 BGP Speaker在向IBGP对等体发布从EBGP对等体学来的路由时,并不

19、改变该路由信息的下一跳属性。,Next Hop 属性,AS100,AS200,1.1.2.1/24,D=8.0.0.0,Next_Hop=1.1.1.1,1.1.1.1/24,EBGP,EBGP,D=8.0.0.0,Next_Hop=1.1.2.1,IBGP,D=8.0.0.0,Next_Hop=1.1.2.1,AS300,IBGP,D=8.0.0.0,8.0.0.0,1.1.3.1/24,RTA,RTB,RTC,RTE,RTF,Next_Hop=1.1.3.1,4、Local preference属性的使用,Local preference 本地优先级 公认可选属性,缺省local-pref

20、为100 一般只在AS内部IBGP peer之间传递,不会传递给ebgp peer 可以修改设置local-pref的值,优选较高值的路由,Local-Preference 属性,D,local-pref1 100 D,local-pref2 200 RTA就会优先选择本地 优先级高的local-pref2,假如RTF上还有19的A类地址,如果想要RTA访问它的时候,数据通过路由器RTD走,可以如何实现? (这样就实现了数据的负载均衡,并有备份),5、MED属性的使用,Med multi-exit-disc 任选非传递属性 优选较低MED值的; 不跨AS传播 相对于local-pref,可以把

21、路由策略传递给ebgp peer 除非配置了“always-compare-med”,其它时候永远只比较来自同一AS的路径;,MED(Multi-Exit-DISC)属性,6、Community团体属性,作用:标识一些有相同性质的前缀,给路由打标记,以便统一处理,实现路由过滤和路由选择 Community不限于一个网络或一个自治系统,没有物理边界 一个路由可以有多个团体属性。 公认的Community NO_ADVERTISE:不通告给任何的BGP对等体; NO_EXPORT:不通告给EBGP对等体; INTERNET:可以通告给所有的其他BGP对等体。 LOCAL-AS:表示本路径不发布到本AS 外部,当配置联盟时,本路径不发布给其它的自治系统或子自治系统。 私有community,Community团体属性的使用,私有团体是对用户有意义的数字 四个字节,为增加可读性,可配置为aa:nn,一般aa建议为AS号,nn代表业务。 缺省在peer之间不传递community属性,必须针对特定peer使用命令修改,才能将community属性发送出去。,BGP路由选优过程,综合起来,本地BGP路由选优的过程为: 首先丢弃下一跳(Next_Hop)不可达的路由; 无条件优选带Label的IPv4路由; 优选协议优先级最高, Preference值小的路由; 优选本地优先级(L

温馨提示

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

评论

0/150

提交评论