新华三H3CNE网络工程师认证—DHCP基本原理

news2024/9/25 11:18:08

DHCP报文交互一共有四个报文,分别是Discover、Offer、Request和Ack。DHCP Discover是客户端连入网络之后(配的自动获取),会对外发送Discover,其实这个报文的作用可以理解为网络当中谁是服务器,用广播去发,服务器给我个地址,我要租地址;服务器收到之后会通过Offer报文来告诉你分配的地址,把参数一起给你;这个时候你会再去发送一个DHCP Request,告诉我要使用这个地址了,这个时候你记得接收一下。(服务器回一个Offer报文时单波的,一个网络当中多台DHCP服务器很正常,可靠性更高)

文章目录

    • 一、DHCP简介
      • 1、DHCP的作用
      • 2、DHCP的应用场景
      • 3、租期
      • 4、地址池
      • 5、DHCP的报文介绍
    • 二、DHCP的工作流程和原理描述
      • 1、DHCP客户端接入服务器的过程。
        • (1)发现阶段
        • (2)提供阶段
        • (3)请求阶段
        • (4)确认阶段
      • 2、在有中继场景时DHCP客户端接入服务器的过程
        • (1)发现阶段
        • (2)选择阶段
        • (3)请求阶段
        • (4)确认阶段

一、DHCP简介

DHCP(动态主机配置协议)是一种用于集中管理和分配用户IP地址的技术。它有效简化了手动配置IP地址的繁琐操作,即便在小规模网络环境中,DHCP也能够使新增设备的IP地址配置过程更加简便高效。

1、DHCP的作用

DHCP用一块IP地址区间分配IP给所有的终端,实现对IP地址动态统一的管理和配置。

2、DHCP的应用场景

DHCP(动态主机配置协议)采用客户端/服务器(C/S)架构,主要应用于局域网中。它位于OSI参考模型的应用层,并通过UDP协议进行通信。

3、租期

DHCP服务器为每个客户端分配的IP地址都有一个使用期限,这个期限称为租期。在租期到期前,若客户端仍需继续使用该IP地址,可以向服务器请求延长租期;若不再需要,则可主动释放该IP地址。当没有其他空闲地址时,服务器会将主动释放的IP地址分配给其他客户端。

DHCP服务器动态分配的IP地址都受租期限制,不同的服务器租期配置可能不同。而静态分配的IP地址则没有租期限制,可以永久使用。

为避免租期到期后IP地址被回收并重新分配给其他客户端,DHCP客户端会在租期结束前提前申请续期,以保证继续使用相同的IP地址。

4、地址池

地址池是指DHCP服务器可用于分配给客户端的所有IP地址的集合。除了IP地址,地址池中还可以包含租期、子网掩码、默认网关等网络参数。在DHCP服务器为客户端分配IP地址时,这些网络参数也会同时分配给客户端。

5、DHCP的报文介绍

Op:表示报文的类型,取值为1或2,1为客户端请求报文,2为服务器响应报文
Htype:表示硬件类型。不同的硬件类型取值不同,最常见的值是1,表示以太网(10Mb)。
Hlen:表示硬件地址长度,以太网的值为6。
Hops:表示当前的DHCP报文经过的DHCP中继的数目。该字段由客户端或服务器设置为0,每经过一个DHCP中继时,该字段加1。此字段的作用是限制DHCP报文所经过的DHCP中继数目。服务器和客户端之间的DHCP中继数目不能超过16个,也就是Hops值不能大于16,否则DHCP报文将被丢弃。
Xid:表示DHCP客户端选取的随机数,使DHCP服务器的回复与DHCP客户端的报文相关联。
Secs:表示客户端从开始获取地址或地址续租更新后所用的时间。单位是秒。
Flags:表示标志字段。只。
Ciaddr:表示客户端的IP地址。可以是服务器分配给客户端的IP地址或者客户端已有的IP地址。客户端在初始化状态时没有IP地址,此字段为0.0.0.0。
Yiaddr:表示服务器分配给客户端的IP地址。当服务器进行DHCP响应时,将分配给客户端的IP地址填入此字段。
Siaddr:DHCP客户端获得启动配置信息的服务器的IP地址。
Giaddr:表示第一个DHCP中继的IP地址。
Chaddr:表示客户端的MAC地址。
Sname:表示客户端获取配置信息的服务器名字。
File:表示客户端需要获取的启动配置文件名。
Options:表示DHCP的选项字段,最多为312字节。

二、DHCP的工作流程和原理描述

1、DHCP客户端接入服务器的过程。

如下图描述一般场景时DHCP的工作流程。主要分为四步。
在这里插入图片描述

(1)发现阶段

首次接入网络的DHCP客户端并不清楚DHCP服务器的IP地址,为了得到DHCP服务器的IP地址,DHCP客户端以广播方式发送DHCP DISCOVER报文。(DHCP DISCOVER报文中携带了客户端的MAC地址、请求参数表项、广播标志位等信息)。

(2)提供阶段

与DHCP客户端位于同意网段的DHCP服务器都会收到DHCP DISCOVER报文,DHCP服务器选择跟接收DHCP DISCOVER报文接口的IP地址处于同一网段的地址池,并且从中选择一个可用的IP地址,然后通过DHCP OFFER报文发送给DHCP客户端。

(3)请求阶段

如果有多个DHCP服务器向DHCP客户端回应DHCP OFFER报文,DHCP客户端一般只接收第一个收到的DHCP OFFER报文。在收到DHCP OFFER报文之后,DHCP 客户端以广播方式发送DHCP REQUEST报文,DHCP REQUEST报文中包含客户端想选择的DHCP服务器标识符和客户端IP地址。
DHCP客户端广播发送DHCP REQUEST报文通知所有的DHCP服务器,它将选择某个DHCP服务器提供的IP地址,其他的DHCP服务器则会将分配给该DHCP客户端的IP地址分配给其他DHCP客户端。

(4)确认阶段

当DHCP服务器收到DHCP客户端发送的DHCP REQUEST报文后,DHCP服务器回应DHCP ACK报文,表示DHCP REQUEST报文中请求的IP地址,分配给客户端使用。

2、在有中继场景时DHCP客户端接入服务器的过程

DHCP中继在DHCP服务器和DHCP客户端之间转发DHCP报文,以保证DHCP服务器和DHCP客户端可以正常交互。下面仅针对DHCP中继的工作原理进行介绍。这种情况出现在DHCP客户端无法直接连接到DHCP服务器,需要通过中继进行沟通。
在有中继场景时DHCP客户端接入网络实例如下图所示。

在有中继的场景下,第一步的发现阶段和第二部的选择阶段会出现一些小小的变动。具体如下。

(1)发现阶段

DHCP中继接收到DHCP客户端广播发送的DHCP DISCOVER报文后。
①首先检查DHCP报文中的hops(表示当前的DHCP报文经过的DHCP中继的数目)字段,如果大于16,则丢弃DHCP报文。否则,将hops字段加1;
②检查DHCP报文中的giaddr(表示第一个DHCP中继的IP地址。)字段,如果是0,将giaddr字段设置为接收DHCP DISCOVER报文的接口IP地址。如果不是0,则不修改该字段。
③将DHCP报文的目的IP地址改为DHCP服务器或下一跳中继的IP地址,源地址改为中继连接客户端的接口地址,通过路由转发将DHCP报文单播发送到DHCP服务器或下一跳中继。

(2)选择阶段

DHCP服务器接收到DHCP DISCOVER报文后,选择与报文中giaddr(表示第一个DHCP中继的IP地址。)字段为同一网段的地址池,并为客户端分配IP地址等参数,然后向giaddr字段标识的DHCP中继单播发送DHCP OFFER报文。
DHCP中继收到DHCP OFFER报文后,会进行如下处理:
1.检查报文中的giaddr字段,如果不是接口的地址,则丢弃该报文;
2.DHCP中继检查报文的广播标志位。如果广播标志位为1,则将DHCP OFFER报文广播发送给DHCP客户端;否则将DHCP OFFER报文单播发送给DHCP客户端。

(3)请求阶段

如果有多个DHCP服务器向DHCP客户端回应DHCP OFFER报文,DHCP客户端一般只接收第一个收到的DHCP OFFER报文。在收到DHCP OFFER报文之后,DHCP 客户端以广播方式发送DHCP REQUEST报文,DHCP REQUEST报文中包含客户端想选择的DHCP服务器标识符和客户端IP地址。
DHCP客户端广播发送DHCP REQUEST报文通知所有的DHCP服务器,它将选择某个DHCP服务器提供的IP地址,其他的DHCP服务器则会将分配给该DHCP客户端的IP地址分配给其他DHCP客户端。

(4)确认阶段

当DHCP服务器收到DHCP客户端发送的DHCP REQUEST报文后,DHCP服务器回应DHCP ACK报文,表示DHCP REQUEST报文中请求的IP地址,分配给客户端使用。

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

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

相关文章

Codeforces Round 969 (Div. 2) C. Dora and C++ (裴蜀定理)

什么?竟然是裴蜀定理。。。 由于这里给出了a和b两个数,我们或许可以想到使用同样是需要给出两个定值的裴蜀定理,即: 如果给定 x x x和 y y y,那么一定有 a x b y g c d ( x , y ) axbygcd(x,y) axbygcd(x,y)。 所以…

vue3【实战】菜单导航(高亮当前路由,鼠标悬浮下标、页面滚动顶部悬浮并变色)

效果预览 完整代码 <template><!-- 导航 --><nav class"fixed flex items-center p-2 w-full nav-bg1" :class"{ nav-bg2: y }"><img src"/EC_Logo.jpg" class"w-12 h-12 lt-sm:mx-auto logo" alt"logo&quo…

LSM-Tree简单介绍

前言 这里完成每日的创作要求&#xff0c;用一下自己看论文整理的LSM-Tree理论 2.1 LSM-Tree 基础理论 LSM Tree 组织 总共有n1层&#xff0c;代表L0到Ln 每个级别将键值对存储在不可变的固定大小文件中&#xff08;类似于HDFS的块设定&#xff09;&#xff0c;每个文件有几…

【Python进阶】带你了解Python的学习路线,从入门到进阶,附带项目演练和源码!!!

Python学习资料 基础知识 Python简介 Python是一种高级编程语言&#xff0c;具有简单易学、可读性强、可移植性好等特点。它广泛应用于Web开发、数据科学、人工智能等领域。 Python编程语言 Logo Python环境搭建 在开始学习Python之前&#xff0c;你需要先安装Python解释器…

什么是公园智慧公厕系统?公园智慧厕所主要功能有哪些@卓振思众

公园智慧公厕是一种利用现代信息技术手段&#xff0c;对公园内的公共厕所进行智能化管理和服务的设施&#xff0c;【卓振思众】智慧公厕系统具有以下特点和功能&#xff1a; 一、环境监测空气质量监测&#xff1a;配备传感器实时监测公厕内空气质量&#xff0c;如检测到异味、有…

LottieCompositionFactory.fromUrl 加载lottie的json文件

当你使用 LottieCompositionFactory.fromUrl 加载动画时&#xff0c;Lottie 会将下载的动画文件缓存到应用的本地缓存目录下。 LottieCompositionFactory.fromUrl(context, url).addListener(object : LottieListener<LottieComposition> {override fun onResult(result…

逻辑一键导入导出,解决企业多环境数据迁移的难题

在当今复杂多变的商业环境中&#xff0c;系统间的数据迁移、备份与共享成为了确保业务连续性和一致性的关键环节。随着企业规模的不断扩大和业务的日益复杂化&#xff0c;JVS逻辑引擎作为一款集高效、灵活、可扩展性于一身的决策支持系统&#xff0c;还通过其独特的导入导出功能…

一个3GPP协议上有关cell reselection priority的问题

先看些相关协议上的描述&#xff1a; 首先说优先级问题&#xff0c;在小区重选过程中要用到NR freq或者inter RAT LTE 的优先级信息&#xff0c;优先级信息一般可以通过系统消息/RRCRelease/从其他RAT中带过来。系统消息中的NR freq或者inter RAT freq 可能没有带priority信息(…

《深入理解JAVA虚拟机(第2版)》- 第10章 - 学习笔记

第10章 早期&#xff08;编译期&#xff09;优化 10.1 概述 Java语言的编译期是一个不确定的操作过程。之所以这么说是因为有如下三类编译过程&#xff1a; 前端编译器&#xff08;准确来说应该是编译器的前端&#xff09;将java文件编译成class文件的过程。即时编译器&…

国产 LateX 线上平台 LoongTeX 推荐

文章目录 一. 良好的细节处理二. AI集成三. 价格四. 有待优化开发的地方五. 总结 这篇文章是我们的一位用户首发于知乎的评论&#xff0c;文中表达了他对我们产品的用心体验和客观评价。我们认为这篇文章不仅中肯且富有洞见&#xff0c;因此特别将其重新发布在此&#xff08;配…

兼容pc端和移动端的滑块校验

组件 <template><canvas :class"cvsClass" :width"props.width" :height"props.height" ref"cvs"></canvas> </template><script setup> import { ref, reactive, watch, nextTick } from "vue&q…

力扣: 四数相加II

文章目录 需求代码结尾 需求 给你四个整数数组 nums1、nums2、nums3 和 nums4 &#xff0c;数组长度都是 n &#xff0c;请你计算有多少个元组 (i, j, k, l) 能满足&#xff1a; 0 < i, j, k, l < n nums1[i] nums2[j] nums3[k] nums4[l] 0 示例 1&#xff1a; 输入…

论文解析二: SuperGlue 同时进行特征匹配以及滤除外点的网络

目录 1.SuperGlue摘要2.SuperGlue网络结构2.1 Attentional Graph Neural Network&#xff08; 注意图神经网络&#xff09;2.1.1 KeyPoint Encoder &#xff1a;解决 同时进行特征匹配以及滤除外点的网络2.1.2 Attentional Aggregation 2.2 Optimal Matching Layer (最优匹配层…

ctfshow-PHP反序列化

web254 源码 <?php/* # -*- coding: utf-8 -*- # Author: h1xa # Date: 2020-12-02 17:44:47 # Last Modified by: h1xa # Last Modified time: 2020-12-02 19:29:02 # email: h1xactfer.com # link: https://ctfer.com //mytime 2023-12-4 0:22 */ error_reporting(0)…

【大模型结构】不同技术架构的区别

文章目录 大语言模型技术概述Encoder-onlyDecoder-onlyEncoder-Decoder为什么流行LLM都是Decoder only架构&#xff1f;参考资料 如果你投递的是NLP方向&#xff0c;大模型方向&#xff0c;多模态大模型方向&#xff0c;甚至是人工智能方向&#xff0c;当前大语言模型的技术架构…

基于人工智能的智能个人健康管理系统

目录 引言项目背景环境准备 硬件要求软件安装与配置系统设计 系统架构关键技术代码示例 数据采集与预处理模型训练与预测实时健康监控应用场景结论 1. 引言 个人健康管理在现代生活中变得尤为重要&#xff0c;随着人工智能技术的进步&#xff0c;智能健康管理系统可以通过监…

[AI书籍分享]<AI时代,学什么,怎么学 - 和渊>

本文由Markdown语法编辑器编辑完成。 1, 背景: 本书是一位清华大学毕业的生物学博士&#xff0c;和渊老师&#xff0c;现就职于人大附中, 是一名一线的高中生物教师. 她之前已经写过几本关于教育类的书籍&#xff0c;而这本书&#xff0c;则是她针对当前, AI时代迅猛发展的背…

CPU调度算法之FIFS(先来先服务)

摘要 CPU的先来先服务&#xff08;FCFS, First-Come, First-Served&#xff09;任务调度算法是一种最基础且直观的调度方法&#xff0c;它根据任务到达的顺序决定其执行的先后顺序。这种算法以其简单性和公平性在操作系统中占据重要地位&#xff0c;但也存在一些不足&#xff…

【数学建模国赛】前期准备

这里是阿川的博客&#xff0c;祝您变得更强 ✨ 个人主页&#xff1a;在线OJ的阿川 &#x1f496;文章专栏&#xff1a;国赛数模准备到进阶 &#x1f30f;代码仓库&#xff1a; 写在开头 现在您看到的是我的结论或想法&#xff0c;省略了思考过程&#xff0c;但在这背后凝结了大…

测试3个月,成功入职 “字节”,我的面试心得总结!

今天来给大家讲一下软件测试工程师的面试一些技巧、建议&#xff0c;以及你们在面试过程中需要做的一些准备、注意事项。 很多的小伙伴在刚刚学习完软件测试后就要面临一个问题&#xff1a;就业找工作。找工作要面临的第一件事儿就是面试&#xff0c;很多小伙伴对面试完全是模糊…