DHCP工作过程

DHCP(Dynamic Host Configuration Protocol,动态主机配置协议)。DHCP一般在局域网中使用,用于管理、分配IP地址,使client动态的获取IP等信息。简单来说就是自动给内网机器分配IP的。

DHCP的IP分配方式:

1. 自动分配:

当客户端第一次成功的从DHCP服务器上获取到一个IP后,就永远使用这个IP

2. 动态分配

客户端获取IP后,并非永久使用这个IP,每次使用完之后就得释放这个IP,供其他客户端使用。

3. 手动分配

DHCP服务器管理员专门为客户端分配地址

DHCP工作流程:

1. 客户端寻找DHCP服务器

2. DHCP服务器响应客户端

3. 客户端选择服务器的IP地址

4. 服务器确认

5. 重新登录IP的使用

6. 延长IP使用期限

 

一.发现阶段,即DHCP客户机寻找DHCP服务器的阶段

DHCP客户端启动时,计算机发现本机上没有任何IP地址设定,将以广播方式通过UDP 67端口发送DHCP Discover发现信息来寻找DHCP服务器,因为客户机还不知道自己属于哪一个网络,所以封包的源地址为0.0.0.0目的地址为255.255.255.255,向网络发送特定的广播信息。网络上每一台安装了TCP/IP协议的主机都会接收这个广播信息,但只有DHCP服务器才会做出响应。

 

 

 

 

二.提供阶段,即DHCP服务器提供IP地址的阶段

DHCP服务器收到客户端发出的DHCP discover广播后,通过解析报文,查询dhcpd.conf配置文件。它会从那些还没有租出去的地址中,选择最前面的空置IP,连同其它TCP/IP设定,通过UDP 68端口响应给客户端一个DHCP offer数据包(包中包含IP地址、子网掩码、地址租期等信息)。告诉DHCP客户端,该DHCP服务器拥有资源,可以提供DHCP服务。

 

 

 

三.选择阶段,即DHCP客户机选择某台DHCP服务器提供的IP地址的阶段

   DHCP客户端接受到DHCP offer提供信息之后,如果客户机收到网络上多台DHCP服务器的响应,一般是最先到达的那个,然后以广播的方式回答一个DHCP request数据包(包中包含客户端的MAC地址、接受的租约中的IP地址、提供此租约的DHCP服务器地址等)。告诉所有DHCP服务器它将接受哪一台服务器提供的IP地址,所有其他的DHCP服务器撤销它们的提供以便将IP地址提供给下一次IP租用请求。

 

 

 

四.确认阶段,即DHCP服务器确认所提供的IP地址的阶段

   当DHCP服务器收到DHCP客户机回答的DHCP request请求信息之后,它便向DHCP客户机发送一个包含它所提供的IP地址和其他设置的DHCP ack确认信息,告诉DHCP客户机可以使用它所提供的IP地址。然后DHCP客户机便将其TCP/IP协议与网卡绑定,另外,除DHCP客户机选中的服务器外,其他的DHCP服务器都将收回曾提供的IP地址。

 

 

 

五.重新登录

    以后DHCP客户机每次重新登录网络时,就不需要再发送DHCP discover发现信息了,而是直接发送包含前一次所分配的IP地址的DHCP request请求信息。当DHCP服务器收到这一信息后,它会尝试让DHCP客户机继续使用原来的IP地址,并回答一个DHCP ack确认信息。如果此IP地址已无法再分配给原来的DHCP客户机使用时(比如此IP地址已分配给其它DHCP客户机使用),则DHCP服务器给DHCP客户机回答一个DHCP nack否认信息。当原来的DHCP客户机收到此DHCP nack否认信息后,它就必须重新发送DHCP discover发现信息来请求新的IP地址。

六.更新租约

   DHCP服务器向DHCP客户机出租的IP地址一般都有一个租借期限,期满后DHCP服务器便会收回出租的IP地址。如果DHCP客户机要延长其IP租约,则必须更新其IP租约。DHCP客户机启动时和IP租约期限过一半时,DHCP客户机都会自动向DHCP服务器发送更新其IP租约的信息

 

举个例子来说,在一个北展那么大的房子里,有很多人,这时候郭德纲大喊一声:“谁借我充电宝”                     ----这就是发现阶段DHCP discover

这时候于谦先说:“我有”,岳云鹏接着说:“我也有”                          ---提供阶段DHCP offer

这时候郭德纲说:于谦回答的,我借他的,                              ------选择阶段,选择第一个收到的DHCP服务器

于谦说:“好的,给你,一个小时还我”                                         ---------确认阶段,DHCP提供IP

第二天,郭德纲手机有没电了,这次直接找于谦                           -----重新登录

如果于谦说我的借给别人了,那郭老师就给重新开始第一步,大喊:“谁借我充电宝”           -----如果IP无法给原来的用户,客户端必须重新发送DHCP discover

郭老师借了半个小时,觉得还要用,就对于谦说:“一会在还你,我在用一个小时”            -------跟新租约

 

参考链接:

DHCP协议原理及其实现流程:

https://blog.csdn.net/wuruixn/article/details/8282554

DHCP协议详解:https://blog.csdn.net/zzd_zzd/article/details/88372014

posted @ 2019-09-03 15:02  God苏澈  阅读(1515)  评论(0)    收藏  举报