百度360必应搜狗淘宝本站头条
当前位置:网站首页 > 技术文章 > 正文

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

nanshan 2024-11-17 14:10 15 浏览 0 评论

1 DHCP协议简介

DHCP,全称是 Dynamic Host Configuration Protocol﹐中文名为动态主机配置协议,它的前身是 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协议(引导程序协议)。

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

第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信息(见图二)。

图二:服务器响应

第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

第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服务器日志

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

图六:DHCP客户机IP信息

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

相关推荐

F5负载均衡器如何通过irules实现应用的灵活转发?

F5是非常强大的商业负载均衡器。除了处理性能强劲,以及高稳定性之外,F5还可以通过irules编写强大灵活的转发规则,实现web业务的灵活应用。irules是基于TCL语法的,每个iRules必须包含...

映射域名到NAS

前面介绍已经将域名映射到家庭路由器上,现在只需要在路由器上设置一下端口转发即可。假设NAS在内网的IP是192.168.1.100,NAS管理端口2000.你的域名是www.xxx.com,配置外部端...

转发(Forward)和重定向(Redirect)的区别

转发是服务器行为,重定向是客户端行为。转发(Forward)通过RequestDispatcher对象的forward(HttpServletRequestrequest,HttpServletRe...

SpringBoot应用中使用拦截器实现路由转发

1、背景项目中有一个SpringBoot开发的微服务,经过业务多年的演进,代码已经累积到令人恐怖的规模,亟需重构,将之拆解成多个微服务。该微服务的接口庞大,调用关系非常复杂,且实施重构的人员大部分不是...

公司想搭建个网站,网站如何进行域名解析?

域名解析是将域名指向网站空间IP,让人们通过注册的域名可以方便地访问到网站的一种服务。IP地址是网络上标识站点的数字地址,为方便记忆,采用域名来代替IP地址标识站点地址。域名解析就是域名到IP地址的转...

域名和IP地址什么关系?如何通过域名解析IP?

一般情况下,访客通过域名和IP地址都能访问到网站,那么两者之间有什么关系吗?本文中科三方针对域名和IP地址的关系和区别,以及如何实现域名与IP的绑定做下介绍。域名与IP地址之间的关系IP地址是计算机的...

分享网站域名301重定向的知识

网站域名做301重定向操作时,一般需要由专业的技术来协助完成,如果用户自己在维护,可以按照相应的说明进行操作。好了,下面说说重点,域名301重定向的操作步骤。首先,根据HTTP协议,在客户端向服务器发...

NAS外网到底安全吗?一文看懂HTTP/HTTPS和SSL证书

本内容来源于@什么值得买APP,观点仅代表作者本人|作者:可爱的小cherry搭好了NAS,但是不懂做好网络加密,那么隐私泄露也会随时发生!大家好,这里是Cherry,喜爱折腾、玩数码,热衷于分享数...

ForwardEmail免费、开源、加密的邮件转发服务

ForwardEmail是一款免费、加密和开源的邮件转发服务,设置简单只需4步即可正常使用,通过测试来看也要比ImprovMX好得多,转发近乎秒到且未进入垃圾箱(仅以Mailbox.org发送、Out...

使用CloudFlare进行域名重定向

当网站变更域名的时候,经常会使用域名重定向的方式,将老域名指向到新域名,这通常叫做:URL转发(URLFORWARDING),善于使用URL转发,对SEO来说非常有用,因为用这种方式能明确告知搜索引...

要将端口5002和5003通过Nginx代理到一个域名上的操作笔记

要将端口5002和5003通过Nginx代理到域名www.4rvi.cn的不同路径下,请按照以下步骤配置Nginx:步骤说明创建或编辑Nginx配置文件通常配置文件位于/etc/nginx/sites...

SEO浅谈:网站域名重定向的三种方式

在大多数情况下,我们输入网站访问网站的时候,很难发现www.***.com和***.com的区别,因为一般的网站主,都会把这两个域名指向到同一网站。但是对于网站运营和优化来说,www.***.com和...

花生壳出现诊断域名与转发服务器ip不一致的解决办法

出现诊断域名与转发服务器ip不一致您可以:1、更改客户端所处主机的drs为223.5.5.5备用dns为119.29.29.29;2、在windows上进入命令提示符输入ipconfig/flush...

涨知识了!带你认识什么是域名

1、什么是域名从技术角度来看,域名是在Internet上解决IP地址对应的一种方法。一个完整的域名由两个或两个以上部分组成,各部分之间用英文的句号“.”来分隔。如“abc.com”。其中“com”称...

域名被跳转到其他网站是怎么回事

当你输入域名时被跳转到另一个网站,这可能是由几种原因造成的:一、域名可能配置了域名转发服务。无论何时有人访问域名,比如.com、.top等,都会自动重定向到另一个指定的URL,这通常是在域名注册商设...

取消回复欢迎 发表评论: