如果两个路由器的 BGP 标识符字段相同会发生什么情况

网络工程 路由 BGP
2022-02-07 22:36:23

说我们

  • 有两个路由器 R1 和 R2。R1 的路由器 ID 配置为 1.1.1.1 R2 也配置了相同的路由器 ID,即 1.1.1.1

  • R1 和 R2 通过 P2P 链路相互连接。它的 ip 分别为 192.168.1.1 和 192.168.1.2。

我的查询是,

  • 当这两个路由器之间形成BGP邻居关系时,就会发送Open消息。如果 BGP 标识符字段包含 1.1.1.1 作为 R1 和 R2 发送的开放消息的值,会发生什么?
  • 会形成邻里关系吗?
  • 如果检测到错误并发送通知,会是哪一个?

提前致谢

2个回答

RFC 4271 没有明确定义在重复 BGP 标识符的情况下会发生什么,它们只是假设/设计为全球唯一的。

然而,为了支持没有 IPv4 的网络,RFC 6286 放宽了要求,称 BGP 标识符只需要在一个 AS 内是唯一的。它修改了开放消息错误处理和冲突检测规则以支持这一点。

根据 RFC 6286 规则,连接两个具有相同路由器 ID 和不同 AS 号的路由器是可以接受的,而连接两个具有相同路由器 ID 和相同 AS 号的路由器是错误的。冲突检测规则被修改为在路由器 ID 相等的情况下,使用 AS 编号作为决胜局。

RFC 4271定义:

BGP 标识符

一个 4 字节的无符号整数,指示 BGP 消息发送方的 BGP 标识符。给定的 BGP 发言者将其 BGP 标识符的值设置为分配给该 BGP 发言者的 IP 地址BGP Identifier 的值在启动时确定,并且对于每个本地接口和 BGP 对等体都是相同的。

由于每个(单播)IP 地址都需要唯一分配,因此标识符也必须是唯一的。重复的标识符可能会导致错误的连接冲突检测(第 6.8 条),从而导致不稳定和其他一般混乱。由于 RFC 没有很好地定义此场景,因此结果取决于实际的实现。