DHCP协议及其实验(eNSP)

目录

一,DHCP

1.1,DHCP作用

1.2,DHCP地址池

1.3,DHCP报文类型

1.4,DHCP工作原理

对DHCP工作原理的思考:

1.5,DHCP租期更新

1.6,DHCP重绑定

1.7,IP地址释放

二,DHCP实验

2.1,网络拓扑图如下:

 2.2,实验要求

2.3,各部分之间的配置

补充:


一,DHCP


1.1,DHCP作用


DHCP(Dynamic Host Configuration Protocol, 动态主机配置协议 )通常被应用在大型的局域网络环境中,主要作用是集中的管理、分配IP地址,使网络环境中的主机动态的获得IP地址、Gateway地址、DNS服务器地址等信息,并能够提升地址的使用率,可以减少管理员的工作量,避免用户手工配置网络参数时造成的地址冲突。

1.2,DHCP地址池


地址池分为两种:

全局地址池:在系统视图下配置的地址池
接口地址池:在接口模式下配置的地址池

二者的区别如下

1,全局地址池可以供其它任何的接口地址dhcp调用..也就是说全局地址池就是一个公共水管,都可以从上面接水.

2,接口地址池就是指定了特定的接口才能分配到这部分的IP地址.这个是私用的.

3,全局地址池,可以指定IP做网关地址

4,接口地址池用接口IP做网关,不可以指定其它IP做网关。

5,还有就是如果下面有设备做dhcp中继的话,只能用全局地址池。

6,全局地址池可以供其它任何的接口地址dhcp调用 接口的只能本接口用


1.3,DHCP报文类型


报文类型    含义
DHCP DISCOVER    客户端用来寻找DHCP服务器
DHCP OFFER    DHCP服务器用来相应DHCP DISCOVER报文,此报文携带了各种配置信息
DHCP REQUEST    客户端请求配置确认,或者续借租期
DHCP ACK    服务器对REQUEST报文的确认响应
DHCP NAK    服务器对REQUEST报文的拒绝响应
DHCP RELEASE    客户端要释放地址时用来通知服务器


1.4,DHCP工作原理

 1,客户机向服务器发送广播,请求IP地址。
 2,服务器发送offer报文,微软的操作系统发送广播,思科华为的硬件设备发送单播。
 3,客户机发送报文来确认,表示客户机决定使用服务器提供的这个IP地址。
 4,服务器发送确认报文,表示客户机可以使用此IP地址。

对DHCP工作原理的思考:

1,客户机为什么要发送广播来请求IP地址,客户机发送请求时,其发送的报文二层三层又是如何封装的?

要回答这个问题,首先,我们可以抓discover的报文来看看,如下:

 由上图,我们可以看到,在发送discover报文的时候,二层的d-mac使用的是全f的广播mac地址,第一,这是为了让网络中的DHCP SERVER收到我们的请求;第二,因为我们本来也不知道DHCP SERVER的mac地址,所以我们无法精确的找到他们,只能告诉他们我们在找他们,然后让他们来找我们。可以看到三层使用的是UDP协议使得IP地址的请求和发放更加快速,三层的s-ip使用的是0.0.0.0,用来临时进行通信,也用于标识client还没有ip。

2,客户机收到IP地址之后,为什么还要发送报文告诉服务器呢,而且为什么不是单播而是广播呢?

发送这个广播报文。一,是为了告诉提供IP的服务器,我要使用这个IP了,让提供这个IP的服务器将被租用的IP正式标记为被租用;二,是为了让提供IP的其他DHCP服务器知道我没有使用他们的IP,并且让其他的DHCP服务器不要再发送offer。(offer里面含有IP信息)

3,客户机所收到的DHCP OFFER报文里面除了IP信息还有什么?

这个问题我们可以通过查看offer报文来回答,如下:

 由上图,我们可以看到,offer报文提供给了我们,IP地址10.1.1.254,子网掩码,网关IP,域名解析服务器的IP,还有租用IP的时间,我们主机接收到这些信息并且配置好之后就可以开始对外网通信了!


1.5,DHCP租期更新

 

IP租约期限到达50%时,DHCP客户端会请求更新IP地址租约,华为默认的地址租期是一天


1.6,DHCP重绑定


DHCP客户端在租约期限到达87.5%时,还没有收到服务器响应,会申请重绑定IP
服务器没有响应可能的两个原因:1.报文丢失,2.环路。


1.7,IP地址释放

 1,如果IP租约到期前都没有收到服务器响应,客户端就停止使用此IP地址
 2,如果DHCP客户端不再使用分配的IP地址,也可以主动向DHCP服务器发送DHCP RELEASE 报文,释放该IP地址。

二,DHCP实验

2.1,网络拓扑图如下:

 2.2,实验要求

1,左边的R2路由器使用接口模式配置DHCP,右边的路由器R3使用全局模式配置DHCP服务。

2,交换与路由器之间使用的连链路是trunk,与pc之间使用的是access链路类型。

3,具体信息请看上图。

2.3,各部分之间的配置

pc配置:

将所有的pc获取IP的方式设置为DHCP。

交换机配置(其实做这个实验也可以不用配置交换机,只是我想配置一下vlan练一下手而已):

首先我们要先创建需要的vlan号,这里我们需要vlan 10 20 30。

 配置交换机的g0/0/2接口如下图:

 1,配置接口的链路类型——port link-type access 。

 2,配置接口的vlan——port default vlan 10。

g0/0/3和g0/0/4接口的配置就不在此展示了,和配置g0/0/2接口同理,只是vlan号不同而已,接下来我们展示g0/0/1接口的配置:

 1,配置接口的链路类型为trunk口——port link-type trunk 

2,配置接口允许通过的vlan号——port trunk allow-pass vlan all,,我们这里就配置允许通过所有的vlan号。

如果你看不懂交换机的配置并且想了解交换机的知识,可以看看我写的这篇关于交换机的博客,里面有详细的交换和vlan知识。http://t.csdn.cn/mJjcahttp://t.csdn.cn/mJjca

路由器R2的配置:

最开始,我们手动在路由器上开启DHCP服务。

1,首先分别创建三个虚拟子接口用于分割不同的vlan,我这里创建了g0/0/0.1,g0/0/0.2,g0/0/0.3分别用于接收vlan10 20 30的数据这里只展现g0/0/0.1的配置。

2,为虚拟接口配置IP地址,这个IP地址后面也是这个vlan下的主机的网关。

3,配置接受哪个vlan的数据,这里是接受vlan20的数据。

4,配置地址池模式为接口模式。

5,配置dns服务器的信息。

6,设置IP地址的租期,默认租期是一天。

7,开启arp转发服务。

配置完成之后我们可以查看一下各个pc上的ip信息。

pc3

 pc4

 以上都是我们在路由器上配置上DHCP服务之后,在pc上得到的数据,这些数据都是我们在路由器上预先配置好的,比如说:pc所得到的dns:8.8.8.8。

路由器R3的配置:在这里与上面不同的是我们要做全局模式的地址池

 1,首先开启DHCP服务。

2,创建全局的地址池。

3,配置地址池的网关信息。

4,配置地址池的dns服务器信息。

5,配置地址池可分配的ip地址信息。

 6,进入接口。

7,选择全局模式——dhcp select global 。

之后,查看pc6的ip信息。

 可以看到pc6上面已经拿到了DHCP服务器下发的IP地址信息。

2.4,实验后的思考

主机从DHCP服务器拿到IP地址的具体流程和细节?

我们在如下位置抓包,看看主机从DHCP服务器拿到IP地址的具体流程。

 如下就是主机拿到IP地址的具体流程:

 一开始主机发送Didcover报文给整个网络的所有机器,然后DHCP服务器以单播的方式向主机发送offer报文提供IP地址和其他信息。主机接收到offer报文之后并没有马上使用offer提供的IP信息,而是仍然以0.0.0.0为源IP,以255.255.255.255为目标IP发送Request报文,一,是为了告诉提供IP的服务器,我要使用这个IP了,让提供这个IP的服务器将被租用的IP正式标记为被租用;二,是为了让提供IP的其他DHCP服务器知道我没有使用他们的IP,并且让其他的DHCP服务器不要再发送offer。之后主机还是不可以使用这个IP,因为要等DHCP服务器发送ack报文之后才可以正式使用。总之,主机要在收到ack报文之后才会开始使用DHCP服务器提供的IP。

补充:

DHCP协议所使用的报文四层使用的是UDP协议而不是TCP协议,client使用68号端口,server使用的是67号端口。

最后 

本篇博客对DHCP协议和DHCP实验的介绍就到这里了,如果本篇博客对你有帮助的话请点赞收藏支持一下,谢谢!答应我!不要白嫖好吗?哈哈哈!咱们下篇博客见。

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

笔记本WIFI连接无网络【实测有效解决方案,不用重启电脑】

笔记本Wifi连接无网络实测有效解决方案 问题描述: 笔记本买来一段时间后,WIFI网络连接开机一段时间还正常连接,但是过一段时间显示网络连接不上解决方案: 1.编写网络重启bat脚本,将以下内容写到文本文件,把…

华夏ERP信息泄露

声明 本文仅用于技术交流,请勿用于非法用途 由于传播、利用此文所提供的信息而造成的任何直接或者间接的后果及损失,均由使用者本人负责,文章作者不为此承担任何责任。 文章作者拥有对此文章的修改和解释权。如欲转载或传播此文章&#xff0c…

用 Gaussian Process 建模 state-action 空间相关性,加速 Multi-Fidelity RL

1 intro 利用相邻 state-action 的空间相关性来加速学习:通过 Gaussian Process(GP)作为函数逼近器。主要贡献:两个算法。 model-based MFRL 算法 GP-VI-MFRL,估计转换函数,然后使用 value iteration 计算…

EVE-NG MPLS L2VPN LDP lsp

目录 1 拓扑 2 配置步骤 2.1 配置接口IP 和路由协议 2.2 配置MPLS LDP 2.3 配置L2VPN PW(LDP) 2.4 验证L2VPN 1 拓扑 2 配置步骤 2.1 配置接口IP 和路由协议 PE1 interface LoopBack 0ip address 1.1.1.9 32 quitinterface GigabitEthernet1/0ip address 10.1.1.1 25…

【ONE·Linux || 基础IO(二)】

总言 文件系统与动静态库相关介绍。 文章目录 总言2、文件系统2.1、背景知识2.2、磁盘管理2.2.1、磁盘文件系统图2.2.2、inode与文件名 2.3、软硬链接 3、动静态库3.1、站在编写库的人的角度:如何写一个库?3.1.1、静态库制作3.1.3、动态库制作 3.2、站在…

机器学习深度学习——序列模型(NLP启动!)

👨‍🎓作者简介:一位即将上大四,正专攻机器学习的保研er 🌌上期文章:机器学习&&深度学习——卷积神经网络(LeNet) 📚订阅专栏:机器学习&&深度…

VS2022程序集说明汉化

下载本地化的 .NET IntelliSense 文件 https://dotnet.microsoft.com/zh-cn/download/intellisense 目前本地化的 IntelliSense 文件不再可用。 可用的最新版本是 .NET 5。 建议使用英语 IntelliSense 文件。 .NET6的汉化需要自己动手: 教程可以参照下方&#xff1a…

Spring Cloud Alibaba (一)

1 微服务介绍 1.1 系统架构演变 随着互联网的发展,网站应用的规模也在不断的扩大,进而导致系统架构也在不断的进行变化。 从互联网早起到现在,系统架构大体经历了下面几个过程: 单体应用架构--->垂直应用架构--->分布 式架构--->S…

【数据结构OJ题】合并两个有序数组

原题链接:https://leetcode.cn/problems/merge-sorted-array/ 目录 1. 题目描述 2. 思路分析 3. 代码实现 1. 题目描述 2. 思路分析 看到这道题,我们注意到nums1[ ]和nums2[ ]两个数组都是非递减的。所以我们很容易想到额外开一个数组tmp[ ]&#x…

vue整合脑图编辑管理系统-kitymind百度脑图

前言 项目为前端vue项目,把kitymind百度脑图整合到前端vue项目中,显示了脑图的绘制,编辑,到处为json,png,text等格式的功能 文章末尾有相关的代码链接,代码只包含前端项目,在原始的…

MySQL-NoSQL整体笔记---持续输出中

MySQL部分 一、搭建 MySQL 数据库服务器 1、下载并上传glibc版本的Mysql 2、新建用户以安全方式运行进程 [roottemplate ~]# groupadd -r -g 306 mysql [roottemplate ~]# useradd -g 306 -r -u 306 mysql3、安装并初始化mysql [roottemplate ~]# tar xf mysql-5.7.36-linu…

STM32 DMA学习

DMA简称 DMA,Direct Memory Access,即直接存储器访问。DMA传输方式无需CPU直接控制传输,也没有中断处理方式那样保留现场和恢复现场的过程,通过硬件为RAM与I/O设备开辟一条直接传送数据的通路,能使CPU的效率大为提高。…

K8s中的Ingress

1.把端口号对外暴露,通过ip端口号进行访问 使用Service里面的NodePort实现 2.NodePort缺陷 在每个节点上都会起到端口,在访问时候通过任何节点,通过节点ip暴露端口号实现访问 意味着每个端口只能使用一次,一个端口对应一个应用…

STM32刷Micropython固件参考指南

STM32刷Micropython固件指南 其实刷固件和普通的程序下载烧录无多大的差异,主要是其他因数的影响导致刷固件或刷完固件无法运行的情况和相关问题。 📑刷固件教程 固件下载。目前所支持的stm32型号有这些: stm32f0, stm32f4, stm32f7, stm32g…

[Docker实现测试部署CI/CD----Jenkins集成相关服务器(3)]

目录 7、 Jenkins 集成 SonarQubeJenkins 中安装 SonarScanner下载移动修改配置文件 8、Jenkins配置SonarQube安装插件添加SonarQube添加 SonarScanner 9、Jenkins集成目标服务器 7、 Jenkins 集成 SonarQube Jenkins 中安装 SonarScanner SonarScanner 是一种代码扫描工具&am…

基于springboot+vue的房屋租赁系统(前后端分离)

博主主页:猫头鹰源码 博主简介:Java领域优质创作者、CSDN博客专家、公司架构师、全网粉丝5万、专注Java技术领域和毕业设计项目实战 主要内容:毕业设计(Javaweb项目|小程序等)、简历模板、学习资料、面试题库、技术咨询 文末联系获取 项目介绍…

MapReduce基础原理、MR与MPP区别

MapReduce概述 MapReduce(MR)本质上是一种用于数据处理的编程模型;MapReduce用于海量数据的计算,HDFS用于海量数据的存储(Hadoop Distributed File System,Hadoop分布式文件系统)。Hadoop MapR…

学编程实用网站

牛客网:面试刷题和面试经验分享的网站牛客网 - 找工作神器|笔试题库|面试经验|实习招聘内推,求职就业一站解决_牛客网 (nowcoder.com)https://www.nowcoder.com/ 慕课网:在线学习 慕课网-程序员的梦工厂 (imooc.com)https://www.imooc.com/ …

Vue-组件二次封装

本次对el-input进行简单封装进行演示 封装很简单,就给激活样式的边框(主要是功能) 本次封装主要使用到vue自带的几个对象 $attrs:获取绑定在组件上的所有属性$listeners: 获取绑定在组件上的所有函数方法$slots: 获取应用在组件内的所有插槽 …

【频率派和贝叶斯派】进阶学习-贝叶斯方法原理、基本结构、代码构建+图模型

文章目录 前言1.理论支撑贝叶斯思考模式贝叶斯定理贝叶斯公式 2. 应用转化2.1 拼写检查 3. 贝叶斯网络3.1 贝叶斯网络的定义3.2 三个形式和实际案例的构建关系 前言 频率派与贝叶斯派各自不同的思考方式: 1.频率派把需要推断的参数θ看做是固定的未知数&#xff0c…