不同子网 MASKS 之间的通信,其 IP 地址适用于

网络工程 子网
2021-08-01 08:25:10

这可能是一个愚蠢的问题。其实我很确定,但我想要一个彻底的解释,这样我就可以理解它了

考虑具有两个(或更多)连接设备的交换机,具有相似的 IP 地址但不同的子网掩码。没有网关/路由器/VLAN。纯层 2。

答:1.1.1.1/24 (255.255.255.0)

B: 1.1.1.2/22 (255.255.252.0)

C: 1.1.1.3/21 (255.255.248.0)

(假设只有 IP 地址的最后一个八位字节中的数字发生变化。所有 IP 地址都是“/24”IP 地址 (10.3.2.x)

A 和 B(和/或 C)如何通信?注意子网掩码是 /24、/22、/21,但 IP 地址本身可以说是遵循 /24 范式(每个 IP 地址只有最后一个八位字节不同)

在这种情况下子网掩码无关紧要吗?

对广播域有什么影响?

还有其他影响吗?UDP 与 TCP?

4个回答

以供参考:

主机 A: 1.1.1.1/24(子网 1.1.1.0/24,范围 1.1.1.0 - 1.1.1.255)

主机 B: 1.1.1.2/22(子网 1.1.0.0/22,范围 1.1.0.0 - 1.1.3.255)

主机 C: 1.1.1.3/21(子网 1.1.0.0/21,范围 1.1.0.0 - 1.1.7.255)

示例通信:主机 A 到主机 B

在本例中,主机 A 和主机 B 从未相互通信,也从未在它们之间进行切换。此外,主持人 A 是女性,主持人 B 是男性,因此我可以避免使用代词“它”产生歧义。

  1. 主机 A (1.1.1.1) 确定她需要与 1.1.1.2 交谈。
  2. 主机 A 确定目标 IP (1.1.1.2) 与主机 A 在同一子网范围内,因此整个通信只需要在第 2 层上进行。如果目标 IP 不在主机 A 的子网中,主机 A 将将数据包发送到她的默认网关进行路由。
  3. 主机 A 发送一个 ARP 请求,询问“谁有 1.1.1.2?告诉 1.1.1.1”。
  4. 交换机广播主机 A 的 ARP 请求。交换机不关心 IP 地址或子网掩码。
  5. 主机 B 看到 ARP 请求,知道他有 1.1.1.2,并发送包含他的 MAC 地址的 ARP 响应。类似于“我有 1.1.1.2,我的 MAC 地址是 BB”。
    ARP 请求不包含任何有关子网掩码的数据,因此主机 B(或 A)此时无法知道另一台主机具有不同的子网掩码。
  6. 主机 A 现在拥有主机 B 的 MAC 地址,并将发送一个第 2 层帧,以她的 MAC 地址作为源,他的 MAC 作为目标,交换机将愉快地传递该帧。
  7. 主机 A 和主机 B 之间的未来通信将通过交换机通过 MAC 地址进行。主机 B 也可能会发出 ARP 请求以将主机 A 的 MAC 与其 IP 地址相关联。

旁注:我跳过了一些与这里不太相关的 ARP 请求过程的细节。


A 和 C 之间以及 B 和 C 之间的通信应该遵循相同的过程。

简而言之,因为 (1) 主机在同一个 L2 网段上,以及 (2) 它们都将彼此的 IP 地址视为在自己的子网中,所以它们将使用 MAC 地址通过交换机进行通信就好像它们在同一个子网中一样,最初发出 ARP 请求以匹配其他设备的 IP。

我也同意其他回答说这是一个糟糕的配置。如果将另一台主机添加到交换机并且其地址在主机 A 的子网之外但在 B 和 C 的子网内,则可能需要一些时间进行故障排除。

编辑:随着问题中的 IP 发生变化,重新回答。

注意 1:在同一网络/VLAN 中路由不同的子网掩码错误的,这只是解释为什么它在某些情况下适用于某些特定 IP。

注意2:即使提供的子网在不同的 vlan 中,由于子网的重叠,这将是一个损坏的配置

主机上的 IP 路由配置了三个信息。

  1. IP地址
  2. 面具
  3. 网关。

掩码将 IP 分成上半部分和下半部分(二进制格式)。前半部分(掩码全部为 1)是网络,后半部分是主机。

同一网络 IP/掩码中的所有 IP 都可以直接相互通信,如果网络部分不匹配,则网关用于路由数据包。

A: 1.1.1.1/24 (255.255.255.0) Network 1.1.1.0 Host 0.0.0.1 (HostRange 0.0.0.1-0.0.0.254) IpRange 1.1.1.1 - 1.1.1.254) 和广播 (不包括网络)

B: 1.1.1.2/22 (255.255.252.0) Network 1.1.0.0 Host 0.0.1.2 (HostRange 0.0.0.1-0.0.3.254) IpRange 1.1.0.1 - 1.1.3.254)和广播)

C: 1.1.1.3/21 (255.255.248.0) Network 1.1.0.0 Host 0.0.1.3 (HostRange 0.0.0.1-0.0.7.254) IpRange 1.1.0.1 - 1.1.7.254)和广播)

掩码是一个二进制掩码,全1然后全0,IPv4的总长度为8x4=32位。

答:如果你有一个主机 1 和主机 2 通信,并且根据主机 1,主机 2 在同一个网络(IP/掩码)中,它将直接发送数据包。

在提供的示例中,虽然配置错误,但 ip A、B 和 C 的网络部分匹配。

如果我在相同的子网中选择不同的 IP,这会崩溃,如果没有 L3/路由器的帮助,它们将无法互相 ping 通在子网之间进行路由。

AA。1.1.1.1/24

BB。1.1.2.2/22

抄送。1.1.7.1/21

“但可以说 IP 地址遵循 /24 范式。”。那是无关紧要的说法。在无类别域间路由中,如今很常见,IPv4 地址中的实际值与网络地址确定无关。只有网络掩码与确定 IP 地址的哪一部分是网络地址以及哪一部分是主机地址有关。

所以

  • A: 10.3.2.1/24 在 10.3.2.0 网络上
  • B: 20.3.2.2/22 在网络 20.3.0.0 上

正如您所说,它们在同一台交换机上,但您没有指定 VLAN 分配或其他方式,因此我假设广播域仍然是整个网络。您基本上拥有的是一个覆盖网络,其中两个 IP 网络共享同一个广播域。本身不是问题,但确实会导致额外的流量。IP 网络 A 上的任何主机想要与 IP 网络 B 上的主机通信都必须通过两者之间的路由器(是的,该路由器必须在同一网络接口上有多个地址,一个用于网络 A,一个用于网络 B )。即使它们在同一个广播域中,IP 地址也会阻止它们直接通信。

为什么?因为子网数学

1.1/24 可以与 1.0/24 中的任何内容交谈,因为掩码说它们是“本地的”(“在线”)。如果 1.1/24 试图与 2.1/23 对话,则失败:“2”在 1.0/24 范围之外;fwiw,“1”在 2.0/23 的范围之外。3.1/22 将能够发送到 1.1/24 -- /22 覆盖 0-3 -- 但 1.1/24 将无法回答。