小明:亲爱的,苹果iPhone 12发布啦!
丽丽:哇!好兴奋!我可以换手机了!
小明:你的手机不是用得好好的吗?
丽丽:最近手机上网老有问题,我早想换了,就等iPhone 12发布。
小明:你手机拿过来,我看看是什么问题?
···问题处理中···
小明:哦,这个是DHCP服务器问题,不是你手机问题。我重启了无线路由器,手机就可以正常上网了。
丽丽:亲爱的,你真棒!一下子就把问题解决了。那我的手机就给你用吧,因为我发现你用我的手机更合适,我就买iPhone 12吧。
小明:。。。。。。
丽丽:反正我也不知道什么是DHCP,出了问题也不知道怎么解决。
小明:那我给你解释下,手机连接WiFi网络上网前,需要手动配置网络配置,但是通过DHCP功能可以自动获取网络配置,不需要手动操作。
DHCP(动态主机配置协议)是一个局域网的网络协议。指的是由服务器控制一段IP地址范围,客户机登录服务器时就可以自动获得服务器分配的IP地址、子网掩码和DNS地址。DHCP报文是承载于UDP上的协议报文,采用67(DHCP服务器)和68(DHCP客户端)两个端口号。
丽丽:涨知识啦,那iPhone 12的DHCP功能是不是更好用?
小明:手机都有这个功能,跟手机型号无关的。要了解DHCP功能,先要了解DHCP的工作原理。
DHCP客户端与DHCP服务器的报文交互过程的四步交互,就好比找工作的过程。
第一步:DHCP客户端以广播方式发送DHCP DISCOVER报文给同一网段内的所有设备,DHCP DISCOVER报文中携带了客户端的MAC地址、需要请求的参数列表选项等信息。
比如:应聘人给各个公司发简历,简历里面有个人信息和工作要求;
第二步:同一网段的DHCP服务器都会接收到DHCP DISCOVER报文,DHCP服务器选择跟接收DHCP DISCOVER报文接口的IP地址处于同一网段的地址池,并且从中选择一个可用的IP地址,然后通过DHCP OFFER报文发送给DHCP客户端。
比如:很多公司都会收到应聘简历,每个根据公司情况提供相应的招聘岗位offer发给应聘人;
第三步:如果有多个DHCP服务器向DHCP客户端回应DHCP OFFER报文,则DHCP客户端一般只接收第一个收到的DHCP OFFER报文,然后以广播方式发送DHCP REQUEST报文,该报文中包含客户端想选择的DHCP服务器标识符和客户端IP地址。
比如:如果应聘人收到很多公司的offer,会选择第一个发offer的公司。然后把这个消息发送给所有公司。
第四步:当DHCP服务器收到DHCP客户端发送的DHCP REQUEST报文后,DHCP服务器回应DHCP ACK报文,表示DHCP REQUEST报文中请求的IP地址分配给客户端使用。
比如:第一个发offer的公司收到应聘人的反馈后,会发送应聘成功消息给应聘人,表示招聘岗位会给应聘人。
丽丽:签订的劳动合同到期了,就自动解约吗?
小明:这个就是DHCP客户端更新租期的问题。就跟充值会员到期前的提醒消息一样。
DHCP客户端更新租期,假设充值会员有效期是1000小时:
T1:当租期达到50%(T1)时,DHCP客户端会自动以单播的方式向DHCP服务器发送DHCP REQUEST报文,请求更新IP地址租期。
比如:使用了500小时后,就有提醒消息说还有500小时会员到期,可以充值续期。
T2:当租期达到87.5%(T2)时,如果仍未收到DHCP服务器的应答,DHCP客户端会自动以广播的方式向DHCP服务器发送DHCP REQUEST报文,请求更新IP地址租期。
比如:如果一直不充值续期,那么使用到875小时, 又会发送提醒消息,提示充值续期。
如果租期时间到时都没有收到服务器的回应,客户端停止使用此IP地址,重新发送DHCP DISCOVER报文请求新的IP地址。
比如:如果使用完1000小时都不充值续期,那么会员功能停用,提醒消息提示充值可开通会员功能。
丽丽:我想到一个好的比喻,比如你什么时候给我买iPhone 12?
小明:。。。。。。