DHCP—动态主机配置协议

动态主机配置协议DHCP(Dynamic Host Configuration Protocol,动态主机配置协议)是RFC 1541(已被RFC 2131取代)定义的标准协议,该协议允许服务器向客户端动态分配IP地址和配置信息。
DHCP协议支持C/S(客户端/服务器)结构,主要分为两部分:
1、DHCP客户端:通常为网络中的PC、打印机等终端设备,使用从DHCP服务器分配下来的IP信息,包括IP地址、DNS等。
2、DHCP服务器:所有的IP网络设定信息都由DHCP服务器集中管理,并处理客户端的DHCP请求。
DHCP采用UDP作为传输协议,客户端发送消息到DHCP服务器的的67号端口,服务器返回消息给客户端的68号端口。

DHCP的报文种类及其作用

DHCP在工作过程中涉及到的报文种类及其作用如下:
1、DHCP DISCOVER:客户端开始DHCP过程的第一个报文,是请求IP地址和其它配置参数的广播报文。
2、DHCP OFFER:服务器对DHCP DISCOVER报文的响应,是包含有效IP地址及配置的单播(或广播)报文。
3、DHCP REQUEST:客户端对DHCP OFFER报文的响应,表示接受相关配置。客户端续延IP地址租期时也会发出该报文。
4、DHCP DECLINE:当客户端发现服务器分配的IP地址无法使用(如IP地址冲突时),将发出此报文,通知服务器禁止使用该IP地址。
5、DHCP ACK :服务器对客户端的DHCP REQUEST报文的确认响应报文。客户端收到此报文后,才真正获得了IP地址和相关的配置信息。
6、DHCP NAK:服务器对客户端的DHCP REQUEST报文的拒绝响应报文。客户端收到此报文后,会重新开始新的DHCP过程。
7、DHCP RELEASE:客户端主动释放服务器分配的IP地址。当服务器收到此报文后,则回收该IP地址,并可以将其分配给其它的客户端。
8、DHCP INFORM:客户端获得IP地址后,发送此报文请求获取服务器的其它一些网络配置信息,如DNS等。

DHCP一般工作流程


向DHCP服务器申请一个IP地址的基本操作步骤:
(1)当DHCP客户机第一次登录网络的时候,该客户机没有任何IP数据设定,它将向网络发出一个DHCP Discover封包。由于客户端还不知道自己属于哪一个网络,所以封包的源地址为0.0.0.0,其目的地址则为255.255.255.255,向网络进行广播。
(2)一般默认DHCP Discover的等待时间为1s,当客户机将第一个DHCP Discover封包送出去之后,在1s之内没有得到响应的话,它就会进行第二次DHCP Discover广播。客户端最多有4次广播,除了第一次会等待1s之外,其余3次的等待时间分别是9s、13s、16s。如果都没有得到DHCP服务器的响应,客户端则会显示错误信息,宣告DHCP Discover失败。之后,系统会继续在5min之后再重复一次DHCP Discover过程。
(3)当DHCP服务器监听到客户端发出的DHCP Discover广播后,将会对客户机作出应答。它会通过UDP端口回应客户一个DHCP Offer广播包,提供一个IP地址。该广播包的源IP地址为DHCP服务器的IP地址,目标IP地址为255.255.255.255;包中还包含提供给客户机的IP地址、子网掩码及租期等信息。
(4)DHCP协议允许网络上配置多台DHCP服务器,客户机将会收到网络上多台DHCP服务器的响应,但它只会挑选其中一个DHCP Offer,通常都是最先抵达的那个,然后客户机向网络发送一个DHCP Request广播封包,告诉所有DHCP服务器它将接受哪一台服务器提供的IP地址。同时,客户端还会向网络发送一个ARP封包,确认网络上是否有其他机器在使用该IP地址;如果发现该IP已经被占用,客户机则会发出一个DHCP Decline封包给DHCP服务器,拒绝接受其DHCP Offer并重新发送DHCP Discover信息。
(5)当DHCP服务器接收到客户端的DHCP Request封包之后,向客户端发出一个DHCP ACK 响应,确认该IP租约的正式生效。
(6)客户在收到DHCP ACK包后,会使用该广播包中的信息来配置自己的TCP/IP,至此租用申请过程结束,客户机可以在网络中通信。

DHCP续约


续约一客户机直接执行第3步==(执行ipconfig/renew)==
DHCP续租的工作流程描述如下:

  1. 在使用租期过去50%时刻处, 客户端向服务器发送单播DHCP REQUEST报文续延租期。
  2. 如果收到服务器的DHCP ACK报文,则租期相应向前延长,续租成功。如果没有收到DHCP ACK报文,则客户端继续使用这个IP地址。在使用租期过去87.5%时刻处,向服务器发送广播DHCP REQUEST报文续延租期。
  3. 如果收到服务器的DHCP ACK报文,则租期相应向前延长,续租成功。如果没有收到DHCP ACK报文,则客户端继续使用这个IP地址。在使用租期到期时,客户端自动放弃使用这个IP地址,并开始新的DHCP过程。

DHCP释放后重获地址


执行ipconfig/release和ipconfig/renew
当Windows计算机在 DHCP(动态主机配置协议)模式下发生IP地址冲突、无法访问网络等情况时,可以使用以下步骤重新获取 IP 地址:

打开命令提示符:按下Windows+R键打开运行窗口,输入cmd并按下回车键,即可打开命令提示符窗口。
输入ipconfig /release命令,按下回车键,释放当前分配的IP地址。
输入ipconfig /renew命令,按下回车键,重新获取IP地址。
如果成功获取到新的IP地址,系统会显示IP地址、子网掩码、默认网关等信息。
需要注意的是,在使用ipconfig /release命令释放IP地址后,计算机将无法访问网络,直到使用ipconfig /renew命令重新获取IP地址。

DHCP相关的配置命令

路由器上DHCP服务器的配置
(1)IP地址池的建立
配置方法在全局模式下使用“ip dhcp pool <name>”命令为地址池赋予一个名称,其中<name>是为所建的地址池提供的名称,可以是一组字符串或数字。一台路由器上可以建立多个地址池。
(2)IP地址池的子网地址与子网掩码的配置。
IP地址池建立后,便进入地址池配置模式,在该模式下可进行IP子网地址和子网掩码的配置,用于设定DHCP服务器可以分配的IP地址的范围。配置的方法是在IP地址池配置模式下,执行“network <网络地址> <子网掩码>”命令,其中,<子网掩码>可采用标准的子网掩码表示(如255.255.255.0)或使用掩码前缀长度表示(如/24)。
(3)排除不用于动态分配的IP地址。
实际应用中,在所配置的子网中,可能会有一些特殊地址需要保留,不用于动态分配,此时就需要在DHCP服务中进行相应配置,配置方法为在全局配置模式下,使用“ip dhcp excluded-address low-adress [high-address]"命令,其中“low-address [high-address]”表示要排除的IP地址的范围,若只排除一个地址,则可直接在命令后输入这个地址便可。
(4)配置默认网关。
动态分配IP地址时,还需要同时为客户端指定默认网关,以便客户端TCP/IP协议正常工作。配置方法为在地址池配置模式下,执行“default-rouler address [address2…address8]”命令,其中默认网关的地址,最多可以设置8个,而客户端一般只使用一个在同一子网中的路由器的端口地址。
(5)配置IP地址池的域名系统。
如同我们在客户端机器手动配置IP地址一样,要访问外部网络,通常还需指定用于域名解析的域名服务器(DNS),另外在路由器DHCP服务器中还可以设置客户端域名,为动态地址的客户端指定所属的域的名称。域名服务器的配置方法为在地址池配置模式下使用“dns-server address”命令,该命令允许最多配置8个域名服务器地址,但是在实际应用中,域名服务器一般只有两个或三个;IP地址池中客户端域名的配置方法为在DHCP地址池配置模式下,使用“domain-name <name >"命令,其中<name>为指定的域名名称。
(6)IP地址租用时间。
IP地址租用时间是指用户端在获得一个IP地址后,可以占用这个地址的最长时间,若需要的话可以对其进行更改。配制方法为在DHCP地址池配置模式下,使用“lease {day [hours] [minutes]|[infinite]}”命令,其参数可以包含天数、小时数以及分秒数,还可以设置为永不过期。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/222029.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

RocketMQ 总体概括

目录 概述RocketMQ 领域模型MQ 解决的问题电商平台案例初步设计引入中间件设计 MQ 选型结束 概述 官网地址 RocketMQ 领域模型 官方领域模型概述 下面图&#xff0c;是在自己理解的基础上&#xff0c;对官方的模型图添加了一些。 Topic&#xff1a;主题&#xff0c;可以理解…

Java网络编程——基于UDP的数据报和套接字

java.net.ServerSocket与java.net.Socket建立在TCP的基础上。TCP是网络传输层的一种可靠的数据传输协议。如果数据在传输途中被丢失或损坏&#xff0c;那么TCP会保证再次发送数据&#xff1b;如果数据到达接收方的顺序被打乱&#xff0c;那么TCP会在接收方重新恢复数据的正确顺…

扬声器(喇叭)

扬声器(喇叭) 电子元器件百科 文章目录 扬声器(喇叭)前言一、扬声器(喇叭)是什么二、扬声器(喇叭)的类别三、扬声器(喇叭)的应用场景四、扬声器(喇叭)的作用原理总结前言 扬声器广泛应用于音响系统、公共广播系统、汽车音响、电视、电脑和移动设备等各种电子设备…

Linux基本开发工具

编译器和自动化构建工具 一、编译器——gcc、g1. 安装 gcc/g2. 使用3. 链接库4. 拓展命令&#xff1a;od/file/ldd/readelf 二、自动化构建项目——make、makefile1. 介绍2. 使用例子touch——change file timestampsstat——display file or file system status修改时间 .PHON…

Qt 文字描边(基础篇)

项目中有时需要文字描边的功能 1.基础的绘制文字 使用drawtext处理 void MainWindow::paintEvent(QPaintEvent *event) {QPainter painter(this);painter.setRenderHint(QPainter::Antialiasing, true);painter.setRenderHint(QPainter::SmoothPixmapTransform, true);painte…

ceph的osd盘删除操作和iscsi扩展

ceph的osd盘删除操作 拓展:osd磁盘的删除(这里以删除node1上的osd.0磁盘为例) 1, 查看osd磁盘状态 [rootnode1 ceph]# ceph osd tree ID CLASS WEIGHT TYPE NAME STATUS REWEIGHT PRI-AFF -1 0.00298 root default -3 0.00099 host node10 hdd 0.00…

【Vins轨迹】pose_graph位姿图加载EVO精度评定

1. Vins的位姿图加载功能 如果想要对slam运行后的位姿轨迹进行评定&#xff0c;需要将数据保存到output文件夹中。 其中pose_graph.txt含有的信息&#xff1a;关键帧id、时间戳、vio的xyz、优化后的xyz、vio的四元数、优化后的四元数、回环到的关键帧id、回环信息&#xff08…

【十】python复合模式

10.1 复合模式简介 在前面的栏目中我们了解了各种设计模式。正如我们所看到的&#xff0c;设计模式可分为三大类:结构型、创建型和行为型设计模式。同时&#xff0c;我们还给出了每种类型的相应示例。然而&#xff0c;在软件实现中&#xff0c;模式并是不孤立地工作的。对于所…

HPM5300系列--第一篇 命令行开发调试环境搭建

一、目的 在之前的博客中《HPM6750系列--第二篇 搭建Ubuntu开发环境》、 《HPM6750系列--第三篇 搭建MACOS编译和调试环境》我们介绍了HPM6750evkmini开发环境的搭建过程&#xff0c;由于HPM5300系列共用一套hpm-sdk&#xff0c;故HPM5300的开发调试环境的搭建过程基本和之前的…

智能故障诊断期刊推荐【中文期刊】

控制与决策 http://kzyjc.alljournals.cn/kzyjc/home 兵工学报 http://www.co-journal.com/CN/1000-1093/home.shtml 计算机集成制造系统 http://jsjjc.soripan.net/ 机械工程学报 http://www.cjmenet.com.cn/CN/0577-6686/home.shtml 太阳能学报 https://www.tynxb.org.c…

Visual Studio Code中的任务配置文件tasks.json中的可选任务组tasks详解

☞ ░ 前往老猿Python博客 ░ https://blog.csdn.net/LaoYuanPython 一、引言 vscode是支持通过配置可以实现类似Visual C等IDE开发工具使用菜单和快捷键直接进行程序编译构建的&#xff0c;这样构建的任务可以结合后续的调试配置进行IDE环境的程序调试&#xff0c;不过在之前…

12. IO

1.File类 • File 类代表与平台无关的文件和目录。 • File 能新建、删除、重命名文件和目录&#xff0c;但 File 不能访问文件内容本身。如果需要访问文件内容本身&#xff0c;则需要使用输入/输出流。 1).File的常用方法 在这里插入图片描述 2).遍历给定目录所有文件 …

MySQL增删改查

查询数据 MySQL 数据库使用 SQL SELECT 语句来查询数据。以下为在 MySQL 数据库中查询数据通用的 SELECT 语法&#xff1a; SELECT column_name,column_name FROM table_name [WHERE Clause] [LIMIT N][ OFFSET M] 查询语句中你可以使用一个或者多个表&#xff0c;表之间使用…

联想笔记本如何安装Vmware ESXi

环境&#xff1a; Vmware ESXi 8.0 Vmware ESXi 6.7 联想E14笔记本 问题描述&#xff1a; 联想笔记本如何安装Vmware ESXi 解决方案&#xff1a; 1.官网下载镜像文件 https://customerconnect.vmware.com/en/downloads/search?queryesxi%208 下载 2.没有账户注册一个 …

什么时候使用匿名类,匿名类解决了什么问题?为什么需要匿名类 ?

匿名类通常在以下场景下使用&#xff1a; 一次性使用&#xff1a; 当你需要创建一个类的实例&#xff0c;但该类只在一个地方使用&#xff0c;而不打算在其他地方重复使用时&#xff0c;可以考虑使用匿名类。 简化代码&#xff1a; 当创建一个小型的、一次性的类会让代码更简洁…

浅析特征增强个性化在CTR预估中的经典方法和效果对比

在CTR预估中&#xff0c;主流都采用特征embeddingMLP的方式&#xff0c;其中特征非常关键。然而对于相同的特征&#xff0c;在不同的样本中&#xff0c;表征是相同的&#xff0c;这种方式输入到下游模型&#xff0c;会限制模型的表达能力。为了解决这个问题&#xff0c;CTR预估…

【每日一题】用邮票贴满网格图

文章目录 Tag题目来源题目解读解题思路方法一&#xff1a;二维前缀和二维差分 写在最后 Tag 【二维前缀和】【二维差分】【矩阵】【2023-12-14】 题目来源 2132. 用邮票贴满网格图 题目解读 在 01 矩阵中&#xff0c;判断是否可以用给定尺寸的邮票将所有 0 位置都覆盖住&…

智能优化算法应用:基于黄金正弦算法3D无线传感器网络(WSN)覆盖优化 - 附代码

智能优化算法应用&#xff1a;基于黄金正弦算法3D无线传感器网络(WSN)覆盖优化 - 附代码 文章目录 智能优化算法应用&#xff1a;基于黄金正弦算法3D无线传感器网络(WSN)覆盖优化 - 附代码1.无线传感网络节点模型2.覆盖数学模型及分析3.黄金正弦算法4.实验参数设定5.算法结果6.…

GeoTrust OV证书

当谈到网站安全性和可信度时&#xff0c;GeoTrust OV证书是一个备受推崇的选择。作为一家备受尊敬的数字证书颁发机构&#xff0c;GeoTrust以其卓越的品牌声誉和高质量的产品而闻名于世。GeoTrust OV证书提供了一系列的安全功能&#xff0c;同时还具有出色的性价比&#xff0c;…

系统级基础信号知识【Linux】

目录 一&#xff0c;什么是信号 进程面对信号常见的三种反应概述 二&#xff0c;产生信号 1.终端按键产生信号 signal 2. 进程异常产生信号 核心转储 3. 系统调用函数发送信号 kill raise abort 小结&#xff1a; 4. 由软件条件产生 alarm 5. 硬件异常产生信号…