DHCP介绍 (资源)

Wesley13
• 阅读 622

                                                  DHCP介绍

动态主机配置协议是一种基于客户/服务器模式的访问协议,          

主配置文件       :    /etc/dhcpd.conf

DHCP分为两个部分:一个是服务端,另一个是客户端

所有客户机的IP地址设定资料都由DHCP服务器集中管理,并负责处理客户端的DHCP请求;而客户端则会使用从服务器分配下来的IP地址。

                                                DHCP分配IP的方式

自动分配

自动分配是当DHCP客户端第一次成功地从DHCP服务器端分配到一个IP地址之后,就永远使用这个地址。

动态分配

动态分配是当DHCP客户端第一次从DHCP服务器分配到IP地址后,并非永久地使用该地址,每次使用完后,DHCP客户端就得释放这个IP地址,以给其他客户端使用。

手动分配

手动分配是由DHCP服务器管理员专门为客户端指定IP地址

DHCP 是动态主机配置协议的简称,其作用是:为网络中的主机分配IP 地址。

为保证在启动服务器时自动启动DHCP 进程,应对 /etc/rc.d/rc.inet1  文件进行编辑。 

                                    DHCP工作流程

DHCP客户机在启动时,会搜寻网络中是否存在DHCP服务器。

如果找到,则给DHCP服务器发送一个请求。

DHCP服务器接到请求后,为DHCP客户机选择TCP/IP配置的参数,并把这些参数发送给客户端。 

如果已配置冲突检测设置,则DHCP服务器在将租约中的地址提供给客户机之前会使用Ping测试作用域中每个可用地址的连通性。

这可确保提供给客户的每个IP地址都没有被使用手动TCP/IP配置的另一台非DHCP计算机使用。

DHCP介绍  (资源)

根据客户端是否第一次登录网络,DHCP的工作形式会有所不同。

客户端从DHCP服务器上获得IP地址的所有过程可以分为以下六个步骤:

1、寻找DHCP服务器

DHCP介绍  (资源)

当DHCP客户端第一次登录网络的时候,计算机发现本机上没有任何IP地址设定,将以广播方式发送DHCP discover发现信息来寻找DHCP服务器,即向255.255.255.255发送特定的广播信息。

网络上每一台安装了TCP/IP协议的主机都会接收这个广播信息但只有DHCP服务器才会做出响应

2、分配IP地址

DHCP介绍  (资源)

在网络中接收到DHCP discover发现信息的DHCP服务器就会做出响应,它从尚未分配的IP地址池中挑选一个分配给DHCP客户机,向DHCP客户机发送一个包含分配的IP地址和其他设置的DHCP提供信息。

3、接受IP地址

DHCP介绍  (资源)

DHCP客户端接受到DHCP offer提供信息之后,选择第一个接收到的提供信息,然后以广播的方式回答一个DHCP request请求信息,该信息包含向它所选定的DHCP服务器请求IP地址的内容。

4、IP地址分配确认

DHCP介绍  (资源)

当DHCP服务器收到DHCP客户端回答的DHCP request请求信息之后,便向DHCP客户端发送一个包含它所提供的IP地址和其他设置的DHCP ack确认信息,告诉DHCP客户端可以使用它提供的IP地址。

然后,DHCP客户机便将其TCP/IP协议与网卡绑定

另外,除了DHCP客户机选中的DHCP服务器外,其他的DHCP服务器将收回曾经提供的IP地址

5、重新登录

以后DHCP客户端每次重新登录网络时,就不需要再发送DHCP discover发现信息了,而是直接发送包含前一次所分配的IP地址的DHCP request请求信息。

当DHCP服务器收到这一信息后,它会尝试让DHCP客户机继续使用原来的IP地址,并回答一个DHCP ack确认信息

如果此IP地址已无法再分配给原来的DHCP客户机使用时,则DHCP服务器给DHCP客户机回答一个DHCP nack否认信息

当原来的DHCP客户机收到此DHCP nack否认信息后,它就必须重新发送DHCP discover发现信息来请求新的IP地址。

DHCP介绍  (资源)

客户端重新登录

DHCP介绍  (资源)

如果客户端DHCP request 内的IP地址在服务器端没有被使用,DHCP服务器回复DHCP ACK继续使用IP。

DHCP介绍  (资源)

如果客户端DHCP request 内的IP地址在服务器端已被使用,DHCP服务器回复DHCP NACK告诉客户端IP已被使用。

DHCP介绍  (资源)

客户端重新开始DHCP流程。

6、更新租约

DHCP介绍  (资源)

DHCP服务器向DHCP客户机出租的IP地址一般都有一个租借期限,期满后DHCP服务器便会收回出租的IP地址。如果DHCP客户机要延长其IP租约,则必须更新其IP租约。DHCP客户机启动时和IP租约期限到达租约的50%时,DHCP客户机都会自动向DHCP服务器发送更新其IP租约的信息。

链接  :  

简单DHCP服务器搭建   :  http://blog.51cto.com/xiaogongju/1941000

Centos使用PXE+Kickstart无人值守安装服务  :  https://mp.weixin.qq.com/s/udG3rcNgeQaB2\_GOAwoCvA

DHCP介绍  (资源)

linux服务之DHCP 荐   :  http://blog.51cto.com/best0/104151

51CTO第2本书样章曝光:DHCP服务器规划与应用案例 荐  :  http://blog.51cto.com/zhangqi/90372

思科配置DHCP   :  https://blog.csdn.net/qq\_39397409/article/details/79008432

DHCP中继代理,配置dhcp,中继代理,跨越不同vlan,给不同vlan下的客户机提供dhcp服务       :      http://blog.51cto.com/13728740/2137429

LINUX系统服务器上搭建DHCP服务,实现两大基本功能:1,自动分配ip;2,手工指定ip     :      http://blog.51cto.com/13728740/2137376

点赞
收藏
评论区
推荐文章
blmius blmius
3年前
MySQL:[Err] 1292 - Incorrect datetime value: ‘0000-00-00 00:00:00‘ for column ‘CREATE_TIME‘ at row 1
文章目录问题用navicat导入数据时,报错:原因这是因为当前的MySQL不支持datetime为0的情况。解决修改sql\mode:sql\mode:SQLMode定义了MySQL应支持的SQL语法、数据校验等,这样可以更容易地在不同的环境中使用MySQL。全局s
皕杰报表之UUID
​在我们用皕杰报表工具设计填报报表时,如何在新增行里自动增加id呢?能新增整数排序id吗?目前可以在新增行里自动增加id,但只能用uuid函数增加UUID编码,不能新增整数排序id。uuid函数说明:获取一个UUID,可以在填报表中用来创建数据ID语法:uuid()或uuid(sep)参数说明:sep布尔值,生成的uuid中是否包含分隔符'',缺省为
Jacquelyn38 Jacquelyn38
3年前
2020年前端实用代码段,为你的工作保驾护航
有空的时候,自己总结了几个代码段,在开发中也经常使用,谢谢。1、使用解构获取json数据let jsonData  id: 1,status: "OK",data: 'a', 'b';let  id, status, data: number   jsonData;console.log(id, status, number )
Wesley13 Wesley13
3年前
HCNA实验
HCNA实验配置基于接口地址池的DHCPDHCP动态主机配置协议DHCP协议采用客户端/服务器的方式工作与DHCP服务器建立连接的4个阶段发现阶段:DHCP客户端寻找DHCP服务器的阶段,客户端以广播的方式发送DHCP\_Disco
Wesley13 Wesley13
3年前
mysql设置时区
mysql设置时区mysql\_query("SETtime\_zone'8:00'")ordie('时区设置失败,请联系管理员!');中国在东8区所以加8方法二:selectcount(user\_id)asdevice,CONVERT\_TZ(FROM\_UNIXTIME(reg\_time),'08:00','0
Wesley13 Wesley13
3年前
DHCP 服务
\TOC\DHCP服务了解DHCP服务的工作原理能够配置简单的DHCP服务器一、DHCP服务介绍DHCP(DynamicHostConfigurationProtocol,动态主机配置协议)是一个局域网的网络协议,UDP协议,67端口主要用于动态管理分配IP地址
Wesley13 Wesley13
3年前
00:Java简单了解
浅谈Java之概述Java是SUN(StanfordUniversityNetwork),斯坦福大学网络公司)1995年推出的一门高级编程语言。Java是一种面向Internet的编程语言。随着Java技术在web方面的不断成熟,已经成为Web应用程序的首选开发语言。Java是简单易学,完全面向对象,安全可靠,与平台无关的编程语言。
Stella981 Stella981
3年前
Django中Admin中的一些参数配置
设置在列表中显示的字段,id为django模型默认的主键list_display('id','name','sex','profession','email','qq','phone','status','create_time')设置在列表可编辑字段list_editable
Wesley13 Wesley13
3年前
MySQL部分从库上面因为大量的临时表tmp_table造成慢查询
背景描述Time:20190124T00:08:14.70572408:00User@Host:@Id:Schema:sentrymetaLast_errno:0Killed:0Query_time:0.315758Lock_
Python进阶者 Python进阶者
10个月前
Excel中这日期老是出来00:00:00,怎么用Pandas把这个去除
大家好,我是皮皮。一、前言前几天在Python白银交流群【上海新年人】问了一个Pandas数据筛选的问题。问题如下:这日期老是出来00:00:00,怎么把这个去除。二、实现过程后来【论草莓如何成为冻干莓】给了一个思路和代码如下:pd.toexcel之前把这