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
知道提供
ip
的
DHCP server
。
4、
DHCP ACK/NAK
过程。
DHCPserver
确认
ip
租约。
DHCP server
接收到
DHCP request
包后,以
DHCP ACK
(
DHCP acknowledge
)消息的形式向客户机广播成功的确认。该消息包括
ip
地址的有效的租约和其他可能的配置信息。当客户机收到
DHCP ACK
包时,它就配置该
ip address
,完成了
TCP/IP
的初始化。从而可以在网络上通讯了。
如果
DHCP request
不成功,
DHCPserver
将广播否定确认消息
DHCP NCK
包。当客户机收到不成功的确认时,将重新开始
DHCP
租约过程。
DHCP
客户机在
1s
、
2s
、
4s
、
8s
、
16s
各广播一次,共计
5
次。若没有响应,则在
1―1000ms
内任意时刻再广播一次,仍然没有回应,则使用
169.254.0.0/16
中的一个
ip
地址作为自己的
ip
地址。等待
5
分钟后尝试与
DHCP server
进行通信。
如果一台
DHCP client
有多个网卡则
DHCPserver
会为每个网卡分配不同的
ip
地址。
DHCP server
最好只有一个网卡,且性能高。
IP
租约更新
当客户机重启或租约到达
50%
时就需要重新更新租约。