一、什么是DHCP
    DHCP是用于简化IP配置管理的TCP/IP标准,对客户机动态分配TCP/IP信息。第一次启动DHCP客户机时,该客户机在网络中请求IP地址,当DHCP服务器收到IP地址请求后,它将从数据库定义的地址中选择IP地址提供给DHCP客户机。要想在一个TCP/IP协议的网络中使用DHCP,该网络中至少要有一台计算机作为DHCP服务器,而其他计算机则作为DHCP客户机。
二、使用DHCP的理由

Ø 减小管理员的工作量
Ø   叛乱小输入错误的可能
Ø 避免IP冲突
Ø 当网络更改IP地址段时,不需要重新配置每台计算机的IP地址
Ø 计算机移动不必重新配置IP地址
Ø 提高了IP地址的利用率
三、DHCP工作过程

DHCP的租约过程:
Ø 客户机请求IP租约(DHCPDiscover
DHCP客户机在网络中广播一个DHCPDiscover包以请求IP地址,所以此过程也称为
DHCPDiscoverDHCPDiscover包的源IP地址为0.0.0.0,目的IP地址为255.255.255.255,该包还包含客户机的MAC地址和计算机名,以使DHCP服务器能够确定哪个客房顶面发送该请求。
Ø 服务器响应(DHCPOffer
DHCP服务器接收到客户机请求IP地址的信息时,就在自己的IP地址库中查找是否有合法的IP地址提供给客户机,如果有,DHCP服务器就将此IP地址做上标记,广播一个DHCPOffer包(此过程又称为DHCPOffer)。DHCPOffer包中包含的信息有:
²        DHCP客户机的MAC地址,用来正确标识客户机
²        DHCP服务器提供的合法IP地址
²        子网掩码
²        租约期限
²        服务器标识符(DHCP提供服务器的IP地址)
    因为DHCP客户机还没有IP地址,所以由DHCP服务器发送广播消息。如果网络中存在多台DHCP服务器,则这些服务器都会广播DHCPOffer包。
Ø         客户机选择IP地址(DHCPRequest
    DHCP客户机从接收到的第一个DHCPOffer包中选择IP地址,并将DHCPRequest包广播到所有DHCP服务器,表明它接受提供的内容(此过程也称为DHCPRequest)。DHCPRequest包的信息包含为该客户机提供IP配置的服务器的服务器标识符(IP地址)。DHCP服务器查看服务器标识符字段,以确定它们是否被选择为指定的客户机提供IP地址。如果客户机接受了IP地址,则发出IP地址的DHCP服务器将该地址保留,该地址就不能提供给另一个DHCP客户机;如果那些DHCPOffer包被拒绝,DHCP服务器则取消提供并保留其IP地址以用于下一个IP租约请求。
Ø 服务器确认IP租约(DHCPACK
DHCP租约过程中的第4步也是最后一步为服务器确认IP租约,也称为DHCPACK/DHCPNAKDHCP服务器接收到DHCPRequest后,以DHCPACK消息的形式向客户机广播成功的确认,该消息包含IP地址的有效租约和其他可能配置的信息。当客户机收到DHCPACK包时,它就配置了IP地址,完成了TCP/IP的初始化,从而可以在TCP/IP网络上通信了。
如果DHCPRequest不成功,DHCP服务器将广播否定确认消息DHCPNAK包。当客户机接收到不成功的确认时,它将重新开始DHCP租约过程。
如果客户机无法找到DHCP服务器,它将从TCP/IPB类网段168.254.0.0中挑选一个IP地址作为自己的IP地址,继续每隔5分种尝试与DHCP服务器进行通信,一旦与DHCP服务器取得联系,则客户机放弃自动配置的IP地址,而使用DHCP服务器所分配的IP地址和其他配置信息。
DHCP的四个包都为广播包)

四、租约更新

       当客户机重新启动或租期达50%时,就需要重新更新租约,客户机直接向提供租约的服务器发送DHCPRequest包,要求更新现有的地址租约。如果DHCP服务器收到请求,它将发送DHCP确认信息给客户机,更新客户机租约。如果客户机无法与提供租约的服务器取得联系,则客户机一直等到租期到达87.5%时,进入重新申请状态,它向网络上所有的服务器广播DHCPDiscover包以更新现有的地址租约。如果服务器响应客户机的请求,那么客户机使用该服务器提供的地址信息更新现在的租约。如果租久终止或无法与其他服务器通信,客户机将无法使用现有的地址租约。
在客户机上使用ipconfig/renew命令可以向DHCP服务器发送DHCPRequest包,以接收更新选项和租约时间。如果DHCP服务器没有响应,客户机将继续使用当前的DHCP配置选项。
五、IP租约释放

    在客户机上使用ipconfig/relase命令使DHCP客户机向DHCP服务器发送DHCPRelease包并释放其租约。当移动客户机到不同的网络并且客户机不需要以前的租约时这是很有用的。发布该命令后,客户机的TCP/IP通信联络停止。