首页 > 其他分享 >职场小白必备知识点-DHCP协议介绍

职场小白必备知识点-DHCP协议介绍

时间:2023-11-05 22:34:02浏览次数:35  
标签:知识点 协议 IP 客户机 IP地址 服务器 职场 DHCP

1.DHCP协议简介

DHCP,全称是 Dynamic Host Configuration Protocolo中文名为动态主机配置协议,它的前身是 BOOTP,它工作在OSI的应用层,是一种帮助计算机从指定的DHCP服务器获取它们的配置信息的自举协议。

DHCP使用客户端/服务器模式,请求配置信息的计算机叫做DHCP客户端,而提供信息的叫做DHCP的服务器。DHCP为客户端分配地址的方法有三种:手工配置、自动配置、动态配置。

DHCP最重要的功能就是动态分配。除了IP地址,DHCP分组还为客户端提供其他的配置信息,比如子网掩码。这使得客户端无需用户动手就能自动配置连接网络。

2 需求背景及优缺点

2.1 为什么需要DHCP协议

在IP网络中,每一台终端要想与其他的终端进行通信,需要为每一个终端分配一个唯一的标示号,这个标示号就是IP地址。

传统分配IP地址的方式有 PPP协议的自协商方式,用户自己静态配置, 管理员统一分配和配置等。

(1)PPP:不需要用户自己动手操作,但是需要在终端安装专门的客户端软件,而且需要服务器处事先配置好用户的账号和密码,否则用户则无法上网,优点是安全性好;

(2)用户静态配置:对于普通用户难以操作而且要防止IP地址产生冲突;

(3)管理员配置:需要专门人员维护规划网络,工作量大,成本高

除了以上这些,更为重要的是许多终端启动不仅仅需要IP地址,而且还需要动态的获得更多的启动配置信息,如无盘工作站;有的还需要其他种种动态信息。而这些动态信息是我们前面所说的几种无法提供的,因此产生了需求------->新的主机配置方式。


2.2 DHCP的发展过程

在需求背景的基础上,新的主机配置方式应运而生,最早的就是

BOOTP协议是一种较老的系统引导协议,主要用于无盘工作站启动时,从服务器获得IP地址和启动文件。它多与TFTP协议配合使用,后来为了功能的扩展,又发展了 DHCP协议。

DHCP协议兼容了BOOTP协议。但是BOOTP用于相对静态的环境,每个主机都有一个永久的网络连接,

管理人员创建一个BOOTP配置文件来定义每个主机的BOOTP参数在计算机经常移动和实际计算机数目超过了可获得的IP主机地址时这种只提供从主机标识到主机参数的静态映射就不适用了。

DHCP协议从2个方面扩充了BOOTP协议:

(1)DHCP协议可以使用一个消息来使计算机获得它所需要所有的配置信息,即传送配置信息的协议;

(2)DHCP协议允许计算机快速动态的获得IP地址,即动态分配IP地址的机制。 DHCP支持三种类型的IP地址分配方式:自动分配,动态分配和手工分配。 自动分配,即DHCP给主机指定一个永久的IP地址; 动态分配,即DHCP给主机指定一个有时间限制的IP地址; 手工分配, 即主机IP地址实际上是由网络管理员指定的,DHCP只是把这个指定的IP地址传递给主机。 显然,动态分配可以回收IP,在IP不够用的情况下是一个较好的选择。


2.3 DHCP协议主机配置的优缺点

(1)DHCP协议主机配置方式最重要的特点是 整个配置过程自动实现 ,而且所有的配置信息都在一个地方集中控制,这就是 DHCP SERVER的作用;

(2)根据上述介绍,我们可以很明显的看出DHCP协议是采用C/S方式来实现的。而且DHCP协议是基于UDP层之上的应用,DHCP Client 采用 端口号68,DHCP Server采用 知名端口号67 进行交互;

(3)最早的BOOTP/DHCP协议都是采用在同一个物理子网中使用广播的方式来实现的。这也就是说无法穿越路由器扩展到不同的物理子网中。这样的话,要使用DHCP协议的每一个网络都必须要有一台DHCP服务器,为了克服这一缺陷,采用了DHCP RELAY的方式使得BOOTP/DHCP能够穿越路由实现。

(4)BOOTP协议主要用于一些较为简单的终端设备,通过它获得的信息也很少,但是它的C/S交互过程也比较简单。 DHCP协议功能比较全面,可以获得的信息较多,随之而来的是复杂的C/S交互过程;

(5)DHCP协议一般采用终端的硬件地址来唯一标示一个终端设备,如果是以太网,则就是我们常说的MAC地址;

(6)DHCP协议通过设置IP地址使用租期,可以达到IP地址分时复用的效果,从而能够解决IP地址资源短缺的问题;

(7)DHCP协议基本上是一个单向驱动协议。 Server端完全是被动的,其动作、行为基本完全由Client的请求行为而激发,即Server端无法主动控制Client端。也是因为这一点,DHCP的交互性和安全性就没有PPP协议来的那么完善,这是DHCP协议的致命缺点。



3.图解DHCP的4步租约过程

DHCP租约过程就是DHCP客户机动态获取IP地址的过程。

DHCP租约过程分为4步:

①客户机请求IP(客户机发DHCPDISCOVER广播包);

②服务器响应(服务器发DHCPOFFER广播包);

③客户机选择IP(客户机发DHCPREQUEST广播包);

④服务器确定租约(服务器发DHCPACK/DHCPNAK广播包)。

详解4步租约过程:

第1步:客户机请求IP

客户机请求IP也称为DHCPDISCOVER。

当一个DHCP客户机启动时,会自动将自己的IP地址配置成0.0.0.0,由于使用0.0.0.0不能进行正常通信,所以客户机就必须通过DHCP服务器来获取一个合法的地址。由于客户机不知道DHCP服务器的IP地址,所以它使用0.0.0.0的地址作为源地址,使用UDP68端口作为源端口,使用255.255.255.255作为目标地址,使用UDP67端口作为目的端口来广播请求IP地址信息(见图一)。广播信息中包含了DHCP客户机的MAC地址和计算机名,以便使DHCP服务器能确定是哪个客户机发送的请求。

DHCP客户机总是试图重新租用它接收过的最后一个IP地址,这给网络带来一定的稳定性。

图一:客户机请求IP

职场小白必备知识点-DHCP协议介绍_DHCP

第2步:服务器响应

服务器响应也称为DHCPOFFER。

当DHCP服务器接收到客户机请求IP地址的信息时,它就在自己的IP地址池中查找是否有合法的IP地址提供给客户机。如果有,DHCP服务器就将此IP地址做上标记,加入到DHCPOFFER的消息中,然后DHCP服务器就广播一则包括下列信息的DHCPOFFER消息:

DHCP客户机的MAC地址;DHCP服务器提供的合法IP地址;子网掩码;默认网关(路由);租约的期限;DHCP服务器的IP地址。

因为DHCP客户机还没有IP地址,所以DHCP服务器使用自己的IP地址作为源地址,使用UDP67端口作为源端口,使用255.255.255.255作为目标地址,使用UDP68端口作为目的端口来广播DHCPOFFER信息(见图二)。

图二:服务器响应

职场小白必备知识点-DHCP协议介绍_DHCP_02

第3步:客户机选择IP

客户机选择IP,也称为DHCPREQUEST。

DHCP客户机从接收到的第一个DHCPOFFER消息中选择IP地址,发出IP地址的DHCP服务器将该地址保留,这样该地址就不能提供给另一个DHCP客户机。当客户机从第一个DHCP服务器接收DHCPOFFER并选择IP地址后,DHCP租约的第三过程发生。客户机将DHCPREQUEST消息广播到所有的DHCP服务器,表明它接受提供的内容。DHCPREQUEST消息包括为该客户机提供IP配置的服务器的服务标识符(IP地址)。DHCP服务器查看服务器标识符字段,以确定它自己是否被选择为指定的客户机提供IP地址,如果那些DHCPOFFER被拒绝,则DHCP服务器会取消提供并保留其IP地址以用于下一个IP租约请求。

在客户机选择IP的过程中,虽然客户机选择了IP地址,但是还没有配置IP地址,而在一个网络中可能有几个DHCP服务器,所以客户机仍然使用0.0.0.0的地址作为源地址,使用UDP68端口作为源端口,使用255.255.255.255作为目标地址,使用UDP67端口作为目的端口来广播DHCPREQUEST信息(见图三)。

图三:客户机选择IP

职场小白必备知识点-DHCP协议介绍_DHCP_03

第4步:服务器确认租约

服务器确认租约,也称为DHCPACK/DHCPNAK。

DHCP服务器接收到DHCPREQUEST消息后,以DHCPACK消息的形式向客户机广播成功的确认,该消息包含有IP地址的有效租约和其他可能配置的信息。虽然服务器确认了客户机的租约请求,但是客户机还没有收到服务器的DHCPACK消息,所以服务器仍然使用自己的IP地址作为源地址,使用UDP67端口作为源端口,使用255.255.255.255作为目标地址,使用UDP68端口作为目的端口来广播DHCPACK信息(见图四)。当客户机收到DHCPACK消息时,它就配置了IP地址,完成了TCP/IP的初始化。

如果DHCPREQUEST不成功,例如客户机试图租约先前的IP地址,但该IP地址不再可用,或者因为客户机移到其他子网,该IP无效时,DHCP服务器将广播否定确认消息DHCPNAK。当客户机接收到不成功的确认时,它将重新开始DHCP租约过程。

如果DHCP客户机无法找到DHCP服务器,它将从TCP/IP的B类网段169.254.0.0中挑选一个IP地址作为自己的IP地址,继续每隔5分钟尝试与DHCP服务器进行通讯,一旦与DHCP服务器取得联系,则客户机放弃自动配置的IP地址,而使用DHCP服务器分配的IP地址。

如果一台DHCP客户机有两个或者多个网卡,则DHCP服务器会为每个网卡分配一个唯一而有效的IP地址。

图四:服务器确认租约

职场小白必备知识点-DHCP协议介绍_IP_04

图五:DHCP服务器日志

职场小白必备知识点-DHCP协议介绍_服务器_05

注:因为是虚拟机,所以这个DHCP服务器的系统时间有些问题

图六:DHCP客户机IP信息

职场小白必备知识点-DHCP协议介绍_IP_06

可以看到客户端获取的IP地址是192.168.1.34;默认网关是192.168.1.10;DHCP服务器IP是192.168.1.240;租约时间是6个小时。

标签:知识点,协议,IP,客户机,IP地址,服务器,职场,DHCP
From: https://blog.51cto.com/lifulin/8196008

相关文章

  • 网络知识点
    知识点补充 is-is   vlan        ......
  • JavaScript知识点
    成员对象1、window.eventwindow.documentwindow.history2、window.screenwindow.navigatorwindow.externalWindow对象的属性如下1、window//窗户自身2、window.self//引用本窗户window=window.self3、window.name//为窗户命名4、window.defaultStatus//设定窗户状态栏信息5、w......
  • JavaScript知识点
    同源限制1、同源策略指的是∶协议,域名,端口相同,同源策略是一种安全协议2、举例说明:比如一个黑客程序,他利用lframe把真正的银行登录页面嵌到他的页面上,当你使用真实的用户名,密码登录时,他的页面就可以通过Javascript读取到你的表单中input中的内容,这样用户名,密码就轻松到手了。offse......
  • JavaScript知识点
    null,undefined的区别1、undefined表示不存在这个值。2、undefined:是一个表示"无"的原始值或者说表示"缺少值",就是此处应该有一个值,但是还没有定义。当尝试读取时会返回undefined3、例如变量被声明了,但没有赋值时,就等于undefined4、null表示—个对象被定义了,值为“空值”5、null......
  • 职场小白必备知识点-IP地址
    什么是IP地址每个人都有自己的名字,电脑也一样。在本地,有主机名。在网络,有IP地址。首先,我们介绍一下“IP地址”:“IP地址”是“TCP/IP”(TransmiteControlProtocol传输控制协议/InternetProtocol网际协议)里其中的一种协议。不同的主机有不同的IP地址,每个主机的IP地址都是由32比......
  • 算法集合知识点
    时间复杂度算法执行时间与数据规模之间的增长关系。越来越复杂:常对幂指阶数组为什么下标从零开始?方便寻址地址的计算,从1开始的话寻址就会多一步-1的运算。对于CPU来说多了一步减法指令。时间复杂度索引查找O(1)内容查找O(n)插入复杂度O(n)面试题......
  • redis知识点
    redis知识点场景类缓存缓存穿透定义:大量查询业务不存在的key击穿redis,直接查询数据库.解决方案:valuenull实施:来一个这样的key,写入到缓存中,将其值设置为null。缺点:会缓存大量这样的内容,内存存在溢出可能。后续如果有这样的业务key生成,则缓存中的数据就会成为脏数据。......
  • mysql知识点
    慢查询定位借助第三方检测工具SkyWalking自研监控系统mysql开启慢查询开启慢查询可能会影响mysql服务器的性能,如果硬盘IO已经是瓶颈的话则影响更为明显。建议做好以下设置:控制日志最大大小定时清理日志使用其他监控工具使用性能监控工具arthas分析......
  • 【Flask框架】全知识点笔记4章60页MD文档,今日主题:flask视图和路由开发
    本文的主要内容:flask视图&路由、虚拟环境安装、路由各种定义、状态保持、cookie、session、模板基本使用、过滤器&自定义过滤器、模板代码复用:宏、继承/包含、模板中特有变量和函数、Flask-WTF表单、CSRF、数据库操作、ORM、Flask-SQLAlchemy、增删改查操作、案例、蓝图、单元测......
  • ensp实验,大一必学网工基础,数通HCIA内容,详细知识点集合
    1:交换机通信:两个pc端在一个网段内,不用单独配置交换机信息,不用设置网关地址,都能ping通2:路由器通信:Pc的网关地址是路由器的ip地址。路由器配置接口和地址Pc3pingpc4即可3:静态路由:静态路由配置好PC的ip地址、子网掩码、网关和路由器接口的地址信息。在R7路由器输入:[R7]iproute-stat......