DHCP协议的作用是动态分配IP地址
其出现的需求是,当计算机数目比较多时,管理员没有办法高效的分配ip地址,如果是每个人都找管理员配一下地址,不仅管理员忙不过来,等待上网的人也会非常痛苦;
那么DHCP协议是如何自动分配ip地址的呢
假设一台计算机A,没有地址,那么就开始了如下场景:
- A发送Udp的广播说:为没有地址,谁能给我一个, 我的mac地址是xxxxxx; //A发送源ip 0.0.0.0 目的ip 255.255.255.255
- 网络中的DHCP服务器收到A的这个广播消息,判断这个mac地址有没有出现过
- 如果出现过,则会拒绝分配,因为你不是已经跟我要过了吗,我已经给过你了,你不要贪心
- 如果没有出现过,则会为其分配一个Ip地址,并且将ip地址 + 租期 + 子网掩码 + 网关等一起发送回去;
- 机器A收到DHCP服务器的应答,如果有多个DHCP服务器应答了它,则会选择最先回复它的服务器
- A广播说,为将租用XXDHCP服务器为我分配的地址,其他服务器,感谢你们的厚爱,把地址留给更需要的人吧
- XXDHCP服务器收到A租用它的地址的消息,回复确认并广播,XXDHCP服务器,将A的Mac地址及其租用信息记录下来
- 一转眼租期过了一半,如果A要续租这个ip,则会发送消息,为这个地址用的不错,我还不想走,我要续租
- 则DHCP服务器会更新这个A的租期
- 如果A用完不租了,则DHCP服务器就回收这个地址
DHCP能够判断A有没有在租的前提是因为MAC地址全球唯一,不用担心网络上出现重复的MAC。
总结:新接入的计算机通过广播,向DHCP服务器请求租用地址
DHCP服务器分配地址、租期等信息给计算机
继续使用就续租,不使用就不租,收回地址