DHCP是什么
DHCP
1. DHCP是什么
协议,一种应用层的网络协议,他可以动态地分配网络中的IP地址和其他网络配置的参数以及网络设备,通俗一点讲,每台设备的IP地址,子网掩码,网关等网络参数信息都是由他来完成的。
1.1DHCP服务器和DHCP的关系
DHCP服务器是实现DHCP协议的网络设备或软件,它负责为客户端设备分配IP地址和其他网络配置参数。
1.2DHCP服务器一般位于生活中的何处
通常情况下,个人设备不具备独立的DHCP服务器,一般现代路由器中集成了DHCP服务器,也有专门的服务器去实现DHCP.
2.DHCP的实现过程
- DHCP发现(DHCP Discover):客户端在网络中启动时,发送一个广播消息(DHCP Discover),以寻找可用的DHCP服务器。
- DHCP提供(DHCP Offer):DHCP服务器接收到DHCP Discover消息后,会向客户端发送一个DHCP提供消息,其中包含一个可用的IP地址以及其他网络配置参数。
- DHCP请求(DHCP Request):客户端收到DHCP Offer消息后,可以选择接受其中的一个DHCP服务器提供的配置。客户端发送一个DHCP请求消息,确认接受该DHCP服务器的配置。
- DHCP确认(DHCP Acknowledgment):DHCP服务器收到DHCP请求消息后,会发送一个DHCP确认消息(DHCP Acknowledgment),确认向客户端提供网络配置。
- DHCP配置更新:客户端收到DHCP确认消息后,会将接收到的网络配置应用于自身,并更新自己的IP地址、子网掩码、网关、DNS服务器等配置
如下图所示,是DHCP过程的大致实现:

其一:在源客户端发送DHCP请求报文的时候,由于自身IP没有得到分配,于是使用0.0.0.0作为源地址,利用255.255.255.255进行广播传发,所以使用到了UDP广播通信.
其二:DHCP服务器发送offer时,包含了什么信息,IP地址,默认网关,DNS服务器,子网掩码,IP地址租期
地址租期是什么?
IP地址由DHCP分配成功后,意味着每一个客户端所拥有的IP地址都具备一个生命周期,这个时间长度的具体单位便是地址租期,一旦地址租期超过,DHCP则会重新分配一个IP地址,通常而言,这个地址租期是可以设置的,其实也可以想明白,存在个人设备不使用的情况下,这样就可以等使用时再分配地址,而不是一次性分配后,便不管这个地址的存活时间了.
地址租期快过期了,客户端如何去做?
重复3,4过程,只不过此时DHCP服务器发送ACK请求报文中包含了新的地址租期时间,这一过程也叫DHCP Renewal
DHCP服务器如何知道客户端的位置?
通过数据链路层,通过MAC地址确认主机.
- 其三:DHCP通信的所有通信,都是通过UDP广播通信
下面让我们看一下DHCP具体的实现过程:

- 红框框出的即为DHCP的基本四个流程
Transaction:是事务的意思,在每次传送数据的时候都会有一个事务ID去记录,这个记录也也用来判断是不是我所需要的数据,而不仅仅局限于Mac地址,所以在四次传输过程了,事务ID一致且不变。
2.1客户端发送Discover

2.2DHCP服务器发送offer


2.3客户端发送Request

2.4DHCP服务器发送ACK

由此,客户端便会配置相关的网络信息
为此,我们来观察一下DHCP服务器的IP地址:192.168.0.1,这个IP地址看的十分眼熟,于是我查询了路由器管理设备信息,发现了这个IP地址同时也是默认网关的地址,于是根据我的查询结果得出,这是网络设备默认设置也是DHCP服务器的一种设置,在家庭学校中比较常见
DHCP是什么的更多相关文章
- 协议森林16 小美的桌号(DHCP协议)
作者:Vamei 出处:http://www.cnblogs.com/vamei 转载请先与我联系. DHCP协议用于动态的配置电脑的网络相关参数,如主机的IP地址,路由器出口地址.DNS域名服务器地 ...
- 获取 dhcp IP 过程分析 - 每天5分钟玩转 OpenStack(91)
前面我们已经讨论了 DHCP agent 的配置以及 namespace 如何隔离 dnsmasq 服务,本节将以 cirros-vm1 为例分析获取 DHCP IP 的详细过程. 在创建 insta ...
- dhcp协议交互报文
DHCP共有八种报文,分别为DHCP Discover.DHCP Offer.DHCP Request.DHCP ACK.DHCP NAK.DHCP Release.DHCP Decline.DHCP ...
- 7、二种 为二个不同的子网配置DHCP服务器(中继代理服务器)
环境如下: (参考之前,保证二个子网可以互相ping通) 虚拟机vm1 192.168.170.3 VMnet8 (NAT模式) 虚拟 ...
- DHCP
安装 yum install -y dhcp 配置文件 默认配置为/etc/dhcpd.conf [root@samba ~]# [root@samba ~]# rpm -ql dhcp | grep ...
- PXE+Kickstart+DHCP+TFTP实现无人值守安装操作系统
PXE+Kickstart+DHCP+TFTP实现无人值守安装操作系统 PXE + Kickstart PXE的工作流程及配置文件 Kickstart的配置文件 Linux安装大致可以分为2个阶段 第 ...
- 思科交换机配置DHCP的四个方面
这里我们主要讲解了思科交换机配置DHCP的相关内容.我们对网络拓扑先进行一下了解,然后对于其在进行一下说明,之后对于配置的代码和命令再进行一下解析. 思科交换机配置DHCP一.网络拓扑 思科交换机配置 ...
- 协议分析 - DHCP协议解码详解
协议分析 - DHCP协议解码详解 [DHCP协议简介] DHCP,全称是 Dynamic Host Configuration Protocol﹐中文名为动态主机配置协议,它的前身是 ...
- 用 namspace 隔离 DHCP 服务 - 每天5分钟玩转 OpenStack(90)
Neutron 通过 dnsmasq 提供 DHCP 服务,而 dnsmasq 如何独立的为每个 network 服务呢? 答案是通过 Linux Network Namespace 隔离,本节将详细 ...
- 配置 DHCP 服务 - 每天5分钟玩转 OpenStack(89)
前面章节我们看到 instance 在启动过程中能够从 Neutron 的 DHCP 服务获得 IP,本节将详细讨论其内部实现机制. Neutron 提供 DHCP 服务的组件是 DHCP agent ...
随机推荐
- CANoe _ Panel面板的创建过程
在Canoe中创建Panel面板,用于显示和操作CAN网络的数据和信号,遵循以下步骤: 1.打开Canoe 启动Canoe软件. 2.打开项目 在Canoe的菜单栏中,选择"File&quo ...
- C++面试八股文:什么是智能指针?
某日二师兄参加XXX科技公司的C++工程师开发岗位第19面: 面试官:什么是智能指针? 二师兄:智能指针是C++11引入的类模板,用于管理资源,行为类似于指针,但不需要手动申请.释放资源,所以称为智能 ...
- ChatGPT:免费在线聊天网页版,探索智能人机交互的便捷新方式!
当今,机器智能相当流行.而在线人工智能聊天系统的兴起大大改变了我们与计算机互动的方式.本文将介绍一款名为 ChatGPT 的在线免费智能聊天网页版,让你体验智能对话的便利性. ChatGPT 是一种基 ...
- 【智能安防】基于AI的智能家居安全系统设计与实现
目录 智能家居安全系统设计与实现:AI技术的应用 摘要 随着智能家居市场的快速发展,安全问题也日益突出.本文将介绍基于AI的智能家居安全系统设计与实现技术,重点阐述相关概念.实现步骤和优化改进.通过实 ...
- 有哪些ASIC加速技术可以实现低功耗运行?
目录 文章主题: 10. 有哪些ASIC加速技术可以实现低功耗运行? 背景介绍:随着移动设备.物联网.云计算等应用场景的不断增长,功耗成为了一个日益重要的技术问题.为了在移动设备上实现更长时间的运行, ...
- React学习时,outlet配置(token判定,页面path监听)
尽管写过 outlet 路由的配置. 考虑到 token 判定和 路由页 变更,我不了解v6是不是有更详解的做法. 决定调一下配置,期望 在任何页面异步更新时,token 都可以在跳转前 被检测到,防 ...
- Leecode SQL
618 学生地理信息报告 一所学校有来自亚洲.欧洲和美洲的学生.写一个查询语句实现对大洲(continent) 列的透视表操作,使得每个学生按照姓名的字母顺序依次排列在对应的大洲下面.输出的标题应依次 ...
- Kali下载安装以及基础配置
Kali官网:Kali Linux | Penetration Testing and Ethical Hacking Linux Distribution Kali下载地址:Get Kali | K ...
- Jenkins自动化测试构建完成 发送钉钉消息
背景 有时自动化测试完成后,我们可以通过构建完成后给钉钉群发消息,这样就能及时通知到所有人员了. 接入流程 1:建立钉钉机器人,可以通过群助手,添加机器人,增加WebHook自定义接入,然后添加完成会 ...
- 一个高性能、低内存文件上传流.Net组件
推荐一个用于轻松实现文件上传功能的组件. 项目简介 一个基于 .NET 平台的开源项目,提供了一个简单易用的 API,可以在 Web 应用程序中快速集成文件上传功能. 优化多部分流式文件上传性能:减少 ...