我只是想知道为什么 Packet Tracer 允许 2 个终端设备相互 ping 通,即使它们指定了 2 个不同的子网掩码?我在这里错过了什么吗?IE
PC1:192.168.1.10/24 PC2:192.168.1.20/16
任何帮助将非常感激!干杯
我只是想知道为什么 Packet Tracer 允许 2 个终端设备相互 ping 通,即使它们指定了 2 个不同的子网掩码?我在这里错过了什么吗?IE
PC1:192.168.1.10/24 PC2:192.168.1.20/16
任何帮助将非常感激!干杯
子网掩码的目的是确定您试图与之交谈的主机是在您的网络上还是在外部网络上。
如果另一台主机在您的网络上,发送主机将直接将数据发送到另一台主机。
如果其他主机在外部网络上,发送主机会将数据发送到其默认网关。
在您的示例中:
PC1:192.168.1.10/24 PC2:192.168.1.20/16
PC1 配置为/24
,这意味着它认为此范围内的所有内容都在本地网络上: 192.168.1.0 - 192.168.1.255
。此范围包括 PC2 的 IP 地址,因此 PC1 认为 PC2 在其本地网络上。
PC2 配置为/16
,这意味着它认为此范围内的所有内容都在本地网络上: 192.168.0.0 - 192.168.255.255
. 此范围包括 PC1 的 IP 地址,因此 PC2 认为 PC1 在其本地网络上。
由于他们都认为对方在本地网络上,所以他们都遵循规则与本地网络上的另一台主机通信。他们的面具不相同的事实最终是无关紧要的。
也就是说,正如 Xavier Nicollet 在评论中指出的那样……仅仅因为它有效,并不意味着它是一个好主意。应尽可能避免这种情况。
免责声明:上面的 Youtube 视频链接是我自己的创作,我将它们提供给读者以显示有关主机在同一网络和外国网络上通信的更多上下文
两台主机可以相互ping通,因为它们在同一个子网上,/16可以包含位于/24的主机,这就是原因。
这两个设备在同一个子网中。当您使用最长掩码掩码地址时,它们具有相同的子网:
192.168.1.10 AND 255.255.255.0 = 192.168.1.0
192.168.1.20 AND 255.255.255.0 = 192.168.1.0
例如,如果第二个 IP 地址是 192.168.2.20,它将无法工作,因为从第一个的角度来看,您将位于两个不同的网络上,并且它会尝试发送到其配置的网关而不是另一个主机:
192.168.1.10 AND 255.255.255.0 = 192.168.1.0
192.168.2.20 AND 255.255.255.0 = 192.168.2.0