OSPF 中的区域间环路预防

网络工程 ospf
2021-07-21 04:23:02

我在 Internet 上找到了一份文档,可以提供有关OSPF ABR 和 Loop Prevention 的一些想法在该文件中,他们提到了这一点:

  1. ABR 只需要来自区域 0 的汇总 LSA。这意味着应该在区域 0 接口上构建至少一个处于 FULL 状态的邻接。如果 ABR 有这样的邻接关系,它将忽略在非骨干区域接收到的汇总 LSA。这些 LSA 将安装在数据库中,但不用于 SPF 计算。
  2. 如果 ABR 没有建立在区域 0 接口上的完全邻接,则 ABR 将接受并使用通过非骨干区域学习的汇总 LSA。这样做是安全的,因为 ABR 将无法将摘要泛洪回区域 0,从而创建路由循环。

有人可以给出与第 1 点相矛盾的拓扑吗?据我所知,在所有情况下,ABR 都会与 Area0 中的其他“路由器”(P2P)或“DR”(广播)建立完全邻居关系。为什么他们会特别提到第 1 点。第 2 点是有道理的,因为第 1 点

2个回答

想象一下下面的网络。

在此处输入图片说明

有两个 ABR(ABR1 和 ABR2)。两个 ABR 在区域 0 中有一个接口,在区域 1 中有一个接口。两个 ABR 上的两个邻接都处于 FULL 状态。每个 ABR 将创建以下类型 3 汇总 LSA:

  • A. 区域 1 LSDB(类型 1 和类型 2 LSA)内的任何网络地址将从区域 1 汇总到区域 0。
  • B. 区域 0 LSDB(类型 1 和类型 2 LSA)内的任何网络地址将从区域 0 汇总到区域 1。

  • C. 任何已经在区域 0 内的汇总 LSA(另一个 ABR 将类型 3 LSA 生成到区域 0 的结果)将重新生成到区域 1。这将涉及生成具有更新成本的新类型 3,并且该 LSA 将存在于该区域1 LSDB。

对于 A 和 B,每个 ABR 现在将为每个网络提供两个信息源。将有原始类型 1 或类型 2 LSA 以及类型 3 LSA。优先顺序是类型1和类型2优先于类型3,因此路由计算中只使用类型1或类型2 LSA。

对于 C,ABR 将具有原始类型 3(在区域 0 LSDB 内)并且还将在区域 1 内接收到类型 3。在这种情况下,它将忽略来自区域 1 内的 LSA,并且将仅使用来自区域 1 的 LSA其计算的支柱。

非主干区域不应生成汇总 LSA。第一个意思是任何来自非主干区域的汇总 LSA 都将被忽略。ABR 将在区域 0(骨干)中至少有一个接口,在非骨干区域中至少有一个接口。ABR 仅使用从区域 0 接收的汇总 LSA。

您可以有一个区域,例如区域 1,它有多个 ABR。区域 1 将通过所有 ABR 从区域 0 获取汇总 LSA,区域 1 路由器将这些汇总 LSA 发送到区域 1 中的所有路由器,包括所有 ABR。请记住,ABR 在区域 1 中也有接口,并且是这些接口的区域 1 路由器。ABR 不会使用来自区域 1 接口的汇总 LSA。