- 协议软件特点:通用和便于移植
- 参数化:协议软件运行之前,必须给每一个参数赋值
- 赋值动作:协议配置
- 配型信息:取决于协议栈
DHCP提供:即插即用连网
使用客户服务器方式
DHCP给运行服务器软件而位置固定的计算机指派一个永久地址,重启不改变
DHCP给运行客户软件的计算机动态分配配置信息而不需要手动干预
过程:需要IP地址的主机在启动时就向DHCP服务器广播发送发现报文(DHCPDISCOVER)(将目的IP地址置为全1,255.255.255.255),这时该主机成为DHCP客户(源地址IP:全0)。在本地网络上的所有主机都能够收到这个广播报文,但只有DHCP服务器才对此报文进行回答。DHCP服务器先在其数据库中查找该计算机的配置信息。若找到,则返回找到的信息;若找不到,则从服务器的IP地址池中取一个地址分配给该计算机。DHCP服务器的回答报文叫做提供报文(DHCPOFFER)
每一个网络至少有一个DHCP中继代理(通常为一个路由器)
- 收到主机A广播的发现报文
- 以单播方式转发给DHCP服务器,等待回答
- 收到DHCP服务器回答的提供报文
- 将提供报文发回给主机A
实际上:DHCP报文只是UDP用户数据报
租用期:DHCP客户只能在一段有限的时间内使用这个分配到的IP地址。该数值由服务器决定,同时客户也可在发现报文中提出要求
DHCP客户使用的UDP端口是68
DHCP服务器使用的UDP端口是67
DHCP详细工作过程
DHCP服务器被动打开UDP端口67,等待客户端发来的报文
DHCP客户从UDP端口68发送DHCP发现报文
凡收到DHCP发现报文的DHCP服务器都发出DHCP提供报文,因此DHCP客户可能收到多个DHCP提供报文
DHCP客户从几个DHCP服务器中选择其中的一个,并向所选择的DHCP服务器发送DHCP请求报文
-
被选择的DHCP服务器发送确认报文DHCPACK。从这时起,DHCP客户就可以使用这个IP地址,这种状态称之为已绑定状态
DHCP客户需要根据服务器提供的租用期 T 设置两个计时器 T1(0.5T),T2(0.875T),当超时时间到了就请求更新租用期
租用期过了一半(T1时间到),DHCP发送请求报文 DHCPREQUEST 要求更新租用期
DHCP 服务器同意,则发回确认报文 DHCPACK,DHCP客户得到新的租用期,重新设置计时器
-
DHCP 服务器不同意,则发回否认报文 DHCPNACK,这时DHCP客户必须立即停止使用原来的IP地址,而必须重新申请IP地址(回到步骤2)
若DHCP服务器不响应步骤6的报文,则在租用期过了0.875(T2时间到)时,重复步骤6
DHCP客户可以随时提前终止服务器所提供的租用期,只需向DHCP服务器发送释放报文DHCPRELEASE