DHCP详解

时间:2024-04-12 07:52:30

DHCP的基本内容

随着更多的家庭计算机与移动终端设备接入ISP,动态主机配置协议显得越来越重要
了。任何一台计算机或数字终端设备接入Internet都需要配置DHCP。更多的计算机与数
字终端设备一开机就要通过DHCP获取IP地址与相关的配置信息。

DHCP服务器的主要功能

DHCP最重要的特点是在动态IP地址分配与地址租用。DHCP是基于客户/服务器
工作模式的。DHCP服务器是一个为客户计算机提供动态主机配置服务的网络设备。
DHCP服务器的主要功能如下。
(1)地址储存与管理
DHCP服务器储存IP地址,记录哪些IP地址已经被使用,哪些IP地址可用。
(2)配置参数的储存和管理
DHCP服务器储存和维护其他的主机配置参数。
(3)租用管理
DHCP服务器用租用的方式将IP地址动态地分配给主机,并管理IP地址的租用期
(lease period). DHCP服务器维护批准租用给主机的IP地址信息,以及租用期长度,
RFC1533规定租用期用4个字节的二进制数来表示,单位为秒。
(4)响应客户主机请求
DHCP服务器响应主机发送的请求分配地址、传送配置参数,以及租用的批准、更新与
终止等各种类型的请求。
(5)服务管理
DHCP服务器允许管理员查看、改变和分析有关地址、租用、参数等,以及与DHCP服
务器运行相关的信息。

DHCP客户的主要功能

DHCP客户主机的主要功能如下。
(1)发起配置
DHCP客户主机可以随时向DHCP服务器发起获取IP地址与配置参数的协商过程。
(2)配置参数管理
DHCP客户主机可以从DHCP服务器获取全部或部分配置参数,并维护配置参数。
(3)租用管理
DHCP客户主机可以更新租用期,在无法更新时进行重绑定,在不需要时提前终止
租用。
(4)报文重传
DHCP采用UDP协议,DHCP客户主机委负责检测UDP报文是否丢失,以及丢失之
后的重传。

DHCP 客户与服务器的交互过程示意图

DHCP客户与服务器的交互过程如下。
DHCP详解
①DHCP客户编需要按照DHCP协议构造一个IP租用请求DHCPDISCOVER请求
报文,以广播方式发送出去,客户进入初始化状态。
②凡是接收到DHCP客户端请求报文的DHCP服务器都要返回一个DHCPOFFER应答报文。DHCPOFFER 应答报文中包括有分配给DHCP客户端的IP地址、租用期及其他参数。
③可能收到多个DHCPOFFER应答报文的DHCP客户端,从中选择一个DHCP服务器。然后向被选择的DHCP服务器发送一个DHCPREQUEST请求报文,作为对它所选择的服务的回应。
④被选择的DHCP服务器向DHCP客户端发送一个DHCPACK应答报文。当DHCP客户端接收到DHCPACK应答报文之后,客户端才可以使用分配的临时IP地址,进入已绑定状态。

租用管理

同时,DHCP客户端需要设置两个计时器T1和T2。T1=0.5T,T2=0.875T。T为租用期。当计时器T1=0.5T时,客户端发送一个DHCPREQUEST请求报文,请求更新租用期。

这时可能出现三种情况。
①DHCP服务器同意更新租用期、它将返回DHCPACK应答报文,DHCP客户端获得
了新的租用期,可以重新设置计时器。
②如果DHCP服务器不同意更新租用期,它将返回DHCPACK应答报文,表示DHCP客户端需要重新申请新的IP地址,
③如果DHCP客户端没有收到DHCP服务器的应答报文,那么当T2=0. 875T的时间到时,DHCP客户端必须重新发送一个DHCPREQUEST请求报文,重新申请新的IP地址。

如果DHCP客户端准备提前结束服务器提供的租用期,这时DHCP客户端只要向
DHCP服务器发出一个DHCPRELEASE的释放报文。

DHCP的工作过程

DHCP discover :客户端广播发送DHCP discoverDHCP offer :服务器接收到DHCP discover之后发送,它包括了给予客户端的IP、客户端的MAC地址、租约过期时间、服器的识别符以及其他信息。
DHCP request :客户端收到服务器发出的DHCP offer后发送给服务器,在续约租期的时候同样会使用。
DHCP ACK :服务器在接收到客户端发来的DHCP request之后发出的成功确认的报文。在建立连接的时候,客户端在接收到这个报文之后才会确认分配给它的IP和其他信息可以被允许使用。
需要自动获取IP地址的客户端开启自动获取IP地址之后,本地广播发出DHCP Discover数据包,
源IP地址0.0.0.0,目标IP地址255.255.255.255,源MAC地址为本地网卡MAC,目标MAC为FFFF-FFFF-FFFF,
源端口为68,目标端口为67;
开启了DHCP服务的服务器收到此数据包后,发送免费ARP以确定所要下发的IP地址没有冲突,再本地基于广播的形式回复DHCP Offer数据包,
源IP是服务器IP地址,目标IP地址255.255.255.255,源MAC为服务器网卡MAC,目标MAC为FFFF-FFFF-FFFF,
源端口为67,目标端口为68;
客户端使用DHCP Request数据包请求IP地址,服务器回复ACK给客户端,客户端拿到IP地址。