【计算机网络】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.mzph.cn/news/191101.shtml

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

相关文章

TA-Lib学习研究笔记——Price Transform (五)

TA-Lib学习研究笔记——Price Transform (五) 1.AVGPRICE Average Price 函数名:AVGPRICE 名称:平均价格函数 语法: real AVGPRICE(open, high, low, close) df[AVGPRICE] tlb.AVGPRICE(df[open],df[high],df[low…

电子印章管理系统:是什么、3个平台推荐

说到印章,相信看过近现代电视剧的人都见过,一般在订立合约时最常用到,双方在合约上加盖印鉴,即代表着合约的成立。 我小时候还见过我父亲的印章,只是随着时代的发展,印章因为不易携带,容易被盗…

二叉树OJ题目——C语言

LeetCode 104.二叉树的最大深度 1. 题目描述: 给定一个二叉树 root ,返回其最大深度。 二叉树的 最大深度 是指从根节点到最远叶子节点的最长路径上的节点数。 示例 1: 输入:root [3,9,20,null,null,15,7] 输出:3示例…

CSS浅谈动画性能

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 目的一、举个栗子二、性能分析1.从图层分析2.性能分析 总结 目的 为了探究使用动画时,『transform』和『width、height、margin等』的差异 一、举个栗子…

【1】基于多设计模式下的同步异步日志系统

1. 项目介绍 本项⽬主要实现⼀个⽇志系统, 其主要⽀持以下功能: • ⽀持多级别⽇志消息 • ⽀持同步⽇志和异步⽇志 • ⽀持可靠写⼊⽇志到控制台、⽂件以及滚动⽂件中 • ⽀持多线程程序并发写⽇志 • ⽀持扩展不同的⽇志落地⽬标地 2. 开发环境 • CentOS 7 • vs…

Prism.js实现代码高亮并添加行号

先上效果: Prism.js Prism 是一款轻量、可扩展的代码语法高亮库,使用现代化的 Web 标准构建。 使用 Prismjs 可以快速为网站添加代码高亮功能,支持超过113中编程语言,还支持多种插件,是简洁、高效的代码高亮解决方案。 为什么选…

C++跨目录include问题

不同文件夹下使用预处理器指示符#include 使用举例 假设我们有如下一个工程,其中包含了几个源代码和头文件,其中main.cpp是主源代码文件,里面含有main函数: 在foldder main中包含:func4.hpp,func4.cpp&am…

1.0 十大经典排序算法

分类 算法 本系列算法整理自:https://github.com/hustcc/JS-Sorting-Algorithm 同时也参考了维基百科做了一些补充。 排序算法是《数据结构与算法》中最基本的算法之一。 排序算法可以分为内部排序和外部排序,内部排序是数据记录在内存中进行排序&#…

物流单管理系统软件物流单打印,物流单打印模板,佳易王物流快运单管理软件下载

物流单管理系统软件物流单打印,物流单打印模板,佳易王物流快运单管理软件下载 软件试用版下载或技术支持可以点击最下方官网卡片 上图:在物流开单时,可以先输入电话,如果之前存在该托运人信息,则可以一键…

Motion 5 for Mac,释放创意,打造精彩视频特效!

Motion 5 for Mac是一款强大的视频后期特效处理软件,为Mac用户提供了无限的创意可能性。无论你是专业的影视制作人,还是想为个人视频添加独特特效的爱好者,Motion 5都能满足你的需求,让你的视频脱颖而出。 Motion 5提供了丰富多样…

【滑动窗口】将X减到0的最小操作数

将X减到0的最小操作数 1658. 将 x 减到 0 的最小操作数 - 力扣(LeetCode) 文章目录 将X减到0的最小操作数题目描述算法原理代码编写Java代码编写C代码编写 题目描述 给你一个整数数组 nums 和一个整数 x 。每一次操作时,你应当移除数组 num…

【HarmonyOS开发】ArkTs编译为SO包的流程记录

1、创建一个Static Library的静态模块 2、编写我们的SO控件 2.1 编译配置 {"apiType": "stageMode","buildOption": {"artifactType": "obfuscation"},"targets": [{"name": "default",&qu…

Linux:查看端口占用的进程

命令 netstat -tunlp可以从图中看到,端口被那个进程占用,对应进程的pid是多少。

dart语言多线程遇到的问题:Isolate.spawnUri(),在真机调试中无法生成隔离

报错原因 [ERROR:flutter/runtime/dart_vm_initializer.cc(41)] Unhandled Exception: IsolateSpawnException: Unable to spawn isolate: Unsupported isolate URI: 未处理的异常:IsolateSpawnException:无法生成隔离:不支持隔离 URI&…

递归实例化导致的栈溢出问题【简直蠢得出奇】

问题描述 今天在练习数据库增删改查,体验三层架构思想时,随便写了点DAO层代码,但服务器运行时竟然爆出了栈溢出的问题,说实话,空指针问题我还能放着耐心去代码里找找问题,但这个栈溢出,我之前就…

Jetson Nano部署YOLOv5与Tensorrtx加速

一、烧录镜像 1、Jetson Nano烧写系统镜像 Jetson Nano是一款形状、外接口类似于树莓派的嵌入式主板,搭载了四核Cortex-A57处理器,GPU则是拥有128个NVIDIA CUDA核心的NVIDIA Maxwell架构显卡,内存为4GB的LPDDR4,存储则为16GB eM…

入侵redis之准备---VMware上面安装部署centos7镜像系统【详细含云盘镜像】

入侵redis之准备—VMware上面安装部署centos7镜像系统【详细含云盘镜像 其他文章: 入侵redis并实现反弹shell控制【实战一】 学习大概步骤如下 第一步:先学习怎么安装部署kail系统服务器 入侵redis之准备—VMware安装部署kail镜像服务器【详细包含云盘镜像】 第二…

计网Lesson6 - IP 地址分类管理

文章目录 1. I P IP IP 地址定义2. I P v 4 IPv4 IPv4 的表示方法2.1 I P v 4 IPv4 IPv4 的分类编址法2.2 I P v 4 IPv4 IPv4 的划分子网法2.2.1 如何划分子网2.2.2 如何确定子网的借位数2.2.3 总结2.2.4 题目练习 2.3 I P v 4 IPv4 IPv4 的无分类编址法 1. I P IP IP 地…

04.里氏替换原则(Liskov Substitution Principle)

暴论:一般的,如果一个富二代不想着证明自己,那么他一辈子都会衣食无忧。 一言 里氏替换原则想告诉我们在继承过程中会遇到什么问题,以及继承有哪些注意事项。 概述 这是流传较广的一个段子: “一个坐拥万贯家财的富二…

亚马逊云科技Aurora MySQL在复制性能提升上的不断优化和尝试

前言 Amazon Aurora是亚马逊云科技自研的云原生关系数据库,它在提供和开源数据库MySQL、PostgreSQL的完好兼容性同时,也能够提供和商业数据库媲美的性能和可用性。 Aurora的性能提升不仅包含应用读写吞吐量的提升,也包含复制延迟的降低。一个…