我意识到 BOOTP 是一个遗留系统,但这是为了我的学习阅读。
考虑一个客户端 C,它正在引导自己。它向服务器发送一个 BOOTP 请求——显然是因为它还不知道它的服务器位置。C 发送带有所有常用信息的 BOOTP 请求:其硬件地址、(空白)IP、事务 ID、服务器 IP 地址、网关 IP 地址等。
它的服务器 S 在侦听端口 67 时收到 BOOTP 请求。在数据报中,S 找到 C 的硬件地址。S 已经知道 C 的网络位置,即 135.135.10.3。
既然 S 知道 C 的硬件地址,为什么服务器不能使用硬件地址向 C 发送 BOOTP 回复?
我的教科书说这是不可能的,因为如果 S 确实尝试这样做,服务器的主机(不管是什么——如果有人能解释我将不胜感激)将向 C 广播一个 ARP 请求,C 不知道它的 IP并会以 ICMP 错误响应(我假设)。
为什么这个神秘的宿主会决定这样做?为什么 S 不能用它给定的硬件地址把东西发送给 C?如果不能,发送硬件地址有什么意义?
感谢所有花时间阅读本文的人!