ABR 是否需要连接到区域 0?

网络工程 路由 路由器 ospf
2022-02-17 17:46:52

问题“为什么需要将所有区域都连接到区域 0?” 网上回答了很多次。但是,我找不到上述问题的答案。

请参考以下拓扑。1.1.1.1/32 是 R2 上的环回。我的问题是:

  1. R6 是 ABR 吗?“显示 ip 协议”并没有像 R3 和 R4 中所说的那样说它是 ABR。但是,如果我执行“显示 ip OSPF 数据库”,我会看到来自这两个区域的 LSA。

  2. R1 达到 1.1.1.1/32 的指标是 6。这是从哪里来的?我猜它来自 R1-R6-R3-R5-R4-R2-lo0。但这是正确的吗?

  3. 到 1.1.1.1/32 的跟踪路由类似于 R6-R2-lo0。那么R1-R6-R3-R5-R4-R2-lo0怎么解释呢?显然,从 R6 到 R2 的度量是 2。

在此处输入图像描述

1个回答

ABR 是否需要连接到区域 0?

是的。OSPF 要求网络通告通过区域 0(骨干网)。这是一种防止环路的机制,因此路由通告不会进入环路。

R6 是 ABR 吗?“显示 ip 协议”并没有像 R3 和 R4 中所说的那样说它是 ABR。但是,如果我执行“显示 ip OSPF 数据库”,我会看到来自这两个区域的 LSA。

不,R6 不是 ABR。它不会将区域 1 中的网络通告到区域 2,反之亦然。

R1 达到 1.1.1.1/32 的指标是 6。这是从哪里来的?我猜它来自 R1-R6-R3-R5-R4-R2-lo0。但这是正确的吗?

是的,这似乎是正确的。如果从 R1 到 R6 的链路断开,那么您仍然有一条路线,但成本会9更高。

到 1.1.1.1/32 的跟踪路由类似于 R6-R2-lo0。那么R1-R6-R3-R5-R4-R2-lo0怎么解释呢?显然,从 R6 到 R2 的度量是 2。

发生的情况是 R61.1.1.1/32通过其F0/0接口在其路由表中。它在两个 OSPF 数据库中也都有,但路由器使用路由表。OSPF 仅用于填充路由表,但路由表中将包含最短路径。

R6 将使用其路由表来“捷径”传输数据包。如果 R1 接口上的链路成本反转,则不会发生这种情况,因为 R6 不会将区域 2 网络通告到区域 1,因此 R3 的唯一路径将是通过区域 0。

R1 只知道 OSPF 告诉它的路径,并且该路径上的成本是6,即使 R6 知道捷径,但它不能告诉 R1。

了解路由协议本身不会路由。它们只是在路由器之间共享路由,每个路由器将根据自己的路由表中的内容自行决定如何路由数据包。


这似乎是一个相当糟糕的设计,只是为了展示一些东西。实际上,您可能会让 R6 在区域 0 中具有至少一个接口(可能是 Lo0),因此它也是一个 ABR(骨干路由器)。然后,您将需要 R5 和 R6 之间的链路(物理连接或虚拟链路),因为您不能拥有分割区域 0。