DHCP过程作为DORA分为四个阶段。我知道发现和报价是广播的。 DHCP请求消息是广播还是单播?
答案 0 :(得分:0)
这是广播。发现,提供,请求,确认都被广播。在整个过程完成之前,客户端不会获得IP地址。所以它必须广播。您可以看到更多here。
答案 1 :(得分:0)
DHCPOFFER和DHCPACK通常作为单播从服务器发送到客户端。客户端可以设置广播标志,以请求服务器将广播发送回客户端,但这不是首选方法。
这在RFC 2131, Dynamic Host Configuration Protocol中有详细说明:
如果客户端使用DHCP进行初始配置(之前 客户端的TCP / IP软件已完全配置),DHCP 需要创造性地使用客户端的TCP / IP软件和自由 RFC 1122的解释。TCP/ IP软件应接受和 将任何传递到客户端的IP数据包转发到IP层 配置IP地址之前的硬件地址; DHCP服务器和 BOOTP中继代理可能无法将DHCP消息传递给客户端 在TCP / IP之前不能接受硬件单播数据报的协议 软件已配置。
要解决一些不能接受IP单播数据报的客户端 在按照前面的讨论配置TCP / IP软件之前 在段落中,DHCP使用“标志”字段[21]。最左边的位是 定义为BROADCAST(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“ chaddr”地址。不幸的是,一些客户 实现无法接收此类单播IP数据报,直到 实施已配置了有效的IP地址 (导致无法在其中锁定客户端IP地址的死锁 直到客户端配置了IP地址为止。
答案 2 :(得分:0)
客户端和服务器之间的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/