跨不同(子)网络的网络流量,如何确定路由?

跨不同(子)网络的网络流量,如何确定路由?

可能重复:
子网划分如何工作?

假设有一个包含 2 个子网的小型网络。两个子网都有自己的交换机(意味着:该子网上的所有机器共享同一个交换机)。两个交换机都连接到路由器。路由器连接到互联网。

我想了解这样一个子网中的机器 A 如何联系

  1. 同一子网中的另一台计算机 B
  2. 第二个子网中的另一台计算机 C(因此不同)
  3. 互联网上的另一台机器 D

据我了解:

在这 3 种情况下,机器 A 都会将目标 IP 与自己的子网掩码进行比较。现在,机器 A 知道目标机器是否位于同一(子)网络中。到目前为止,这是否正确?

如果目标 IP 位于同一个(子)网络,则不需要做太多事情。机器 A 只需通过交换机将其数据直接发送到机器 B,无需路由器介入。

如果目标 IP 位于另一个(子)网络中,例如第二个子网中的机器 C,则机器 A 没有直接路由。因此,它会查找其默认网关(在这种情况下,我认为网关是路由器)并将其数据发送到路由器。路由器进行一些网络地址转换并将数据委托给机器 C。我认为这与互联网上的机器 D 的过程相同。

我特别感兴趣的是机器 A 如何知道是否使用默认网关/路由器。是否就像我提到的那样,通过将目标 IP 与自己的子网掩码进行比较?或者也许我错了,这根本不是机器 A 的工作?

谢谢

答案1

上面的答案很完美,除了:

  • 第三行提到的广播是针对 MAC FF:FF:FF:FF:FF:FF 的 ARP 广播,并且将被冲突域内的所有节点接收,除非在交换机 CAM 表中找到目标 IP 以及目标节点的相应 MAC。

  • 广播 255.255.255.255 将传播到广播域内的所有节点。广播域通常代表本地子网。因此,在 192.168.1.0/24 网络上发送的 255.255.255.255 将由 ip 192.168.1.1-254 接收。

  • 等一下!为什么不是 192.168.1.255,这个地址用于定向广播。假设我在 192.168.2.0/24 网络中,但我想与所有 192.168.1.0/24 主机通信。我的目标是子网的广播地址。

更多示例 10.12.0.0/16 广播地址为 10.12.255.255 可用地址为 10.12.0.1 - 10.12.255.254

192.168.4.0/26 广播地址为 192.168.7.255 可用地址为 192.168.4.1 - 192.168.7.254

答案2

如果另一台机器在同一个子网中,则根据接口上的网络掩码确定,如果不是,则将其传送到默认网关。ARP 在这里也起着重要作用,如果是同一个子网,它会尝试通过 255.255.255.255 广播地址获取 MAC 地址,如果不是,它会对默认网关执行相同操作。因此,数据包被发送到默认网关的 MAC,然后它以相同的方式向上传输,直到被传送到目的地。如果核心交换机或任何其他具有低延迟交换的交换机没有目标机器的 ARP,但它需要转发数据包,它会将其转发到所有端口(普通交换机会丢弃数据包),如果你想知道当没有时间通过​​核心交换机上的 ARP 获取 MAC 地址时它是如何工作的,这是一个细微的差别。

相关内容