bgp个人总结.doc

上传人:时光煮雨 文档编号:14891537 上传时间:2022-02-23 格式:DOC 页数:9 大小:2.14MB
返回 下载 相关 举报
bgp个人总结.doc_第1页
第1页 / 共9页
bgp个人总结.doc_第2页
第2页 / 共9页
bgp个人总结.doc_第3页
第3页 / 共9页
bgp个人总结.doc_第4页
第4页 / 共9页
bgp个人总结.doc_第5页
第5页 / 共9页
点击查看更多>>
资源描述

《bgp个人总结.doc》由会员分享,可在线阅读,更多相关《bgp个人总结.doc(9页珍藏版)》请在三一文库上搜索。

1、http:/www.cidr-report.orgBGP中的三张表:neighbor table、BGP table(forwarding database)、ip routing tableBGP的四种报文:open报文:包括hold time和BGP router-id router-id:手工指定、loopback 接口ip地址大的、物理接口IP地址大的keepalive报文:update报文:路由更新报文notification报文:错误报告报文EBGP:在不同的AS之间建立,一般需直连 20 IBGP:在同一个AS内建立,无需直连 200BGP的水平分割:EBGP的水平分割:不接收含

2、有本AS号的BGP路由IBGP的水平分割:从IBGP的学过来的路由不会再通告给其他的IBGP邻居如上图示:A与B之间建立的是EBGP邻居,E与F之间建立的也是EBGP邻居,B与E之间建立的是IBGP邻居,C、D路由器没有运行BGP路由协议。BE之间要建立IBGP邻居,则他们之间的要有到达彼此的路由,故在AS65102中必须运行IGP路由。当所有BGP邻居都建立起来以后,我们来分析:A通告出来的路由S通过EBGP可以传给B,B通过IBGP可以传给E,E再通过EBGP可以传给F,从控制层面来说,是通的(类似于ARP逐跳改变了源目IP地址);但是我们从数据层面来看一下,从F来的数据包要发给A,F通过

3、EBGP交给E,E通过C或D交给B,但是由于C、D上没有运行BGP路由协议,根本就没有到达A的S路由,故数据包无法到达A。-路由黑洞。为什么C、D可以帮助传递路由信息而不能传递数据信息?答:因为BGP是通过TCP来建立连接的,A在将路由信息S发给B时,数据包的源目地址分别是A和B,B在将路由信息S发给E时,源目IP地址分别是S和E(通过IGP),E在将路由信息S传递给F时,其源目IP地址分别是E和F。但数据包要从F交到A时,其目标地址一直是A,路由器C、D没有运行BGP协议,没有到达A的路由,故当E将此数据包交给没有运行BGP的路由器C、D时,数据包被丢弃。路由黑洞的解决办法:1、 物理线路F

4、ULL MESH。2、 BGP邻居的FULL MESH。3、 BGP重分发进OSPF(LAB)。4、 MPLSIGP中network的作用:1、发hello包建立邻居 (组播地址 直接封装) 2、通告路由(只能通告相应接口的路由 反掩码)BGP中:1、neighbor 建BGP邻居 (neighbor指定邻居 再封装) 2、network 宣告路由 (只要是路由表中有的路由都可以宣告 正掩码)一般通过还回口建立IBGP邻居:从稳定性的角度来考虑,但这样容易造成更新源的不一致IGP通过组播地址发送hello报文,BGP中通过点对点的地址来发送open报文。EBGP在配置了EBGP邻居之后,EBG

5、P邻居关系能够马上起来,但是IBGP之间不能够马上起来必须要配置更新源,使得neighbor和更新源(US)一致。例如:EBGP A和B之间:A: B:NEI:11.1.1.2 NEI:11.1.1.1 US:11.1.1.1 US:11.1.1.2而IBGP B和E之间:B: E:NEI:3.3.3.3 NEI:2.2.2.2US:12.1.1.1. US:13.1.1.1不对称,需要用命令:neighbor *.*.*.* update-source * 修改open报文的源IP地址,使得更新源和neighbor都是同一对象,这样IBGP邻居才能起来。注意:原则上两边都要修改,但是实际上只

6、要有一边配置了就可以了,建议两边都配置上。如图所示的:EBGP邻居之间有两条链路来实现冗余备份,这个时候一般就不使用物理端口来建立EBGP邻居,(达不到冗余备份的目的)。此时一般也通过LP口来建立EBGP邻居,但是这个时候要注意修改TTL值,EBGP默认TTL值为1。命令为:neighbor *.*.*.* ebgp-multihop 2 后不跟数值,默认是255同时通过静态路由来实现LP接口互通。没有标示“”的BGP路由(不是最优的)1、 不会放进路由表2、 不会给其他BGP邻居传 BGP路由优的条件:1、 同步(从IBGP学到的路由,不使用(不放进路由表)也不传给其他BGP邻居,直到从IG

7、P也学到了这条路由) 方法:1、从IGP学到 2、关闭同步功能2、 下一跳 方法:1、静态 2、next-hop-self命令:no synchronization Neighbor *.*.*.* next-hop-self Peer group:1、 减小buffer大小2、 减少命令行命令:1、neighbor wolf peer-group 给peer-group取一个名字 2、neighbor peer-group remote-as * 3、neighbor peer-group update-sourde loopback 0 可以把所有相同的命令写在一个模板中BGP状态机:Id

8、le:查找路由表,看是否有道我们用neighbor配置的邻居的路由 (没有找到到邻居的路由时会停留在该状态,一般查找IGP问题)Connect:找到去邻居的路由,且TCP三次握手成功Open sent: 发送open报文,协商BGP会话的参数Open confirm:同意BGP会话的确认报文Established:BGP会话建立成功状态停留在active状态(发送了open sent报文但没有收到open confirm报文):1、 对端邻居没有我本端的路由2、 对端配错了neighbor地址3、 对端根本就没有配置neighbor4、 对端配错了AS自制系统号Show ip bgp rib-

9、failure:Rib:routing information base 路由信息表同一条路由既从IGP学到,也从BGP学到,且IGP学过来的AD小于从BGP学过来的AD。AD:管理距离 IGP(AD)BGP(AD) 一般发生这种情况的是IBGP,其AD为200标识为“r”的BGP路由:1、 不放进路由表2、 会传给BGP邻居标识为“s”的BGP路由:suppressed1、被抑制的路由,不会传递给其他邻居Debug ip bgp updateClear ip bgp * 硬清 TCP连接都断开了 Clear ip bgp * soft 软清 TCP三次握手还在,只是重发open报文建立BGP

10、邻居,一般修改一些BGP的属性时,软清就可以了。查看本端路由器是否发送给邻居的路由信息(排错用:看是我没发还是对方没收)Show ip bgp neighbor *.*.*.* advertised-routes查看本端路由器从邻居那里收到了哪些路由(排错用:看是我没收还是对方没发)Show ip bgp neighbor *.*.*.* received-routes但应该注意:路由器默认是没有缓存来保存接收到的路由信息的。需通过一下命令来开启Neighbor *.*.*.* soft-reconfiguration inboundNo auto-summaryBGP路由默认是不会发生自动汇

11、总的,发送的就是明细路由那么这条命令用在什么地方呢?答:当我们将其他路由协议充分发到BGP中时,如果该协议原来默认就自动汇总(如rip),那么重分发进BGP也会自动汇总,而BGP需要知道的是明细路由,故此时需要用到此命令。Auto-summary A重分发进B :1、不携带下一跳和metric值 2、自动汇总No auto-summaryA重分发进B :1、携带下一跳和metric值 2、不自动汇总把A协议重分发进B协议执行什么操作?答:是将本台路由器运行A协议的接口以及本台路由器运行A协议学到的路由,重分发进B协议。IGP:summary 自动汇总 BGP:aggregate 聚合1、 手工

12、写静态汇总路由,下一跳指向空接口NULL0 然后用network命令发布汇总路由 Ip route 200.1.16.0 255.255.255.0 null 0 Ip route 200.1.17.0 255.255.255.0 null 0 Ip route 200.1.18.0 255.255.255.0 null 0 Ip route 200.1.19.0 255.255.255.0 null 0Router bgp 2Network 200.1.16.0 mask 255.255.252.0 2、 先用network 明细路由 再Aggregate Router bgp 2 Netw

13、ork 200.1.16.0 Network 200.1.17.0 Network 200.1.18.0 Network 200.1.19.0 mask 255.255.255.0 (效果跟上面的一样) Aggregate-address 200.1.16.0 255.255.252.0(后面不加任何参数,默认既传明细路由,也传聚合路由) Aggregate-address 200.1.16.0 255.255.252.0 summary-only (只传聚合路由)问题1:现要求router A 上能收到3条路由,聚合路由和18、19网段的路由(抑制16、17网段的路由),怎么做?这里我们需要

14、用到抑制列表:suppress-map Ip prefix-list 1 permit 200.1.16.0/len ge y le z Lenge-valuele-value注意一下几者的区别:Ip prefix-list 1 permit 200.1.16.0/23 匹配网络号前23位,子网掩码为23Ip prefix-list 1 permit 200.1.16.0/23 le 24 匹配网络号前23位,子网掩码为23或24Ip prefix-list 1 permit 200.1.16.0/23 ge 24 匹配网络号前23位,子网掩码大于等于24Ip prefix-list 1 pe

15、rmit 200.1.16.0/23 ge 24 le 24 匹配网络号前23位,且子网掩码等于24位具体实现如下:1、抓出想要抑制的路由Ip prefix-list 1 permit 200.1.16.0/23 ge 24 le 242、在router-map中去调用Route-map SUP Match ip address prefix-list 13、在聚合路由后面挂上suppress-mapRouter bgp 2Aggregate-address 200.1.16.0 255.255.252.0 suppress-map SUP问题2:如果聚合不做在router B上而直接做在ro

16、uter A上,会出现些什么情况?答:router A上接收router B传过来的明细路由,自己产生聚合路由,且改聚合路由AS-path值为1,会回传给AS2,这样会出现什么问题呢?假设router B后面还连着很多路由器,比如router F,那么路由器F上既收到了聚合路由也收到了明细路由,当我routerB上的明细路由中的一条down掉了以后,router F路由表中关于该条明细路由会消失,但聚合路由还是存在的,数据包会传给router B,B在传给A,但此时A上已没有该条明细路由,故丢弃该数据包。一般情况下,如果聚合路由和明细路由不是在同一台路由器上做的,而且穿越了AS,我们不应该让该

17、聚合路由传回去。(基于EBGP的水平分割)命令:aggregate-address 200.1.16.0 255.255.252.0 summary-only as-setAs-set:还原明细路由的某些属性(让聚合后的路由继承明细路由的某些属性)问题3:routerD 是跟routerC建立的EBGP邻居,但它的下一跳为什么指向的是routerA?答:icmp的重定向,BGP的属性:是否识别是否遵守传播范围添加的一些其他属性公认必遵:AS path、next-hop、originOrigin: i- IGP:用network命令发布的 ?-将IGP或静态路由重分发进BGP e-将EGP重分布

18、进BGP(注:现在很少见 EGP(1)包含:EGP(2)和BGP,这里指的是将EGP(2)重发布进BGP)可以手动将属性改成e:在routerA上做如下配置1、 抓路由 Ip prefix-list 2 permit 2.2.2.2/242、 Router-map中调用 Router-map origin Match ip address prefix-list 2 Set origin egp 2(此处的2为AS号)3、 在neighbor后挂上router-map Neighbor 2.2.2.2 router-map origin in具体实现: Ip prefix-list 2 per

19、mit 2.2.2.2/24 Router-map origin permit 10 Match ip address prefix-list 2 Set origin egp 2 Router-map origin permit 20 (空语句:放通其他明细路由) Router bgp 1 Neighbor 2.2.2.2 router-map origin in在BGP和重分发的时候,都必须考虑空语句BGP选路原则:前提:路由器同步,下一跳可达-确保它是最优的1、 权值(weight)最大 (1、传播范围:仅在本路由器上生效 2、默认值:32768-本台路由器上通告的 0-其他路由器 3、

20、越大越好 4、cisco私有)2、 本地优先级 (1、传播范围:仅在一个AS内有效 2、默认值:100 3、越大越优) 作用:告诉IBGP邻居怎样离开AS3、 优选起源于本地的路由(next-hop:0.0.0.0)4、 AS path 越短越好5、 Origin属性(ie?)6、 MED(metric) (1、传播范围:传一个AS 2、默认值:0 3、越小越好) 作用:告诉EBGP如何进入一个AS7、 EBGP优于IBGP8、 优选于最近的IGP邻居9、 最小的BGP邻居的ROUTER-ID注:前3条是越大越优先,后6条是越小越优先问题1:如果AS1中IGP跑的是ospf,则路由器2到路由器

21、3的路由会怎么走?为什么?如果IGP中跑的是RIP呢?其结果又将如何?答:如果IGP中跑的是OSPF,则根据BGP选路原则,此时匹配其中的第八条,从R4学到到R2 LP口的metric值是10,而从R1学过到的metric值为64,因而会优选从R4学到的去R2 LP的路由;如果IGP中跑的是RIP,则根据BGP选路原则,此时匹配其中的第九条,因为R1的router-id小于R4的router-id。问题2:现要求从R3去R2的路由全部走R1,通过修改Weight值怎么来实现?答:在R3上执行如下命令:neighbor 1.1.1.1 weight 1 (in) (从邻居R1传过来的路由的权值全

22、部改成1,默认是0) -修改从邻居传过来路由的weight值问题3:现要求从R3去R2的2网段路由全部走R1,去9网段走R4,通过修改Weight值怎么来实现?答:1、抓路由Ip perfix-list 3 permit 2.2.2.2/242、 router-map调用Router-map weight permit 10Match ip address prefix-list 3Set weight 3Router-map weight permit 20 (将其他没有抓住的流量放通)3、 挂在BGP上Router bgp 1Neighbor 1.1.1.1 router-map weig

23、ht in问题4:用local preference怎样来实现问题2 的要求?答:在R1上用如下命令可实现此需求:Bgp default local-preference 111 注:敲上这条命令后,在本地肯定是能生效的,但是我们通过show ip bgp 去看LocPrf 的值,发现该值不一定发生了改变。可以通过输入详细的BGP路由信息去看,如:show ip bgp 2.2.2.0/24实验:测试改命令对下列哪些路由生效:1、 Network 发布的路由2、 从EBGP传过来的路由 (可以)3、 从IBGP传过来的路由4、 Aggregate问题5:用local preference来实现

24、问题3的需求?答:1、抓路由 Access-list 1 permit 2.2.2.02、调用router-map Router-map L permit 10 Match ip address 1 Set local preference 123 Router-map L permit 20 3、 挂在BGP上 Router bgp 1 Neighbor 3.3.3.3 router-map L out (发往邻居3.3.3.3去的路由的本地优先级设成123)问题6:用as-path来实现问题3的需求? 答:分析:As-path分为in和out两个方向,我们可以选择在R2的out 方向上来增

25、大经过R4的as-path值的大小,也可以选择在R4的in方向上来做。方法1:在R2的out方向上做 1、抓路由 Ip prefix-list 4 permit 2.2.2.0/24 2、调用router-map Router-map AS Match ip address prefix-list 4 Set as-path prepend 7 8 9 (经过的AS号不能随便指,最好指自己) Router-map AS permit 20 3、挂在R2的BGP上 Router bgp 2 Neighbor 4.4.4.4 router-map AS out 方法2:在R4的in方向上做 1、抓

26、路由 Ip prefix-list 4 permit 2.2.2.0/24 2、调用router-map Router-map AS Match ip address prefix-list 4 Set as-path prepend 2 2 2 Router-map AS permit 20 3、挂在R4的BGP上 Router bgp 1 Neighbor 4.4.4.4 router-map AS in问题7:在R3上宣告一个8.8.8.0/24位的网段,R2访问R3是通过R1还是R4?为什么? 答:根据BGP选路原则,此时匹配其中的第九条,因为R1的router-id小于R4的rout

27、er-id,故数据包从R1到达R3。问题8:怎样通过控制MED,R2访问R3从R4走? 答:通过增大R1上的MED值来实现。具体可通过如下命令实现: Router-map MED permit 10 Set metric 8 Router bgp 1 Neighbor 12.1.1.2 router-map MED out 怎么测试MED设置成功? 1、带源 Ping在R3上 ping,,ENTER 选择记录 r 2、debug 在R1上, debug ip bgp update 如何解决IBGP的水平分割:1、 路由反射器2、 联邦路由反射器:1、 RR从EBGP收到的路由,即会发给客户端,也会发给非客户端2、 RR从客户端收到的路由,会发给客户端、EBGP邻居以及非客户端3、 RR从非客户端收到的路由,只会发给客户端和EBGP邻居

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 社会民生


经营许可证编号:宁ICP备18001539号-1