路由器的不同行为

网络工程 思科 路由器 网络 联网 数据包追踪器
2021-07-14 19:46:59

有两种情况我想指出:

  1. 当路由器像这样直接连接2台PC时,

    “路由器 1”有两个连接,一个连接到“PC2”,一个连接到“PC3”

    在这种情况下,PC2 能够 ping PC3。我只是配置了PC2和PC3的IP地址和默认网关,这样就不需要添加路由表了。

  2. 当两台路由器这样连接时,

    “路由器 2”与“交换机 0”相连,而交换机 0 本身又与“PC4”和“PC5”相连。 “路由器 4”与“交换机 1”相连,而交换机 1 本身又与“PC6”和“PC7”相连。 “路由器2”和“路由器4”相互连接。

    这里 PC4 无法 ping PC6 或 Router4 (192.168.3.3)。

为什么我们必须explicitly在第二种情况下为路由表添加条目,而在第一种情况下不需要它?

4个回答

您不必在第一种情况下添加任何内容,因为它是自动的。由于只有一个路由器,它显然知道与其直接相连的一切。当它变成不止一个路由器时,需要有一些过程来告诉其他人什么不是本地的。(静态路由或任意数量的动态路由协议。)

感谢@Ricky 对此问题的评论;我正在编辑这个答案以澄清这一点。在第一种情况下,只有一个路由器;它了解两个网络(192.168.0.0/2410.0.0.0/8

但在第二种情况下,存在三个网络(192.168.0.0/24192.168.1.0/24、 和192.168.3.0/24) 如果 PC4 尝试 ping 192.168.3.3/24,则来自 的数据包192.168.0.11/24将到达192.168.3.3/24,但 R4 无法路由回192.168.0.0/24所以这就是为什么 PC4 可以 ping192.168.3.2/24但不能192.168.3.3/24.

为什么在第一种情况下,不需要添加路由表

因为不需要添加路由表并不是真的。

当您配置两个接口的 IP 地址和子网时,您隐式地向路由表添加了两个条目,每个接口/子网一个。

在第二个设置中,涉及 3 个 ip 子网:
192.168.0.0/24、192.168.1.0/24 和 192.168.3.0/24。

Router2 知道 192.168.0.0/24 和 192.168.3.0/24,因为它们都有一个接口。Router4 知道 192.168.1.0/24 和 192.168.3.0/24,因为它们都有一个接口。

但是没有什么可以将它们联系在一起,因此 Router2 知道要发送发往 192.168.1.0/24 的数据包(同样,Router4 与 192.168.0.0/24 也有相同的问题)。

因此,在 Router2 上,您必须为 192.168.1.0/24 定义一条指向 192.168.3.3 的静态路由。这会将 192.168.1.0/24 的任何数据包转发到 Router4,Router4 知道如何处理这些数据包。
(在 Router4 上,您需要通过 192.168.3.2 为 192.168.0.0/24 设置静态路由。)

另一种方法是在两台路由器上设置动态路由协议(例如 RIP、IGRP、BGP、OSPF),让它们了解整个 ip 子网拓扑。
除了 RIP 之外,这些配置可能非常复杂。RIP 是迄今为止最容易设置的(只需启用它,无需配置),但它已经过时并且在大型(许多子网/路由器)部署中表现不佳。对于像这样的小型网络,它会做得很好。

添加到 AndreKR 的答案。实际上有 4 条路由是隐式添加的。

  1. 10.0.0.1/32- 到 CPU 路由。(也称为punt route)发往此IP 地址的数据包将传送到路由器的CPU。例如,ping 10.0.0.1 将由路由器上的 ICMP 应用程序处理。

  2. 10.0.0.0/24- 这称为收集路线。每个到达此地址范围(与更具体的 10.0.0.1/32 不匹配)的数据包都将被捕获到路由器的 CPU 以触发 ARP 请求(除非 ARP 条目已经存在)并最终(在知道 MAC 地址之后) ) 将使用位于 ARP 数据库中的 MAC 地址直接从该接口发送到该目标 IP。

  3. 192.168.0.1/32 - 类似于 1

  4. 192.168.0.0/24 - 类似于 2

请注意,路由器通常不会发出 ARP 请求来解析数据包中的目标 IP 地址 - 只有在目标直接连接到路由器时才会发生(据我所知)。

另请注意,在解析所连接 PC 的 MAC 地址后(使用 2. 中描述的机制),添加了第 5 条和第 6 条路由:

  1. 10.0.0.2/32 via gig0/1

  2. 192.168.0.11/32 via gig0/0

如果清除 ARP 缓存,或 ARP 缓存条目已过期 - 这些路由将被删除。