networking - 2个具有不同网络掩码的主机可以相互对话吗?
问题描述
主机A:192.168.0.200/16
- 网络掩码:255.255.0.0
- 网号: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
- 网号:192.168.1.0
- 主机编号:1
- 网络范围:192.168.1.0 .. 192.168.1.255
问题 A: A 可以向 B 发送数据包吗? 问题 B: B 可以向 A 发送数据包吗?
请解释一下为什么不,如果是这样的话
解决方案
假设这些主机物理连接到 1 个交换机,显而易见的答案是 a->b 可能,b->a 不可能。
然而,图片有点复杂。如果您使用wireshark 对此进行测试,问题会立即显现。
主机 a A 将发起通信。它将发出一个 ARP 数据包“谁有 192.168.1.1?告诉 192.168.0.200”。所以主机 B 会说:“嘿,那是我,嗯,我不在那个网络上” 这有点取决于主机 B 的 IP 堆栈,但一般不会向主机 A 发送 ARP 回复。由于主机 A没有得到它的 ARP 请求的应答,它将假定主机 B 不可达。
B 发现主机 A 不在其子网中。因此,B 会将数据包发送到网关,此处不再赘述。