欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

对DHCP的理解

程序员文章站 2024-02-25 14:30:03
...

对DHCP的理解

本人小白一枚,所以我写的内容纯属是我自己的理解,此次讲的DHCP的理解是一次工作室的作业,所以有误的话欢迎大家提出。

一、功能

DHCP是Dynamic Host Configuration Protocol的缩写,中文名字叫动态主机配置协议,顾名思义,所谓的动态主机分配协议就是管理和分配IP地址,使网络环境中的主机动态的获得IP地址、Gateway地址、DNS服务器地址等信息,并能够提升地址的使用率(百度百科所阐述DHCP的功能)。 不懂吗?没事,接着讲。
相信大家都上过网,应该家里都有路由器吧;在登陆路由器的时候,都会看到有谁在曾自己家的网,那大家有没有想过为什么会蹭上自己家的网呢?此时有人就说了:“这还用说吗,他知道我家的WiFi密码啊!”这样说真的是一点毛病都没有,但是更深入的理解是什么呢?
这就要用到我们所讲的DHCP了。一个手机,有了某个WiFi的WiFi密码,然后就相当有了一扇大门的钥匙,开启大门之后,接下来的事情就不用你来操心了,这时候就是DHCP的功能了,他会给你一个独一无二IP地址,简单的说有了这个IP地址你就可以上网了。
附:路由器设置图片对DHCP的理解

二、工作机制

上面我们所讲的DHCP原来就是一个分地址的,那么它是怎么分的呢?
这个工作机制分为四个过程,接下来为大家一一讲解。
第一步: 客户端发送 DHCPdiscovery 包(用于搜索DHCP的数据包,暂且不用纠结),请求DHCP服务器,就是查找网络上的DHCP服务器。简而言之就是客户端要搜索DHCP服务器,注:这种方式是以广播的形式进行的。
第二步:服务器听到了一定要回答啊,所以服务器向回应客户端的 DHCPoffer 包,目的告诉客户端,我能为你服务提供IP地址。
第三步: 听到了回答,客户端要请求上网,所以发送DHCPrequest 包,客户端向服务器请求IP地址。
第四步: 最后,服务端要确认,发送DHCPack 包,确认包,服务器向客户端分配IP地址。

注:如果网络中有多个DHCP服务器,则客户端接受响应速度最快的那个DHCP服务器

附:工作机制图:对DHCP的理解

附一个小故事:让大家可以更好的理解DHCP的工作原理。
我们把DHCP客户机比做餐馆里的客人,DHCP服务器比做服务员(一个餐馆里也可以有多个服务员),IP地址比做客户需要的食物。可以这样描述整个过程:
客人走进餐馆,问:“有没有服务员啊?”(DHCP discover),
多个服务员同时回答:“有,我这有鸡翅”“有,我这有汉堡”(DHCP offer)。
客人说:“好吧,我要一份汉堡”(DHCP request,这个客人比较死板,总是选择第一次听到的食物),
端着汉堡的服务员回应了一声:“来啦”(DHCP ack),并把食物端到客人面前,供其享用(将网卡和IP地址绑定)。
客人下次来的时候,就直接找上次那个服务员点自己喜欢的汉堡了(DHCP request),如果还有汉堡,服务员会再次确认并上菜(DHCP ack),而如果已经卖完了,服务员则会告诉客人:“不好意思,已经卖完了”(DHCP nack)。
当然,服务员隔一段时间会来收拾一次桌子,除非客人特别说明这菜还要继续吃的,服务员会将剩菜端走。

三:DHCP三种机制分配IP地址

既然是分配IP地址,但是它却又三种分配的方法。

一.自动分配
DHCP服务器给首次连接到网络的某些客户端分配固定IP地址,该地址由用户长期使用;
二.动态分配
DHCP服务器给客户端分配有时间限制的IP地址,使用期限到期后,客户端需要重新申请地址,客户端也可以主动释放该地址。绝大多数客户端主机得到的是这种动态分配的地址;
三.手动分配
由网络管理员为客户端指定固定的IP地址。
这三种分配分配机制相信大家已经看懂了,那么接下来讲一下我的补充吧。

四:补充

提问一:为什么要分配地址呢?
答:我觉得你问的是废话,就像一个人,为什么要有名字呢?电脑也要区分不同的对象啊,所以要分配不同的IP地址。

提问二:DHCP分配的地址是固定的吗?
答:这个我只能说由三种分配机制来决定,自动和手动分配的是固定的,而动态分配的地址是有租期的,所以超过一定时间是会更改的。

End:这是第一发博客,而且是这种问题,如果有错的地方,欢迎大家和我一起研讨。