计算机网络 —— 应用层(DHCP)

计算机网络 —— 应用层(DHCP)

  • 什么是DHCP
  • DHCP工作过程
    • DHCP DISCOVER
    • DHCP OFFER
    • DHCP RQUEST
    • DHCP ACK
  • DHCP租约机制
  • 中继代理
      • 工作原理
      • 功能与优势

我们今天来计网的DHCP:

什么是DHCP

DHCP(Dynamic Host Configuration Protocol,动态主机配置协议)是一种网络管理协议,主要功能是自动为连接到网络中的设备分配IP地址以及其他的网络配置参数,如子网掩码、默认网关、DNS服务器地址等。这一过程大大简化了网络管理任务,尤其是在大型网络环境中,避免了手动配置每一台设备的网络设置。

DHCP的工作流程大致如下:

  1. DHCP Discovery:当一台新设备加入网络时,它会以广播形式发送一个DHCP DISCOVER报文,请求网络中的DHCP服务器为其分配IP地址和配置信息。
  2. DHCP Offer:接收到DHCP DISCOVER报文的DHCP服务器会响应一个DHCP OFFER报文,报文中包含服务器准备分配给客户端的IP地址和其他网络配置信息。
  3. DHCP Request:客户端从接收到的一个或多个DHCP OFFER中选择一个,并发送一个DHCP REQUEST报文,广播给所有DHCP服务器,请求分配在OFFER中指定的IP地址。
  4. DHCP ACK:最初提供该IP地址的DHCP服务器收到DHCP REQUEST后,会发送一个DHCP ACK报文,确认该IP地址以及其他配置信息正式分配给客户端。客户端随后配置这些网络设置,完成网络接入。

如果分配的IP地址已经被占用或其他问题导致无法分配服务器可能会返回DHCP NAK报文,拒绝分配,客户端则需要重新开始发现过程

DHCP协议基于UDP,使用两个知名的端口号:服务器监听67号端口,客户端使用68号端口。此外,DHCP支持租约机制,即分配给客户端的IP地址有一个有效期限,到期后客户端需要请求续租或重新获取新的IP地址。

在这里插入图片描述

DHCP工作过程

DHCP DISCOVER

如果主机要申请IP地址配置信息,会以广播形式,发送DHCP DISCOVER(因为不知道哪台DHCP服务器会有自己的配置信息):
在这里插入图片描述报文里会有事务ID和自己的MAC地址,事务ID是用于后序处理要确定身份的标识。

DHCP OFFER

如果有DHCP愿意提供配置信息给相应的客户端,DHCP会以自己掌握的信息,封装DHCP OFFER报文段给客户端:
在这里插入图片描述
这里要注意,这里IP地址的选择,会先用ARP来检查该IP地址是否被占用。

DHCP RQUEST

如果有多个DHCP OFFER,客户端会选择一个服务器端,并向选择的DHCP服务器发送DHCP RQUSET

在这里插入图片描述

DHCP ACK

如果服务器端确认,则会发送一个DHCP ACK给客户端进行确认
在这里插入图片描述这个时候,又会使用ARP来检测IP地址是否被使用。

这个时候,客户端就可以使用DHCP服务器端提供的信息,配置自己的信息。

DHCP租约机制

DHCP协议支持一种称为“租约”的机制。这一机制是用来管理IP地址分配的有效期限。以下是DHCP租约机制的一些关键点:

  1. 租约分配:当DHCP客户端首次连接到网络并成功获取IP地址及其他网络配置信息时,DHCP服务器会为这个分配设定一个有效期,这就是租约时间。租约时间可以是几分钟到几年不等,具体取决于网络管理员的配置和需求。
  1. 租约续订:在租约有效期即将结束之前,客户端会自动尝试续订其IP地址租约。续订过程通常在租约时间过半时开始,客户端会发送DHCP REQUEST报文给服务器,请求延长当前IP地址的使用期限。如果服务器同意,会回复DHCP ACK报文确认续租。
  1. 租约重绑定:如果初始续租尝试没有得到回应,客户端会在租约即将到期时进入重绑定阶段,这时它会更积极地尝试联系任何可用的DHCP服务器来续订租约。
  1. 租约终止与回收:如果租约到期且没有成功续订,客户端必须停止使用该IP地址,并可能开始新的DHCP发现过程来获取新的地址。同时,DHCP服务器可以回收该IP地址,重新分配给其他客户端使用,从而高效利用有限的IP地址资源。

具体情况如下:
在这里插入图片描述
整体流程如下:
在这里插入图片描述

中继代理

DHCP 中继代理(DHCP Relay Agent 或 DHCP Helper)是在网络架构中扮演重要角色的一个组件,主要用于扩展DHCP服务的覆盖范围,使其能够跨越不同的网络段或子网工作。由于DHCP协议基于广播,通常限制在同一局域网(LAN)内操作,中继代理的存在克服了这一限制,使得客户端即使与DHCP服务器不在同一物理网段,也能获得IP地址和其他网络配置信息。以下是中继代理的基本工作原理和功能:

工作原理

  1. 跨子网转发DHCP消息:当DHCP客户端发出广播请求(如DHCPDISCOVER或DHCPREQUEST)时,由于广播不能跨越路由器,位于不同子网的DHCP服务器原本无法接收到这些请求。中继代理位于客户端所在子网的边缘路由器或交换机上,它监听这些广播消息,并将它们转换成单播报文,然后转发给配置好的DHCP服务器
  1. 修改和插入信息:中继代理在转发DHCP消息时,会在报文中插入一些额外的信息,如中继代理本身的IP地址(作为giaddr字段,即Gateway IP Address),以便DHCP服务器能够识别请求的来源,并通过中继代理将响应发送回客户端所在的子网。
  1. 响应转发:DHCP服务器处理中继代理转发的请求后,会将DHCP ACK或DHCP NAK等响应消息发送给中继代理,而不是直接广播到原始子网。中继代理再将这些单播响应转发回客户端,确保客户端能够接收到必要的网络配置信息。

功能与优势

  • 扩展DHCP服务范围:允许在一个复杂的多子网网络中集中管理IP地址分配,不必在每个子网部署DHCP服务器。
  • 提高网络效率与安全性:减少对广播通信的依赖,降低网络广播流量,同时通过集中管理DHCP服务增强了网络的安全性控制。
  • 灵活性与管理便利:便于网络管理员集中管理和调整网络配置,包括IP地址池、租约时间等,无需对每个物理网段单独配置。

在这里插入图片描述

综上所述,DHCP中继代理是实现跨子网DHCP服务的关键技术,对于大型企业网络或复杂的网络架构而言尤为重要。

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

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

相关文章

2024年,收付通申请开通流程

大家好,今天咱们来聊聊关于APP场景中开通微信收付通的一些实用小窍门。在如今的移动互联网时代,很多商家都选择通过APP来提供服务和产品,因此如何在APP中顺利集成微信收付通功能,让用户能够轻松完成支付,就显得尤为重要…

分支结构相关

1.if 语句 结构: if 条件语句: 代码块 小练习: 使用random.randint()函数随机生成一个1~100之间的整数,判断是否是偶数 import random n random.randint(1,100) print(n) if n % 2 0:print(str(n) "是偶数") 2.else语…

Vue中使用ElementUI组件Form组件的校验validate

先准备一些el-form元素 这里面el-form中:model(v-bind:model)是单项绑定的,如果你写成了v-model""可能会出现校验没有效果的情况。 这是校验过后的结果了 现在开始使用下吧! 1.在el-form中绑定一个ref,名字自拟,后续触发检验结果…

QT-QPainter实现一个动态充电的电池

1、效果 2、核心代码 #ifndef WIDGET_H #define WIDGET_H#include <QWidget> #include <QTimer>

php反序列化的一些知识

问题 <?php $raw O:1:"A":1:{s:1:"a";s:1:"b";}; echo serialize(unserialize($raw)); //O:1:"A":1:{s:1:"a";s:1:"b";}?> php反序列化的时按理说找不到A这个类&#xff0c;但是他没有报错&#xff0c;…

SpringBoot复习

第一章 SpringBoot开发入门 1.Springboot的优点。 ① 可快速构建独立的Spring应用。 ② 直接嵌入Tomcat、Jetty和Undertow服务器&#xff08;无须部署WAR文件&#xff09; ③ 通过依赖启动器简化构建配置 ④ 自动化配置Spring和第三方库 ⑤ 提供生产就绪功能 ⑥ 极少的代码生成…

HJY-91A/8J电压继电器10-242VAC 辅助电源220VDC 约瑟JOSEF

系列型号 HJY-E1A/4D数字式交流电压继电器&#xff1b;HJY-E1A/4J数字式交流电压继电器&#xff1b; HJY-E1B/4D数字式交流电压继电器&#xff1b;HJY-E1B/4J数字式交流电压继电器&#xff1b; HJY-E2A/4D数字式交流电压继电器&#xff1b;HJY-E2A/4J数字式交流电压继电器&…

【Android面试八股文】你刚刚提到了V2签名使用美团的Walle实现多渠道打包,那么你能讲一讲Android 签名的 v1、v2、v3、v4版本的区别吗?

文章目录 前言一、简介二、APK 签名方案 v1 (JAR签名)2.1. 签名过程2.2 验证过程2.3 详细例子2.4 优缺点2.5 美团基于V1版本的多渠道打包方案三、APK 签名方案 v23.1 为什么要设计APK 签名方案 v2 ?3.2 APK 签名方案 v2 : 签名前和签名后的 APK3.2.1 签名前和签名后的 APK3.2…

[17] 使用Opencv_CUDA 进行滤波操作

使用Opencv_CUDA 进行滤波操作 邻域处理操作 > 滤波操作&#xff0c;拒绝或者允许某特定频段通过如果图像某处的灰度级变化缓慢&#xff0c;那么就是低频区域&#xff0c;如果灰度级变化剧烈&#xff0c;就是高频区域邻域滤波即卷积操作形态学处理&#xff1a;膨胀&#xf…

全网最全postman接口测试教程和项目实战~从入门到精通

Postman实现接口测试内容大纲一览&#xff1a; 一、什么是接口&#xff1f;为什么需要接口&#xff1f; 接口指的是实体或者软件提供给外界的一种服务。 因为接口能使我们的实体或者软件的内部数据能够被外部进行修改。从而使得内部和外部实现数据交互。所以需要接口。 比如&…

Spring Boot -- 图书管理系统(登录、展示+翻页、添加/修改图书)

文章目录 一、应用分层二、数据库的设计三、登录功能四、展示列表&#xff08;使用虚构的数据&#xff09;五、翻页 展示功能六、添加图书七、修改图书 一、应用分层 为什么我们需要应用分层&#xff1a;当代码量很多时&#xff0c;将其全部放在一起查找起来就会很麻烦&#…

Docker 可用镜像源

当使用 docker 发现拉取不到镜像时&#xff0c;可以编辑 /etc/docker/daemon.json 文件&#xff0c;添加如下内容&#xff1a; 这文章不涉及政治&#xff0c;不涉及敏感信息&#xff0c;三番五次的审核不通过&#xff0c;一删再删&#xff0c;只好换图片了。 重新加载服务配置…

Zookeeper基础教程

Zookeeper基础教程 资料来源&#xff1a;Zookeeper Tutorial (tutorialspoint.com) zookeeper就是Hadoop生态动物园的管理员 1. Zookeeper-概述 ZooKeeper是一种分布式协调服务&#xff0c;用于管理大型主机集群(large set of hosts)。在分布式环境中协调和管理服务是一个复…

解决navicat连接oracle19c数据库缺少oci.dll

下载oci.dll文件 搜索Oracle Instant Client Downloads Oracle Instant Client Downloads点击 Oracle Instant Client Downloads 超链接 根据自己的操作系统按需选择 以windows64位为例&#xff0c;下载 Version 19.23.0.0.0的OCI压缩包 解压到Navicat的安装根路径下&#xff…

Qt creator day1 练习

自由发挥登录窗口的应用场景&#xff0c;实现一个登录窗口界面&#xff0c;要求&#xff1a;第行代码都有注释 #include "mywidget.h"MyWidget::MyWidget(QWidget *parent): QWidget(parent) {this->setWindowTitle("贪玩蓝月——是兄弟就来砍我 登入&#…

两个src案例分享

案例一 文前废话:某天正在刷着**社区的帖子,欣赏着漂亮的小姐姐,突然间评论区的一条评论引起了我的注意,类似于下面这样 这种评论在html标签中代码格式是<a>这是文字</a>这样的 同时评论区XSS漏洞的高发区,想着可能会有操作点 一、发布一个标题有js语句的贴子 二…

接口联调测试工作总结

接口联调测试工作已经告一段落&#xff0c;现在总结如下: 1、首先接口联调测试的价值 2、接口联调要有工作思路 3、接口联调工作准备 4、接口联调测试数据设计 5、接口联调脚本研发 6、脚本联调测试 测试业务本身需要接口联调调用 独立接口正确&#xff0c;但有可能接口…

如何用Vue3打造一个令人惊叹的极坐标图

本文由ScriptEcho平台提供技术支持 项目地址&#xff1a;传送门 使用 Vue3-ApexCharts 绘制极地区域图 应用场景 极地区域图常用于展示具有周期性或分类性数据的分布情况&#xff0c;例如不同月份的销售额、不同年龄段的人口分布等。 基本功能 此代码使用 Vue3-ApexChart…

平安养老险黄山中支开展“反洗钱电影送下乡”活动

为不断增强反洗钱教育宣传的精准性和有效性&#xff0c;提升乡村群众的洗钱风险防范意识&#xff0c;6月18日&#xff0c;在中国人民银行黄山市分行的部署和指导下&#xff0c;平安养老保险股份有限公司&#xff08;以下简称“平安养老险”&#xff09;黄山中心支公司、平安人寿…

Python基础教程(二十六):对接MongoDB

&#x1f49d;&#x1f49d;&#x1f49d;首先&#xff0c;欢迎各位来到我的博客&#xff0c;很高兴能够在这里和您见面&#xff01;希望您在这里不仅可以有所收获&#xff0c;同时也能感受到一份轻松欢乐的氛围&#xff0c;祝你生活愉快&#xff01; &#x1f49d;&#x1f49…