一台主机的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. Console.Out 属性和 XmlDocument.Save 方法 (String)

    Console.Out 属性 默认情况下,此属性设置为标准输出流. 此属性可以设置为另一个流SetOut方法. 请注意,调用Console.Out.WriteLine方法是等效于调用相应WriteLi ...

  2. SpringBoot(五) -- SpringBootWeb登录示例

    一.解决index.html访问 在SpringBoot中默认访问的首页是静态资源文件夹下的index.html,无法被Thymeleaf模板引擎解析,因此我们可以定义一个controller将默认请 ...

  3. 解决MarkDown打开出现:awesomium web-brower framework This view has crashed

    当在windows 8 以上操作系统安装markdown 的时候,可能会出现这样的错误 解决方法: 官网链接:http://markdownpad.com/faq.html#livepreview-d ...

  4. exec 命令

    source source命令即点(.)命令. 在bash下输入man source,找到source命令解释处,可以看到解释”Read and execute commands from filen ...

  5. 用户权限管理数据库设计(RBAC)

    RBAC(Role-Based Access Control,基于角色的访问控制),就是用户通过角色与权限进行关联.简单地说,一个用户拥有若干角色,每一个角色拥有若干权限.这样,就构造成“用户-角色- ...

  6. python的继承、重载和重写???

    继承语法:<1>单继承:class(父类名)<2>多继承class(父类1,父类2,父类n...) 继承的特点:<1>减少代码量和灵活指定型类<2>子类 ...

  7. Mysql8- Public Key Retrieval is not allowed

    在使用 MySQL 8.0 时重启应用后提示 com.mysql.jdbc.exceptions.jdbc4.MySQLNonTransientConnectionException: Public ...

  8. nativescript(angular2)——ListView组件

    NativeScript是一个不使用webview的情况下构建跨平台并且原生的iOS和Android应用.使用Angular.TypeScript或JavaScript来获得原生UI和性能体验,同时可 ...

  9. 关于print的一点秀操作

    我们在玩 Python 的时候 常常会使用到 print 这个函数 主要用它来打印一些输出 这样我们可以更加方便的知道 程序的运行情况 我们常常这样操作   不过不是很骚 有时候我们想更加直观的看到我 ...

  10. C6678芯片

    TMS320C6678是一款八核C66x的定点/浮点DSP,支持高性能信号处理应用.TMS320C6678芯片是美国德州仪器公司生产的处理器.它支持高性能信号处理应用,支持DMA传输,可应用于高端图像 ...