【网络】DHCP协议浅析

动态主机配置协议(DHCP)是一个应用层协议,传输层使用了UDP协议。

交互过程

1. 发现阶段

由于不知DHCP服务器的IP地址和Mac地址,客户端通过向本地网络广播一个DHCP DISCOVER请求报文以向网络中的DHCP服务器请求网络配置信息。
最后本地网络上每个DHCP服务器都会接收到DHCP发现报文,而同时其他主机也会收到此报文,只不过当拆包后发现源IP地址是0.0.0.0后就会抛弃这个包。

2. 提供阶段

当DHCP服务器收到发现报文,它就从它的地址池中选出一个空闲IP填充到DHCP OFFER的"Your" IP address字段,并在选项字段加上子网掩码,路由器,DNS,服务器标识,IP地址租用时间等字段,然后广播此报文(此时还不知客户端的IP地址)

3. 请求阶段

最后客户端可能会收到多个DHCP服务器的DHCP OFFER报文,一般是选最先到达那个报文并作出回应请求,即广播发出一个 包含服务器选项字段的DHCP REQUEST报文。这里还使用广播的目的是因为要让所有的DHCP服务器知道客户端选择了哪个服务器提供的IP。

4. 确认阶段

DHCP 服务器

DHCP服务器收到来自客户端的DHCP REQUEST报文,而只有符合服务器标识这个选项字段的DHCP服务器才会对此作出响应:
如果服务器可以分配此IP则以DHCP ACK报文进行响应。
如果服务器无法分配此IP则以DHCP NAK报文进行响应。

其他DHCP服务器则清除与此请求相关的状态。响应方式还是跟提供阶段一样广播此报文。

DHCP客户端

当DHCP客户端收到的响应是DHCP NAK报文,则会重新发送 DHCP DISCOVER报文。
若收到的是DHCP ACK报文则会执行地址冲突检测(ACD)探测获得的IP地址是否未被使用。

如果已经被使用则向DHCP服务器发送一个DHCP DECLINE报文以通知该地址已经不能被使用。之后经过默认的10秒延时后客户端可再次重试。
如果未被使用则获得了该IP地址在租用期间的使用权。

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 博主最近在复习HTTP,之前用书主要是《计算机网络》谢希仁版本,最近结合网上博客,进行复习和提纲式的总结。 一、概...
    stoneyang94阅读 9,597评论 1 8
  • IPv4分组 IPv4,即现在普遍使用的IP协议(版本为4)。IP协议定义数据传送的基本单元——IP分组及其确切的...
    CodeKing2017阅读 6,083评论 0 0
  • 1.TCP报头格式 UDP报头格式 TCP报头格式 UDP报头格式 具体的各部分解释看 TCP报文格式详解 - ...
    杰伦哎呦哎呦阅读 7,249评论 0 5
  • 国家电网公司企业标准(Q/GDW)- 面向对象的用电信息数据交换协议 - 报批稿:20170802 前言: 排版 ...
    庭说阅读 13,849评论 6 13
  • 平常打半场,人相对密集,学会各种花哨的运球技术也基本上派不上用场。其实,创造空间是个好技术。 比如,詹姆斯、哈登的...
    白云路阅读 3,677评论 0 0