DHCP协议简介「建议收藏」

DHCP协议简介「建议收藏」DHCP协议简介

大家好,又见面了,我是你们的朋友全栈君。

  • DHCP协议简介

   DHCP协议是client端申请IP,server端分配IP的解决方案。DHCP协议兼容BOOTP协议,并具有动态分配IP的功能,也就是说IP地址被server分配给client端后,当client端主动释放IP,或IP租期到期后,server可以回收再分配。

  • DHCP三种分配方式

    A  自动分配。


    B  动态分配。

    C  手动分配。

注释:
   自动分配和手动分配给client端的都是永久的IP,动态分配是可回收的。

  • DHCP的8种报文

    A  DHCPDISCOVER   
(Client开始要IP,发的第一个报文)

 
    B  DHCPOFFER            (server收到DHCPDISCOVER报文,回复报文,表示可以提供IP)

    C  DHCPREQUEST       
(
Client收到DHCPOFFER后的回应报文)

    D  DHCPACK
 
             
(Server收到DHCPREQUEST后,同意就发DHCPACK)
    
    E  DHCPNCK              
(Server收到DHCPREQUEST后,不同意就发DHCPNCK)

    F  DHCPDECLINE
      
(Client要到IP后,若发现IP冲突,就向server发送DHCPDECLINE报文)

    G  DHCPRELEASE
      
(Client主动释放IP时会发送DHCPRELEASE报文)

    H 
   
DHCPINFORM     
(Client向server发送,或取一些配置信息)

  • DHCP分配IP

   (一) 
Client处于初始化状态,client没有存储以前IP时,要IP过程如下图:


DHCP协议简介「建议收藏」

注释:
    1、Client端首先把需要的参数写入DHCPDISCOVER报文中,以广播的形式发送给网络里的所有DHCP server。 2、server会根据自己实际情况,若能够提供IP,就会把自己的IP和xian提供给Client的IP写入DHCPOFFER报文中,通过广播的方式发送出去。 3、Client可能会收到很多DHCPOFFER,Client一般会选择最早收到的DHCPOFFER报文,并把自己想要的IP和serverIP写入DHCPREQUEST中,以广播的方式发出。 4、网络上的所有server都会收到DHCPREQUEST,Server 把DHCPREQUEST中的serverIP和自己的IP作比较,若不同,就不做处理;若相同,就发送DHCPACK或DHCPNCK.    Client收到DHCPACK,client需要IP是否冲突检查,不冲突则成功;若冲突,client会向server发送DHCPDECLINE,server会把该IP标记为不可用。

         
(二)
Client要到过IP,再重启,要IP过程如下图:

DHCP协议简介「建议收藏」

注释:
     1、Client首先把Client以前的IP和IP对应server的IP写入DHCPREQUEST报文中,以广播的形式发送给网络里的所有DHCP server。 2、网络上所有server都会收到DHCPREQUEST,Server 把DHCPREQUEST中的serverIP和自己的IP作比较,若不同,就不做处理;若相同,就发送DHCPACK或DHCPNCK.   Client收到DHCPACK,client需要IP是否冲突检查,不冲突则成功;若冲突,client会向server发送DHCPDECLINE,server会把该IP标记为不可用。


     
(三)
Client进行IP续租过程如下图:


DHCP协议简介「建议收藏」

注释:
   1、在使用租期到50%后,client向server单播发送DHCPREQUEST,延续租期。 2、server若同意,则发送DHCPACK,client开始一个新的租用周期;若不同意,则发送DHCPNAK,继续使用目前IP。 3、client单播请求没有被同意,在租期过去87.5%时刻处,client向server广播发送DHCPREQUEST。 4、server若同意,则发送DHCPACK,client开始一个新的租用周期;若不同意,则发送DHCPNAK,租期到期后,client放弃这个IP,重要IP。 


版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/142229.html原文链接:https://javaforall.net

赞 (0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 今年暑假不ac_2019年初中什么时候放寒假

    今年暑假不ac_2019年初中什么时候放寒假今年暑假不ac

    2022年4月20日
  • Redis 哨兵模式详解[通俗易懂]

    Redis 哨兵模式详解[通俗易懂]1、Sentinel哨兵Sentinel(哨兵)是Redis的高可用性解决方案:由一个或多个Sentinel实例组成的Sentinel系统可以监视任意多个主服务器,以及这些主服务器属下的所有从服务器,并在被监视的主服务器进入下线状态时,自动将下线主服务器属下的某个从服务器升级为新的主服务器。例如: 在Server1掉线后:    升级Server2为新的主服务器:  2、Redis主从分离 …

    2022年10月24日
  • redis穿透 击穿_redis缓存穿透和雪崩

    redis穿透 击穿_redis缓存穿透和雪崩​1、redis雪崩、穿透、击穿的原因和解决方案1)雪崩:多个key在某一时间同时失效,导致数据库压力过大解决方案:不同的key设置不同的过期时间,尽量错开2)穿透:在访问某个key时缓存中不存在,导致每次查询都会访问数据库解决方案:第一次访问时如果key不存在,则在缓存中设置一个空值,并设置较短的过期时间3)击穿:单个key缓存突然失效,这时大量的请求进行访问,导致数据压力过大解决方案:1、双重检索机制:某个key只让一个线程查询,阻塞其他线程 privatestati

    2022年9月14日
  • pipeline语法_plain词根

    pipeline语法_plain词根Pipeline语法2021-08-0317:10更新本节基于“入门指南”中介绍的信息,并应作为参考。有关如何在实际示例中使用Pipeline语法的更多信息,请参阅本章的Jenkinsfile部分。从Pipeline插件2.5版开始,Pipeline支持两种离散语法,详细说明如下。对于每个的利弊,请参阅语法比较(下文中)。如“入门指南”所述,Pipeline最基本的部分是“步骤”。基本上,步骤告诉Jenkins要做什么,并且作为Declarative和Scripted…

    2022年11月1日
  • 【OpenGrok代码搜索引擎】一、OpenGrok简介

    【OpenGrok代码搜索引擎】一、OpenGrok简介OpenGrok是一个快速的、非常有用的代码搜索和交叉引用引擎。它由Java语言编写而成。它可以帮助你快速的搜索,交叉引用和索引你的代码树。它可以很好的识别多种应用程序文件格式和代码版本控制工具。

    2022年4月30日
  • kali 更换更新源

    kali 更换更新源进入源文件进行修改leafpad/etc/apt/sources.list(其实系统本身就自带了更新源,去掉其注释也是可以的,现在官方源的下载速度也还ok,下面的三选一亦可)#kali官方源debhttp://http.kali.org/kalikali-rollingmainnon-freecontrib#中科大的源debhttp://…

    2022年5月28日

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号