一台主机的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原理的更多相关文章

  1. Linux DHCP原理

    DHCP作用 DHCP(Dynamic Host Configuration Protocol,动态主机配置协议)是一个局域网的网络协议,使用UDP协议工作, 主要有两个用途:给内部网络或网络服务供应 ...

  2. DHCP原理及报文格式

    DHCP原理及报文格式 DHCP(Dynamic Host Configuration Protocol,动态主机配置协议)是IETF为实现IP的自动配置而设计的协议,它可以为客户机自动分配IP地址. ...

  3. 第十九章 DHCP原理介绍

    一.为什么使用DHCP 1.手动为局域网中大量主机配置IP地址.掩码.网关等参数的工作繁琐,容易出错 2.DHCP可以自动为局域网中主机完成TCP/IP协议配置 3.DHCP自动配置避免了IP地址冲突 ...

  4. DHCP原理于配置

    DHCP原理于配置                      一.DHCP服务                       1)使用DHCP的好处                       2)DH ...

  5. DHCP原理与LINUX下的配置

    DHCP原理与LINUX下的配置 目录 DHCP原理与LINUX下的配置 一.DHCP工作原理 1.DHCP概述 2.DHCP的优势 3.DHCP的分配方式 (1)自动分配 (2)手动分配 (3)动态 ...

  6. 网络初级篇之DHCP原理与配置(原理与实验)

    一.什么是DHCP DHCP(Dynamic Host Configuration Protocol,动态主机配置协议)通常被应用在大型的局域网络环境中,主要作用是集中的管理.分配IP地址,使网络环境 ...

  7. 3.DHCP原理

    1.DHCP服务器给首次接入网络的客户端分配网络参数的工作原理 只有跟DHCP客户端在同一个网段的DHCP服务器才能收到DHCP客户端广播的DHCP DISCOVER报文.当DHCP客户端与DHCP服 ...

  8. DHCP原理及配置

    DHCP工作原理 集中的管理.分配IP地址,使client动态的获得IP地址.Gateway地址.DNS服务器地址等信息,并能够提升地址的使用率. 简单来说,DHCP就是一个不需要账号密码登录的.自动 ...

  9. [DHCP服务]——一个验证DHCP原理实验(VMware)

    大致实验拓扑图 DHCP Server端的配置 1. 安装DHCP # yum -y install dhcp 2. 拷贝配置文件 # /dhcpd.conf.sample /etc/dhcp/dhc ...

随机推荐

  1. Elasticsearch安装及遇到的问题(CentOS 7.3 64位)

    Elasticsearch安装 使用root用户创建一个其他用户,(elasticsearch不能在root账户下安装) # 添加一个名字是es工作组 groupadd es # 添加用户es设置密码 ...

  2. MYSQL实战-1.mysql基本架构

    1.mysql可分为server层和存储引擎 1.1 server层: 连接器.查询缓存.分析器.优化器 .执行器.包含所有内置函数(日期,时间,数学.加密函数),所有跨存储引擎的功能都在此层,比如存 ...

  3. git 中添加用户名和密码

    git 中添加用户名和密码:https://blog.csdn.net/qq_28602957/article/details/52154384 在使用git时,如果用的是HTTPS的方式,则每次提交 ...

  4. SCUT - 131 - 小P玩游戏II - 贪心 - 平衡树

    https://scut.online/p/131 首先假如钦定了一群人去打怪兽,那么可以把主要的任务都丢给b最大的人去打,这样不会更差.然后考虑枚举这个b最大的人,其他人陪练.一开始就是ai+k*b ...

  5. 回溯---Permutations II

    47.Permutations II (Medium)](https://leetcode.com/problems/permutations-ii/description/) [1,1,2] hav ...

  6. 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 ...

  7. Spark Streaming Transformations

    map(func):对DStream中的所有的元素进行func转换生成新的DStream flatMap(func):和map方法类似,先对DStream中的元素进行func运算,然后压平,就是说,如 ...

  8. Sublime Text插件安装方法和常用插件

    插件安装方法: 1.打开Sublime Text,按下Ctrl+Shift+P调出命令面板 ; 2.输入install 调出 Install Package Control选项并回车; 3.再次按下C ...

  9. js中的回调地狱 Callback to Hell

        本文重点:解决方式:1.promise  2. 拆解 function:将各步拆解为单个的 function  3. 通过 Generator 函数暂停执行的效果方式 4. 通过ES8的异步函 ...

  10. [书接上一回]在Oracle Enterprise Linux (v5.7) 中安装DB - (4/4)

    选择自己创建的安装数据库路径. Sample Schemas 打钩. 调整内存大小. 选择官方建议的字符集编码. 是否创建创建的脚本,如需要请打钩. 脚本生成成功. 创建成功,如需要,则可以管理数据库 ...