DHCP最全讲解!(原理+配置)

news2024/11/15 17:56:39

一、概述

  随着网络规模的不断扩大,网络复杂度不断提升,网络中的终端设备例如主机、手机、平板等,位置经常变化。终端设备访问网络时需要配置IP地址、网关地址、DNS服务器地址等。采用手工方式为终端配置这些参数非常低效且不够灵活。IETF于1993年发布了DHCP(Dynamic Host Configuration Protocol,动态主机配置协议)。DHCP实现了网络参数配置的自动化,降低客户端的配置和维护成本。

基本概念:

  1. DHCP是一种用于集中对用户IP地址进行动态管理和配置的协议。
  2. DHCP采用C/S(Client/Server,客户端/服务器)通信模式,协议报文基于UDP的方式进行交互,采用67(DHCP服务器)和68(DHCP客户端)两个端口号:

        正常工作时由客户端向服务器提出配置申请。

        服务器返回为客户端分配的IP地址等相应的配置信息

优点:

  1. 效率高
  2. 灵活性强
  3. 易于管理

二、原理

  1. DHCP客户端首次接入网络的工作原理
  • 发现阶段,即DHCP客户端发现DHCP服务器的阶段。

DHCP客户端发送DHCP DISCOVER报文来发现DHCP服务器。DHCP DISCOVER报文中携带了客户端的MAC地址、需要请求的参数列表选项、广播标志位等信息。

  • 提供阶段,即DHCP服务器提供网络配置信息的阶段。

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

  • 选择阶段,即DHCP客户端选择IP地址的阶段。

如果有多个DHCP服务器向DHCP客户端回应DHCP OFFER报文,则DHCP客户端一般只接收第一个收到的DHCP OFFER报文,然后以广播方式发送DHCP REQUEST报文,该报文中包含客户端想选择的DHCP服务器标识符和客户端IP地址。

  • 确认阶段,即DHCP服务器确认所分配IP地址的阶段。

DHCP客户端收到DHCP ACK报文,会广播发送免费ARP报文,探测本网段是否有其他终端使用服务器分配的IP地址。

2.DHCP中继

  DHCP Relay即DHCP中继,它是为解决DHCP服务器和DHCP客户端不在同一个广播域而提出的,提供了对DHCP广播报文的中继转发功能,能够把DHCP客户端的广播报文“透明地”传送到其它广播域的DHCP服务器上,同样也能够把DHCP服务器端的应答报文“透明地”传送到其它广播域的DHCP客户端。

1)DHCP Relay报文格式与DHCP报文的区别

  • Hops:表示当前的DHCP报文经过的DHCP中继的数目。该字段由客户端或服务器设置为0,每经过一个DHCP中继时,该字段加1。
  • Giaddr(gateway ip address):表示第一个DHCP中继的IP地址。当客户端发出DHCP请求时,第一个DHCP中继在将DHCP请求报文转发给DHCP服务器时,会把自己的IP地址填入此字段。

2)有中继场景时DHCP客户端首次接入网络的工作原理

  • 发现阶段:DHCP中继接收到DHCP客户端广播发送的DHCP DISCOVER报文后,通过路由转发将DHCP报文单播发送到DHCP服务器或下一跳中继。
  • 提供阶段:DHCP服务器根据DHCP DISCOVER报文中的Giaddr字段选择地址池为客户端分配相关网络参数,DHCP中继收到DHCP OFFER报文后,以单播或广播方式发送给DHCP Client。
  • 选择阶段:中继接收到来自客户端的DHCP REQUEST报文的处理过程同“发现阶段”。
  • 确认阶段:中继接收到来自服务器的DHCP ACK报文的处理过程同“提供阶段”。

三、基础配置

基于全局:

基于接口:

中继:

想了解关于网络工程师的更多学习内容,可以评论留言。

同时,关于网络工程师的核心知识学习,已经给大家做了详细整理,包含视频,实验,思维导图,笔记等,可直接下方领取:

    ↓ 关注+点赞后,私信联系我领取 ↓

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

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

相关文章

【Vulnhub 靶场】【VulnCMS: 1】【简单】【20210613】

1、环境介绍 靶场介绍:https://www.vulnhub.com/entry/vulncms-1,710/ 靶场下载:https://download.vulnhub.com/vulncms/VulnCMS.ova 靶场难度:简单 发布日期:2021年06月13日 文件大小:1.4 GB 靶场作者:to…

有这么多木材类型,为什么偏要使用橡木来制作发酵桶呢?

纵观历史,制作发酵桶有很多木材类型,包括栗子、松木、红木和金合欢,被用于制作酿酒容器,特别是大型发酵桶。栗子单宁含量很高,作为储物桶太多孔,必须涂上石蜡,以防止因蒸发而过度失去葡萄酒。红…

connect: Network is unreachable问题解决

第一步:查看ifcfg-ens33配置文件 cd /etc/sysconfig/network-scripts/ cat ifcfg-ens33 发现问题:GATEWAY写错成GATWAY 第二步:修改 vim ifcfg-ens33 第三步:检测是否成功 ping baidu.com 成功!

数据分析基础之《numpy(3)—基本操作》

一、基本操作 1、adarray.方法() 2、np.函数名() 二、生成数组的方法 1、生成0和1的数组 为什么需要生成0和1的数组? 我们需要占用位置,或者生成一个空的数组 (1)ones(shape[, dtype, order]) 生成一组1 shape:形…

算法:二叉树的遍历

一、31种遍历方法 (1)先序法(又称先根法) 先序遍历:根,左子树,右子树 遍历的结果:A,B,C 遍历的足迹:沿途经过各结点的“左部” (2)中序法(又称中根法&#…

基于Java的教学信息反馈系统设计与实现(源码+调试)

项目描述 临近学期结束,还是毕业设计,你还在做java程序网络编程,期末作业,老师的作业要求觉得大了吗?不知道毕业设计该怎么办?网页功能的数量是否太多?没有合适的类型或系统?等等。今天给大家介绍一篇基于Java的教学信息反馈…

ffmpeg可以做什么

用途 FFmpeg是一个功能强大的多媒体处理工具,可以处理音频和视频文件。它是一个开源项目,可在各种操作系统上运行,包括Linux、Windows和Mac OS X等。以下是FFmpeg可以做的一些主要任务: 转换媒体格式:可将一个媒体格式…

大创项目推荐 深度学习 python opencv 动物识别与检测

文章目录 0 前言1 深度学习实现动物识别与检测2 卷积神经网络2.1卷积层2.2 池化层2.3 激活函数2.4 全连接层2.5 使用tensorflow中keras模块实现卷积神经网络 3 YOLOV53.1 网络架构图3.2 输入端3.3 基准网络3.4 Neck网络3.5 Head输出层 4 数据集准备4.1 数据标注简介4.2 数据保存…

QT实现四则运算计算器

#include "widget.h" #include "ui_widget.h"Widget::Widget(QWidget *parent): QWidget(parent), ui(new Ui::Widget) {ui->setupUi(this);this->setMaximumSize(240,300);this->setMinimumSize(240,300);this->setWindowTitle("计算器&…

案例精选|聚铭综合日志分析系统助力长房集团“智慧房产”信息化建设

长沙房产(集团)有限公司(简称“长房集团”)始创于2004年3月,是一家由长沙市人民政府授权组建的国有独资企业。截至2021年底,企业总资产逾452亿元,总开发面积1300多万平方米,已开发项…

msvcrtd.dll下载安装方法,解决msvcrtd.dll找不到的问题

在这篇文章中,我们将详细讨论msvcrtd.dll文件的下载安装方法,并分析出现找不到msvcrtd.dll的情况及解决方法。如果你遇到了与msvcrtd.dll相关的问题,本文将为你提供全面且详细的解决方案。 一.什么是msvcrtd.dll文件 首先,让我们…

openmediavault debian linux安装配置企业私有网盘(三 )——raid5与btrfs文件系统无损原数据扩容

一、适用环境 1、企业自有物理专业服务器,一些敏感数据不外流时,使用openmediavault自建NAS系统; 2、在虚拟化环境中自建NAS系统,用于内网办公,或出差外网办公时,企业内的文件共享; 3、虚拟化环…

电子电工企业品牌网站建设的作用是什么

电子电工企业在市场中有较高的需求度,比如电子元件、电子产品等,这些都属于高信任度产品,对需求方来说,需要查看商家全部信息、包括资质、产品/服务内容、案例等,因此对电子电工企业来讲,需要贯通品牌路径&…

遥感论文 | Scientific Reports | 一种显著提升遥感影像小目标检测的网络!

论文题目:MwdpNet: towards improving the recognition accuracy of tiny targets in high-resolution remote sensing image论文网址:https://www.nature.com/articles/s41598-023-41021-8 摘要 提出MwdpNet,以提高对高分辨率遥感&#xf…

MeterSphere files 任意文件读取漏洞复现 (CVE-2023-25573)

0x01 产品简介 MeterSphere 是一站式开源持续测试平台, 涵盖测试跟踪、接口测试、UI 测试和性能测试等功能,全面兼容 JMeter、Selenium 等主流开源标准。 0x02 漏洞概述 MeterSphere /api/jmeter/download/files 路径文件存在文件读取漏洞,攻击者可通过该漏洞读取系统重要…

一点技术细节

匈牙利算法: 14-4: 匈牙利算法 Hungarian Algorithm_哔哩哔哩_bilibili 课件:https://github.com/wangshusen/AdvancedAlgorithms.git SWin transformer: Swin Transformer论文精读【论文精读】_哔哩哔哩_bilibili patch:灰色 窗口&…

c语言单向链表

看如下代码,这是一个完整的可运行的c源文件,要注意的点: c语言程序运行不一定需要头文件NULL其实是 (void*)0,把指针赋值成(void*)0,就是防止程序员不想该指针被引用的时候被引用,引用地址为0的值程序会引起系统中断&…

JNA实现JAVA调用C/C++动态库

1.JNA JNA全称Java Native Access,是一个建立在经典的JNI技术之上的Java开源框架(https://github.com/twall/jna)。JNA提供一组Java工具类用于在运行期动态访问系统本地库(native library:如Window的dll)而…

【C++11特性篇】盘点C++11中三种简化声明的方式【auto】【decltype】【nullptr】(3)

前言 大家好吖,欢迎来到 YY 滴C系列 ,热烈欢迎! 本章主要内容面向接触过C的老铁 主要内容含: 欢迎订阅 YY滴C专栏!更多干货持续更新!以下是传送门! 目录 一.auto&范围for二.decltyp…

flume:Ncat: Connection refused.

一:nc -lk 44444 和 nc localhost 44444区别 nc -lk 44444 和 nc localhost 44444 是使用 nc 命令进行网络通信时的两种不同方式。 1. nc -lk 44444: - 这个命令表示在本地监听指定端口(44444)并接受传入的连接。 - -l 选项…