目录
1、DHCP协议
2、DHCP的工作过程
动态获取IP地址流程
跟新租期流程
解除租期流程
1、DHCP协议
DHCP(Dynamic Host Configuration Protocol)协议是处于应用层的协议。一个主机如果想正常上网,需要配置IP地址,子网掩码,默认网关基本配置。我们可以选择手动配置,但是对于较大的网络,手动配置不仅工作量大,还容易出错,这时我们就需要一个动态配置这些基本信息的DHCP服务器。
DHCP基于UDP/IP传输。DHCP服务器使用端口号67,DHCP 客户端使用端口号68。
DHCP协议一般采用服务器/客户端的模式,客户端主机请求获取IP等配置信息,服务器主机提供IP等配置信息。
服务器一般采用手动配置,而客户端一般动态获取。主要基于以下原因:
1. 客户主机比服务主机移动更频繁
2. 服务主机需要提供更可靠的服务,其配置信息应该减少对其他系统/主机的依赖
3. 客户主机比服务主机的数量更多
4. 客户主机使用者的网络配置知识比服务主机的使用者低
2、DHCP的工作过程
动态获取IP地址流程
1、新的客户主机添加到网络时,发送包含MAC地址和事务ID的DISCOVER报文,寻找所在网络内的DHCP服务器。
源IP地址:0.0.0.0,目的IP地址:255.255.255.255(广播寻找)
2、当此网络下的DHCP服务器接收到DISCOVER报文后(客户机没有开启68端口的DHCP服务,会丢弃该报文),会查看自己身的数据库是否有关于该客户机的MAC地址所对应的配置信息,如果有则发送该信息,如果没有,则发送默认配置信息。
源IP地址:DHCP服务器IP地址,目的IP地址:255.255.255.255(客户机此时尚未有可用的IP地址,只能发送广播)
3、客户主机根据收到的OFFER报文中的事务ID来判断是否是自己所发送的DISCOVER报文的应答报文。在下图中客户主机将会收到2个OFFER报文,从中选择一个(一般是先到的)。并向所选择的DHCP服务器发送REQUSET报文
源IP地址:0.0.0.0(还未正式获得DHCP服务器的同意),目的IP地址:255.255.255.255(向本网络的DHCP服务器公告自己选择了某个DHCP服务器所提供的IP地址,不需要一个一个回复)
4、DHCP服务器发送ACK报文,将IP地址分配给客户主机。
源IP地址:DHCP服务器IP地址,目的IP地址:255.255.255.255(客户主机尚未正式分配到IP地址)
5、客户主机收到DHCP服务器发来的ACK报文后,使用ARP检测所分配到的IP地址是否已被网络中的其他主机占用。
被占用:向DHCP服务器发送DHCP DECLINE撤销租约,重新发送DHCP DISCOVER报文
未被占用:可以使用该IP地址联网通信。
跟新租期流程
1、此时可以跳过DISCOVER报文和OFFER报文
2、客户主机发送携带当前IP地址的REQUSET报文
源IP地址:租用的IP地址,目的IP地址:DHCP服务器IP地址
3、如果DHCP服务器同意客户主机续约,则发送ACK报文,客户主机继续使用该IP地址,并更新租约。如果拒绝续约,则发送NAK报文,客户主机立即停止使用该IP地址,并重新发送DISCOVER报文,获取新的IP地址。
源IP地址:DHCP服务器IP地址,目的IP地址:租用的IP地址
解除租期流程
1、客户主机发送RELEASE报文。
源IP地址:租用的IP地址,目的IP地址:DHCP服务器IP地址
黄大牙牙yyds