DHCP协议

DHCP 即动态主机配置协议,通常被应用在大型的局域网络环境中

主要作用是集中地管理、分配 IP 地址,使网络环境中的主机动态地获得 IP 地址、Gateway 地址、DNS 服务器地址等信息,并能提升地址的利用率。

DHCP 有三种机制分配 IP 地址

  1. 自动分配方式
    DHCP 服务器为主机指定一个永久性的 IP 地址,可永久使用该地址。
  2. 动态分配方式
    DHCP 服务器给主机指定一个具有时间限制的 IP 地址,时间到期或者主机放弃该地址时,该地址可被其他主机使用。
  3. 手工分配方式
    客户机的 IP 地址由网络管理员指定,DHCP 服务器只是将指定的 IP 地址告诉客户端主机。

封包格式

DHCP 封包在传输层,采用 UDP 协议

Client 传送封包给 Server 时,采用的是 UDP 67 Port,从 Server 传送给 Client 则采用 UDP 68 Port。

工作原理

1. DHCP Client 以广播的方式发出 DHCP Discover 报文。

2. 所有的 DHCP Server 都能就接收到该 DHCP Discover 报文,所有的 DHCP Server 都会给出响应,向 DHCP Discover 发送一个 DHCP Offer 报文。
DHCP Offer 报文中包含 DHCP Server 能够提供的 IP 地址,且 DHCP Server 会将自己的 IP 地址放在"option"字段中,以便 DHCP Client 区分不同的 DHCP Server,
并且在发送此报文后 DHCP Server 会存在一个已分配 IP 地址的记录。

3. DHCP Client 只会处理一个 DHCP Offer 报文,一般原则是选择最先收到的那个报文。
DHCP Client 会发出一个广播的 DHCP Request 报文,在选择字段加入选中的 DHCP Server 的 IP 地址和需要的 IP 地址。

4. DHCP Server 收到 DHCP Request 报文后,判断选择字段的 IP 地址是否与自己的地址相同。
如不相同,DHCP Server 不做任何处理,只清除相应IP地址分配记录。
如相同,DHCP Server 就会向 DHCP Client 响应一个DHCP ACK 报文,并在选项字段中增加IP地址的使用租期信息。

5. DHCP Client 接收到 DHCP ACK 报文后,检查 DHCP Server 分配的IP地址是否能使用。
如果可以,则DHCP Client 成功获得IP地址,并根据IP地址使用租期自动启动续延过程。
如果 DHCP Client 发现分配的IP地址已经被使用,则 DHCP Client 向 DHCP Server 发出 DHCP Decline 报文,通知DHCP Server禁用这个IP地址,
然后DHCP Client开始新的地址申请过程。

 6. DHCP Client 在成功获取IP地址后,随时可以通过发送 DHCP Release 报文释放自己的IP地址。DHCP Server 收到DHCP Release 报文后,会回收相应的IP地址并重新分配。

posted @ 2020-03-29 18:51  霜见  阅读(572)  评论(0编辑  收藏  举报