连接到路由器的两个网络是否可以拥有具有相同 IP 地址但不同子网掩码的主机?

连接到路由器的两个网络是否可以拥有具有相同 IP 地址但不同子网掩码的主机?

我对基本网络的这个疑问一直很困惑。以下是 COMPTIA Official Network+ 一书中的摘录:

当两台主机尝试通过 IPv4 进行通信时,协议会将每个数据包中的源地址和目标地址与网络掩码进行比较。如果源 IP 地址和目标 IP 地址的掩码部分匹配,则假定目标接口位于同一 IP 网络上。

我的疑问是,如果 PC1 向 PC2 或 PC3 发送 IP 数据包,如果它们具有相同的 IP 地址,如何区分它们?根据上面所述,如果 PC1 想要向 PC3 发送 IP 数据包,则该数据包将被 PC2 接收,因为它们位于同一网络 ID 上。

相同IP两个子网

答案1

除非在非常特殊、非标准和损坏的网络中,否则图中显示的配置无效。(如果有 2 个路由器和 1 个交换机,并且路由器正在执行 NAT,并且网络之间的设备从不相互通信,则它可能有效。)

在上图中,网络掩码几乎无关紧要,因为尽管网络掩码不同,但所有内容都适合相同的 /24。少数情况下,网络掩码会改变路由决策,但路由器会将其消除。

在这种情况下,第一个网络中的设备将无法看到第二个网络中的任何设备,反之亦然。事实上,路由器没有任何有效功能。

** 我忽略了路由器故意执行非路由器操作的特殊情况,例如充当桥接防火墙,以及执行可疑的 arp / ip 操作,这是非常不标准的,大多数路由器都无法做到。即便如此,两台(仅)具有相同 IP 地址的设备也不可能相互通信。

** PC 不会将数据包发送到路由器,而路由器会将数据包发往同一子网中的主机。

答案2

不可以。无论网络掩码/前缀长度如何,网络中的任何 IP 地址都必须是唯一的。

由于您可以使用 RFC 1918(192.168.0.0/16、172.16.0.0/12、10.0.0.0/8)中的地址,因此尝试使用重复地址确实没有意义。

相关内容