一、DHCP简介
DHCP(Dynamic Host Configuration Protocol,动态主机配置协议)用来为网络设备动态地分配 IP
地址等网络配置参数。
DHCP 采用客户端/服务器通信模式,由客户端向服务器提出请求分配网络配置参数的申请,服务器
返回为客户端分配的 IP 地址等配置信息,以实现 IP 地址等信息的动态配置。
在DHCP的典型应用中,一般包含一台DHCP服务器和多台客户端(如PC和便携机)
二、DHCP的IP地址分配1、IP地址分配策略
针对客户端的不同需求,DHCP 提供三种 IP 地址分配策略:
1)、 手工分配地址:由管理员为少数特定客户端(如 WWW 服务器等)静态绑定固定的 IP 地址。
通过 DHCP 将配置的固定 IP 地址分配给客户端。
2)、自动分配地址:DHCP 为客户端分配租期为无限长的 IP 地址。
3)、动态分配地址:DHCP 为客户端分配具有一定有效期限的 IP 地址,到达使用期限后,客户端
需要重新申请地址。绝大多数客户端得到的都是这种动态分配的地址。
2、IP地址获取过程
DHCP客户端从DHCP服务器获取IP地址,主要通过四个阶段进行:
(1) 发现阶段,即 DHCP 客户端寻找 DHCP 服务器的阶段。客户端以广播方式发送
DHCP-DISCOVER 报文。
(2) 提供阶段,即 DHCP 服务器提供 IP 地址的阶段。DHCP 服务器接收到客户端的
DHCP-DISCOVER 报文后,根据 IP 地址分配的优先次序选出一个 IP 地址,与其他参数一起
通过 DHCP-OFFER 报文发送给客户端。
(3) 选择阶段,即 DHCP 客户端选择 IP 地址的阶段。如果有多台 DHCP 服务器向该客户端发来
DHCP-OFFER 报文,客户端只接受第一个收到的 DHCP-OFFER 报文,然后以广播方式发送
DHCP-REQUEST 报文,该报文中包含 DHCP 服务器在 DHCP-OFFER 报文中分配的 IP 地
址。
(4) 确认阶段,即 DHCP 服务器确认 IP 地址的阶段。DHCP 服务器收到 DHCP 客户端发来的
DHCP-REQUEST 报文后,只有 DHCP 客户端选择的服务器会进行如下操作:如果确认将地
址分配给该客户端,则返回 DHCP-ACK 报文;否则返回 DHCP-NAK 报文,表明地址不能分
配给该客户端。
客户端收到服务器返回的 DHCP-ACK 确认报文后,会以广播的方式发送免费 ARP 报文,探测是否
有主机使用服务器分配的 IP 地址,如果在规定的时间内没有收到回应,客户端才使用此地址。否
则,客户端会发送 DHCP-DECLINE 报文给 DHCP 服务器,并重新申请 IP 地址。
如果网络中存在多个 DHCP 服务器,除 DHCP 客户端选中的服务器外,其它 DHCP 服务器中本次
未分配出的 IP 地址仍可分配给其他客户端。
3、IP地址的租约更新
DHCP 服务器分配给客户端的 IP 地址具有一定的租借期限(除自动分配的 IP 地址),该租借期限称
为租约。当租借期满后服务器会收回该 IP 地址。如果 DHCP 客户端希望继续使用该地址,则 DHCP
客户端需要申请延长 IP 地址租约。
在 DHCP 客户端的 IP 地址租约期限达到一半左右时间时,DHCP 客户端会向为它分配 IP 地址的
DHCP 服务器单播发送 DHCP-REQUEST 报文,以进行 IP 租约的更新。如果客户端可以继续使用
此 IP 地址,则 DHCP 服务器回应 DHCP-ACK 报文,通知 DHCP 客户端已经获得新 IP 租约;如果
此 IP 地址不可以再分配给该客户端,则 DHCP 服务器回应 DHCP-NAK 报文,通知 DHCP 客户端
不能获得新的租约。
如果在租约的一半左右时间进行的续约操作失败,DHCP 客户端会在租约期限达到 7/8 时,广播发
送 DHCP-REQUEST 报文进行续约。