【计算机网络】14、DHCP


文章目录

  • 一、概述
    • 1.1 好处
  • 二、概念
    • 2.1 分配 IP
    • 2.2 控制租赁时间
    • 2.3 DHCP 的其他网络功能
    • 2.4 IP地址范围和用户类别
    • 2.5 安全
  • 三、DHCP 消息
    • 3.1 DHCP discover message
    • 3.2 DHCP offers a message

如果没有 DHCP,IT管理者必须手动选出可用的 ip,这太耗时了,幸好有 DHCP。

一、概述

DHCP是一种协议,可自动为有线或无线连接的固定和移动主机分配IP地址。

当 device 使用 DHCP 时,其向 DHCP server 发请求,server 返回 ip 地址, 然后 server 不断监控此 ip 地址的使用,当此 ip 已超过一定时间不再被使用 或 device 关机时,则回收此 ip 以便后续分配给别的 device。

虽然IP地址的委派是 DHCP 协议的核心功能,但DHCP也会分配各种相关的网络参数,包括子网掩码、默认网关地址和域名服务器(DNS)。DHCP是建立在旧的BOOTP(引导协议)之上的IEEE标准,BOOTP已经过时,因为它只能在IPv4网络上工作。

1.1 好处

  • 可靠的 ip 地址配置
    您不能让两个用户使用相同的IP地址,因为这会造成一个或两个设备无法连接到网络的冲突。DHCP消除了人为错误,从而最大限度地减少了地址冲突、配置错误或简单的打字错误。

  • 减少网络管理
    DHCP 协议提供集中化和自动化的TCP/IP配置。通过部署DHCP中继代理,不需要在每个子网上都有一台DHCP server。

  • 移动性
    对于在有线或无线网络上移动到不同位置的便携设备上的用户,DHCP可有效地处理IP地址更改。

  • 回收
    DHCP不仅会分配地址,还会在不再使用地址时自动将其取回并返回到池中。

  • 改变网络地址范围
    通过使用DHCP,组织可以轻松地将IP地址方案从一个地址范围更改为另一个地址范围。利用DHCP,网络管理员可以在不中断最终用户的情况下进行这些更改。

二、概念

  • DHCP server
    这是运行DCHP服务的联网设备,用于保存IP地址和相关配置信息。这通常是一台服务器或路由器,但也可以是充当主机的任何设备,例如SD-WAN设备。

  • DHCP client
    此终端终端软件从DHCP server请求和接收配置信息。它可以安装在计算机、移动设备、物联网终端或任何其他需要连接到网络的设备上。默认情况下,大多数路由器都配置为接收DHCP信息。

  • IP address pool
    可供DHCP client 使用的IP地址范围是IP地址。地址通常按从低到高的顺序分配。

  • subnet
    IP网络可以划分为称为子网的网段。子网有助于保持网络的可管理性。

  • lease 租赁
    DHCP client 保留IP地址信息的时间长度称为租用。租约到期时,客户端必须续订租约。

  • DHCP relay 中继器
    侦听该网络上正在广播的客户端消息,然后将其转发到已配置的服务器的路由器或主机称为DHCP中继。然后,服务器将响应发送回中继代理,中继代理将响应传递给客户端。这可用于集中DHCP server,而不是在每个子网上都有一台服务器。

2.1 分配 IP

与DHCP相关的存在问题是,终端用户如何在没有IP地址的情况下首先连接到网络?

答案是,有一个复杂的来回请求和确认系统。首先,所有现代设备操作系统都包括一个默认启用的 DHCP client。为了请求IP地址,客户端设备发送广播消息–DHCPDISCOVER。网络将该请求定向到适当的 DHCP server。

通常将DHCP server功能分配给物理服务器和备份。其他设备也可以充当DHCP server,例如SD-广域网设备或无线接入点。

然后,服务器确定适当的IP地址,并将提供包发送到客户端,客户端使用请求包进行响应。在该过程的最后一步,服务器发送ACK数据包,确认已为客户端分配了IP地址。

这一切都是快速、自动完成的,最终用户无需采取任何操作。问题是,IP地址不是永久性的。它只在一段特定的时间内有效,也就是所谓的lease time(租赁时间)。

2.2 控制租赁时间

在DHCP协议下,每次DHCP server分配地址时,都会有一个相关的租用时间。当租约到期时,客户端不能再使用该IP地址,基本上会被踢出网络。

该协议旨在使活动客户端在租赁期中途自动联系DHCP server以续订租约。如果服务器没有立即响应,客户端将继续请求DHCP server续订租约,直到获得批准。

通常,当主机关闭时,租约会自动终止,以便释放其IP地址,以便网络上的另一个客户端可以使用该地址。

2.3 DHCP 的其他网络功能

除了为客户端提供通过IP地址连接到网络和Internet资源的能力外,DHCP server还会分配额外的网络参数,以提高效率和安全性。这些措施包括:

  • Default gateway
    该网关负责在本地网络和Internet之间或本地子网之间来回传输数据。

  • Subnet mask
    IP网络使用子网掩码来分隔IP地址的主机地址和网络地址部分。

  • DNS server
    将域名(NetworkWorld.com)转换为IP地址,IP地址由长串数字表示。

2.4 IP地址范围和用户类别

DHCP动态分配地址,但不是随机分配。由于DHCP将主机连接到网络并分配网络参数,因此在某些情况下,网络管理员可能希望将特定的子网参数集分配给特定的用户组。

scope(作用域)是一个连续的IP地址范围,DHCP server 可以利用它来满足来自 DHCP client 的IP地址请求。通过在 DHCP server 上定义一个或多个作用域,server 可以管理IP地址的分配和分配给 DHCP client 。在 DHCP 协议下,网络管理员可以根据需要设置无限数量的作用域。

Class A 是作用域的子集。如果网络管理员想要将设备组划分到更大范围的一个网段中,则 Class 非常有用。例如为远程工作的员工提供SD-WAN clients。

2.5 安全

通过使用DHCP,IP地址的初始分配设计为快速高效。权衡之处在于,DHCP协议不需要身份验证。当然,企业已经为用户设置了强大的身份验证要求,要求他们一旦进入网络就可以访问资源,但这仍然使DHCP服务器本身成为安全链中的薄弱环节。

攻击者可以接管或欺骗DHCP服务器,并将错误信息分发给合法的最终用户,将他们发送到虚假站点。或者,它可以将合法的IP地址分发给未经授权的用户。这可能导致中间人攻击和拒绝服务攻击。

DHCP规范确实解决了其中的一些问题。有一个中继代理信息选项,网络工程师可以在消息到达时对其进行标记。此标签可用于控制网络访问。此外,网络管理员可以使用802.1x身份验证(网络访问控制)来帮助保护DHCP。

三、DHCP 消息

3.1 DHCP discover message

This is the first message generated in the communication process between the server and the client. This message is generated by the Client host in order to discover if there is any DHCP server/servers are present in a network or not. This message is broadcasted to all devices present in a network to find the DHCP server. This message is 342 or 576 bytes long


As shown in the figure, the source MAC address (client PC) is 08002B2EAF2A, the destination MAC address(server) is FFFFFFFFFFFF, the source IP address is 0.0.0.0(because the PC has had no IP address till now) and the destination IP address is 255.255.255.255 (IP address used for broadcasting).

因为广播报文来查找网络中的一个或多个DHCP服务器,所以用广播IP地址和MAC地址。

3.2 DHCP offers a message

The server will respond to the host in this message specifying the unleased IP address and other TCP configuration information. This message is broadcasted by the server. The size of the message is 342 bytes. If there is more than one DHCP server present in the network then the client host will accept the first DHCP OFFER message it receives. Also, a server ID is specified in the packet in order to identify the server.

大致介绍
技术细节

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

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

相关文章

和鲸科技与国科环宇建立战略合作伙伴关系,以软硬件一体化解决方案促进科技创新

近日,在国科环宇土星云算力服务器产品发布会暨合作伙伴年度会上,和鲸科技与国科环宇正式完成战略伙伴签约仪式,宣布达成战略合作伙伴关系。未来,双方将深化合作,充分发挥在产品和市场方面的互补优势,为企事…

什么是工业物联网(IOT)?这样的IOT平台你需要吗?——青创智通

物联网(IOT)是指在互联网上为传输和共享数据而嵌入传感器和软件的互联设备的广泛性网络。这允许将从物理对象收集的信息(数据)存储在专用服务器或云中。通过分析这些积累的信息,通过提供最优的设备控制和方法,可以实现一个更安全、更方便的社会。在智能家…

【NodeJS】 API Key 实现 短信验证码功能

这里使用的平台是 短信宝整体来讲还是挺麻烦的平台必须企业才行,个人是无法使用该平台的 平台必须完成 身份信息认证 和 企业认证 这里就需要 “营业执照”了 ,没有 “营业执照” 的朋友还是后退一步吧 后端我用的是NodeJS ,使用第三方库 ro…

【办公软件】电脑开机密码忘记了如何重置?

这个案例是家人的电脑,已经使用多年,又是有小孩操作过的,所以电脑密码根本不记得是什么了?那难道这台电脑就废了吗?需要重新装机吗?那里面的资料不是没有了? 为了解决以上问题,一般…

【云原生系列】Kubernetes知识点

目录 概念 基础架构 单master节点 多master节点 组件 Master节点核心组件 其他组件 请求发送流程 插件 核心资源 调度资源 Pod 创建pod组件间调用流程 pod生命周期: 初始化容器 镜像拉取策略 重启策略 钩子函数 探针 探针的实现方式 DownwardAP…

Git的介绍和下载安装

Git的介绍和下载安装 概述 Git是一个分布式版本控制工具, 通常用来管理项目中的源代码文件(Java类、xml文件、html页面等)进行管理,在软件开发过程中被广泛使用 Git可以记录文件修改的历史记录并形成备份从而实现代码回溯, 版本切换, 多人协作, 远程备份的功能Git具有廉价的…

FPGA falsh相关知识总结

1.存储容量是128M/8 Mb16MB 2.有256个sector扇区*每个扇区64KB16MB 3.一页256Byte 4.页编程地址0256 5:在调试SPI时序的时候一定注意,miso和mosi两个管脚只要没发送数据就一定要悬空(处于高组态),不然指令会通过两…

年终好价节入手什么数码合适?盘点23年度值得入手的数码好物

各位科技控和数码迷!时间过得飞快,一眨眼2023年就要过去了,说到年底,当然少不了年终好价节啦!这时候正是更新你的数码装备、升级生活品质的绝佳时机。别管你是不是科技控,工作狂还是生活追求者,…

JavaWeb服务器详解和后端分层解耦

JavaWeb HTTP协议请求数据格式响应数据格式协议解析 Web服务器请求响应请求参数的接收响应 分层解耦IOC&DI入门IOC详解 HTTP协议 超文本传输协议,规定了浏览器和服务器之间数据传输的规则 特点: 基于TCP协议:面向连接,安全 …

npm WARN npm npm does not support Node.js v13.9.0

Microsoft Windows [版本 10.0.19045.2965] (c) Microsoft Corporation。保留所有权利。C:\Users\Administrator>node -v v13.9.0C:\Users\Administrator>npm -v npm WARN npm npm does not support Node.js v13.9.0 npm WARN npm You should probably upgrade to a newe…

正则表达式回溯陷阱

一、匹配场景 判断一个句子是不是正规英文句子 text "I am a student" 一个正常的英文句子如上,英文单词 空格隔开 英文单词 多个英文字符 [a-zA-Z] 空格用 \s 表示 那么一个句子就是单词 空格(一个或者多个,最后那个单词…

力扣:1419. 数青蛙

题目&#xff1a; 代码&#xff1a; class Solution { public:int minNumberOfFrogs(string croakOfFrogs){string s "croak";int ns.size();//首先创建一个哈希表来标明每个元素出现的次数&#xff01;vector<int>hash(n); //不用真的创建一个hash表用一个数…

40.0/jdbc/Java数据连接/jar包运用增删改

目录 40.1. 回顾 40.2. 正文 40.1 为什么需要jdbc 40.2 如何连接mysql数据库 40 .3 jdbc容易出现的错误 40.4 完成删除 40.5 完成修改 40.1. 回顾 1. 自联查询: 自己连接自己的表。注意:一定要为表起别名。 2. 嵌套查询: 把一个查询的结果作为另一个查询的条件值。 3. 组…

高效率:使用DBeaver连接spark-sql

提高运行效率一般采取底层使用spark引擎替换成hive引擎的方式提高效率&#xff0c;但替换引擎配置较为复杂考虑到兼容版本且容易出错&#xff0c;所以本篇将介绍使用DBeaver直接连接spark-sql快速操作hive数据库。 在spark目录下运行以下命令&#xff0c;创建一个SparkThirdSe…

计算机网络:网络层

0 本节主要内容 问题描述 解决思路 1 问题描述 两大问题&#xff08;重点&#xff0c;也是难点&#xff09;&#xff1a; 地址管理&#xff1b;路由选择。 1.1 子问题1&#xff1a;地址管理 网络上的这些主机和节点都需要使用一种规则来区分&#xff0c;就相当于是一种身…

数据可视化:用图表和图形展示数据

写在开头 在当今信息爆炸的时代,海量的数据如同一座沉默的宝库,等待着我们挖掘和理解。然而,这些庞大的数据集本身可能令人望而生畏。在这个时候,数据可视化成为了解数据、发现模式和传达信息的强大工具。本篇博客将带领你探索数据可视化的奇妙世界,学习如何在python中使…

【Java程序员面试专栏 专业技能篇 】Java SE核心面试指引(四):Java新特性

关于Java SE部分的核心知识进行一网打尽,包括四部分:基础知识考察、面向对象思想、核心机制策略、Java新特性,通过一篇文章串联面试重点,并且帮助加强日常基础知识的理解,全局思维导图如下所示 本篇Blog为第四部分:Java新特性,子节点表示追问或同级提问 Java8新特性…

第一百八十五回 如何禁止页面跟随手机自动旋转

文章目录 1. 概念介绍2. 使用方法2.1 全面禁止2.2 局部禁止3. 示例代码4. 内容总结我们在上一章回中介绍了"如何自定义Radio组件"相关的内容,本章回中将介绍 如何禁止页面随手机自动旋转.闲话休提,让我们一起Talk Flutter吧。 1. 概念介绍 在手机默认设置下,手机…

1.ORB-SLAM3中如何保存多地图、关键帧、地图点到二进制文件中

1 保存多地图 1.1 为什么保存(视觉)地图 因为我们要去做导航&#xff0c;导航需要先验地图。因此需要保存地图供导航使用&#xff0c;下面来为大家讲解如何保存多地图。 1.2 保存多地图的主函数SaveAtlas 2051 mStrSaveAtlasToFile是配置文件中传递的参数&#xff1a; 这里我们…

jsoup登录日志平台后调企业微信机器人自动发送错误日志告警

一、需求&#xff1a;错误日志Top10告警发送 二、需求分解 jsoup实现登录&#xff0c;获取到cookie和token等用户鉴权信息获取接口相应的key值调用日志平台错误日志Top榜接口&#xff0c;查询到结果集调用企业微信机器人发送消息接口加上定时任务&#xff0c;可以实现定时发送…