DHCP学习记录

目录

客户端向DHCP服务端申请租用IP的4个阶段:

客户端向HDCP服务器续租IP过程:

客户端重新连接租用IP过程:

客户端释放IP

声明: 


(Dynamic Host Configuration Protocol)动态主机配置协议,客户端向DHCP服务端申请获得ip的一种约定俗成的话语(协议)

  1. 手工配置方式:通过网络管理员手工配置某台客户端特定的IP地址,当客户端请求分配时,DHCP服务器就将手动配置的IP地址分配给客户端。。

  2. 自动配置方式:当DHCP客户端第一次想服务端租用到第一个IP地址后,就将这个IP地址永久分配给客户端使用。

  3. 动态配置方式:服务器暂时分配一个IP地址给客户端,根据租约到期或者续约租期的方式来管理分配的IP地址。

通常主机连接WIFI得到IP的过程就是主机向路由器或者接入点(Access Point)内置的DHCP服务器的过程

客户端向DHCP服务端申请租用IP的4个阶段:

image.png

发现阶段:客户端通过广播在局域网中发送DHCP Discover包,待服务端接收到这个包

提供阶段:服务端就接收到DHCP Discover包后根据源MAC地址发送带有合适的IP的DHCP offer包给客户端

选择阶段:客户端接收到DHCP offer包后根据自身位置和实际需要选择一个ip并通过广播的方式(原因:因为客户端可能会收到多个DHCP offer包而不能确定具体的服务端)发送带有选择好要申请的ip的DHCP request报文

确认阶段:服务端接收到DHCP request包后查看分配的ip是否是自己可分配的ip地址,如果是则对该MAC地址的客户端发送DHCP ACK响应包

客户端向HDCP服务器续租IP过程:

当客户端使用iP的时间达到50%时会向服务端发送一个带有约定租用时长的DHCP REQUEST包,如果服务端响应了就续约,如果没用,待到使用到87.5%时会再发一个DHCP REQUEST,如果服务端还是没用响应则一直用到完

客户端重新连接租用IP过程:

当客户端重新连接在要使用该IP则向服务端发送一个DHCP REQUEST包,服务端响应即可继续使用

客户端释放IP

客户端主动端口释放

声明: 

学习参考:

DHCP协议详解(非常详细总结),结合ENSP,wireshark学习使用_dhcpwanglxieyifenxi-CSDN博客

本文只是为记录自己对该博主的文章的学习别无他用

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

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

相关文章

啊哈c语言——4.10、for隆重登场(一起来找茬)

下面这段代码是求12345678910的值。其中有4个错误&#xff0c; 快来改正吧&#xff01; 改正后&#xff1a; #include <stdio.h> #include <stdlib.h> int main( ) {int i, sum;sum1;for(i1; i<10;i){sumsum*i;}printf("%d", sum);system("paus…

如何在无公网IP环境使用Windows远程桌面Ubuntu

文章目录 一、 同个局域网内远程桌面Ubuntu二、使用Windows远程桌面连接三、公网环境系统远程桌面Ubuntu1. 注册cpolar账号并安装2. 创建隧道&#xff0c;映射3389端口3. Windows远程桌面Ubuntu 四、 配置固定公网地址远程Ubuntu1. 保留固定TCP地址2. 配置固定的TCP地址3. 使用…

appium安装运行报错的解决方案

appium版本2.3 java17 运行报错&#xff1a; Caused by: org.openqa.selenium.SessionNotCreatedException: Could not start a new session. Response code 500. Message: An unknown server-side error occurred while processing the command. Original error: Could not…

40道MyBatis面试题带答案(很全)

1. 什么是MyBatis &#xff08;1&#xff09;Mybatis是一个半ORM&#xff08;对象关系映射&#xff09;框架&#xff0c;它内部封装了JDBC&#xff0c;开发时只需要关注SQL语句本身&#xff0c;不需要花费精力去处理加载驱动、创建连接、创建statement等繁杂的过程。程序员直接…

海康visionmaster-渲染结果:通过绑定流程或模块获取 渲染结果的方法

描述 环境&#xff1a;VM4.0.0 VS2015 及以上 现象&#xff1a;方案或流程运行执行之后&#xff0c;就可以获取结果&#xff0c;可以通过获取渲染结果和数据结果&#xff0c; 渲染结果通过绑定渲染控件进行显示。 解答 渲染结果的显示可以通过渲染控件绑定流程或者模块&#x…

RSA加密解密——用shell加密java解密

功能描述 使用shell opensll对明文进行RSA加密&#xff0c;将密文用java的RSA工具对密文解密。这应该是全网第一个同时用到shell和java的RSA加密解密教程。中间有很多坑&#xff0c;都踩过了&#xff0c;可以放心使用代码。 正确的实现流程 shell端 首先生成公钥私钥 &…

【华为机试】2023年真题B卷(python)-冠亚军排名-奖牌榜排名

一、题目 题目描述&#xff1a; 2012伦敦奥运会即将到来&#xff0c;大家都非常关注奖牌榜的情况&#xff0c;现在我们假设奖牌榜的排名规则如下. 1.首先gold medal数量多的排在前面 2.其次silver medal数量多的排在前面 3.然后bronze medal数量多的排在前面 4.若以上三个条…

【数据结构】栈和队列(栈的基本操作和基础知识)

&#x1f308;个人主页&#xff1a;秦jh__https://blog.csdn.net/qinjh_?spm1010.2135.3001.5343&#x1f525; 系列专栏&#xff1a;《数据结构》https://blog.csdn.net/qinjh_/category_12536791.html?spm1001.2014.3001.5482 目录 前言 栈 栈的概念和结构 栈的实现 ​…

【时钟】分布式时钟HLC|Logical Time|Vector Clock|True Time

目录 简略 详细 附录 1 分布式系统不能使用NTP的原因 简略 分布式系统中不同于单机系统不能使用NTP(网络时间协议&#xff08;Network Time Protocol&#xff09;)来获取时间&#xff0c;所以我们需要一个特别的方式来获取分布式系统中的时间&#xff0c;mvcc也是使用time保证读…

信号处理设计模式

问题 如何编写信号安全的应用程序&#xff1f; Linux 应用程序安全性讨论 场景一&#xff1a;不需要处理信号 应用程序实现单一功能&#xff0c;不需要关注信号 如&#xff1a;数据处理程序&#xff0c;文件加密程序&#xff0c;科学计算程序 场景二&#xff1a;需要处理信…

HTML---利用CSS3制作网页动画

文章目录 目录 文章目录 本章目标 一.CSS3概述 CSS函数概述 二.CSS3变形 transform属性 translate()&#xff1a;平移函数 scale()&#xff1a;缩放函数 rotate()&#xff1a;旋转函数 skew()&#xff1a;倾斜函数 三.CSS3过渡 四.CSS动画 练习 旋转按钮 本章目标 会使用…

“从零到一“基于Freeswitch二次开发: 应用架构设计(二)

一、架构分享 上一篇文章“从零到一“基于Freeswitch二次开发:Freeswitch入门与网络架构 (一) 对Freeswitch二次开发做了一个介绍&#xff0c;距离这篇文章的发布时间有点久了&#xff0c;之前一直没时间把下文补上来。正好到了年末想起来&#xff0c;就把我们的一个实现架构进…

深度神经网络结构

单层的感知机不能解决“异或”问题。 在前面分别介绍了M-P神经元模型和感知机模型。在M-P神经元模型中&#xff0c;神经元接收到若干个输入信号&#xff0c;并将计算得到的加权后的总输入&#xff0c;经过激活函数的处理&#xff0c;最终产生神经元的输出。而感知机模型则由两层…

腾讯云标准型S5服务器2核2G、2核4G和4核8G五年机来了

腾讯云五年特价服务器来了&#xff0c;标准型S5云服务器&#xff0c;可选2核2G、2核4G和4核8G配置&#xff0c;一次性购买五年低至2折&#xff0c;免去续费贵烦恼。腾讯云百科txybk.com分享腾讯云5年服务器特价优惠活动、购买条件、云服务器配置及优惠价格&#xff1a; 腾讯云五…

linux文件夹介绍

在linux内核文件夹下面存在着许多文件夹&#xff0c;那么那些文件夹是什么用处呢&#xff0c;下面将为你介绍。 (1)documentation 这个文件夹下没有内核代码&#xff0c;仅仅有一套实用的文档&#xff0c;但这些文档的质量不一。比如内核文档的文件系统&#xff0c;在该文件夹下…

计算机网络——传输层(五)

前言&#xff1a; 最重要的网络层我们已经学习完了&#xff0c;下面让我们再往上一层&#xff0c;对网络层的上一层传输层进行一个学习与了解&#xff0c;学习网络层的基本概念和网络层中的TCP协议和UDP协议 目录 ​编辑一、传输层的概述&#xff1a; 1.传输层&#xff1a; …

leetcode 315. 计算右侧小于当前元素的个数(hard)【小林优质解法】

链接&#xff1a;力扣&#xff08;LeetCode&#xff09;官网 - 全球极客挚爱的技术成长平台 代码&#xff1a; class Solution {int[]counts; //用来存储结果int[]index; //用来绑定数据和原下标int[]helpNums; //用于辅助排序 nums 数组int[]helpIndex; //用于辅助排序 i…

《Linux系统与网络管理》复习题库---shell编程题

1、shell 编程题&#xff1a;在根目录下有四个文件 m1.c&#xff0c;m2.c&#xff0c;m3.c&#xff0c;m4.c&#xff0c;用 Shell 编程&#xff0c;实现自动创建 m1,m2,m3,m4 四个目录&#xff0c;并将 m1.c,m2.c,m3.c,m4.c 四个文件分别剪贴到各自相应的目录下。 #!/bin/bash…

go module本地包导入

go module本地包导入 本文目录 go module本地包导入启用go mod主项目工作目录本地module目录发布和使用模块 golang 1.11之后加入了go mod来替代GOPATH 官方文档参考&#xff1a;https://golang.google.cn/doc/tutorial/call-module-code 启用go mod 开启 Go modules # 临时开…

【谭浩强C程序设计精讲 5】运算符和表达式

文章目录 3.3 运算符和表达式3.3.1 C运算符3.3.2 基本的算术运算符3.3.3 自增&#xff08;&#xff09;、自减&#xff08;--&#xff09;运算符3.3.4 算术表达式和运算符的优先级与结合性3.3.5 不同类型数据间的混合运算3.3.6 强制类型转换运算符 3.3 运算符和表达式 3.3.1 C…