如果您正在配置接口,OSPF 如何理解其直接连接的网络?

网络工程 思科 路由 ospf 撕裂
2022-02-21 20:47:09

这是我在网上看到的混合答案的问题,因此我将尝试清楚地解释我在理解方面遇到的困难。使用 RIP,您拥有自己的路由器,并明确告诉它您的直连网络,如下所示:

network [network address of the network linking the two routers]

但是,据我了解,OSPF 不会这样做。相反,您为 OSPF 配置接口,如下所示:

network [address of Serial 0 (for example)] [wildcard address] area [X]

因此,我的问题是:如果您配置的是接口而不是网络,那么 OSPF 如何理解两个路由器之间的网络?


我确实有一个关于为什么的理论,但我不确定。我在想,因为您的 Serial 0(例如)和另一个路由器 Serial 1(例如)将具有相同的子网掩码,所以通配符地址告诉 OSPF 它们在同一个网络上。我不确定这是否正确,但如果可能的话,我希望对此进行澄清。

2个回答

在 OSPF 中,network 语句用于配置哪个接口将参与 OSPF 进程(即在哪个接口上发送和侦听 Hello 数据包)

这是通过比较网络语句的值(在 ospf 配置中)与在所有路由器接口上配置的网络来完成的。

ospf 中配置的网络不必与接口上配置的网络完全匹配。后者可以是子网。

例如:

  • 接口 1:10.0.0.254/24
  • 接口 2:10.0.1.254.24
  • 接口 3:10.0.2.254/24
  • ospf:网络 10.0.0.0/23

使用此配置,接口 1 和 2 将参与 OSPF 进程,而不是接口 3。这是因为 10.0.0.0/24 和 10.0.1.0/24 是 10.0.0.0/23 的子网。

如果稍后我想在 OSPF 中添加接口 3,我可以添加第二个网络语句...

  • ospf:网络 10.0.0.0/23
  • ospf:网络 10.0.2.0/24

...或放大第一个:

  • ospf:网络 10.0.0.0/22

(也可以在ospf配置中使用非常大的掩码,手动排除一些接口)

因此,OSPF 将在 IP 地址与 OSPF 网络语句匹配的所有接口上发送 HELLO 数据包,它还将响应在这些接口上接收到的 HELLO 数据包。它将忽略其他接口上的 HELLO 数据包。

同时,OSPF 网络用于配置接口所在的区域。

因此,如果您希望所有 3 个接口都在区域 0 中,您将使用:

  • ospf : 网络 10.0.0.0/22 区域 0

如果您想在区域 0 中拥有接口 1 和 2,在区域 1 中拥有接口 3,您有:

  • ospf : 网络 10.0.0.0/23 区域 0

  • ospf : 网络 10.0.2.0/24 区域 1

对于 OSPFv2 没有接口命令,您提供的命令是 OSFP 的网络命令。

OSPFv2 的配置方式与 RIPv2 几乎相同;但是,OSPFv2 是一种无类/链路状态路由协议,它解释了为什么您必须指定网络和(子网掩码或 Wilcard)和区域,网络命令将告诉 OSPF 向所有包含 IP 地址的直接连接的接口发送 hello 数据包那个网络的。