我正在为我的网络期末考试而学习,这个思想实验闪过我的脑海。有人告诉我,只要两台主机在同一个子网中,它们就可以只使用跳过默认网关的 ARP 请求进行通信。
假设我们用一根电缆连接两台主机。操作系统或 NIC 驱动程序中是否有任何内容会阻止子网 /0 中的两个主机(以上述方式)通信?你能用所有 IPv4(或 IPv6)地址创建你自己的“本地互联网”吗?
在相同的设置中,是否可以通过将子网掩码设置为 /32 来阻止所有通信?
我正在为我的网络期末考试而学习,这个思想实验闪过我的脑海。有人告诉我,只要两台主机在同一个子网中,它们就可以只使用跳过默认网关的 ARP 请求进行通信。
假设我们用一根电缆连接两台主机。操作系统或 NIC 驱动程序中是否有任何内容会阻止子网 /0 中的两个主机(以上述方式)通信?你能用所有 IPv4(或 IPv6)地址创建你自己的“本地互联网”吗?
在相同的设置中,是否可以通过将子网掩码设置为 /32 来阻止所有通信?
我不知道允许掩码为 0 的 IP 地址的平台。所以通常答案是你根本不能使用 /0。
另一方面,如果路由指向接口,带有/32 掩码的主机可以相互访问。同样,并非每个主机都允许在配置的接口上使用 /32。
编辑:
Linux 确实允许 /0 CIDR 表示法。行为并没有真正改变:您仍然可以通过接口使用 ip route 访问共享段上的主机。
一般回答:
如果主机支持特定的 CIDR 表示法并且路由指向该接口,则它可以到达具有类似路由配置的其他主机。在这种情况下,面具并不重要。
注意:以上所有内容可能对教育目的有用,但在实践中几乎不适用。不要在生产中这样做。