您好,欢迎来到筏尚旅游网。
搜索
您的当前位置:首页BGP详解(最终版)

BGP详解(最终版)

来源:筏尚旅游网
BGP

一. BGP邻居类型

1) iBGP邻居

① 本地路由表需要拥有邻居地址的路由条目

② 邻居地址作为BGP报文的目的地址,TCP连接地址需要 ③ 发送单播hello包,TTL=255

④ 从新的BGP会话收到数据包,其源地址会和邻居列表进行对比 -如果匹配,邻居关系建立 -如果不匹配,数据包忽略

⑤iBGP的管理距离为200

⑥如果iBGP邻居不在所有的路由器上运行,会存在路由黑洞

PS:iBGP邻居之间不需要直连且iBGP一般使用路由器的回环口建立邻居关系

(config-router)#neighbor [DIP] remote-as [DAS目标ASID与自己相同] 指定邻居目标ip以及AS ID

(config-router)#neighbor [DIP] update-source [Source loopback] 指定邻居目标ip以及更新源

2)EBGP邻居

①本地路由表需要拥有邻居地址的路由条目

②邻居地址作为BGP报文的目的地址,TCP源和目的连接地址需要匹配 ③ 发送单播的hello包,默认TTL=1(可以通过命令修改) ④ 可以传递任意多个AS,没有跳数 ⑤ 经过AS改变下一跳地址

⑥ EBGP一般使用直连接口配置BGP邻居,使用换回口配置邻居可以增加网络冗余 ⑦ EBGP的管理距离为20

(config-router)#neighbor [DIP] remote-as [DAS目标ASID与自己不同] 指定邻居目标ip以及AS ID

(config-router)#neighbor [DIP] update-source [Source loopback] 指定邻居目标ip以及更新源

(config-router)#neighbor [DIP] ebgp-multihop [TTL数目,默认为255] 修改到达邻居目标ip的跳数(TTL)

二. BGP五种报文类型

1) Open包

用于协商BGP邻居建立的各项参数 2) Update包

进行路由信息交换的更新包

PS:更新信息中携带路由前缀信息和前缀的前缀属性(Network+Attribute) 3) Notification包

报告邻居关系错误,邻居关系终止 4) Keepalive包

用于维持邻居关系,保证邻居关系正常 5) Route-refresh包

为保证网络稳定,触发更新的路由机制

三. BGP邻居六种状态

1) IDLE

搜索路由表,查看是否有到达邻居的路由

PS:第一次转向IDLE状态后,路由器会启动重新连接计时器,计时器终止后路由器会重新发起BGP连接。

CISCO最初的CONNECTRETY时间为60S,下一次时间是前一次的两倍,以此类推 2) Connect

找到邻居建立TCP三次握手过程

PS:主动方BGP会率先发起TCP连接消息,目标端口为179端口。清空重置计时器

3) Open sent

双方发送open包,携带BGP会话参数

PS:参数包括时间参数,能力参数等,需要确认双方都支持。参数匹配,发送确认;否则发送Notification,装入IDLE状态 4) Open confirm

双方确认会话一致,邻居可以正常建立

PS:参数确认无误,表示确认对方的Open消息 5) ACTIVE

若没有收到open comfirm,表示双方参数无法匹配,此时进入active并尝试再次建立邻居 6) Established

邻居建立完成,开始交换路由更新

四. BGP数据库

1) 邻居表(Neighbor Table)

包含了BGP的邻居信息

Show ip bgp summary

2) BGP表(database)

存放所有的路由以及路径信息

Show ip bgp

3) 路由表(routing Table)

标准路由表,装载了BGP表中最优路径的BGP路由

Show ip route bgp

五. BGP更新规则与维护

1) 传递最优路由 2) 传递跳数(TTL)

iBGP的TTL默认为255,EBGP的TTL默认为1 3) 路由下一跳

iBGP邻居传递更新不会修改下一跳 EBGP邻居传递更新会修改下一跳 4) AS防环

不接收自身AS发出的所有更新 5) 更新方式

当网络有变化时,BGP会发送触发更新刷新BGP。增量更新刷是BGP唯一的追加更新形式 6) BGP Snner

每60s扫描BGP表中每条前缀的下一跳,检查下一跳是否可达(通过检查RIB中是否有路由)

六. BGP十三条选路原则*

1、 Prefer highest weight (local to router). 首选权重最高的路由<权重是一种cisco专有的

属性,只用于当前路由器>

 是cisco公司BG实现额私有前缀属性;  针对邻居进行配置,不能在邻居之间传递

 始发前缀weight值为32768,学习过来的值为0  通过route-map可修改

2、 Prefer highest local preference (global within AS). 本地优先级最高的路由<本地优先

级用于AS内部>

 只针对本地AS生效,无法传递到其他AS中  优先级最高的路由获得胜利

 默认IBGP 路由的本地优先级为100,EBGP无本地优先级  在往EBGP邻居传递时,本地优先级清零

3、Prefer route originated by the local router (next hop = 0.0.0.0). 当前路由器通告的路由  优先network本地发布的前缀信息  其次是重发布的前缀信息

 最后是aggregate(汇总路由)  通过route-map修改  不属于选路策略

4、 Prefer shortest AS path. AS路径最短的路由

 当向EBGP Peer通告路由时,将自己的AS号加在AS-PATH列表的最左端  向IBGP 邻居通告路由时,不会对AS-PATH列表做任何更改  可以通过route-map修改 5、Prefer lowest origin code (IGP < EGP < incomplete). 比较Origin属性

 Origin属性会一直在BGP路由中携带

 三种不同的Origin属性的优先顺序IGP>EGP>incomplete(?重发布进来的路由)  可以通过route-map修改  不常用于选路目的

6、Prefer lowest MED (exchanged between autonomous systems). MED最小者<默认不比较来自不同AS路由的MED值,可通过bgp always-compare-med对比不同AS的med>  选择最小的MED值

 缺省之比较来自同一邻居AS的BGP路由的MED值  MED只能传递一跳AS的距离

 对IBGP邻居和EBGP邻居生效,建议对EBGP邻居设置  Network或重发布IGP中的路由,metric保持IGP的metric  使用aggregate-address宣告路由MED为0

7、Prefer EBGP path over IBGP path. 外部路径(EBGP)优先于内部路径(IBGP)  IBGP的管理距离为200;EBGP的管理距离为20;同等情况下优选EBGP路由 8、最小NEXT-HOP开销

 比较到达该目标的BGP邻居的IGP  一般用于IBGP之间的比较

9、balance traffic 如果配置了maximum-path, 会安装多条路由到路由表<但是BGP继续比,只有一个打上>

 若配置了maximum-path [ibgp][xxx],在前5条选路原则不分胜负的情况下将执行等

价负载均衡

 不使用ibgp参数时,只对EBGP路由生效  负载均衡只对同AS多条路径生效

10、Prefer oldest route for EBGP paths. 都是外部路径,选最先收到的(最旧的)<目的是减少抖动>

 会选择最早收到的BGP路由  只对EBGP邻居收到的路由生效

 如果键入bgp bestpath compare-routerid命令则忽略该原则直接到第11条

11、Prefer the path with the lowest neighbor BGP router ID. 首选来自最低路由ID的BGP路由器的路由

 邻居的route-id越小越优先

 在ibgp的cost相等的情况下对ibgp生效  在ebgp最老路由选项被忽略的情况下生效 12、比较最短RR簇的长度  长度越小,越优先

 仅在存在反射器的环境下,才会进行cluster-list长度的比较,RR在执行路由反射

动作时会将自己的cluster id 添加在cluster-list中

13、Prefer the path with the lowest neighbor IP address. 最低邻居地址的路径  比较neighbor命令定制的邻居地址,地址越小越优先 

七. BGP常见属性

1) Origin

-阐述了该前缀的在起源处以什么样的方式产生的,是公认-强制(必遵)属性 -IGP(i)表示network命令通告出来的

-EGP(e)表示来自IGPstatic重发布

2)AS Path

-前缀传送经过的AS列表,用于判断前缀经过的前缀域

-AS路径是公认-强制属性

-只在向EBGP邻居传递前缀时才增加AS列表 3)Next-hop

-BGP前缀器将数据报文向该地址传递,默认向EBGP邻居传递前缀时修改 -Next-hop是公认-强制(必遵)属性 -在传递数据报文时做递归查询 4)Local-Preference

-用于在一个AS 内部判断前缀使用优先级的参数,是公认-自觉属性 -ipbgp前缀默认优先级是100,EBGP前缀默认优先级为0 -优先级只通告给IBGP邻居 5)MED

-BGP前缀的metric值。所有协议都应该存在cost -metric值用于告诉EBGP邻居,如何到达本AS -重发布IGP前缀时,BGP表中会保留IGP的metric 6)Weight

-BGP 前缀的metric值,是自决-不可传递属性

-只在本地前缀器生效,weight值越高,路径越优先 7)community(团体属性)

-一组有相同性质的前缀,一个团没有物理边界,可以在AS之间任意传递,是一个

公认的属性类别

-团体属性适用于手工添加,适用于大量的匹配前缀 -团体属性可以携带以下参数,用于控制传递的范围 -no-export

- 带有该属性的路由信息不通告给AS 外的BGP相邻体 -no-advertise

- 带有该属性的路由信息不通告给任何BGP相邻体 -local-AS - 带有该属性的路由信息只通告给联盟EBGP相邻体 -Internet

- 通告给所有其他路由器

因篇幅问题不能全部显示,请点此查看更多更全内容

Copyright © 2019- efsc.cn 版权所有 赣ICP备2024042792号-1

违法及侵权请联系:TEL:199 1889 7713 E-MAIL:2724546146@qq.com

本站由北京市万商天勤律师事务所王兴未律师提供法律服务