dhcp是什么?
动态主机分配协议,用于动态分配ip地址
为什么使用dhcp?
减少工作量
减少输入错误
避免ip冲突
动态分配ip
提高ip地址利用率
不用重复配置ip信息
dhcp怎么样工作?
实现方法
当一台dhcp客服端启动时,该客户端将在网络中请求ip地址,当dhcp服务器收到申请ip地址请求后,将从可用的地址中选择一个提供dhcp客户端
dhcp的一些特性
dhcp租约
一.租约产生
1.客户端请求租约
dhcp client 在网络中广播dhcp discover包(使用udp端口为67,源ip 0.0.0.0 目标ip 255.255.255.255,包含client的mac地址、计算机名),以便dhcp server接收dhcp discover包后确认发送方
2.客户端响应
dhcp server收到client请求ip地址信息时,开始在自己的ip地址库中查找可用ip地址,如果有,dhcp server广播一个dhcp offer包(使用udp端口为68,源地址dhcp server的ip、目标ip地址255.255.255.255)
1.dhcp client的mac地址
2.dhcp server提供的合法ip地址
3.子网掩码
4.租约期限
5.dhcp server ip地址
windows分配ip从头开始
linux分配ip从尾开始
3.客户端选择
dhcp client从接收的第一个dhcp offer包中选择ip地址,并发送dhcp Request包广播(使用udp端口为67,源ip 0.0.0.0,目的ip255.255.255.255),表明使用ip地址的提供服务器
4.服务器确认
dhcp server收到dhcpRequest包后,会以dhcpACK包向客户端广播确认成功(udp端口为68,源ip是dhcp server 的ip,目的ip 255.255.255.255),当客户端收到dhcp ACK后,会使用得到的ip地址,至此整个租约结束!!!
二.租约更新
client重启或租约到50%,就要重新更新租约,这时就直接向提供租约的dhcp server发送dhcpRequest包,要求更新地址租约,dhcp client收到请求,发送dhcpACK给客户端,以更新客户端租约,如果无法通信,会在87.5%重新进行租约更新,这是是给网络上所有dhcp server广播以更新租约,dhcp server响应客户端请求,客户端会使用该服务器地址信息更新现有租约。如果依旧无法更新,client将无法使用租约ip
三.中继代理(跨子网的dhcp)
1.dhcp客户端广播dhcp discovery包
2.dhcp中继代理将dhcpdiscover包以单播转发到dhcp服务器
3.dhcp服务器以单播发送dhcpoffer包给dhcp中继代理
4.dhcp中继代理广播dhcpoffer包
5.dhcp客户端广播dhcpRequest包
6.dhcp中继代理以单播发送dhcpACK包给dhcp中继代理
7.dhcp server以单播发送dhcpACK包给dhcp中继代理
8.dhcp中继代理广播dhcpACK包