2个具有不同网络掩码的主机可以相互对话吗?

Posted

技术标签:

【中文标题】2个具有不同网络掩码的主机可以相互对话吗?【英文标题】:Can 2 hosts with different netmask dialogue each to other? 【发布时间】:2021-10-22 00:09:28 【问题描述】:

主机A:192.168.0.200/16

网络掩码:255.255.0.0 网络ID:192.168.0.0 主机 ID:0.200 网络范围:192.168.0.0 .. 192.168.255.255

主机 B:192.168.1.1/24

网络掩码:255.255.255.0 网络ID:192.168.1.0 主机 ID:1 网络范围:192.168.1.0 .. 192.168.1.255

问题 A: A 可以向 B 发送数据包吗? 问题 B: B 可以向 A 发送数据包吗?

解释一下为什么不,如果是这样的话

【问题讨论】:

否和否。具有不同掩码的网络在物理上是不同的(“断开连接”)网络。您必须生成连接到两个网络的下一个设备并将其设置为网关 @Facty:不一定是物理上的。 【参考方案1】:

假设这些主机物理连接到 1 个交换机,显而易见的答案是 a->b 可能,b->a 不可能。

不过,图片有点复杂。如果您使用wireshark 对此进行测试,问题就会立即显现出来。

Host a A 将发起通信。它将发送一个 ARP 数据包“谁有 192.168.1.1?告诉 192.168.0.200”。所以主机 B 会说:“嘿,那是我,嗯,我不在那个网络上” 这有点取决于主机 B 的 IP 堆栈,但一般不会向主机 A 发送 ARP 回复。由于主机 A没有得到它的 ARP 请求的应答,它将假定主机 B 不可达。

B 发现主机 A 不在其子网中。因此,B 会将数据包发送到网关,此处不再赘述。

【讨论】:

以上是关于2个具有不同网络掩码的主机可以相互对话吗?的主要内容,如果未能解决你的问题,请参考以下文章

IP地址与子网掩码

IP地址及子网掩码的学习

如何判断2个ip是不是是在同一网段

计算机网络:VLSM可变长子网掩码

子网掩码通常是多少?

计算机网络IP地址和子网掩码的关系