在这里插入图片描述

文章目录

      • 为何需要DHCP?手动配置的痛点🤔
      • DHCP的基本工作模式🥝
      • DHCP的核心功能:IP地址的动态管理🥝
        • 租用期的特点
        • 租用期的管理机制
      • DHCP四步工作流程:从“发现”到“绑定”🐦‍🔥
      • 中继代理:跨子网的DHCP支持🍂
      • 总结

在计算机连接互联网时,必须配置一系列关键网络信息,包括:

  • IP地址:唯一标识设备(如192.168.1.100
  • 子网掩码:定义网络范围(如255.255.255.0
  • 默认网关:通往外部网络的出口(如192.168.1.1
  • DNS服务器的IP地址:用于域名解析(如114.34.12.56

为何需要DHCP?手动配置的痛点🤔

在这里插入图片描述

如果为网络中每台主机手动配置上述信息,会面临两大问题:

  • 工作量极大:在包含成百上千台设备的网络中,逐台配置效率极低;
  • 易出错:IP地址冲突、网关填写错误等问题会导致网络故障。

此时,动态主机配置协议(DHCP)应运而生。它通过 客户-服务器模式 实现网络信息的自动化配置,彻底解决了手动配置的痛点。

在这里插入图片描述

DHCP的基本工作模式🥝

DHCP采用客户/服务器架构

  • DHCP服务器:运行服务器进程,存储可分配的网络参数(如IP地址池);
  • DHCP客户:用户主机上的客户端进程,开机后自动向服务器请求配置。

作为TCP/IP体系中应用层的协议,DHCP使用UDP服务进行通信,且端口号固定:

  • 服务器使用UDP 67端口
  • 客户使用UDP 68端口

DHCP的核心功能:IP地址的动态管理🥝

DHCP服务器通过IP地址池按需分配地址,且分配的IP地址具有临时性,其使用时间称为租用期。这一机制实现了IP地址的高效循环利用。

租用期的特点
  • 由DHCP服务器自主设定,范围可从1秒到136年(通过4字节二进制数表示,单位为秒);
  • 不同场景的典型设置:
    • 校园网(如清华大学校园网):租用期设为1小时,适应高密度设备接入;
    • 企业网络(如华为总部):固定工位设备租用期设为720小时(30天),减少频繁分配开销。
租用期的管理机制

客户端需在租用期内主动更新IP使用权,避免地址被回收,具体依赖两个计时器:

  • T1(0.5T):租用期过半时,客户端发送续租请求(DHCPREQUEST);
  • T2(0.875T):租用期达87.5%时,若未收到服务器响应,重复发送续租请求。

服务器响应规则:

  • 同意续租:返回DHCPACK,客户端重置计时器;
  • 拒绝续租:返回DHCPNACK,客户端需重新申请IP(回到发现阶段)。

此外,DHCP支持静态绑定(为核心设备如交换机分配固定IP)和主动释放(客户端发送DHCPRELEASE报文释放IP)。

DHCP四步工作流程:从“发现”到“绑定”🐦‍🔥

新设备接入网络后,通过以下四步完成配置:

  1. 发现阶段(DHCPDISCOVER)
    设备(如笔记本)发送广播报文(目的IP为255.255.255.255,源IP为0.0.0.0),请求寻找DHCP服务器。
    例:员工连接办公室WiFi时,电脑自动发送“谁是DHCP服务器?”的请求。

  2. 提供阶段(DHCPOFFER)
    所有DHCP服务器收到请求后,返回提供报文,包含可分配的IP地址、租用期等信息。
    例:企业内网中的多台DHCP服务器会同时响应,客户端将从中选择最优方案。

  3. 请求阶段(DHCPREQUEST)
    客户端向选定的服务器发送确认请求,表明接受其提供的配置。
    例:笔记本回复“我选择使用这个IP地址”。

  4. 确认阶段(DHCPACK)
    服务器发送确认报文,客户端进入“已绑定状态”,正式使用分配的IP地址。
    例:设备成功获取IP后,可访问公司内网资源。

在这里插入图片描述

中继代理:跨子网的DHCP支持🍂

在这里插入图片描述

默认情况下,DHCP的广播请求无法通过路由器转发(会被直接丢弃),导致跨子网设备无法获取配置。解决方法是使用 DHCP中继代理 给该路由器配置DHCP服务器的IP地址并使之成为DHCP中继代理):

  • 作用:配置了DHCP服务器IP的路由器充当“快递员”,将子网内的广播请求转为单播转发给服务器;
  • 应用场景:多子网共用一个DHCP服务器,如大学校园网(50个子网仅需1台服务器);
  • 流程:子网A设备发送广播请求 → 中继代理单播转发至服务器 → 服务器响应后,中继代理回传至设备。

在这里插入图片描述

总结

DHCP作为网络配置的“自动化管家”,通过动态分配IP地址、管理租用期和跨子网中继等功能,大幅降低了网络管理的复杂度。


如果我的内容对你有帮助,请 点赞 评论 收藏 。创作不易,大家的支持就是我坚持下去的动力!
在这里插入图片描述

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

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

相关文章

嵌入式系统内存分段核心内容详解

一、嵌入式内存分段整体规则(按地址从低到高)嵌入式系统内存按 “功能 属性” 划分为 6 个核心段,地址从低到高依次分布,各段职责与存储对象明确,具体规则如下表:地址范围段类型(Segment&#…

开发避坑指南(45):Java Stream 求两个List的元素交集

需求 java 中如何用stream求两个List元素的交集&#xff1f; 代码实现 直接上代码 public class ListTest {public static void main(String[] args) {List<Integer> list1 new ArrayList<>();list1.add(1);list1.add(2);list1.add(3);List<Integer> list2 …

gitlab流水线与k8s集群的联通

gitlab流水线与k8s集群的连接&#xff0c;首先是通过gitlab-ci.yml文件中的命令&#xff0c;通过runner执行器实例运行对应的kubectl命令实现的。 那么runner执行器实例执行器如何执行kubectl命令&#xff0c;执行环境的配置&#xff0c;kubectl命令如何与k8s集群互认&#xff…

【Linux】常用命令速查表

Linux 常用命令速查表查看进程内存映射pmap -x <pid> # 查看进程的内存映射信息查看系统架构uname -m # 查看操作系统架构&#xff08;x86_64 / arm64 等&#xff09;磁盘与文件du -sh /home/* # 查看 /home 下每个用户目录的大小&#x…

Windows下编译SLEPc

本文记录在Windows下编译SLEPc的流程。 零、环境 操作系统Windows 11VS Code1.92.1MSYS2msys2-x86_64-20250830 一、安装依赖 1.1、依赖 首先&#xff0c;下载并安装MSYS2&#xff0c; 打开MSYS2 MINGW64控制台&#xff0c;运行以下命令安装依赖包&#xff0c; pacman -S …

运动生理实验室解决方案 人体生理实验整体解决方案

&#xff08;一&#xff09;、硬件参数 集成化折叠式无创型生理实验平台&#xff1a;1.1、 集成化设计:至少包含设备操作台、可收纳式交互实验桌、可收纳式检查床、生物信号 采集处理系统、计算机工作站集成于一体的高度集成设计&#xff1b;&#xff08;o561-6o623…

Axure RP 9 最新版安装包+安装步骤Win系统适用(附安装包)

Axure RP 9​ 是一款专业的 ​原型设计工具&#xff0c;主要用于 ​网站、APP、软件等产品的界面设计和交互原型制作。 一、准备工作 ​下载好安装包​ Axure RP 9安装包下载&#xff1a;https://pan.quark.cn/s/bc2b35011106 二、开始安装 第一步&#xff1a;双击运行安装包…

AutoMQ 亮相首尔:KafkaKRU 分享日志流处理新思路

全球 Kafka 社区都在关注 AutoMQ&#xff01;凭借在 Kafka 生态的独特创新&#xff0c;AutoMQ 深受 Kafka 用户喜爱&#xff0c;已成为众多企业和开发者的首选实时数据解决方案。昨天&#xff0c;我们非常高兴看到来自韩国的 KafkaKRU 核心社区在首尔举办第2届官方线下交流会。…

从零开始使用 axum-server 构建 HTTP/HTTPS 服务

axum-server 是 Rust 生态中为 axum 框架设计的高性能服务器实现&#xff0c;基于 hyper&#xff08;底层 HTTP 引擎&#xff09;和 tower&#xff08;服务抽象&#xff09;构建&#xff0c;支持 HTTP/1、HTTP/2 及 HTTPS。本教程将从环境准备到实战功能&#xff0c;一步步带你…

电路运行的核心-RTC

1. 时钟芯片是什么&#xff1f;时钟芯片&#xff0c;更准确的名称是实时时钟芯片&#xff0c;英文是 Real-Time Clock&#xff0c;简称 RTC。它是一个专用的集成电路&#xff0c;其核心功能是追踪时间和日历。你可以把它想象成电子设备里的一个“电子表”或“日历钟”。关键特性…

AR消防头盔:火场救援的智能“透视眼”

在浓烟弥漫、能见度几乎为零的火场中&#xff0c;消防员们依靠什么来精准掌握队友的位置和状态&#xff1f;答案是AR智能消防头盔&#xff08; www.teamhelper.cn &#xff09;。这种头盔通过多种定位技术的融合&#xff0c;为消防员提供了强大的团队协作和指挥协同能力&#x…

基于大模型的个性化推荐系统实现探索与应用

前言 如果你一直在跟着Fanstuck博主的脚步探索AI大模型的相关内容&#xff0c;从最初的大模型Prompt工程解析&#xff0c;DeepSeek全面解析&#xff0c;到实际的私有化大模型开发部署&#xff0c;再到深入NL2SQL、知识图谱大模型和ChatBI等更高阶应用.我是Fanstuck&#xff0c…

【已解决】Echarts 力学布局图谱切换图例的时候线条残留在了画布上

在用Vue3封装 ECharts 的力导向图&#xff08;graph force&#xff09;时&#xff0c;我遇到一个问题&#xff1a;点击图例切换节点显隐后&#xff0c;线条残留在原位置&#xff0c;画布出现“脏线条”。&#xff08;问题如下&#xff1a;&#xff09;这个问题本质上是因为…&…

Vue动态实时字数限制

文章目录&#x1f680; Vue.js 动态实时字数限制指南1. 核心实现方法1.1 使用计算属性 (Computed Property)1.2 结合计算属性的 Setter/Getter1.3 使用监听器 (Watcher)1.4 使用自定义指令 (Custom Directive)1.5 原生 maxlength 属性结合 Vue2. 特殊场景处理2.1 处理粘贴操作2…

荣耀手机无法连接win11电脑,错误消息:“无法在此设备上加载驱动程序 (hn_usbccgpfilter.sys)。”解决方案

错误发生背景&#xff1a; 本人于2024年月底买了一部荣耀Magic7 RSR手机&#xff0c;当时在win10的rog电脑上可以正常连接&#xff0c;但是后面换了一个acer的win11电脑后&#xff0c;一开始可以正常连接&#xff0c;但是要我下载荣耀Hisuite&#xff08;荣耀手机助理&#xff…

springboot env 多环境配置入门与实战

Spring Boot3 Env 项目地址 https://gitee.com/supervol/loong-springboot-study &#xff08;记得给个start&#xff0c;感谢&#xff09; Env 概述 在 Spring Boot 3 开发中&#xff0c;多环境配置是核心能力之一&#xff0c;其目的是为不同场景&#xff08;如开发、测试、…

利用conda打包/复刻生信环境

01、写在前面 大家拿到自己的服务器(趁开学| 入手足够完成硕博生涯的生信环境)后可能需要安装很多的软件与包&#xff0c;Linux中许多包的安装依赖过多、安装复杂。而conda作为一个能够直接安装超过90%软件的"管家"&#xff0c;能够像Windows和手机中的应用商店那样…

数据分析:合并

&#x1f537; DA37&#xff1a;统计运动会项目报名人数&#xff08;仅输出有人报名的项目&#xff09;✅ 题目描述给定两个 CSV 文件&#xff1a;items.csv&#xff1a;包含项目信息&#xff08;item_id, item_name, location&#xff09;signup.csv&#xff1a;包含员工报名信…

高并发内存池(一):项目介绍和ThreadCache(线程缓存)实现

前言&#xff1a;本文将要介绍的高并发内存池&#xff0c;它的原型是Google的⼀个开源项⽬tcmalloc&#xff0c;全称Thread-Caching Malloc&#xff0c;近一个月我将以学习为目的来模拟实现一个精简版的高并发内存池&#xff0c;并对核心技术分块进行精细剖析&#xff0c;分享在…

RK3399平台ffmpeg-VPU硬编码录制USB摄像头视频、H264或MJPEG编码

文章目录 1 前言2 项目内容详细说明2.0 功能2.1 工程文件夹说明 3 代码3.1 CameraThread类3.1 CameraThreadImpl类 4 资源下载 1 前言 在某项目中需要在RK3399平台实现USB摄像头画面的实时预览、视频录制、拍照存储等功能。   先来看需要实现的最终效果。    ffmpeg USB摄…