DHCP


1. DHCP是什么

协议,一种应用层的网络协议,他可以动态地分配网络中的IP地址和其他网络配置的参数以及网络设备,通俗一点讲,每台设备的IP地址,子网掩码,网关等网络参数信息都是由他来完成的。

1.1DHCP服务器和DHCP的关系

DHCP服务器是实现DHCP协议的网络设备或软件,它负责为客户端设备分配IP地址和其他网络配置参数。

1.2DHCP服务器一般位于生活中的何处

通常情况下,个人设备不具备独立的DHCP服务器,一般现代路由器中集成了DHCP服务器,也有专门的服务器去实现DHCP.

2.DHCP的实现过程

  1. DHCP发现(DHCP Discover):客户端在网络中启动时,发送一个广播消息(DHCP Discover),以寻找可用的DHCP服务器。
  2. DHCP提供(DHCP Offer):DHCP服务器接收到DHCP Discover消息后,会向客户端发送一个DHCP提供消息,其中包含一个可用的IP地址以及其他网络配置参数。
  3. DHCP请求(DHCP Request):客户端收到DHCP Offer消息后,可以选择接受其中的一个DHCP服务器提供的配置。客户端发送一个DHCP请求消息,确认接受该DHCP服务器的配置。
  4. DHCP确认(DHCP Acknowledgment):DHCP服务器收到DHCP请求消息后,会发送一个DHCP确认消息(DHCP Acknowledgment),确认向客户端提供网络配置。
  5. 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是什么的更多相关文章

  1. 协议森林16 小美的桌号(DHCP协议)

    作者:Vamei 出处:http://www.cnblogs.com/vamei 转载请先与我联系. DHCP协议用于动态的配置电脑的网络相关参数,如主机的IP地址,路由器出口地址.DNS域名服务器地 ...

  2. 获取 dhcp IP 过程分析 - 每天5分钟玩转 OpenStack(91)

    前面我们已经讨论了 DHCP agent 的配置以及 namespace 如何隔离 dnsmasq 服务,本节将以 cirros-vm1 为例分析获取 DHCP IP 的详细过程. 在创建 insta ...

  3. dhcp协议交互报文

    DHCP共有八种报文,分别为DHCP Discover.DHCP Offer.DHCP Request.DHCP ACK.DHCP NAK.DHCP Release.DHCP Decline.DHCP ...

  4. 7、二种 为二个不同的子网配置DHCP服务器(中继代理服务器)

    环境如下:        (参考之前,保证二个子网可以互相ping通) 虚拟机vm1        192.168.170.3                    VMnet8 (NAT模式) 虚拟 ...

  5. DHCP

    安装 yum install -y dhcp 配置文件 默认配置为/etc/dhcpd.conf [root@samba ~]# [root@samba ~]# rpm -ql dhcp | grep ...

  6. PXE+Kickstart+DHCP+TFTP实现无人值守安装操作系统

    PXE+Kickstart+DHCP+TFTP实现无人值守安装操作系统 PXE + Kickstart PXE的工作流程及配置文件 Kickstart的配置文件 Linux安装大致可以分为2个阶段 第 ...

  7. 思科交换机配置DHCP的四个方面

    这里我们主要讲解了思科交换机配置DHCP的相关内容.我们对网络拓扑先进行一下了解,然后对于其在进行一下说明,之后对于配置的代码和命令再进行一下解析. 思科交换机配置DHCP一.网络拓扑 思科交换机配置 ...

  8. 协议分析 - DHCP协议解码详解

    协议分析 - DHCP协议解码详解 [DHCP协议简介]         DHCP,全称是 Dynamic Host Configuration Protocol﹐中文名为动态主机配置协议,它的前身是 ...

  9. 用 namspace 隔离 DHCP 服务 - 每天5分钟玩转 OpenStack(90)

    Neutron 通过 dnsmasq 提供 DHCP 服务,而 dnsmasq 如何独立的为每个 network 服务呢? 答案是通过 Linux Network Namespace 隔离,本节将详细 ...

  10. 配置 DHCP 服务 - 每天5分钟玩转 OpenStack(89)

    前面章节我们看到 instance 在启动过程中能够从 Neutron 的 DHCP 服务获得 IP,本节将详细讨论其内部实现机制. Neutron 提供 DHCP 服务的组件是 DHCP agent ...

随机推荐

  1. vue 自己实现一套 keepalive 方案

    vue自定义keepalive组件 前一阵来了一个新的需求,要在vue项目中实现一个多开tab页面的功能,本来心想,这不简单嘛就是一个增加按钮重定向吗?(当然如果这么简单我就不写这个文章了).很快写完 ...

  2. SYCTF2023 WEB writeup

    CarelessPy 一进来就是个任意文件下载功能,不过做了些限制,这题从头到尾都在骂杂鱼...(虽然我确实是(bushi) 查看页面源代码,给了个/eval /login 两个路由,/eval是个目 ...

  3. Docusaurus之markdown文档的vscode代码片段

    需求 我是使用Docusaurus建立的个人站点,在写文档是总是要在开头配置作者.日期等等,用过Docusaurus的都应该知道. 因为每次新建一个md文档都需要重新配置,很麻烦,于是我就想能不能新建 ...

  4. win10搜索框的热门搜索怎么关闭?

    搜索cmd,以管理员模式运行,输入下列命令,重启生效 reg add HKCU\Software\Policies\Microsoft\Windows\explorer /v DisableSearc ...

  5. requests Python中最好用的网络请求工具 基础速记+最佳实践

    简介 requests 模块是写python脚本使用频率最高的模块之一.很多人写python第一个使用的模块就是requests,因为它可以做网络爬虫.不仅写爬虫方便,在日常的开发中更是少不了requ ...

  6. OOP第三阶段题目集总结|课程总结-22201608-柯汶君

      第三阶段的题目集时间跨度大,内容比较充实,对前面学习过的类的继承,多态,接口进行了巩固练习,加深我们对多态的理解,学会更好地改善代码的结构.同时对最后阶段所学习的集合框架体系(Set.Map等)比 ...

  7. React学习时,outlet配置(token判定,页面path监听)

    尽管写过 outlet 路由的配置. 考虑到 token 判定和 路由页 变更,我不了解v6是不是有更详解的做法. 决定调一下配置,期望 在任何页面异步更新时,token 都可以在跳转前 被检测到,防 ...

  8. Mac pt-online-schema-change 图文并茂、不锁表在线修改 MySQL 表结构、添加表索引、添加表字段、修改表字段、删除表字段

    导读 percona-toolkit 源自 Maatkit 和 Aspersa 工具,这两个工具是管理 MySQL 的最有名的工具,但 Maatkit 已经不维护了,全部归并到 percona-too ...

  9. zynq7000 emc启动及其加速

    背景需求 ZYNQ 7000系统在出场时需要将固件从eMMC启动,原因有2: FLASH存储空间小: SD卡容易脱落,不适合产品存放系统文件: 需要注意,ZYNQ7000 系列不支持eMMC作为BOO ...

  10. win10安装mysql时提示错误:mysqld: Can't change dir to 'C: oftware\mysql\data\' (Errcode: 2 - No such file or directory)

    win10安装解压版mysql时,提示错误: 2019-10-22 09:02:00 2004 [ERROR] Can't find messagefile 'C:\WINDOWS\system32\ ...