eBGP
- 3层防环机制,每经过1个设备,TTL减1,到0 之后不再转发
- eBGP TTL = 1, iBGP TTL = 255(Cisco)
- 非直连的 eBGP 需要修改 TTL
- eBGP 通过AS_PATH 实现防环,iBGP 通过Full Mesh实现 —— 通过iBGP 学习到的路由不可以继续对外传播,所以都是从同1个点学习到的iBGP
eBGP Multi-hop
- 非直连eBGP,有几跳,multi-hop就需要设置为几
- neigrbor destAddr ebgp-multihop 2
- 到 multi-hop peer 如果只有1条路由,而且是默认路由,那么 即使修改 multi-hop, eBGP 也是无法建立的
Next-hop Reachability Check
- ADJ-RIB-In 和 ADJ-RIB-Out 可以理解为Buffer
- Local RIB 获取BGP Route 的来源
- 从 Peer 获取
- 从本地 network 配置
- 本地 network 配置,需要经过 RIB Check
- Local RIB 需要再经过Next Hop & Validity Check,才可以进入 Global RIB 或者 ADJ-RIB-Out
- 下面这个拓扑中
- R1的Lo0 被宣告
- 给自己的时候,下一跳地址是0.0.0.0
- 给R2的时候,下一跳地址是R1 接口地址
- 而这条路由在AS65200 内部通过iBGP传播的时候,下一跳地址也都是R1接口地址,而R3 不知道R1接口地址,就导致路由黑洞。有3种办法让R3 知道怎么到达R1接口地址
- 利用IGP,R2 和 R3之间跑路由协议,或者静态路由
- 在R2 上通过BGP network 命令把R1接口网段宣告,R2就会传递给R3,并且下一跳地址变为R2
- 利用neighbor 命令,指定 next-hop-self 参数 —— 最为常用
- R1的Lo0 被宣告