让梦想从这里开始

因为有了梦想,我们才能拥有奋斗的目标,而这些目标凝结成希望的萌芽,在汗水与泪水浇灌下,绽放成功之花。

啥都玫说之网络篇-4从协议到服务
发布日期:2022-05-24 20:41    点击次数:92

4.从协议到服务

4.1 每家都有它

每家都用到的协议或者是服务是什么?一定是这个,我先不说它是什么协议或者服务,先说它是做什么的。当我们进入一个网络当中,无论是有线的还是无线的,我们不需要配置上网需要的IP地址,也不需要管什么是网关什么是掩码,而这些东西又不能没有,那我们是这么获得的?对了,就是通过后边要提到的这个。

先得说说,从协议到服务的距离,一般来说,如果某一个应用程序,需要使用网络通信,就一定要使用一种协议;反过来说,如果一种协议需要让大家使用,就一定要又一个服务或者应用程序来支持。

好了,我们可以聊聊这个每家都有的服务了,DHCP服务。DHCP是动态主机设置协议,英语是Dynamic Host Configuration Protocol,简称DHCP。它是一个局域网的网络协议,是一种网络管理协议,而由DHCP实例化的服务主要有两个用途:用于为进入网络的任何新结点动态分配IP地址及相关信息;给用户用于内部网管理员作为对所有计算机作中央管理的手段。DHCP允许自动配置结点,从而避免了网络管理员参与的必要性。

DHCP服务分为两个部分:一个是服务器端,另一个是客户端。所有客户机的IP地址设定资料都由DHCP服务器集中管理,并负责处理客户端的DHCP请求;而客户端则会使用从服务器分配下来的IP地址。

DHCP 服务器有很多职责:

DHCP服务端配置为管理IP地址的提供,是运行DHCP协议的基本要求。服务端管理它分配给结点的所有IP地址的记录。如果结点在网络中重新加入或重新定位,则服务端使用其MAC地址识别结点。这有助于防止将相同IP地址意外配置到两个不同的结点。

要使DHCP运行,需要使用它配置客户端。当支持DHCP的客户端连接到网络时,客户端向DHCP服务端广播请求以进行网络设置。

服务端通过提供必要的IP配置信息来响应客户端的请求。

DHCP服务器非常适用于定期包含和排除网络结点(如无线热点)的情况。在这些情况下,DHCP服务端还会为每个客户端分配一个租用时间,之后分配的IP地址无效。

DHCP服务端提供三种IP分配方式:

[x] 自动分配(Automatic Allocation)是当DHCP客户端第,一次成功地从DHCP服务端分配到一个IP地址之后,就永远使用这个地址。

[x] 动态分配(Dynamic Allocation)是当DHCP客户端第,一次从DHCP服务端分配到IP地址后,并非永,久地使用该地址,每次使用完后,DHCP客户端就得释放这个IP地址,以给其他客户端使用。

[x] 手动分配是由DHCP服务端管理员专门为客户端指定IP地址。

DHCP客户端在启动时,会搜寻网络中是否存在DHCP服务端。如果找到,则给DHCP服务端发送一个请求。DHCP服务端接到请求后,为DHCP客户端选择TCP/IP配置的参数,并把这些参数发送给客户端。 如果已配置冲突检测设置,则DHCP服务端在将租约中的地址提供给客户端之前会测试作用域中每个可用地址的连通性。这可确保提供给客户的每个IP地址都没有被使用手动TCP/IP配置的另一台非DHCP计算机使用。新客户端的租约过程有4个步骤。

下面我们研究研究DHCP的工作过程:

当DHCP客户端第一次登录网络的时候,计算机发现本机上没有任何IP地址设定,将以广播方式发送DHCP discover发现信息来寻找DHCP服务端,即向255.255.255.255发送特定的广播信息。网络上每一台安装了TCP/IP协议的主机都会接收这个广播信息,但只有DHCP服务端才会做出响应。

在网络中接收到DHCP discover发现信息的DHCP服务端就会做出响应,它从尚未分配的IP地址池中挑选一个分配给DHCP客户端,向DHCP客户端发送一个包含分配的IP地址和其他设置的DHCP offer提供信息。

DHCP客户端接受到DHCP offer提供信息之后,选择第一个接收到的提供信息,然后以广播的方式回答一个DHCP request请求信息,该信息包含向它所选定的DHCP服务端请求IP地址的内容。

当DHCP服务端收到DHCP客户端回答的DHCP request请求信息之后,便向DHCP客户端发送一个包含它所提供的IP地址和其他设置的DHCP ack确认信息,告诉DHCP客户端可以使用它提供的IP地址。然后,DHCP客户机便将其TCP/IP协议与网卡绑定,另外,除了DHCP客户机选中的DHCP服务端外,其他的DHCP服务端将收回曾经提供的IP地址。

这个过程其实是对上边图片的描述,另外还有两个过程,就是重新登录和更新租约。

以后DHCP客户端每次重新登录网络时,就不需要再发送DHCP discover发现信息了,而是直接发送包含前一次所分配的IP地址的DHCP request请求信息。当DHCP服务端收到这一信息后,它会尝试让DHCP客户机继续使用原来的IP地址,并回答一个DHCP ack确认信息。如果此IP地址已无法再分配给原来的DHCP客户机使用时,则DHCP服务端给DHCP客户机回答一个DHCP nack否认信息。当原来的DHCP客户机收到此DHCP nack否认信息后,它就必须重新发送DHCP discover发现信息来请求新的IP地址。

DHCP服务端向DHCP客户端出租的IP地址一般都有一个租借期限,期满后DHCP服务端便会收回出租的IP地址。如果DHCP客户端要延长其IP租约,则必须更新其IP租约。DHCP客户端启动时和IP租约期限到达租约的50%时,DHCP客户端都会自动向DHCP服务端发送更新其IP租约的信息。

现在智能设备多了,服务端可以是家里的Wi-Fi路由器,而客户端,可能是手机,可能是平板电脑,可能是智能电视,也可能是电脑。甚至可能是冰箱或者水族箱。