DHCP(自动分配ip地址实验案例)

目录

实验原理

案例


实验原理

 DHCP 使用客户服务器方式,采用请求/应答方式工作。DHCP 基于 UDP 工作,DHCP服务器运行在67号端口,DHCP客户运行在68号端口。 DHCP的工作过程分为以下步骤:

(1)DHCP服务器被动打开UDP端口67,等待客户发来的报文。

(2)DHCP客户从UDP端口68以本地广播方式发送DHCP发现报文 DHCPDISCOVER,寻找DHCP服务器。

(3)凡收到DHCP发现报文的DHCP服务器都发出DHCP提供报文 DHCPOFFER

(4)DHCP 客 户 向 所 选 择 的 DHCP 服 务 器 发 送 DHCP 请 求 报 文 DHCPREQUEST,请求IP地址。 被选择的DHCP服务器发送确认报文DHCPACK,为DHCP客户分配IP地 址。

(5)得到IP地址后,DHCP客户根据服务器提供的租用期T设置两个 计时器T1和T2。当超时时间到时,就要请求更新租用期。

(6)租 用 期 过 了 一 半 ( T1 时 间 到 ) , DHCP 发 送 请 求 报 文 DHCPREQUEST,要求更新租用期。

(7)DHCP服务器若同意,则发回确认报文DHCPACK。DHCP客户得到了新的租用期,重新设置计时器。

(8)DHCP服务器若不同意,则发回否认报文DHCPNACK。这时, DHCP客户必须立即停止使用原来的IP地址,重新申请IP地址。

(9)若DHCP服务器不响应,则在租用期过了87.5%时,DHCP客户必须重新发送请求报文DHCPREQUEST

(10)DHCP客户可随时提前终止服务器所提供的租用期,这时只需向DHCP服务器发送释放报文DHCPRELEASE即可。

案例

华为模拟器模拟如下:

 配置如下

服务器的配置按照此步骤: 

确保Client-1和Server-1能相互通信:

交换机配置DHCP服务器 

<Huawei>sys
Enter system view, return user view with Ctrl+Z.
[Huawei]sysname LSW1
[LSW1]dhcp enable
Info: The operation may take a few seconds. Please wait for a moment.done.
[LSW1]int vlanif 1
[LSW1-Vlanif1]ip address 192.168.10.100 24
[LSW1-Vlanif1]qu
[LSW1]ip pool global1
Info:It's successful to create an IP address pool.
[LSW1-ip-pool-gobal1]network 192.168.10.0 mask 24
[LSW1-ip-pool-gobal1]excluded-ip-address 192.168.10.1 192.168.10.20
[LSW1-ip-pool-gobal1]dns-list 192.168.10.12
[LSW1-ip-pool-gobal1]gateway-list 192.168.10.100
[LSW1-ip-pool-gobal1]lease day 2 hour 2 minute 30
[LSW1-ip-pool-gobal1]qu
[LSW1]int vlanif 1
[LSW1-Vlanif1]dhcp select global
[LSW1-Vlanif1]qu
[LSW1]display ip pool name global1 Pool-name      : global1Pool-No        : 0Lease          : 2 Days 2 Hours 30 MinutesDomain-name    : -DNS-server0    : 192.168.10.12   NBNS-server0   : -               Netbios-type   : -               Position       : Local           Status           : UnlockedGateway-0      : 192.168.10.100  Mask           : 255.255.255.0VPN instance   : -------------------------------------------------------------------------------Start           End     Total  Used  Idle(Expired)  Conflict  Disable-----------------------------------------------------------------------------192.168.10.1  192.168.10.254   253     0        233(0)         0       20-----------------------------------------------------------------------------[LSW1] User interface con0 is availablePlease Press ENTER.<LSW1>

对PC终端开启DHCP ,并且ping服务器,即>ping 192.168.10.12 -t

对LSW1端口GE 0/0/10的Wireshark数据抓包,通过过滤器可以筛选dhcp

可以直观地看到Discover和Request是广播包,Offer和ACK是单播包

DHCP的option选项 

常见的option选项可以看: 

http://t.csdn.cn/Whzbx

对PC-1执行ipconfig检查 ,可以看到华为模拟器是从最大开始分配的,即192.168.10.254

但是Cisco模拟器是从最小开始分配的,即192.168.10.1

   

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

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

相关文章

【2023保研】双非上岸东南网安

个人情况 学校&#xff1a;henu 专业&#xff1a;信息安全 排名&#xff1a;1/66 英语&#xff1a;六级500 竞赛&#xff1a;蓝桥杯PB国一&#xff0c;ISCC国一&#xff0c;密码数学挑战赛国三&#xff0c;还有其他一些省级水奖 论文&#xff1a;一篇EI在投&#xff08;三作通…

python二维码识别tesseract

window安装tesseract 下载路径&#xff1a; https://digi.bib.uni-mannheim.de/tesseract/ 选择 双击安装在D:\sore\teeseract-OCR后&#xff1a; 配置环境变量 配置环境变量Path&#xff1a;D:\sore\teeseract-OCR 配置语言包的环境变量TESSDATA_PREFIX&#xff1a; D:\s…

ElementUI基本介绍及登录注册案例演示

目录 前言 一.简介 二.优缺点 三.Element完成登录注册 1. 环境配置及前端演示 1.1 安装Element-UI模块 1.2 安装axios和qs(发送get请求和post请求) 1.3 导入依赖 2 页面布局 2.1组件与界面 3.方法实现功能数据交互 3.1 通过方法进行页面跳转 3.2 axios发送get请求 …

chrome extensions mv3通过content scripts注入/获取原网站的window数据

开发插件的都知道插件的content scripts和top window只共享Dom不共享window和其他数据&#xff0c;如果想拿挂载在window的数据还有点难度&#xff0c;下面会通过事件的方式传递cs和top window之间的数据写一个例子 代码 manifest.json 这里只搞了2个js&#xff0c;content.…

什么是Promise链(Promise chaining)?它在异步编程中的作用是什么?

聚沙成塔每天进步一点点 ⭐ 专栏简介⭐ 什么是 Promise 链&#xff1f;⭐ 异步编程中的作用⭐ 写在最后 ⭐ 专栏简介 前端入门之旅&#xff1a;探索Web开发的奇妙世界 欢迎来到前端入门之旅&#xff01;感兴趣的可以订阅本专栏哦&#xff01;这个专栏是为那些对Web开发感兴趣、…

动态内存操作(2)

接上一篇文章http://t.csdn.cn/1ONDq&#xff0c;这次我们继续讲解关于动态内存的相关知识。 一、常见的动态内存错误 1.对NULL指针进行解引用操作 #include<stdio.h> #include<stdlib.h> #include<limits.h> int main() {int* p (int*)malloc(INT_MAX/4);…

map和set的具体用法 【C++】

文章目录 关联式容器键值对setset的定义方式set的使用 multisetmapmap的定义方式insertfinderase[]运算符重载map的迭代器遍历 multimap 关联式容器 关联式容器里面存储的是<key, value>结构的键值对&#xff0c;在数据检索时比序列式容器效率更高。比如&#xff1a;set…

什么是数学建模(mooc笔记)

什么是数学建模 前提&#xff1a;我们数学建模国赛计划选择C题&#xff0c;故希望老师的教学中侧重与C题相关性大的模型及其思想进行培训。之后的学习内容中希望涉及以下知识点&#xff1a; logistic回归相关知识点。如&#xff1a;用法、适用、限制范围等。精学数学建模中常…

【Vue2.0源码学习】生命周期篇-挂载阶段(mount)

文章目录 1. 前言2. 挂载阶段分析3. 总结 1. 前言 模板编译阶段完成之后&#xff0c;接下来就进入了挂载阶段&#xff0c;从官方文档给出的生命周期流程图中可以看到&#xff0c;挂载阶段所做的主要工作是创建Vue实例并用其替换el选项对应的DOM元素&#xff0c;同时还要开启对…

高德地图根据两点的经纬度计算两点之间的距离(修正版)

SQL语句可以用来计算两个经纬度之间的距离。下面是一个示例的SQL语句&#xff1a; SELECT id, ( 6371 * ACOS( COS( RADIANS( lat1 ) ) * COS( RADIANS( lat2 ) ) * COS( RADIANS( lng2 ) - RADIANS( lng1 ) ) SIN( RADIANS( lat1 ) ) * SIN( RADIANS( lat2 ) ) ) ) AS dista…

阿里巴巴K8S集成seata

正文 在K8S集成seata&#xff0c;官方配置 代码 apiVersion: v1 kind: Service metadata:name: seata-servernamespace: wmz-devlabels:k8s-app: seata-server spec:type: NodePortports:- port: 8091nodePort: 30091protocol: TCPname: httpselector:k8s-app: seata-server-…

实例讲解Spring boot动态切换数据源

前言 在公司的系统里&#xff0c;由于数据量较大&#xff0c;所以配置了多个数据源&#xff0c;它会根据用户所在的地区去查询那一个数据库&#xff0c;这样就产生了动态切换数据源的场景。 今天&#xff0c;就模拟一下在主库查询订单信息查询不到的时候&#xff0c;切换数据…

elementui 菜单选中优化

/** 父级菜单悬浮样式**/ .el-submenu__title:hover {color:#1890ff!important; } /** 父级菜单箭头悬浮样式**/ .el-submenu__title:hover>.el-submenu__icon-arrow{font-size: 13px!important;} /** 子菜单悬浮样式**/ .el-menu-item:hover{color:#1890ff!important; } /*…

什么是Jmeter ?Jmeter使用的原理步骤是什么?

1.1 什么是 JMeter Apache JMeter 是 Apache 组织开发的基于 Java 的压力测试工具。用于对软件做压力测试&#xff0c;它最初被设计用于 Web 应用测试&#xff0c;但后来扩展到其他测试领域。 它可以用于测试静态和动态资源&#xff0c;例如静态文件、Java 小服务程序、CGI 脚…

青藏高原1-km分辨率生态环境质量变化数据集(2000-2020)

青藏高原平均海拔4000米以上&#xff0c;人口1300万&#xff0c;是亚洲九大河流的源头&#xff0c;为超过15亿人口提供淡水、食物和其他生态系统服务&#xff0c;被誉为地球第三极和亚洲水塔。然而&#xff0c;在该地区的人与自然的关系的研究是有限的&#xff0c;尤其是在精细…

PgSQL-内核特性-TupleTableSlotOps

PgSQL-内核特性-TupleTableSlotOps 执行器中表达式结果、函数结果、投影结果等&#xff0c;各种结果都需要以元组的形式返回&#xff0c;所以PgSQL引入了一种通用格式保存数据&#xff1a;TupleTableSlot。PgSQL执行器将记录存储到“元组表”中在各个算子之间进行传递&#xff…

【神经网络可视化】 梯度上升,可视化工具,风格转移

可视化可以帮助我们更好的理解卷积网络每一层学到了什么&#xff0c;或者说每一个卷积核究竟学到了什么&#xff0c;他是怎么理解图像的 这种的话当我们神经网络结果不太好时&#xff0c;我们可以分析不好的原因 图片来源于李飞飞老师的内容 梯度上升方法做可视化 文章目录 …

BUUCTF reverse wp 21 - 30

[ACTF新生赛2020]rome 无壳, 直接拖进IDA32 y键把v2改成char[49], n键重命名为iuput int func() {int result; // eaxint v1[4]; // [esp14h] [ebp-44h]char input[49]; // [esp24h] [ebp-34h] BYREFstrcpy(&input[23], "Qsw3sj_lz4_Ujwl");printf("Please…

力扣 -- 44. 通配符匹配

解题步骤&#xff1a; 参考代码&#xff1a; class Solution { public:bool isMatch(string s, string p) {int ms.size();int np.size();//为了调整映射关系s s;p p;//多开一行多开一列vector<vector<bool>> dp(m1,vector<bool>(n1,false));//初始化//dp[0]…

Mysql——三、SQL语句(上篇)

Mysql 一、SQL语句基础1、SQL简介2、SQL语句分类3、SQL语句的书写规范 二、数据库操作三、MySQL 字符集1、变量2、utf8和utf8mb4的区别 四、数据库对象五、SELECT语句1、简单的SELECT语句2、SQL函数2.1 聚合函数2.2 数值型函数2.3 字符串函数2.4 日期和时间函数2.5 流程控制函数…