2015-05-14 71 views
0

尽管在DHCP客户端初始化阶段通过广播方式发送DHCP请求消息,但可以以广播和单播方式发送DHCP答复。将使用哪种发送方法取决于DHCP服务器或DHCP中继代理以及DHCP客户端的要求。如何由DHCP服务器或DHCP中继代理单播DHCP答复?

DHCP客户端可以请求广播DHCP答复,以防其自身的IP协议实现软件无法接收单播IP数据包,直到它具有配置的有效IP地址,并且初始化阶段就是这种情况。在这种情况下,它将特别要求DHCP服务器或中继代理通过广播将DHCP请求消息中的标志fleld的广播位设置为1来发送DHCP答复。 在DHCP客户端可以接收单播IP数据包的情况下没有配置IP地址,广播位未设置(0),由DHCP服务器或中继代理决定是否通过单播或广播发送DHCP答复。单播是一种可以减少网络流量并提高客户端功能的偏向优先方法。

为了发送数据包/帧,发送者需要知道IP地址和MAC地址。 DHCP服务器或中继代理知道IP地址和MAC地址,IP地址,因为它提供了一个MAC地址,因为它包含在DHCP请求消息中。但是,标准发送数据包过程要求使用ARP协议获得MAC地址,并且由于尚未配置IP地址,DHCP客户端无法响应ARP数据包,因此无法显着工作。 问题是,DHCP服务器或中继代理如何通过单播发送DHCP答复?是否有访问ARP表并直接添加ARP条目的机制?

回答

0

DHCP服务器可以生成一个原始数据包并将MAC和IP地址添加到该数据包中。发送原始数据包时,操作系统不会对ARP条目或其他任何内容进行任何检查。因此,即使客户端无法回答ARP,并且服务器在ARP表中没有任何内容,数据包也将是有效的单播UDP数据包。

+0

因此,DHCP应用层可以直接访问数据链路层,它可以发送原始数据包发送....感谢Sami的答案。 –

+0

@VedranSmoljanovic如果这是足够的信息,请选择答案,如果这是足够的信息 –

+0

我想知道更多关于发送原始数据包,所以我会研究更多关于它,无论如何,我只是想知道它是如何工作的,你的答案告诉我如何。 –