首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >DHCP提供的数据包是广播还是单播?

问DHCP提供的数据包是广播还是单播?
EN

Network Engineering用户
提问于 2015-02-27 10:17:09
回答 7查看 50.7K关注 0票数 12

DHCP提供的是一个layer3广播,因为服务器不知道客户端Ip,但是服务器知道客户端的mac地址。那么广播会怎么样呢?

如果有人问我这件事?我该怎么回答?我能不能说它的layer3广播和layer2单播

EN

回答 7

Network Engineering用户

回答已采纳

发布于 2015-02-27 12:32:33

注意广播标志,请参阅RFC2131 (第24页):

在客户端发送的任何DHCPDISCOVER或DHCPREQUEST消息中,除非协议软件配置了IP地址,否则无法接收单播IP数据报的客户端应该将“标志”字段中的广播位设置为1。广播位将向DHCP服务器和BOOTP中继代理提供提示,以便向客户端子网上的客户端广播任何消息。

编辑

在配置协议软件之前能够接收单播IP数据报的客户端应该将广播位清除为0。BOOTP澄清文件讨论了使用广播位的后果。

增加了RFC的其他部分。根据整个段落,它既可以广播,也可以单播,甚至两者兼而有之。

票数 13
EN

Network Engineering用户

发布于 2015-02-27 13:59:16

答案是,它既可以广播也可以单播--在某些情况下,在使用ip helper-address时,可以在到达客户端之前进行单播和广播。

在发现-要约-请求-ACK交换完成之前,客户端实际上没有IP地址。有可能(虽然不太可能)出现这样的情况,即服务器将使用NAK重新响应请求。

但是,由于单播通常比广播更可取,许多客户端将接受与其L2地址匹配的单播回复。

票数 13
EN

Network Engineering用户

发布于 2017-05-22 10:10:04

https://www.ietf.org/rfc/rfc2131.txt

根据这一规则:

Droms标准跟踪第24页 RFC 2131动态主机配置协议1997年3月

通常,DHCP服务器和BOOTP中继代理试图使用uicast传递直接将DHCPOFFER、DHCPACK和DHCPNAK消息传递给客户端。IP目标地址(在IP报头中)设置为DHCP 'yiaddr‘地址,链路层目标地址设置为DHCP 'chaddr’地址。不幸的是,一些客户端实现无法接收这样的单播IP数据报,直到实现配置了有效的IP地址(导致在客户端配置了IP地址之前无法传递客户端IP地址的死锁)。

在客户端发送的任何DHCPDISCOVER或DHCPREQUEST消息中,除非协议软件配置了IP地址,否则无法接收单播IP数据报的客户端应该将“标志”字段中的广播位设置为1。广播位将向DHCP服务器和BOOTP中继代理提供提示,以便向客户端子网上的客户端广播任何消息。在配置协议软件之前能够接收单播IP数据报的客户端应该将广播位清除为0。BOOTP澄清文档讨论了使用广播位21的后果。

服务器或中继代理直接向DHCP客户端发送或中继DHCP消息(即,不向“giaddr”字段中指定的中继代理发送或中继消息)应检查“标志”字段中的广播位。如果此位设置为1,则应使用IP广播地址(最好是0 0xffffffff)作为IP目的地地址,并使用链路层广播地址作为链路层目标地址,将DHCP消息作为IP广播发送。如果广播位被清除为0,则应将消息作为IP单播发送到“yiaddr”字段中指定的IP地址和“chaddr”字段中指定的链路层地址。如果不可能进行单播,则可以使用IP广播地址(最好是0 0xffffffff)作为IP目的地地址,并使用链路层广播地址作为链路层目的地地址,将消息作为IP广播发送。

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

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

复制
相关文章

相似问题

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