DHCP协议工作过程详解

DHCP协议工作过程

由于在IP地址动态获取过程中采用广播方式发送报文,因此要求DHCP客户端和服务器位于同一个网段内。如果DHCP客户端和DHCP服务器位于不同的网段,则需要通过DHCP中继来中继转发DHCP报文。

通过DHCP中继完成动态配置的过程中,客户端与服务器的处理方式与不通过DHCP中继时的处理方式基本相同。下面仅以DHCP客户端与DHCP服务器在同一网段的情况为例,说明DHCP协议的工作过程。

为了动态获取并使用一个合法的IP地址,需要经历以下几个阶段:

(1) 发现阶段:即DHCP客户端寻找DHCP服务器的阶段。

(2) 提供阶段:即DHCP服务器提供IP地址的阶段。

(3) 选择阶段:即DHCP客户端选择某台DHCP服务器提供的IP地址的阶段。

(4) 确认阶段:即DHCP服务器确认所提供的IP地址的阶段

  1. 发现阶段

在发现阶段,DHCP客户端通过发送DHCP-DISCOVER报文来寻找DHCP服务器。

由于DHCP服务器的IP地址对于客户端来说是未知的,所以DHCP客户端以广播方式发送DHCP-DISCOVER报文。所有收到DHCP-DISCOVER报文的DHCP服务器都会发送回应报文,DHCP客户端据此可以知道网络中存在的DHCP服务器的位置。

  1. 提供阶段

网络中接收到DHCP-DISCOVER报文的DHCP服务器,会选择一个合适的IP地址,连同IP地址租约期限和其他配置信息(如网关地址,域名服务器地址等)一同通过DHCP-OFFER报文发送给DHCP客户端。

DHCP服务器通过地址池保存可供分配的IP地址和其他配置信息。当DHCP服务器接收到DHCP请求报文后,将从IP地址池中取得空闲的IP地址及其他的参数,发送给DHCP客户端。

DHCP服务器为客户端分配IP地址的优先次序如下:

(1) 与客户端MAC地址或客户端ID静态绑定的IP地址;

(2) DHCP服务器记录的曾经分配给客户端的IP地址;

(3) 客户端发送的DHCP-DISCOVER报文中Option 50字段指定的IP地址;

(4) 在DHCP地址池中,顺序查找可供分配的IP地址,最先找到的IP地址;

(5) 如果未找到可用的IP地址,则依次查询租约过期、曾经发生过冲突的IP地址,如果找到则进行分配,否则将不予处理。

DHCP服务器为客户端分配IP地址时,服务器首先需要确认所分配的IP没有被网络上的其他设备所使用。DHCP服务器通过发送ICMP Echo Request(ping)报文对分配的IP进行探测。如果在规定的时间内没有应答,那么服务器就会再次发送ping报文。到达规定的次数后,如果仍没有应答,则所分配的IP地址可用。否则将探测的IP地址记录为冲突地址,并重新选择IP地址进行分配。

  1. 选择阶段

如果有多台DHCP服务器向DHCP客户端回应DHCP-OFFER报文,则DHCP客户端只接受第一个收到的DHCP-OFFER报文。然后以广播方式发送DHCP-REQUEST请求报文,该报文中包含Option 54(服务器标识选项),即它选择的DHCP服务器的IP地址信息。

以广播方式发送DHCP-REQUEST请求报文,是为了通知所有的DHCP服务器,它将选择Option 54中标识的DHCP服务器提供的IP地址,其他DHCP服务器可以重新使用曾提供的IP地址。

  1. 确认阶段

收到DHCP客户端发送的DHCP-REQUEST请求报文后,DHCP服务器根据DHCP-REQUEST报文中携带的MAC地址来查找有没有相应的租约记录。如果有,则发送DHCP-ACK报文作为应答,通知DHCP客户端可以使用分配的IP地址。

DHCP客户端收到DHCP服务器返回的DHCP-ACK确认报文后,会以广播的方式发送免费ARP报文,探测是否有主机使用服务器分配的IP地址,如果在规定的时间内没有收到回应,客户端才使用此地址。否则,客户端会发送DHCP-DECLINE报文给DHCP服务器,通知DHCP服务器该地址不可用,并重新申请IP地址。

如果DHCP服务器收到DHCP-REQUEST报文后,没有找到相应的租约记录,或者由于某些原因无法正常分配IP地址,则发送DHCP-NAK报文作为应答,通知DHCP客户端无法分配合适IP地址。DHCP客户端需要重新发送DHCP-DISCOVER报文来请求新的IP地址。

文章转自:https://zhuanlan.zhihu.com/p/74394924

  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
DHCP服务器是一种网络协议,它可以自动向客户机分配IP地址、子网掩码、默认网关等网络配置信息。DHCP服务器的工作过程如下: 1. DHCP服务器启动:DHCP服务器在启动时,会读取自己的配置文件,包括IP地址池、租约时间等信息,并开始监听DHCP客户机的请求。 2. DHCP客户机发现:当DHCP客户机启动时,会发送一个广播消息,寻求DHCP服务器的帮助。这个广播消息被称为“DHCPDISCOVER”。 3. DHCP服务器提供:DHCP服务器收到DHCP客户机的请求后,会回复一个包含可用IP地址的“DHCPOFFER”消息。在这个过程中,DHCP服务器会从自己的IP地址池中选择一个空闲的IP地址,并将其提供给DHCP客户机。 4. DHCP客户机请求:DHCP客户机收到DHCP服务器的“DHCPOFFER”后,会发送一个“DHCPREQUEST”消息,请求使用DHCP服务器提供的IP地址。 5. DHCP服务器确认:DHCP服务器收到DHCP客户机的“DHCPREQUEST”后,会回复一个“DHCPACK”消息,确认分配给DHCP客户机的IP地址,并提供其他的网络配置信息,如子网掩码、默认网关等。 6. DHCP客户机维护:DHCP客户机使用分配的IP地址进行网络通信。在使用期间,DHCP客户机会定期向DHCP服务器发送“DHCPREQUEST”消息,以更新租约时间。如果租约时间到期,DHCP客户机将重新进行DHCP发现过程,以获取新的IP地址。 以上就是DHCP服务器的工作过程

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值