2023年7月4日发(作者:)
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
- 通告给所有其他路由器
发布者:admin,转转请注明出处:http://www.yc00.com/xiaochengxu/1688419119a135604.html
评论列表(0条)