BGP:边界网关路由协议:boder gateway protocol
① 属于外部网关路由协议
② 针对大型网络、大型跨国集团、运营商、国与国之间的路由

路由协议分类:
内部网关路由协议IGP:rip ospf isis (eigrp 思科私有)
外部网关路由协议EGP:EGP(早期淘汰) BGP

BGP 邻居关系
BGP协议与配置_第1张图片

IBGP :相同的AS路由器邻居
EBGP:不同AS的路由器邻居
注:EBGP 建邻居用直连接口
IBGP 建邻居用环回接口

配置直连接口和环回接口

EBGP:
R1: router id 1.1.1.1
bgp 100
peer 12.1.1.2 as-nu 200 指定邻居12.1.1.2 所在的AS
R2:
router id 2.2.2.2
bgp 200
peer 12.1.1.1 as-nu 100

调试:dis bgp peer

BGP协议与配置_第2张图片

IBGP 邻居建立:
在AS 内部需先运行IGP,然后才可以使用环回接口建立BGP
运行IGP,在AS200内配置OSPF就可以

R2:
bgp 200
peer 3.3.3.3 as-number 200
peer 3.3.3.3 connect-interface LoopBack0

R3:
router id 3.3.3.3
bgp 200
peer 2.2.2.2 as-number 200
peer 2.2.2.2 connect-interface LoopBack0
peer 4.4.4.4 as-number 200
peer 4.4.4.4 connect-interface LoopBack0

R4:
router id 4.4.4.4
bgp 200
peer 3.3.3.3 as-number 200
peer 3.3.3.3 connect-interface LoopBack0

peer 45.1.1.5 as-number 300

R5:
router id 5.5.5.5
bgp 300
peer 45.1.1.4 as-number 200

BGP协议与配置_第3张图片

bgp 路由传递:

R1
bgp 100
network 1.1.1.0 24

查看bgp的转发表“高速公路”
BGP协议与配置_第4张图片

reset bgp all 重启bgp 进程

BGP next-hop 属性
BGP 是以AS为个体,路由传递给其EBGP对等体时,下一跳会不变的引入AS的内部。可能会引起下一跳不可达问题

解决:
R2:
bgp 200
peer 3.3.3.3 next-hop-local 路由传递给邻居3.3.3.3时将路由的下一跳改为自己(2.2.2.2)

IBGP 水平分割属性
为了防止IBGP环路,默认情况下从IBGP对等体收到的路由不会传给其IBGP邻居。
解决水平分割:配置路由反射器
R3:
bgp 200
peer 4.4.4.4 reflect-client 将R4配置为自己的路由反射客户端

注:从客户端(路由反射客户端)学到的路由可以无条件传递给任何对等体。

全网互通、路由引入
R1 R2:
bgp 100
net 12.1.1.0 24

R5 R4:
bgp 300
net 45.1.1.0 24

R2:
bgp 200 import-route ospf 1 将ospf 的路由引入bgp

BGP 的路由汇总
R1:
bgp 100
aggregate 1.1.0.0 22
注:默认情况下,bgp的明细路由和汇总路由都会发送
bgp 100
aggregate 1.1.0.0 22 detail-suppressed 抑制明细路由

BGP AS-path 属性
作用:如果一个路由器收到一条路由,路由的AS-path 包含自己所在的AS,则路由器会认为发生了环路将该路由丢弃。

BGP协议与配置_第5张图片

EBGP 防环:As-path 属性
IBGP 防环:ibgp 水平分割

路由聚合的AS-set 参数
R4:
bgp 200
aggregate 1.1.0.0 22 detail-suppressed as-set

as-set 参数可以使得聚合后的路由含有原来的as-path 属性

一台路由器上面只能运行一个bgp 的进程。