问题:DHCP OFFER/ACK是单播还是广播?
目前有三种常见的观点:
1. 单播;
2. 广播;
3. 根据客户端发送的DHCP报文中的广播位(broadcast bit,或称为BOOTP flag)来确定。客户端DHCP报文中的广播位是0,服务器就以单播回复;反之广播位是1,服务器就以广播回复。
观点3通常被大家广泛接受,但其并非完全正确。
实际案例
案例1:
用wireshark对DHCP的抓包分析_wireshark dhcp-优快云博客文章浏览阅读6.4k次,点赞57次,收藏102次。本文介绍了DHCP协议的概述、报文格式详解,以及如何通过Wireshark抓包工具观察DHCP的通信流程,包括DHCPDiscover、DHCPOffer、DHCPRequest和DHCPAck报文。DHCP通过动态分配IP地址,显著提高了网络管理效率。https://blog.youkuaiyun.com/ZZZCY2003/article/details/137230417在这篇文章中,作者抓包得到的DHCP OFFER/ACK都是单播。客户端发送的DHCP DISCOVER/REQUEST中的广播位为0,因此服务器以单播回复不难理解。
案例2:
笔者在某H3C路由器(V7版本软件)的网络中,抓包得到的DHCP OFFER/ACK都是广播。
观察客户端发送的DHCP DISCOVER报文,其广播位同样为0。
协议分析
在前述两个案例中,客户端发送的报文广播位都是0,但为何服务器却分别以单播和广播两种方式进行回复?是否有一个案例中的网络设备对DHCP的实现有错误?
<