DHCP协议

概念

(动态主机配置协议)是一个局域网的网络协议。指的是由服务器控制一段IP地址范围,客户机登录服务器时就可以自动获得服务器分配的IP地址,子网掩码,Gateway地址、DNS服务器地址等信息,并能够提升地址的使用率

DHCP使用客户服务器方式。需要IP地址的主机在启动时就向DHCP服务器广播发送发现报文(将目的IP地址置为全1,即255.255.255.255),这时该主机就称为DHCP客户。发送广播报文是因为现在还不知道DHCP服务器在什么地方,因此要发现DHCP服务器的IP地址。这台主机目前还没有自己的IP地址,因此它将IP数据包的源IP地址设为全0,这样在本地网络上的所有主机都能收到这个广播报文,但只有DHCP服务器才对此广播报文进行回答。DHCP服务器先在其数据库中查找该计算机的配置信息。若找到则返回找到的信息。若找不到,则从服务器的IP地址池中取一个地址分配给该计算机

并不是每个网络上都设置一个DHCP服务器,因为这样会使DHCP服务器的数量太多。因此现在是使每个网络至少有一个DHCP中继代理(通常是一台路由器,它配置了DHCP服务器的IP地址信息。当DHCP中继代理收到主机A以广播形式发送的发现报文后,就以单播的方式向DHCP服务器转发此报文,并等待其回答。收到DHCP服务器回答的提供报文后,DHCP中继代理再把此提供报文发回给主机A)

DHCP客户端发现服务器.png

DHCP服务器分配给DHCP客户的IP地址是临时的,因此DHCP客户只能在一段有限的时间内使用这个分配到的IP地址。DHCP协议称这段时间为租用期

DHCP客户使用的UDP端口是68,而DHCP服务器使用的UDP端口是67

DHCP工作过程

DHCP协议工作过程.png
  1. DHCP服务器被动打开UDP端口67,等待客户端发来的报文
  2. DHCP客户从UDP端口68发送DHCP发现报文
  3. 凡收到DHCP发现报文的DHCP服务器都发出DHCP提供报文,因此DHCP客户可能收到多个DHCP提供报文
  4. DHCP客户从几个DHCP服务器中选择其中的一个,并向所选择的DHCP服务器发送DHCP请求报文
  5. 被选择的DHCP服务器发送确认报文DHCPACK。从这时起,DHCP客户就可以使用这个IP地址了。这种状态叫做已绑定状态,因为在DHCP客户端的IP地址和硬件地址已经完成绑定,并且可以开始使用得到的临时IP地址了。DHCP客户现在要根据服务器提供的租用期T设置两个计时器T1和T2,它们的超时时间分别是0.5T和0.875T。当超时时间到了就要请求更新租用期
  6. 租用期过了一半(T1时间到),DHCP发送请求报文DHCPREQUEST要求更新租用期
  7. DHCP服务器若同意,则发回确认报文DHCPACK。DHCP客户得到了新的租用期,重新设置计时器
  8. DHCP服务器若不同意,则发回否认报文DHCPACK。这时DHCP客户必须立即停止使用原来的IP地址,而必须重新申请IP地址(回到步骤2)
    若DHCP服务器不响应步骤6的请求报文DHCPREQUEST,则在租用期过了87.5%(T2时间到),DHCP客户必须重新发送请求报文DHCPREQUEST(重复步骤6),然后又继续后面的步骤
  9. DHCP客户可以随时提前终止服务器所提供的租用期,这时只需要向DHCP服务器发送释放报文DHCPRELEASE即可

DHCP很适合于经常移动位置的计算机。当计算机使用Windows操作系统时,点击"控制面板"的"网络"图标就可以找到某个连接中的网络下面的菜单,找到TCP/IP协议后点击其"属性"按钮,若选择"自动获得IP地址"和"自动获得DNS服务器地址",就表示是使用DHCP协议

你可能感兴趣的:(DHCP协议)