BGP下一跳问题

BGP下一跳问题

模拟实验图

实验设备 2台华三路由设备(R1、R3)、2台思科设备(R2、R4)

前提

  1. 完成相应路由器的基本配置在 OSPF 区域和 RIP 区域的各路由器上,分别创建一个 loopback接口,作为各路由器的 RID 使用

  2. R1与 R2 建立 IBGP R3 与 R4建立 IBGP

  3. R2与 R3 建立 EBGP

实现 R1回环口能否访问 R4

BGP配置

R1(华三设备)

bgp 100
 router-id 1.1.1.1
 peer 2.2.2.2 as-number 100
 peer 2.2.2.2 connect-interface LoopBack1
 
 address-family ipv4 unicast
  network 1.1.1.0 255.255.255.0
  network 2.2.2.0 255.255.255.0
  peer 2.2.2.2 enable

R2(思科设备)

router bgp 100
 bgp log-neighbor-changes
 neighbor 1.1.1.1 remote-as 100
 neighbor 1.1.1.1 update-source Loopback1
 neighbor 23.23.23.3 remote-as 200

R3(华三设备)

bgp 200
 router-id 3.3.3.3
 peer 4.4.4.4 as-number 200
 peer 4.4.4.4 connect-interface LoopBack1
 peer 23.23.23.2 as-number 10

R4(思科设备)

router bgp 200
 bgp log-neighbor-changes
 network 4.4.4.0 mask 255.255.255.0
 neighbor 3.3.3.3 remote-as 200
 neighbor 3.3.3.3 update-source Loopback1

测试 1

test1

发现 无法访问R4的环回口地址
分析 为什么R1回环口不能访问R4 回环口

1、查看 R1 路由表发现去往4.4.4.0 网段路由下一跳为23.23.23.3 (R3),不是R2,无法找到去往目的路由条目的路口,出现丢包情况

在这里插入图片描述

2、再查看 R2 的路由表 分析去往4.4.4.0 网段路由下一跳为23.23.23.3(R3)

在这里插入图片描述

分析 R2上BGP 4.4.4.0 路由条目来自对等体EBGP R3 传递过来

而 R1学习到4.4.4.0 路由条目来自对等体IBGP R2传递过来,但下一跳传递过来未改变

再看R3、R4路由表

R3路由表
R4路由表

针对于R4学习到1.1.1.0 路由条目的下一跳来自R2

且R4未出现去往该下一跳路由条目的路由

发现问题 :IBGP收到路由时,下一跳不可达

根据BGP对等体路由传递规则

IBGP
   从IBGP对等体学习到的IBGP路由时,下一跳保持不变
   传递的路由AD值:200 pre:255
EBGP
   从到EBGP对等体的EBGP路由时,下一跳会变成EBGP对等体的地址
   传递的路由AD值:20 pre:255

分析:

IBGP: R4 去往 R1路径 R4 —> R3 下一跳为 4.4.4.4

EBGP: R3 -->R2 传递过程 R2 收到4.4.4.0的下一跳为 23.23.23.23

IBGP: R2 --> R1 下一跳的 为23.23.23.23 下一跳保持不变

根据R4转发表可知转发路径 R4—> R2 --> R1

R1去往R4路径反之 R4学习1.1.1.0网段路由下一跳仍然是23.23.23.2

同理 R1转发路径 R1—> R3 --> R4

解决方法:

可以在收到EBGP路由,传给IBGP邻居时修改下一跳为自己

使得 R1 — > R2 — > R3 — > R4 同理 R4 — > R3— > R2 — > R1

且修改下一跳条件

①本台设备是边界
②传递给IBGP邻居时

R2

#思科配置 neighbor 1.1.1.1 next-hop-self 

R3

华三/华为设备 
bgp 200
 address-family ipv4 unicast
   peer 4.4.4.4 enable
   peer 4.4.4.4 next-hop-local

分析 查看R1转发表

R1转发表

再 查看R4转发表
R4转发表

在这里插入图片描述

同理 查看R1、R4路由表
在这里插入图片描述

发现 R1 去往R4 下跳地址可达

再次测试

test2

总结

1、将通过BGP学习到的最优且有效的路由加入进路由表
2、 从EBGP对等体获取的路由,会发布给所有BGP对等体。

3、IBGP水平分割(防护机制): 从IBGP对等体获取的BGP路由,不会再发送给其他IBGP对等体
4、BGP同步原则:当一台路由器从自己的 IBGP对等体学习到一条BGP路由时(这类路由被称为IBGP路由), 它将不能使用该条路由或把这条路由通告给自己的EBGP对等体,除非它又从IGP协议(例如OSPF、静态路由等)学习到这条路由。----> 实现BGP和IGP的一个同步 ,否则会造成BGP 路由黑洞

路由黑洞指当数据报文被转发到某个路由器时,该路由器没有关于目标网络的路由而造成丢包的现象。

5、BGP路由表查表原则

  • 当路由器学习到BGP路由后,需对路由的下一跳进行检查
    下一跳在路由表中可达,正常加表
    下一跳在路由表中不可达,丢弃该路由
  • 20
    点赞
  • 17
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值