为什么BGP选择了错误的下一跳地址?

网络工程 思科 路由 bgp
2021-07-23 22:59:27

在此处输入图片说明

在上图中,R1 有一个 1.1.1.1/24 ip 地址的环回,R1 和 R2 都使用此router bgp network配置将此网络 1.1.1.0/24 通告给其他 AS network 1.1.1.0 mask 255.255.255.0

R1 和 R2 是 iBGP 对等体

R1 与 AS 200 中的 R3 是对等的

R2 与 As 200 中的 R4 是对等的

问题是 R2 将 1.1.1.0/24 广告如下:

* i1.1.1.0/24       10.1.12.1                0    100      0 i
*>                  10.1.12.1               11         32768 i



R2# sh ip bgp 1.1.1.0 255.255.255.0  
BGP routing table entry for 1.1.1.0/24, version 9
Paths: (2 available, best #2, table Default-IP-Routing-Table)
  Advertised to update-groups:
     1          2         
  Local
    10.1.12.1 from 10.1.12.1 (1.1.1.1)
      Origin IGP, metric 0, localpref 100, valid, internal
  Local
    10.1.12.1 from 0.0.0.0 (2.2.2.2)
      Origin IGP, metric 11, localpref 100, weight 32768, valid, sourced, local, best

它将自己视为下一跳并将其用作最佳路线:

Local
        10.1.12.1 from 0.0.0.0 (2.2.2.2)
          Origin IGP, metric 11, localpref 100, weight 32768, valid, sourced, local, best

那么为什么会发生这种情况呢?为什么 R2 将 1.1.1.0/24 通告回 R1?为什么 R2 应该这样做?

在您需要检查它们的情况下,来自 R1 的相同输出:

*> 1.1.1.0/24       0.0.0.0                  0         32768 i
* i                 10.1.12.2               11    100      0 i

R1#sh ip bgp 1.1.1.0 255.255.255.0
BGP routing table entry for 1.1.1.0/24, version 11
Paths: (2 available, best #1, table Default-IP-Routing-Table)
  Advertised to update-groups:
     1          2      
  Local
    0.0.0.0 from 0.0.0.0 (1.1.1.1)
      Origin IGP, metric 0, localpref 100, weight 32768, valid, sourced, local, best
  Local
    10.1.12.2 from 10.1.12.2 (2.2.2.2)
      Origin IGP, metric 11, localpref 100, valid, internal
1个回答

因为您告诉 R2 发起路由。如您所见,在发起时,权重设置为 32768,这比来自 R1 的路由权重为 0。这允许 R2 将其通告回 R1,因为它是 R2 的最佳路径。如果删除 R2 上的 network 语句,它将仅通过 R1 作为 BGP 路由接收路由。

查看最佳路径选择程序以获取更多信息 http://www.cisco.com/c/en/us/support/docs/ip/border-gateway-protocol-bgp/13753-25.html