DHCP 请求消息是广播还是单播?



DHCP进程分4个阶段发生,如DORA。我知道发现和报价是广播的。DHCP 请求消息是广播还是单播?

DHCPOFFER 和 DHCPACK 通常作为单播从服务器发送到客户端。客户端可以设置 Broadcast 标志以请求服务器将广播发送回客户端,但这不是首选方法。

RFC 2131, 动态主机配置协议 (RFC 2131(中对此进行了详细说明:

对于使用 DHCP 进行初始配置的客户端(之前 客户端的 TCP/IP 软件已完全配置(,DHCP 需要创造性地使用客户的TCP/IP软件和自由 RFC 1122 的解释。 TCP/IP 软件应接受和 将传送到客户端的任何 IP 数据包转发到 IP 层 配置 IP 地址之前的硬件地址;DHCP 服务器和 BOOTP 中继代理可能无法将 DHCP 消息传递到客户端 不能接受 TCP/IP 之前的硬件单播数据报 软件已配置。

解决某些无法接受 IP 单播数据报的客户端 在按照前面所述配置 TCP/IP 软件之前 段落,DHCP使用"标志"字段[21]。 最左边的位是 定义为广播 (B( 标志。 此标志的语义是 在本文档的第 4.1 节中讨论。 其余位 标志字段保留供将来使用。 它们必须设置为零 客户端,并被服务器和中继代理忽略。 图 2 给出了 "标志"字段的格式。

1 1 1 1 1 1
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|B|             MBZ             |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
B:  BROADCAST flag
MBZ:  MUST BE ZERO (reserved for future use)
Figure 2:  Format of the 'flags' field

-和 -

通常,DHCP 服务器和 BOOTP 中继代理会尝试提供 DHCPOFFER、DHCPACK 和 DHCPNAK 消息直接发送到客户端 UICAST交付。 IP 目标地址(在 IP 标头中(已设置 到 DHCP "yiaddr"地址,链路层目标地址为 设置为 DHCP "查德尔"地址。 不幸的是,一些客户 实现无法接收此类单播 IP 数据报,直到 已使用有效的 IP 地址配置了实现 (导致客户端的 IP 地址无法 在客户端配置 IP 地址之前交付(。

这是一个广播。发现、提供、请求、ACK都是广播。在整个过程完成之前,客户端不会获得 IP 地址。所以它必须广播。您可以在此处查看更多信息。

客户端和服务器之间的DHCP消息交换可以是广播的,也可以是单播的,具体取决于DHCP消息中字段的设置,特别是广播标志字段,客户端IP地址(ciaddr(字段和网关IP地址(giaddr(字段。

以下是摘要说明明细

*如果设置了广播标志字段,服务器将向客户端广播 OFFER 和 ACK,但前提是客户端和服务器位于同一广播域中。

*如果网关IP地址(giaddr(字段不为零,则客户端和服务器之间存在中继代理,因此所有服务器消息都是单播到中继代理IP地址的。

*如果客户端 IP 地址 (ciaddr( 字段不为零,服务器将单播 OFFER & ACK 到该客户端 IP 地址

*如果未设置广播位,则客户端 IP 地址字段为零,网关 IP 地址字段为零,服务器将单播 DHCP 消息到客户端硬件地址(chaddr(

*如果服务器标识符 IP 地址 (siaddr( 字段不为零,客户端会将所有消息发送到 siaddr 中的该 IP 地址。此字段在 OFFER 和 ACK 消息中将不为零,因为 DHCP 服务器会将其设置为自行标识。

https://www.niledigitech.com/447/dynamic-host-configuration-protocol/

最新更新