跳转至

DHCP协议

来源:计算机网络 / 网络层/DHCP协议.md

DHCP协议

动态主机配置协议Dynamic Host Configuration Protocol DCHP是应用层协议,基于UDP 因为他是通过C/S方式工作的

DHCP 的工作原理

使用客户/服务器模型。需要IP地址的主机在启动时就向 DHCP 服务器广播发送发现报文,这时该主机就成为 DHCP客户。本地网络上的所有主机都能收到这个广播报文,但只有 DHCP服务器才能回答此广播报文。DHCP 服务器先在其数据库中查找该计算机的配置信息。若找到,则返回找到的信息;若找不到,则从服务器的IP地址池中取一个地址分配给该计算机。DHCP服务器的回答报文称为提供报文。

DHCP 服务器和 DHCP 客户的交换过程

1) DHCP 客户广播“DHCP 发现”消息,试图找到网络中的 DHCP 服务器,以便从 DHCP服务器获得一个IP地址。源地址为 0.0.0.0,目的地址为255.255.255.255。 2) DHCP 服务器收到“DHCP 发现”消息后,广播“DHCP 提供”消息,其中包括提供给DHCP 客户机的IP 地址。源地址为 DHCP 服务器地址,目的地址为 255.255.255.255。 3) DHCP 客户收到“DHICP 提供”消息,若接受该IP 地址,则广播“DHCP 请求”消息向DHCP 服务器请求提供IP地址。源地址为 0.0.0.0,目的地址为255.255.255.255。 4) DHCP 服务器广播“DHCP 确认”消息,将IP地址分配给 DHCP客户。源地址为 DHCP服务器地址,目的地址为255.255.255.255。

DHCP 允许网络上配置多台 DHCP 服务器,当 DHCP 客户发出“DHCP 发现”消息时,有可能收到多个应答消息。这时,DHCP 客户只会挑选其中的一个,通常挑选最先到达的。

租用期

DHCP 服务器分配给 DHCP 客户的IP 地址是临时的,因此 DHCP 客户只能在一段有限的时间内使用这个分配到的IP 地址。DHCP 称这段时间租用期。租用期的数值应由 DHCP 服务器自己决定,DHCP客户也可在自己发送的报文中提出对租用期的要求。

为什么不用TCP

DHCP 客户和服务器端需要通过广播方式来进行交互,原因是在 DHCP 执行初期,客户机不知道服务器端的IP 地址,而在执行中间,客户机并未被分配IP 地址,从而导致两者之间的通信必须采用广播的方式。采用 UDP 而不采用TCP 的原因也很明显:TCP 需要建立连接,若连对方的IP地址都不知道,则更不可能通过双方的套接字建立连接。

DHCP 是应用层协议,因它是通过客户/服务器模式工作的,DHCP 客户向 DHCP服务器请求服务,而其他层次的协议是没有这两种工作方式的

相关笔记