DHCP原理及配置

news2024/9/22 17:24:20

目录

一、DHCP原理

DHCP介绍

DHCP工作原理

DHCP分配方式

工作原理

DHCP重新登录

DHCP优点

二、DHCP配置


一、DHCP原理

1 DHCP介绍

大家都知道,现在出门很多地方基本上都有WIFI,那么有没有想过这样一个问题,平时在家里都是“固定”的ip地址,那么如果出门连接了公共的WIFI,会怎样获得,获得什么ip地址呢?

其实,这里就涉及到了DHCP动态分配。之前我们配置ens33网卡的时候,通常都是将网络分配方式由原来的 DHCP 改成 static 静态。为什么要这么做呢?如果不改成静态的话,我们这一次远程连接上了虚拟机,下一次开机就可能连不上了。说到这,大家可能隐约意识到,DHCP动态分配是个什么了,没错,就是字面意思,动态分配 ip 地址。

用官方一点的话说,就是动态主机配置协议,专门用于为 TCP/IP网络中的计算机自动分配TCP/IP参数的协议,是一个应用层协议。

DHCP使用67和68端口,用于简化主机地址分配管理。服务端和客户端使用端口不一样。

Server 端:DHCP Server(运行 dhcp 服务)

UDP 服务:监听端口 67(bootps)

Client 端:DHCP Client(运行 dhcp 程序)

UDP 服务:监听端口 68 (bootpc)

2 DHCP工作原理

DHCP分配方式

DHCP有三种分配方式

自动分配:当 DHCP 客户机第一次成功地从 DHCP 服务器获取到一个 IP 地址后, 就永久地使用这个 IP 地址。

手动分配:由 DHCP 服务器管理员专门指定 IP 地址。

动态分配:是当 DHCP 客户机第一次从 DHCP 服务器获取到 IP 地址后,并非永久地使用该地址,而是在每次使用完后,DHCP 客户机就会释放这个 IP 地址,供其他客户机使用

工作原理

说了这么多,DHCP究竟是如何工作的呢?

一开始,当一台机器启动时,它还没有 IP 地址,所以主机要通过 DHCP 获取一个合法的地址。此时主机以广播方式发送 DHCP Discover 信息来寻找 DHCP 服务器,当 DHCP 服务器接收到来自主机请求 IP 地址的信息时,它就在自己的 IP 地址池中查找是否有合法的 IP 地址提供给主机。如果有,DHCP 服务器就将此 IP 地址做上标记, 加入到即将反馈的消息中,然后将该消息广播出去。主机接收到消息后,选择 IP 地址,通常会选择接收到的第一个DHCP Offer消息中提取IP地址,发出IP地址的 DHCP 服务器将该地址保留,这样该地址就不能再分配给其他主机。之后主机会向服务器发送 DHCP Request 消息,表示选择该 ip 地址。服务器接收到 DHCP Request 消息后,以 DHCP ACK 消息的形式向主机广播成功确认,该消息包含有 IP 地址的有效租约和其他可配置的信息。当主机收到 DHCP ACK 消息时,它就配置了 IP 地址,完成 TCP/IP 的初始化。

整个过程都是以广播形式转发信息,这个过程被称为四次会话,其实有点类似于计算机网络中的,TCP建立连接的三次握手四次挥手过程。

DHCP重新登录

那么,前面也提到,为什么在家连网的时候,ip地址一直不变呢?不是说好了动态分配吗?其实,确实是动态分配,只不过每一次都是分配的同一个地址,因为一台主机或者是用户连接一个网络时,会有上次连接时的缓存,直接将该缓存信息发给DHCP服务端就可以了,服务端收到该信息就直接将上次分配的地址重新分配给该用户。

3 DHCP优点

说了这么多,DHCP有什么好处呢?为什么要使用这种分配方式?这个问题的答案其实很显然。因为每个人上网的时间都是不确定的,而且使用人员的技术水平也不同,假如我完全不懂什么ip地址什么路由器,我连个WiFi难道要我自己申请什么ip地址?这是不现实的。而且还会造成 IP 地址的浪费,很多会抢占什么66 88 这种数字吉利的地址。然后导致最后连接的人不管输什么都提示被占用,不知道哪个ip地址无人使用。而且也会为 ISP 服务商带来高额的维护成本。

所以,使用DHCP动态分配,可以减少管理员的工作量,同时会避免输入错误的情况,避免 IP 地址冲突,提高了 IP 地址的利用率。

二、DHCP配置

在配置之前我们首先要安装相关的服务

yum -y install dhcp

拷贝模板,名字为dhcpd.conf

cp -fp /usr/share/doc/dhcp*/dhcpd.conf.example  /etc/dhcp/dhcpd.conf

然后我们编辑该配置文件

vim /etc/dhcp/dhcpd.conf

我们来为他设置一下行号

我就直接用数字行号来代表这一行的字段了

7:指定客户端使用的DNS域名为 example.org

8:指定 DNS 服务器地址

10和11行分别时默认租约时间和最大租约时间

14:用于指定DHCP服务器是否以及如何进行动态DNS更新

以上为DHCP全局配置,下面我们进行DHCP局部配置,大概在四十多行的位置

47行是声明网段地址,我们直接改成我们所需修改的网段,不要忘了修改后面的子网掩码

48行是dhcp地址池映射范围,我这里随便设置了一个网段内的范围

49行定义DNS服务器

51行默认网关

52行广播地址

53和54依然是默认祖约时间和最大租约时间

这边都配置完成后就可以去客户端进行验证

ipconfig /release

ipconfig /renew

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

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

相关文章

互联网十万个为什么之什么是专有网络VPC?

专有网络VPC有什么优势? 专有网络VPC具有安全可靠、灵活可控、简单易用的特性和较强的可扩展性。 安全可靠 每个VPC都有一个独立的隧道号,一个隧道号对应着一个虚拟化网络。VPC之间通过隧道号进行隔离: 由于VPC内部存在交换机和路由器&#…

PyTorch人脸识别

新书速览|PyTorch深度学习与企业级项目实战-CSDN博客 一套基本的人脸识别系统主要包含三部分:检测器、识别器和分类器,流程架构如图11-3所示: 图11-5 检测器负责检测图片中的人脸,再将检测出来的人脸感兴趣区域(Reg…

如何在单片机外部Flash存储器上部署高效文件系统:从原理到实现

目录 1.Littlefs文件系统 1.1文件系统简介 2 Littlefs文件系统移植到单片机上 2.1 添加源代码 2.2 编辑接口函数 2.3 测试代码 1.Littlefs文件系统 1.1文件系统简介 littlefs文件系统源码下载地址:littlefs-project/littlefs: A little fail-safe filesystem…

Unity Shader学习笔记

Shader类型 类型详情Standard Surface Shader标准表面着色器,基于物理的着色系统,用于模拟各种材质效果,如石头、木材、玻璃、塑料和金属等。Unlit Shader最简单的着色器,不包含光照但包含雾效,只由最基础的Vertex Sh…

Pytorch使用Dataset加载数据

1、前言: 在阅读之前,需要配置好对应pytorch版本。 对于一般学习,使用cpu版本的即可。参考教程点我 导入pytorch包,使用如下命令即可。 import torch # 注意虽然叫pytorch,但是在引用时是引用torch2、神经网络获取…

【C++】—— 初识C++

【C】—— 初识C 一、什么是 C二、C 的发展历史三、C 版本更新四、C 的重要性五、C 在工作领域中的运用六、C 书籍推荐: 一、什么是 C C语言 是结构化和模块化的语言,适合处理较小规模的程序。对于复杂的问题,规模较大的程序,需要…

六、STM32F4+标准库+LWIP2.1.2移植+无操作系统

最快最简单的移植LWIP协议栈,可改可不改的东西统一不修改。后期学会了有能力了再回过头来修改,操作复杂理论复杂,同时讲解对新手不是很友好,故此此文档只讲操作无任何理论讲解。 零、所需文件及环境 1、第四章建立好的串…

51单片机11(蜂鸣器硬件设计和软件设计)

一、蜂鸣器硬件设计 1、 2、上面两张图,是针对不同产品的电路图。像左边这一块,是我们的A2,A3,A4的一个产品对应的一个封闭器的硬件电路。而右边的这一块是对应的A5到A7的一个硬件电路。因为A5到A7的一个产品,它的各…

排序算法3_冒泡排序、快速排序

一、冒泡排序 1.1 冒泡排序定义和思路 冒泡排序的基本思想是:通过相邻两个元素之间的比较和交换,使较大的元素逐渐从前面移向后面(升序),就像水底下的气泡一样逐渐向上冒泡,所以被称为“冒泡”排序。  在…

【YOLOv8】 用YOLOv8实现数字式工业仪表智能读数(二)

上一篇圆形表盘指针式仪表的项目受到很多人的关注,咱们一鼓作气,把数字式工业仪表的智能读数也研究一下。本篇主要讲如何用YOLOV8实现数字式工业仪表的自动读数,并将读数结果进行输出,若需要完整数据集和源代码可以私信。 目录 &…

王牌站士Ⅹ---人工智能中的数据隐私:PII 与个人信息

前言 今天,我将讨论如何区分美国和全球范围内不断涌现的数据隐私法所涵盖和不涵盖的数据类型。不同类型的数据受到更严格的保护,具体取决于司法管辖区,因此,如果您使用个人数据进行分析或机器学习,了解这一点很重要。…

痛心!不会用ChatGPT,差点错失一个亿

ChatGPT爆火这么久,今天我们也来聊聊GPT的玩法。等下,什么?你没听说过?没用过? 没听过没用过的朋友们,你们知道当我听到这回答的时候是多么痛心疾首吗? 为了让你们更直观的感受到,举个栗子,如果你用了GPT,就不需要抓耳挠腮的想方案了;如果你用了GPT,或许工作学习效…

MySQL 数据库 - 事务

MySQL 数据库(基础)- 事务 事务简介 事务 是一组操作集合,他是一个不可分割的工作单位,事务会把所有的操作看作是一个整体一起向系统发送请求,即这些操作要么同时成功,要么同时失败。 比如:张…

《Python数据科学之三:探索性数据分析与可视化》

《Python数据科学之三:探索性数据分析与可视化》 在数据科学项目中,探索性数据分析(EDA)和数据可视化是至关重要的步骤。它们帮助数据科学家理解数据的特征、发现数据中的模式和异常值,从而为后续的数据分析和机器学习…

python-29-零基础自学python-json、函数等存取用户数据+验证用户信息

学习内容:《python编程:从入门到实践》第二版 知识点: 如何验证用户、try-except-else处理异常 if判断、def方法及拆解方法 json引入、存储、读取 return none和return变量返回值很重要 answer 1 和answer “1”在使用后的区别 练习内容…

IDEA创建项目模块右边缺少Maven的解决

一、问题描述 我们在创建项目模块时,创建为Maven工程,创建后只是普通工程,idea右边缺少Mavenue标识管理 如图 二、问题的解决方法 在模块的pom.xml文件,点击选项,添加为Maven工程 如图 至此,创建maven工程…

2-34 小波神经网络采用传统 BP 算法

小波神经网络采用传统 BP 算法,存在收敛速度慢和易陷入局部极小值两个突出弱点。建立了基于遗传算法的小波神经网络股票预测模型 GA-WNN。该模型结合了遗传算法的全局优化搜索能力以及小波神经网络良好的时频局部特性。运用 MATLAB 对拟合和预测过程进行仿真。结果表…

COLING 2024 | AlphaFin:基于LLM的股票预测大模型,显著提高预测能力

COLING 2024 | AlphaFin:基于LLM的股票预测大模型,显著提高预测能力 发布于 2024-06-13 18:31:49 目前,机器学习和深度学习算法(ML&DL)已被广泛应用于股票趋势预测,并取得了显著进展。然而&#xff0c…

CSS在页面中使用的三种方式:行内样式、内嵌式样式表、链接式样式表

CSS样式如何在页面中使用,包含三种方式:行内样式、内嵌式样式表、链接式样式表。 CSS样式的使用系列博文: 《CSS在页面中使用的三种方式:行内样式、内嵌式样式表、链接式样式表》 《CSS选择器:基本选择器、复合选择器、…

Android TabLayout+ViewPager2如何优雅的实现联动详解

一、介绍 Android开发过程中,我们经常会遇到滑动导航栏的做法,之前的做法就是我们通过ViewGroup来转动,然后通过大量的自定义来完成,将导航栏item与viewpage 滑动,达到业务需求 二、现实方案 通过介绍,我…