我只是想知道为什么 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 配置为 a /24,这意味着它认为此范围内的所有内容都在本地网络上: 192.168.1.0 - 192.168.1.255。该范围包括 PC2 的 IP 地址,因此 PC1 认为 PC2 位于其本地网络上。
PC2 配置为 a /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