大家好,又见面了,我是你们的朋友全栈君。
- DHCP协议简介
DHCP协议是client端申请IP,server端分配IP的解决方案。DHCP协议兼容BOOTP协议,并具有动态分配IP的功能,也就是说IP地址被server分配给client端后,当client端主动释放IP,或IP租期到期后,server可以回收再分配。
- DHCP三种分配方式
A 自动分配。
- DHCP的8种报文
A DHCPDISCOVER
(Client开始要IP,发的第一个报文)
(
Client收到DHCPOFFER后的回应报文)
(Server收到DHCPREQUEST后,同意就发DHCPACK)
(Server收到DHCPREQUEST后,不同意就发DHCPNCK)
(Client要到IP后,若发现IP冲突,就向server发送DHCPDECLINE报文)
(Client主动释放IP时会发送DHCPRELEASE报文)
DHCPINFORM
(Client向server发送,或取一些配置信息)
- DHCP分配IP
(一)
Client处于初始化状态,client没有存储以前IP时,要IP过程如下图:
1、Client端首先把需要的参数写入DHCPDISCOVER报文中,以广播的形式发送给网络里的所有DHCP server。 2、server会根据自己实际情况,若能够提供IP,就会把自己的IP和xian提供给Client的IP写入DHCPOFFER报文中,通过广播的方式发送出去。 3、Client可能会收到很多DHCPOFFER,Client一般会选择最早收到的DHCPOFFER报文,并把自己想要的IP和serverIP写入DHCPREQUEST中,以广播的方式发出。 4、网络上的所有server都会收到DHCPREQUEST,Server 把DHCPREQUEST中的serverIP和自己的IP作比较,若不同,就不做处理;若相同,就发送DHCPACK或DHCPNCK. Client收到DHCPACK,client需要IP是否冲突检查,不冲突则成功;若冲突,client会向server发送DHCPDECLINE,server会把该IP标记为不可用。
(二)
Client要到过IP,再重启,要IP过程如下图:
1、Client首先把Client以前的IP和IP对应server的IP写入DHCPREQUEST报文中,以广播的形式发送给网络里的所有DHCP server。 2、网络上所有server都会收到DHCPREQUEST,Server 把DHCPREQUEST中的serverIP和自己的IP作比较,若不同,就不做处理;若相同,就发送DHCPACK或DHCPNCK. Client收到DHCPACK,client需要IP是否冲突检查,不冲突则成功;若冲突,client会向server发送DHCPDECLINE,server会把该IP标记为不可用。
(三)
Client进行IP续租过程如下图:
1、在使用租期到50%后,client向server单播发送DHCPREQUEST,延续租期。 2、server若同意,则发送DHCPACK,client开始一个新的租用周期;若不同意,则发送DHCPNAK,继续使用目前IP。 3、client单播请求没有被同意,在租期过去87.5%时刻处,client向server广播发送DHCPREQUEST。 4、server若同意,则发送DHCPACK,client开始一个新的租用周期;若不同意,则发送DHCPNAK,租期到期后,client放弃这个IP,重要IP。
发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/142229.html原文链接:https://javaforall.cn
【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛
【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...