我正在网络课程中学习 DHCP,作为研究的一部分,我正在观看以下视频:
https://www.youtube.com/watch?v=0UvLRVlPx6A
因此,在上述视频(3:48)的 Wireshark 捕获中,所有 DHCP OFFER、REQUEST 和 ACK 消息都将广播地址作为目标 IP。
另一方面,下面的文章提到除了 DISCOVER 消息之外的所有消息都是单播的:
https://www.grandmetric.com/2017/07/18/what-is-dhcp-and-how-does-it-work/
我的问题是: 1. 其中哪一个是正确的?它真的取决于具体情况吗?
- 如果 youtube 视频中提到的所有 DHCP 消息都是广播,那么在初始 DISCOVER 消息之后,当客户端知道 DHCP 服务器 IP 时,为什么客户端不直接使用服务器 IP 作为目标 IP,在其他话说,为什么不使用单播消息进行通信?
DHCP 的权威来源更可能是RFC 2131。以下是第 3.1 节的节选
解释还在继续。每当发送广播时,都会明确说明。
因此,这主要与以下事实有关:为了实现高可用性,网络广播域上可能有多个 DHCP 服务器。如果通信在初始 DHCPREQUEST 时切换到单播,其他冗余服务器将不知道客户端是否选择了其他服务器(允许他们更快地回收他们自己提供的 IP 地址)或者它是否就消失了。
4.1 节中描述了更多的使用规则。大多数情况下,一旦客户端开始使用其分配的 IP 地址(而不是源 0.0.0.0),通信就会切换到单播。
注意:单播到 IP 地址首先需要 ARP 解析(因此客户端已经配置了 IP 地址),单播到硬件地址不需要(并且当客户端没有 IP 时将用于初始 DHCPOFFER )。
此外,例如,第 4.3.2 节解释了 DHCPREQUEST 的各种用例:SELECTION 状态(首次使用)、INIT-REBOOT(缓存信息,但在不再使用之后)或 RENEWING(延长租约)。第三种情况表明应该使用单播发送消息。