BGP原理与实践.ppt
《BGP原理与实践.ppt》由会员分享,可在线阅读,更多相关《BGP原理与实践.ppt(140页珍藏版)》请在三一办公上搜索。
1、BGP原理与实践,技术培训中心,课程目标,(1)建立数据流的意识及数据封装意识(2)掌握通过控制路由的方法实现对数据进行控制(3)掌握BGP的报文结构、状态机和工作原理(4)掌握BGP的常用配置和维护排错方法(5)掌握BGP同步的概念、作用、解决方法(6)掌握BGP路由常用属性的作用与操作方法,本章重点内容,BGP简介BGP工作原理BGP基本配置BGP路由进程模型BGP路由决策BGP路由属性操纵大规模网络中BGP的应用BGP路由策略实验,课程议题,一、BGP简介,1、BGP是什么,BGP是Border Gateway Protocol 边界网关路由协议,属于距离矢量路由协议。作用:在AS自治系
2、统之间传递路由信息。4个版本:V1、V2、V4、V4(即MBGP),AS知识点说明,AS:autonomous system 自治系统,指的是在同一个组织管理下使用相同策略的设备的集合。不同AS通过AS号区分,AS号取值范围165535,其中6451265535是私有AS号。中国电信163 AS号:4134中国电信CN2 AS号:4809中国网通AS 号:9929,2、为什么要使用BGPBGP价值传递,使用BGP的三大理由(1)大量路由需要承载,IGP只能容纳千条,而BGP可以容纳上万。(2)支撑MPLS/VPN的应用,传递客户VPN路由。(3)策略能力强,可以很好的实现路由决策与数据控制。,
3、3、IBGP与EBGP,IBGP,EBGP,EBGP,RTA,RTC,RTB,RTE,RTD,AS 4134,AS 4809,AS 64512,BGP的peer分为两种:EBGP和IBGPEBGP:peer之间AS号不相同,在AS之间使用。IBGP:peer之间AS号相同,在AS内部使用。EBGP和IBGP是一个协议,两张“脸”,两个的管理距离分别为20和200,AS之间是BGP的天下,所以20非常小。AS内部是IGP的天下,所以BGP谁也比不赢。,课程议题,二、BGP工作原理,1、BGP的协议包,2、BGP报文封装格式,单播形式发送,IP协议号为6,TCP端口号为179,Open报文类型,O
4、pen报文是由BGP报文头(报文头type=1)加如下结构构成,Hold Time,Version,My Autonomous System,BGP Identifier,Optional Paramenters,Optional Paramenters Length,扩展参数,如MBGP、GR、route-refresh,接收不到邻居的 Update或Keepalive 所能等待的最长时间。此值默认为180s,Open报文,Route refresh特性的扩展,MBGP的扩展,Update报文类型,Update Message用于 BGP路由的更新 Update报文由BGP报文头(type=
5、2)加如下结构构成,Update报文路由更新,BGP路由的属性信息,相同路由属性信息的路由条目信息放在一个Update包中发送,Update报文路由撤销(需要删除的路由),路由撤销时发的Update包中不带path attriibute属性的信息,Keepalive报文类型,Keepalive Message用于保持BGP邻居之间的会话缺省60秒发一次给PeerKeepalive(type=4)报文只有BGP报文头,Keepalive报文,报文类型,Notification Message用于终止BGP邻居间的会话BGP进程遭遇错误或设备出现问题Open Message交互的过程中,如果设备发
6、现Open Message中协商的某些参数不匹配,就会发送一个Notification Message并中断连接。Notification报文由BGP报文头(type=3)加如下结构构成,Data,Error Code,Error Subcode,Notification报文,错误子码,Route-refresh报文结构,3、BGP工作流程有限状态机FSM,Active,Open-sent,Open-confirm,Established,Idle,Connect,Connect-Retrytimer expiry,TCP connection fails,Connect-Retrytimer
7、 expiry,Start,Others,TCP connection fails,Error,Error,Error,KeepAlivetimer expiry,KeepAlive packet received,1.KeepAlive timer expiry2.Update received3.KeepAlive received,Correct OPENpacket received,TCP connection setup,TCP connection setup,Others,3、BGP工作流程邻居状态机一览表,课程议题,三、BGP基本配置,BGP基本配置实验(对等体建立和路由发现
8、),R2:S5750,R3:S8610,R1:NPE50,Gi0/0,Gi0/1,G0/1,G0/2,G3/2,G3/1,10.1.1.0/24,10.1.2.024,172.16.1.0/24,192.168.1.0/24,Lo 0:1.1.1.2,Lo 0:1.1.1.1,Lo 0:1.1.1.3,AS 64512,AS 64513,EBGP,IBGP,BGP配置步骤,设备基本参数配置,物理层、数据链路层、网络层连通性首先保障启动BGP进程建立BGP对等体通告BGP路由其他配置查看对等体 show ip bgp summary show ip bgp neighbor,实验前期基本配置,设
9、备命名接口物理层、链路层、网络层配置直连接口连通性测试配置IGP路由解决peer对等体的源和目标IP之间连通性确保peer之间TCP连通性(179),1、建立对等体Peer,配置BGP的路由器叫Speaker,每个Speaker之间可以建立Peer关系,根据Peer之间的AS号是否相同来决定是EBGP还是IBGP,他们协议特性不同,R1配置:R1(config)#router bgp 64512 R1(config-router)#neighbor 10.1.1.2 remote-as 64513,R2配置:R2(config)#router bgp 64513 R2(config-route
10、r)#neighbor 10.1.1.1 remote-as 64512R2(config-router)#neighbor 10.1.2.3 remote-as 64513,R3配置:R3(config)#router bgp 64513 R3(config-router)#neighbor 10.1.2.2 remote-as 64513,对端的AS号,Show ip bgp summary 查看BGP Peer汇总信息状态,state是bgp session的的状态,如果达到established就显示收到的路由的数目,否则就是active之类的状态。,路由更新或撤销时TblVer数字增
11、加,Show ip bgp neighbor命令的使用,EBGP Peer,Show ip bgp neighbor命令的使用,IBGP Peer,案例分析1:BGP peer Active 状态故障处理,可能的原因分析:peer可达,但TCP连接没建立成功,反复尝试中,TCP连接初始化中原理说明:BGP Peer是成对存在的解决的方法:确保Peer的TCP连接的对等性,案例分析2:非直连EBGP配置的问题,R1配置:R1(config)#router bgp 64512 R1(config-router)#no neighbor 10.1.1.2 R1(config-router)#neig
12、hbor 1.1.1.2 remote-as 64513,该命令导致的结果是拆除TCP连接,指向对方的loopback地址建立BGP Peer连接,BGP peer idle 状态故障处理,可能的原因分析:Peer地址不可达,TCP连接初始化,尝试发TCP建立Peer关系,资源准备中原理说明:IBGP的TTL默认时255,可以跨多跳路由器。而EBGP的TTL默认为1,协议包只能跑一跳远,直连情况时没问题,但非直连情况下的peer就要改TTL解决方法:步骤1:首先确保Peer的可达性,R1配置:R1(config)#ip route 1.1.1.2 255.255.255.255 10.1.1.
13、2,R1配置:R1(config)#router bgp 64512 R1(config-router)#neighbor 1.1.1.2 ebgp-multihop 1-255,不指定值则默认为255,BGP peer idle 状态故障处理(续),解决方法:步骤2:确保Peer的对等性,R1配置:R1(config)#router bgp 64512 R1(config-router)#neighbor 1.1.1.2 update-source loopback 0,R2配置:R2(config)#router bgp 64513 R2(config-router)#no neighbo
14、r 10.1.1.2 R2(config-router)#neighbor 1.1.1.1 ebgp-multihop R2(config-router)#neighbor 1.1.1.1 update-source loopback 0,改用loopback地址来建立BGP Peer连接,建立对等体的实验配置命令参考,R1配置:ip route 1.1.1.2 255.255.255.255 10.1.1.2router bgp 64512 neighbor 1.1.1.2 remote-as 64513 neighbor 1.1.1.2 ebgp-multihop 255 neighbor
15、 1.1.1.2 update-source Loopback 0,R2配置:ip route 1.1.1.1 255.255.255.255 10.1.1.1router bgp 64513 neighbor 1.1.1.1 remote-as 64512 neighbor 1.1.1.1 ebgp-multihop 255 neighbor 1.1.1.1 update-source Loopback 0 neighbor 10.1.2.3 remote-as 64513,R3配置:router bgp 64513 neighbor 10.1.2.2 remote-as 64513,2、通
16、告BGP路由,BGP路由由IGP负责发现,路由发现渠道有直连、静态、动态IGP等发现路由为了让BGP知道路由信息,要将IGP知道的路由重发布到BGP中,重发布的方法有两种:1)静态重发布注入路由networkR1(config-router)#network 172.16.1.0 mask 255.255.255.0R1(config-router)#network 1.1.1.1 mask 255.255.255.255要求network后面跟的IP子网信息要在路由表中存在且精确匹配其IP子网号和掩码。静态注入,人为干预比较多,但容易控制,通过配置汇总后的黑洞静态路由再静态注入到BGP中是一
17、个不错的选择。2)动态重发布注入路由redistributeR1(config)#router bgp 64512 R1(config-router)#redistribute ospf 1,Show ip bgp 查看BGP路由表,表示是自己产生的路由,BGP认为有效的/最佳的路由,引入路由的方法,Show ip bgp 查看BGP路由表,经过的AS路径,查看某一条具体的BGP路由,在R3上看到的路由,没有“”标记,则不会安装进IP路由表,也不会通告给其他peer,Next-hop-self问题,原因分析:下一跳不可达,所以BGP路由不能安装进全局的IP路由表原理说明:EBGP通告路由时使用
18、对等体作为下一跳;IBGP通告路由时缺省不改变下一跳地址信息。解决方法:通过命令:R2(config-router)#neighbor 10.1.2.3 next-hop-self此时将用自己的BGP router ID为peer做下一跳地址。,BGP路由通告原则总结,BGP Speaker只把自己使用的路由通告给邻居BGP Speaker从EBGP获得的路由会向它所有BGP邻居通告(包括EBGP和IBGP)BGP Speaker从IBGP获得的路由不再向它的其它IBGP邻居通告BGP Speaker 从IBGP获得的路由是否通告给它的EBGP邻居要依IGP和BGP同步的情况来决定,3、BGP
19、循环避免机制,BGP作为一种D-V距离矢量路由协议,防止循环的措施水平分割等都是有的,同时还采用ASPath属性来防止循环的发生(1)水平分割(2)ASpath。EBGP向对等体通告路由时附加上自己的AS号存放在ASpath属性字段中,收到EBGP对等体Update报文时检查ASpath,如果发现自己的AS号则丢弃该路由。也就是说EBGP是依靠路由经过的AS路径来发现循环的。(3)IBGP由于向对等体通告路由时不会加上自己的AS号,所以IBGP通过收到路由后不再向其他IBGP对等体通告来防止循环的发生,并且IBGP在路由通告时还不改变路由的下一跳进一步防止循环的发生。但IBGP中如果邻居太多,
20、为了相互能通告学习路由,一种方法使用IBGP全连接,另一种方法是采用路由反射器来解决IBGP内部路由扩散的问题。,4、BGP同步的问题,EBGP,EBGP,R1,R2,IBGP,R4,R3,R5,AS100,AS200,AS300,场景:Transit AS,网络N,路由黑洞,路由黑洞的定义:当数据报文被转发到某个路由器时而该路由器没有关于目标网络的路由而造成丢包的现象叫路由黑洞。路由黑洞的原因:IBGP中常常是逻辑连接,不能确保中间跨越的所有路由器都有BGP知道的路由,此时容易发生路由黑洞。,解决路由黑洞问题的方法,(1)让IGP知道:把BGP的路由重发布到AS内的IGP(2)在穿越路径上I
21、BGP启用全连接,确保所有BGP路由过路设备都知道。(3)使用MPLS转发机制,利用标签标识下一跳,解决穿越AS问题。(4)对非穿越AS,单头连接情况下,比如在城域网与163互联的拓扑中,城域网内部都跑IGP,只是在城域网出口用BGP控制出口,数据不穿过AS,在这种单头连接的情况下可以关闭同步。,BGP同步的作用与定义,作用:BGP协议为了防止路由黑洞问题,引入了同步机制同步其实就是BGP和IGP的同步,他们都有了要通告的路由了就叫同步了,满足这个条件了BGP才会将路由通告给下一个自治系统。同步概念定义:从IBGP对等体学习到的路由在成为最佳路径并向EBGP对等体通告之前必须被IGP知道。解决
22、了路由黑洞问题就可以关闭同步了(默认已关闭)关闭同步命令参考R1(config)#router bgp 200 R1(config-router)#no synchronization,BGP同步实验,R2:S5750,R3:S8610,R5:S7604,R1:NPE50,R4:RSR50,Gi0/0,Gi0/0,Gi0/1,G0/1,G0/2,G3/2,G3/1,G2/17,10.1.1.0/24,10.1.2.0/24,172.16.1.0/24,192.168.1.0/24,Lo 0:1.1.1.2,Lo 0:1.1.1.1,Lo 0:1.1.1.3,Lo 0:1.1.1.4,Lo 0:
23、1.1.1.5,Lo 1:4.0.1.0/24,Lo 1:5.0.1.0/24,AS 200,AS 100,AS 300,实验要求,IGP配置要求AS 200自治系统中的设备运行OSPF IGP 路由协议。R1、R2、R3设备的接口都划分到OSPF area 0中。BGP配置要求R1与R4配置EBGPR3与R5配置EBGPR1与R3配置IBGP要求使用各设备loopback 0接口地址建立对等体在R4和R5上分别将loopback 1网段通告进BGP,实验初期看到的现象是,如果R1、R3的BGP同步打开,R4上将学不到5.0.1.0/24路由,R5上也学不到4.0.1.0/24路由如果BGP同
24、步默认关闭,R4上能学习到5.0.1.0/24路由、R5上都能学习到4.0.1.0/24路由,但在R4上ping 5.0.1.5 ping不通此时请问有路由但ping不通的原因是什么?你的排错思路是什么,如何解决之?通过这个案例你的体会是什么?,课程议题,四、BGP路由进程模型,一个路由器对BGP路由的处理过程,策略机:操纵路由属性,对属性置值。路由决策:根据BGP路由选择规则选择最佳路径,最好的可安装入路由表。使用策略的原则是谁受益谁配置,课程议题,五、BGP路由决策,BGP路由选择决策规则,选择步骤依次为:1、路由下一跳不可达或没有解决同步问题,则不能参与路由选择2、选择weight值最高
25、的路由思科私有3、选择LOCAL_PREF较大的路由4、选择本地路由器产生的路由5、选择AS路径较短的路由6、依次选择origin属性为IGP、EGP和INCOMPLETE类型的路由7、选择MED较小的路由8、优选EBGP而不是IBGP9、选择下一跳IGP度量值较小的路由 10、选择BGP Router ID小的BGP对等体通告的路由,BGP缺省不支持负载均衡。如果全局配置下:maximum-paths修改可用路径的数量,则不会往后面比较了,课程议题,六、BGP路由属性,BGP属性分类,BGP属性的作用:描述路由的一组参数,BGP根据路由的属性选择最佳路由,一条路由可能有多个属性,可以人为置值
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- BGP 原理 实践
链接地址:https://www.31ppt.com/p-2268406.html