DHCP原理
一台主机的ip地址可用通过两种方式来设置。1 手动输入;2 自动向DHCP服务器获取。手动输入会出现错误,比如输入一个已经分配的ip地址,当内网机器只有几台,十几台还可以忍受,如果是几百台呢,不可能一台台去手动输入,这个时候就应该用自动获取的方式。
利用DHCP自动分配IP地址
一个网络内至少有一台DHCP服务器,采用自动获取IP地址的计算机通常叫做DHCP客户端。DHCP服务器将IP地址租给客户端,如果客户端没有及时更新租约,租期到期了,DHCP就会回收该IP,那客户端就不能使用这个IP地址了。
通常手动输入的IP是静态IP,而想DHCP获取的IP称为动态IP。获取动态IP时,DHCP服务器还会提供其他的上网必备的设置项,比如,子网掩码,默认网关,DNS服务器的IP地址。
DHCP原理
客户端计算机启动时会自动寻找网络中的DHCP服务器(是怎么寻找的?),向它索要IP和其他的设置值。之后两者之间的通讯可能是重新获取IP地址,还是更新租约。
客户端什么时候会向DHCP获取一个新的IP地址:
1 计算机第一次作为DHCP客户端角色,也就是客户端计算机第一次联网的时候
2 客户端的IP被DHCP回收了,且这个IP被分给了其他客户端
3 客户端计算机换了一块网卡
4 客户端计算机移到了另一个网段内,在那个网段第一次获取IP
DHCP通讯过程

1 客户端向网段内广播DHCPDISCOVER包,以寻找到一台DHCP服务器。
2 DHCP服务器收到DHCPDISCOVER包,从IP地址池中挑选出一个未租出去的IP,广播的形式发给客户端,这里为什用广播的方式?显然客户端这个时候还没有IP地址的。如果有多台DHCP服务器都发了DHCPOFFER包,客户段接受到包后会选出第一个收到的DHCPOFFER包的信息。这个包中包含了IP地址,客户段会检查这个IP是否被用,如果发现被用了,会发一个DHCPDECLINE包给服务器,表示拒绝这个IP,再重新索取。
3 客户端收到第一个DHCPOFFER信息后,利用广播的形式发送DHCPREQUEST给DHCPF服务器。这个也用了广播的形式,当然客户端到这里还是没有IP的,还有一点就是客户端需要告诉其他的DHCP服务器,我用了哪台DHCP服务器。
4 DHCP服务器收到客户端要求的IP地址的DHCPREQUEST包,利用广播的方式发出DHCPACK确认信息给客户端,这个包里面包含了IP和所需的相关设置值。
客户端收到DHCPACK包,就完成了索取IP地址的过程。可以利用这个IP进行通讯。
全程利用广播的方式,显然是用UDP的方式发送报文。
更新IP地址的租约
DHCP客户端要长期使用这个IP,必须更新这个IP地址的租约。
什么时候自动更新租约?
1 计算机重新启动的时候
2 租约租期过了一半的时候
3 租约租期超过7/8的时候
手动更新租约与释放IP地址
ipconfig/renew命令手动更新IP租约。
DHCP原理的更多相关文章
- Linux DHCP原理
DHCP作用 DHCP(Dynamic Host Configuration Protocol,动态主机配置协议)是一个局域网的网络协议,使用UDP协议工作, 主要有两个用途:给内部网络或网络服务供应 ...
- DHCP原理及报文格式
DHCP原理及报文格式 DHCP(Dynamic Host Configuration Protocol,动态主机配置协议)是IETF为实现IP的自动配置而设计的协议,它可以为客户机自动分配IP地址. ...
- 第十九章 DHCP原理介绍
一.为什么使用DHCP 1.手动为局域网中大量主机配置IP地址.掩码.网关等参数的工作繁琐,容易出错 2.DHCP可以自动为局域网中主机完成TCP/IP协议配置 3.DHCP自动配置避免了IP地址冲突 ...
- DHCP原理于配置
DHCP原理于配置 一.DHCP服务 1)使用DHCP的好处 2)DH ...
- DHCP原理与LINUX下的配置
DHCP原理与LINUX下的配置 目录 DHCP原理与LINUX下的配置 一.DHCP工作原理 1.DHCP概述 2.DHCP的优势 3.DHCP的分配方式 (1)自动分配 (2)手动分配 (3)动态 ...
- 网络初级篇之DHCP原理与配置(原理与实验)
一.什么是DHCP DHCP(Dynamic Host Configuration Protocol,动态主机配置协议)通常被应用在大型的局域网络环境中,主要作用是集中的管理.分配IP地址,使网络环境 ...
- 3.DHCP原理
1.DHCP服务器给首次接入网络的客户端分配网络参数的工作原理 只有跟DHCP客户端在同一个网段的DHCP服务器才能收到DHCP客户端广播的DHCP DISCOVER报文.当DHCP客户端与DHCP服 ...
- DHCP原理及配置
DHCP工作原理 集中的管理.分配IP地址,使client动态的获得IP地址.Gateway地址.DNS服务器地址等信息,并能够提升地址的使用率. 简单来说,DHCP就是一个不需要账号密码登录的.自动 ...
- [DHCP服务]——一个验证DHCP原理实验(VMware)
大致实验拓扑图 DHCP Server端的配置 1. 安装DHCP # yum -y install dhcp 2. 拷贝配置文件 # /dhcpd.conf.sample /etc/dhcp/dhc ...
随机推荐
- Elasticsearch安装及遇到的问题(CentOS 7.3 64位)
Elasticsearch安装 使用root用户创建一个其他用户,(elasticsearch不能在root账户下安装) # 添加一个名字是es工作组 groupadd es # 添加用户es设置密码 ...
- MYSQL实战-1.mysql基本架构
1.mysql可分为server层和存储引擎 1.1 server层: 连接器.查询缓存.分析器.优化器 .执行器.包含所有内置函数(日期,时间,数学.加密函数),所有跨存储引擎的功能都在此层,比如存 ...
- git 中添加用户名和密码
git 中添加用户名和密码:https://blog.csdn.net/qq_28602957/article/details/52154384 在使用git时,如果用的是HTTPS的方式,则每次提交 ...
- SCUT - 131 - 小P玩游戏II - 贪心 - 平衡树
https://scut.online/p/131 首先假如钦定了一群人去打怪兽,那么可以把主要的任务都丢给b最大的人去打,这样不会更差.然后考虑枚举这个b最大的人,其他人陪练.一开始就是ai+k*b ...
- 回溯---Permutations II
47.Permutations II (Medium)](https://leetcode.com/problems/permutations-ii/description/) [1,1,2] hav ...
- Version Controlling with Git in Visual Studio Code and Azure DevOps
Overview Azure DevOps supports two types of version control, Git and Team Foundation Version Control ...
- Spark Streaming Transformations
map(func):对DStream中的所有的元素进行func转换生成新的DStream flatMap(func):和map方法类似,先对DStream中的元素进行func运算,然后压平,就是说,如 ...
- Sublime Text插件安装方法和常用插件
插件安装方法: 1.打开Sublime Text,按下Ctrl+Shift+P调出命令面板 ; 2.输入install 调出 Install Package Control选项并回车; 3.再次按下C ...
- js中的回调地狱 Callback to Hell
本文重点:解决方式:1.promise 2. 拆解 function:将各步拆解为单个的 function 3. 通过 Generator 函数暂停执行的效果方式 4. 通过ES8的异步函 ...
- [书接上一回]在Oracle Enterprise Linux (v5.7) 中安装DB - (4/4)
选择自己创建的安装数据库路径. Sample Schemas 打钩. 调整内存大小. 选择官方建议的字符集编码. 是否创建创建的脚本,如需要请打钩. 脚本生成成功. 创建成功,如需要,则可以管理数据库 ...