首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >服务器试图回复BOOTP请求之后,服务器的主机为什么会自动广播ARP请求?

服务器试图回复BOOTP请求之后,服务器的主机为什么会自动广播ARP请求?
EN

Network Engineering用户
提问于 2015-05-18 18:37:53
回答 1查看 729关注 0票数 2

我意识到BOOTP是一个遗留的系统,但这是为了我的阅读为我的研究。

考虑一个客户机,C,它是引导自身。它向服务器发送一个BOOTP请求--显然是因为它还不知道它的服务器位置。C发送一个BOOTP请求,其中包含所有通常的信息:硬件地址、(空白) IP、事务ID、服务器IP地址、网关IP地址等。

其服务器S在端口67侦听时接收BOOTP请求。在“数据报”中,S发现C. S的硬件地址已经知道C的网络位置,即135.135.10.3。

既然S知道C的硬件地址,为什么服务器不能使用硬件地址将BOOTP回复发送给C呢?

我的教科书上说,这是不可能的,因为如果S真的试图这么做,服务器的主机(不管是什么--如果有人能解释我会很感激)会向C广播一个ARP请求,C不知道它的IP,并且会用一个ICMP错误来响应(我猜)。

为什么这个神秘的主人会决定这么做?为什么S不能把它的硬件地址发送给C呢?如果不能发送一个硬件地址有什么意义?

感谢每一个花时间读这篇文章的人!

EN

回答 1

Network Engineering用户

回答已采纳

发布于 2015-05-18 21:37:47

(BOOTP目前存在于DHCP中)

这个过程从客户机发送广播请求开始,因为它通常不知道任何服务器地址(Es) -- src ip将为零,因为它还没有地址。服务器将在请求中查找MAC以形成答案。如何回答这个问题还需要更多的思考。如果服务器发送一个简单的单播回复,它将需要一个arp缓存条目来知道将其发送到何处。由于客户端还没有地址,正常的ARP发现机制将无法工作。因此,服务器必须在发送答案之前更新它的ARP缓存,或者将答案作为广播消息发送。(或绕过主机层-3/4处理,形成自己的第2层数据包并直接发送)

此外,服务器不能假设客户端在同一条线路上。因此,必须将答案发送到请求来自何处--即任何可能的中继代理,而不是请求中的硬件地址。

票数 1
EN
页面原文内容由Network Engineering提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://networkengineering.stackexchange.com/questions/18566

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档