DHCP工作流程

DHCP  ——动态主机配置协议  

目录

DHCP  ——动态主机配置协议  

第一步:

第二步:

第三步:

第四步:

第五步:

第六步:

DHCP中的报文类型:


便于统一分发管理IP地址

DHCP:C/S架构,DHCP通过UDP协议通讯,DHCP客户端使用UDP68号端口,DHCP服务器使用67号端口

 

   

第一步:

当客户端第一次登录网络的时候,计算机发现本机上没有任何IP地址设定,将以广播方式发送DHCP discover发现信息来寻找DHCP服务器,即向255.255.255.255发送特定的广播信息。网络上每一台安装了TCP/IP协议的主机都会接收这个广播信息,但只有DHCP服务器才会做出响应。

第二步:

DHCP服务器从尚未分配的IP地址池中挑选一个分配给客户端,向客户端发送一个包含分配的IP地址和其他设置的DHCP offer提供信息。

第三步:

客户端接受到DHCP offer提供信息之后,选择第一个接收到的提供信息,然后以广播的方式回答一个DHCP request请求信息,该信息包含向它所选定的DHCP服务器请求IP地址的内容。

(1)客户端初始化时,广播发送DHCP Request报文来回应服务器的DHCP offer报文

(2)客户端重启初始后,广播发送DCHP Request报文来确认先前被分配的IP地址等配置信息。

(3)当客户端已知和某个IP地址绑定后,单播发送DHCP Request报文来延长IP地址租期

第四步:

服务器收到request报文以后,确认地址池中的这个地址没有被分配,如果没有被分配就回复ACK报文,如果被分配了 ,就会回复DHCP-NAK报文,告诉CLient 地址已经被分配了。

第五步:

当客户端收到DHCP服务器分配的地址后,会向这个广播域内发送一个免费ARP的请求,如果没有人响应这个请求,客户端才正式使用这个地址,如果有人回应的话,会返回一个DHCP-Decline报文,要求服务器重新获取地址。

第六步:

当客户端的IP租期到达一半的时候,会单播发送DHCP-Request报文,请求服务器更新租期,服务器收到以后,如果可以继续使用该IP地址的话,会响应客户端 DHCP-ACK,如果该IP不能继续分配,则响应客户端DHCP-NAK。此时客户端会在租期的75%再次询问DHCP服务器进行续约,如果该IP地址可用则回复ACK,反则回复NAK。

DHCP中的报文类型:

​          DHCP DISCOVER:客户端开始DHCP过程发送的包,是DHCP协议的开始。以广播的方式发送DHCP DISCOVER报文。

​                                            来寻找局域网中的DHCP服务器。

​                                            源地址为0.0.0.0 目的地址为255.255.255.255, 网络上所有支持TCP/IP的主机都会收到该DHCP DISCOVER

​                                            报文,但是只有DHCP Server会响应该报文。

​          DHCP OFFER:服务器接收到DHCP DISCOVER之后做出的响应,通过解析报文,查询dhcpd.conf配置文件,如果在地址池中

​                                    能找到合适的IP地址,DHCP Server会给DHCP Client发送Offer报文。它包括了给予客户端的IP(yiaddr)、客户端的

​                                    MAC地址、租约过期时间、服务器的识别符自己其他信息。

​                                    **如果存在多个DHCP服务器,依然会发送多个DHCP OFFER报文。**

​          DHCP REQUEST:客户端对于服务器发出的DHCP OFFER所做出的响应,在续约租期的时候同样会使用。

​                                     Client根据先收到的Offer报文来决定使用哪个服务器提供的DHCP的地址。(优先先到的offer报文)

​                                     然后根据这个Offer提供的地址信息,发送Request报文请求。

​                                     a.客户端初始化时,发送广播的DHCP Request报文来回应服务器的DHCP Offer报文

​                                     b.客户端重启初始化后,发送广播的DHCP的DHCP Request报文来确认先前被分配的IP地址等配置信息。

​                                     c.当客户端已知和某个IP地址绑定后,发送单播的DHCP Request报文来延长IP地址租期。  

​          DHCP ACK:服务器在接收到客户端发来的DHCP REQUEST之后发出的成功确认的报文。在建立连接的时候,客户端在接收到

​                                这个报文之后才会确认分配给他的IP和其他信息可以被允许使用。

​                                 服务器接收到request报文以后,确认地址池中的这个地址没有被分配,如果没有被分配就回复ACK报文,如果被

​                                 分配了,就会回复DHCP-NAK报文,告诉Client地址已经被分配了。

​          DHCP NAK:DHCP ACK的相反报文,表示服务器拒绝了客户端的请求。               

​          当Client收到服务器分配到的地址后,会向这个广播域内发送一个免费的ARP的请求,如果没有人响应这个请求,Client才正式

​          使用这个IP,如果有人回应的话,会返回一个DHCP-DECLINE报文,要求客户端重新获取IP。

​     

​          当Client的IP租期到达一半时,会单播发送DHCP-REQUEST报文,请求服务器更新租期,服务器收到以后,如果可以继续使用IP

​          地址的话,会响应Client DHCP-ACK,如果该IP不能继续分配,则响应Client DHCP-NAK。此时Client会在租期的75%再次询问

​          server进行续约,如果该IP地址可用则回复ACK,反则回复NAK。

​          如果客户端重启后,会自动发送DHCP REQUEST广播给DHCP服务器以便请求继续租用原来使用的IP地址,如果服务器收到这个消

​          息,确认客户端可以使用该地址,则回答一个DHCP ACK确认消息,如果此IP地址已经无法再分配,则返回一个DHCP NAK否认信

​          息,客户端收到这个信息以后,则必须重新发送DHCP Discover消息获取新的地址。 若没有得到响应,则尝试与网关通信,如果

​          通信正常,这个租期还没到期的话,则可以继续使用,但是不能和网关通信的话,则会获得169.254.0.1~169.254.255.254之间的IP

​          地址,然后每隔5min尝试更新租约。          

​          

​          DHCP RELEASE:一般出现在客户端关机、下线等情况。这个报文将会使DHCP服务器释放发出此报文的客户端的IP地址。

​                                        当客户端可通过DHCP RELEASE报文主动释放服务器分配给它的地址,当服务器收到此报文后,可将这个IP地址分

​                                         配给其他客户端。

​          DHCP INFORM:客户端发出的服务器请求一些信息的报文。如DNS, 网关。

​          DHCP DECLINE: 当客户端发现服务器分配的IP地址无法使用(IP地址冲突),将发出此报文,通知服务器禁止使用该IP地址。

Guess you like

Origin blog.csdn.net/weixin_59280309/article/details/121950437