DHCP  dynamic host configure protocol    动态主机配置协议
用于向网络中的计算机分配IP地址及其他一些TCP/IP信息。
DHCP 提供安全可靠且简单的TCP/IP网络设置,避免了TCP/IP网络中地址冲突。大大降低了管理IP地址设置负担。
 
DHCP的优点:
1、  减少管理员的工作量。
2、  减少输入错误的可能。
3、  避免IP冲突。
4、  当网络更改网络地址段时,不需要重新配置每一台计算机的IP地址。
5、  计算机移动不必重新配置IP地址。
6、  提高了IP地址的利用率。
 
DHCP的工作过程:
DHCP租约过程
客户机从DHCP服务器获取IP地址、子网掩码、默认网关地址、DNS服务器地址信息的过程。 租约过程四步:客户机请求IP地址,服务器相应,客户机选择IP地址,服务器确定租约。
1、  DHCP discover过程。客户机请求IP租约。
DHCP客户机在网络中广播一个DHCPdiscover包,请求IP地址。
DHCP discover 包的源IP地址:0.0.0.0 目标地址:255.255.255.255.广播包中包含客户机的MAC的计算名,以方便DHCP 服务器确定是哪一台客户机发出的请求。
2、  DHCP offer过程。服务器响应。
DHCP服务器收到客户机请求ip地址的信息,就在自己的地址库中,查找是否有合法的ip地址提供给客户机。如果有,DHCP 服务器就将此ip address 做上标记,广播DHCP offer包。
DHCP offer 包中信息:
DHCP客户机的MAC地址,用来正确表示客户机;DHCP server 提供的合法的ip address
子网掩码;租约期;服务器标识符(DHCP server ip address)。
因为DHCP客户机还没有ip,所以由DHCP server广播。
3、  DHCP request过程。客户机选择ip
DHCP客户机从接收到的第一个DHCP offer 包中选择ip address,客户机会发ARP广播验证ip的可用性,没有冲突,接受它。并将DHCP request包广播到所有的DHCPserver。表明它接收提供的内容。
DHCP request 包的信息包括:为客户机提供ip配置的DHCP server的标识符(server ip address)。
DHCP server 检查服务器标识符字段,以确定他们是否被选择为指定的客户机提供ip。如果客户机接收了ip地址,则发出ip地址的DHCP server将该地址保留,不再提供给另一个客户机。如果DHCPoffer包被拒绝,DHCPserver则取消保留地址,以用于下一个ip租约请求。
此过程,虽然客户机选择了ip地址,但是还没有配置ip地址,所以源ip仍然是0.0.0.0,仍然是广播。可让其他DHCPserver知道提供ipDHCP server
4、  DHCP ACK/NAK过程。DHCPserver确认ip租约。
DHCP server接收到DHCP request包后,以DHCP ACKDHCP acknowledge)消息的形式向客户机广播成功的确认。该消息包括ip地址的有效的租约和其他可能的配置信息。当客户机收到DHCP ACK包时,它就配置该ip address,完成了TCP/IP的初始化。从而可以在网络上通讯了。
如果DHCP request 不成功,DHCPserver将广播否定确认消息 DHCP NCK 包。当客户机收到不成功的确认时,将重新开始DHCP租约过程。
 
DHCP 客户机在1s2s4s8s16s各广播一次,共计5次。若没有响应,则在1—1000ms内任意时刻再广播一次,仍然没有回应,则使用169.254.0.0/16中的一个ip地址作为自己的ip地址。等待5分钟后尝试与DHCP server进行通信。
 
如果一台DHCP client 有多个网卡则DHCPserver会为每个网卡分配不同的ip地址。DHCP server最好只有一个网卡,且性能高。
 
IP租约更新
  当客户机重启或租约到达50%时就需要重新更新租约。