精华内容
下载资源
问答
  • DHCP概念及其缺点

    2019-05-15 16:18:00
    2.DHCP缺点: 1)IP地址随机性:用户的IP地址是随机分配的,具有不确定性。 2)访问权限变化:如果用户的访问权限是基于IP地址划分的,则访问权限随IP地址不同而变化。 3)不可被访问:通过DHCP获得的IP地址具有...

    1.DHCP概念:DHCP技术是通过某网络内一台服务器提供相应的网络配置服务来实现的,可以为网络终端设备提供临时的IP地址、默认网关、DNS服务器等网络配置。

    2.DHCP缺点:

    1)IP地址随机性:用户的IP地址是随机分配的,具有不确定性。
    2)访问权限变化:如果用户的访问权限是基于IP地址划分的,则访问权限随IP地址不同而变化。
    3)不可被访问:通过DHCP获得的IP地址具有不确定性,用户被访问难度较大。
    4)_应用不连续:如果用户在不同网段的WLAN之间不间断使用网络时,IP地址的改变会造成应用中断。
    5)安全性差:外来的网络用户会对网络本身造成安全威胁。

    转载于:https://www.cnblogs.com/201710110240aa/p/10870176.html

    展开全文
  • 谈谈DHCP协议

    千次阅读 2021-01-12 13:04:42
    04、DHCP缺点 01、DHCP协议简介 DHCP(DynamicHost ConfigurationProtocol),动态主机配置协议,是一个应用层协议,具体可以参考《TCP/IP四层模型》文章。当我们将客户主机ip地址设置为动态获取方式时,DHCP服务器...

    目录

    01、DHCP协议简介

    02、DHCP工作原理

    03、Wireshark抓包分析

    04、DHCP缺点


    01、DHCP协议简介

    DHCP(DynamicHost ConfigurationProtocol),动态主机配置协议,是一个应用层协议,具体可以参考《TCP/IP四层模型》文章。当我们将客户主机ip地址设置为动态获取方式时,DHCP服务器就会根据DHCP协议给客户端分配IP,使得客户机能够利用这个IP上网。

    DHCP的几个概念:

    DHCPClientDHCP客户端,通过DHCP协议请求IP地址的客户端。DHCP客户端是接口级的概念,如果一个主机有多个以太接口,则该主机上的每个接口都可以配置成一个DHCP客户端。交换机上每个Vlan接口也可以配置成一个DHCP客户端。

    DHCPServerDHCP服务端,负责为DHCP客户端提供IP地址,并且负责管理分配的IP地址。

    DHCPRelayDHCP中继器,DHCP客户端跨网段申请IP地址的时候,实现DHCP报文的转发功能。

    DHCPSecurityDHCP安全特性,实现合法用户IP地址表的管理功能。

    DHCPSnoopingDHCP监听,记录通过二层设备申请到IP地址的用户信息。

    02、DHCP工作原理

    DHCP使用UDP协议工作,采用67(DHCP服务器端)68(DHCP客户端)两个端口号。546号端口用于DHCPv6Client,而不用于DHCPv4,是为DHCPfailover服务。DHCP客户端向DHCP服务器发送的报文称之为DHCP请求报文,而DHCP服务器向DHCP客户端发送的报文称之为DHCP应答报文。

    图片

    DHCP交互过程共分为4步

    第一步:Client端在局域网内发起一个DHCP Discover包,目的是想发现能够给它提供IP的DHCPServer。

    第二步:可用的DHCPServer接收到Discover包之后,通过发送DHCPOffer包给予Client端应答,意在告诉Client端它可以提供IP地址。

    第三步:Client端接收到Offer包之后,发送DHCPRequest包请求分配IP。 

    第四步:DHCPServer发送ACK数据包,确认信息。

     

    03、Wireshark抓包分析

    要想抓取到DHCP包,先要保证有可用的DHCP服务器,然后将主机IP地址获取方式设置为自动获取。我们的测试环境是,笔记本设置为DHCP模式,路由开启DHCP服务。由于笔记本在开机时想路由DHCP去获取IP,开机时无法迅速打开wireshark软件进行抓包,我们使用以下命令先断开主机的网络连接,然后再连接网络。

    ipconfig /release
    ipconfig /renew

    在cmd中可以使用ipconfig/?查看各参数的含义

    命令详解:

    (1)ipconfig /release

    断开当前的网络连接,主机IP变为0.0.0.0,主机与网络断开,不能访问网络。 

    (2)ipconfig /renew 

    更新适配器信息,请求连接网络,这条命令结束之后,主机会获得一个可用的IP,再次接入网络。

     

    抓取的数据包如下,注意使用dhcp过滤条件

    图片

    wireshark抓包文件:点击下载

    可以清楚看到DHCP的四个步骤。

     

    DHCP Discover数据包

    在Discover阶段,可以看出客户端发出的是广播复制,MAC地址广播相关内容请看《802.3以太网帧》,IP地址广播相关内容请看《IP协议详解》。从下图也可以看出DHCP是基于UDP协议的,采用67(DHCP服务器端)68(DHCP客户端)两个端口号,这个上文讲过了,在抓包文件中证实了。DHCP报文格式基于BOOTP的报文格式,DHCP具体的报文格式并不是本文重点,本文并不会详细讲解DHCP报文中每个字节的含义。

    图片

     

    DHCP Offer包 

    当DHCP服务器收到一条DHCPDiscover数据包时,用一个DHCPOfferr包给予客户端响应。 这一数据报中客户客户端获取到了最重要的IP地址信息。除此之外,服务器还发送了子网掩码,路由器,DNS,域名,IP地址租用期等信息。

    DHCP服务器仍然使用广播地址作为目的地址,因为此时请求分配IP的Client并没有自己ip,而可能有多个Client在使用0.0.0.0这个IP作为源IP向DHCP服务器发出IP分配请求,DHCP也不能使用0.0.0.0这个IP作为目的IP地址,于是依然采用广播的方式,告诉正在请求的Client们,这是一台可以使用的DHCP服务器。

    图片

     

    DHCP Request包 

    当Client收到了DHCPOffer包以后(如果有多个可用的DHCP服务器,那么可能会收到多个DHCPOffer包),确认有可以和它交互的DHCP服务器存在,于是Client发送Request数据包,请求分配IP。 

    此时的源IP和目的IP依然是0.0.0.0和255.255.255.255。

    图片

     

    DHCP ACK包 

    服务器用DHCPACK包对DHCP请求进行响应。

     图片

    04、DHCP缺点

    DHCP可以很好的进行IP地址的分配,但是DHCP协议已存在一些缺点,如:

    1、DHCP协议不支持跨网段进行地址分配

    2、DHCP协议不能获取非DHCP客户端的IP地址,在地址池设置不合理的情况下可能会造成地址冲突。

    基于上述的缺陷,我们需要合理对IP地址池进行设置,并预留一些IP地址,分配给需要固定IP的服务器。

     

    点击查看本文所在的专辑,STM32F207网络开发

     

    关注公众号,第一时间收到文章更新

    展开全文
  • 目前路由器进行IP指派主要有DHCP和BOOTP,DHCP也就是动态主机分配协议,它的前身是BOOTP,BOOTP原本是用于无磁盘主机连接的网络上面的,以下分析这两种方式的不同之和各自的优缺点
  • DHCP的工作原理及优缺点

    千次阅读 2010-11-10 12:16:00
    要在一个网络中使用DHCP来分配和管理IP地址,必须在网络中部署一台拥有静态IP地址的DHCP服务器,而网络中其他计算机则是DHCP客户端。DHCP服务器负责客户端IP地址的集中管理和分配,IP地址数据库存放在服务器上,...

    要在一个网络中使用DHCP来分配和管理IP地址,必须在网络中部署一台拥有静态IP地址的DHCP服务器,而网络中其他计算机则是DHCP客户端。DHCP服务器负责客户端IP地址的集中管理和分配,IP地址数据库存放在服务器上,客户端向DHCP服务器申请和租用IP地址,DHCP服务器可以动态地为客户端自动分配IP地址,也可为特定客户端分配永久IP地址。运行Windows Sever系列和Linux,Unix等操作系统的计算机都可以作为DHCP服务器。客户端启用DHCP功能后会搜索网络中的DHCP服务器,并申请从DHCP服务器中获得IP地址。所有的安装有TCP/IP协议的计算机(包括Windows系列和Linux,Unix等)都带有DHCP客户端软件协议,都可以作为DHCP的客户端。
      DHCP的工作过程主要分为以下六个阶段:
      发现阶段,即DHCP客户端寻找DHCP服务器的阶段。DHCP客户端首先以广播方式发送DHCP DISCOVER发现信息来寻找DHCP服务器(因为DHCP服务器的IP地址对于客户端来说是未知的),即客户端向地址255.255.255.255发送特定的广播信息。请求信息主要包含客户端的网卡MAC地址还有客户端的计算机名称。网络上每一台安装了TCP/IP协议的主机都会接收到这种广播信息,但只有DHCP服务器才会做出响应。
      提供阶段,即DHCP服务器提供IP地址的阶段。在网络中接收到DHCP DISCOVER发现信息的DHCP服务器都会做出响应,它从尚未出租的IP地址中挑选一个分配给DHCP客户端,向DHCP客户端发送一个包含出租的IP地址和其他设置的DHCP OFFER提供信息。
      选择阶段,即DHCP客户端选择某台DHCP服务器提供的IP地址的阶段。如果网络中有多台DHCP服务器向DHCP客户端发来的DHCP OFFER提供信息,则DHCP客户端只接受第一个收到的DHCP OFFER提供信息。在客户端收到DHCP OFFER提供信息后,会以广播方式回答一个DHCP REQUEST请求信息,所有的DHCP服务器都会收到这个信息,该信息中包含它所选定的DHCP服务器和服务器提供的IP地址。之所以要以广播方式回答,是为了通知所有的DHCP服务器,他将选择某台DHCP服务器所提供的IP地址,其他没有被选择的DHCP服务器则会收回发出的IP地址。
      确认阶段,即DHCP服务器确认所提供的IP地址的阶段。当DHCP服务器收到DHCP客户端回答的DHCP REQUEST请求信息之后,它便向DHCP客户端发送一个包含它所提供的IP地址和其他设置的DHCP ACK确认信息,告诉DHCP客户端可以使用它所提供的IP地址。至此DHCP客户端可以使用DHCP服务器所提供的IP地址与网卡绑定。
      重新登录阶段。以后DHCP客户端每次重新登录网络时,就不需要再发送DHCP DISCOVER发现信息了,而是直接发送包含前一次所分配的IP地址的DHCP REQUEST请求信息。当DHCP服务器收到这一信息后,它会尝试让DHCP客户端继续使用原来的IP地址,并回答一个DHCP ACK确认信息。如果此IP地址已无法再分配给原来的DHCP客户端使用时(比如此IP地址已分配给其它DHCP客户端使用),则DHCP服务器给DHCP客户端回答一个DHCP NACK否认信息。当原来的DHCP客户端收到此DHCP NACK否认信息后,它就必须重新发送DHCP DISCOVER发现信息来请求新的IP地址。 更新租约阶段。DHCP服务器所提供的IP地址一般都是有期限的,我们把这个期限称为租期,租期的长短通过DHCP服务器来设置。设置这个期限是为了让那些过了租期又不活动的IP能空出来,由DHCP服务器重新分配给DHCP客户端,这样就会有效减少IP地址的浪费现象。期满后DHCP服务器便会收回出租的IP地址。如果DHCP客户端要延长其IP租约,则必须更新其IP租约。DHCP客户端启动时和IP租约期限过一半时,DHCP客户端都会自动向DHCP服务器发送更新其IP租约的信息。
      如果DHCP客户端一直开启,客户端会在租约过去50%的时候向原DHCP服务器提出DHCP REQUEST请求信息,信息中包含一个客户端正使用的IP地址,并请求服务机延长对此地址的租用。如果原服务器同意会发出DHCP ACK确认信息。这样,续租成功,客户端获得新的租约。如果这个请求信息没有得到回复,因为租约尚未结束,DHCP客户端会继续使用原来的IP,并且每隔大约2分钟向原DHCP服务器再次发送DHCP REQUEST请求信息申请续租。如果到了租约期限的87.5%,DHCP客户端依然没有收到原DHCP服务器的DHCP ACK确认信息,则客户端转为重新绑定状态。在重新绑定状态下,DHCP客户端会以广播的方式向网络中的所有服务器发送DHCP REQUEST请求信息,如果有DHCP服务器响应,并发回DHCP ACK确认信息则DHCP客户端从新的DHCP服务器获得新的IP地址还有新的租约。如果直到租约结束也没有收到任何DHCP服务器的DHCP ACK确认信息,则DHCP客户端会停用租来的IP地址,然后返回初始化状态。

    使用DHCP为管理基于TCP/IP的网络主要提供了以下好处:
      提供安全而可靠的配置。DHCP避免了由于需要手动在每个计算机上键入值而引起的配置错误。DHCP还有助于防止由于在网络上配置新的计算机时重用以前指派的IP地址而引起的地址冲突。
      可以减少配置管理。使用DHCP服务器可以大大降低用于配置和重新配置网上计算机的时间。可以配置服务器以便在指派地址租约时提供其他配置值的全部范围。这些值是使用DHCP选项指派的。
      DHCP租约续订过程还有助于确保客户端计算机配置需要经常更新的情况(如使用移动或便携式计算机频繁更改位置的用户),通过客户端计算机直接与DHCP服务器通讯可以高效、自动地进行这些更改。
      
      IP地址采用租用方式,需要时向DHCP服务器申请IP,用完后释放,使IP地址可以再利用。
      DHCP服务器数据库是一个动态数据库,向客户端提供租约或释放租约时会自动更新,降低了管理IP地址的难度,所有DHCP客户的设置和变更都由客户端和服务器自动完成,不需人工干涉。
      同时DHCP也存在不少缺点:
      DHCP不能发现网络上非DHCP客户端已经在使用的IP地址。
      DHCP服务器对于用户的接入没有限制,任何一台电脑只要连接到网络上,就能够通过DHCP服务器获得正确的网络配置,从而访问网络。这样使得非法的用户很容易进入内部网络,带来安全隐患。
      当网络上存在多个DHCP服务器时,尤其是存在私设的冒充DHCP服务器时,一个DHCP服务器不能查出已被其它服务器租出去的IP地址,这样将会给网络造成混乱。
      DHCP服务器不能跨路由器与客户端通信,除非路由器允许BOOTP转发。

    展开全文
  • dhcp

    2015-06-02 23:36:04
    一、DHCP简介 DHCP是 Dynamic Host Configuration Protocol(动态主机分配协议)缩写﹐它的前身是BOOTP。BOOTP原本是用于无磁盘主机连接的网络上面的...但 BOOTP 有一个缺点:您在设定前须事先获得客户端的硬件地址,

    一、DHCP简介

       DHCP是 Dynamic Host Configuration Protocol(动态主机分配协议)缩写﹐它的前身是BOOTP。BOOTP原本是用于无磁盘主机连接的网络上面的﹕网络主机使用 BOOT ROM 而不是磁盘起动并连接上网络﹐BOOTP 则可以自动地为那些主机设定 TCP/IP 环境。但 BOOTP 有一个缺点:您在设定前须事先获得客户端的硬件地址,而且,与 IP 的对应是静态的。换而言之,BOOTP 非常缺乏 "动态性",若在有限的 IP 资源环境中,BOOTP 的一对一对应会造成非常可观的浪费。

    DHCP 可以说是 BOOTP 的增强版本﹐它分为两个部份﹕一个是服务器端﹐而另一个是客户端。所有的 IP 网络设定数据都由 DHCP 服务器集中管理﹐并负责处理客户端的 DHCP 要求﹔而客户端则会使用从服务器分配下来的IP环境数据。比较起 BOOTP ,DHCP 透过"租约" 的概念,有效且动态的分配客户端的TCP/IP 设定,而且,作为兼容考虑,DHCP 也完全照顾了BOOTP Client 的需求。DHCP服务工作在C/S(客户端/服务器)模式,但两者进行报文传输时所使用的UDP传输端口是不一样的,DHCP客户端使用68号UDP端口发送请求报文;DHCP服务器使用67号UDP端口发送应答报文。DHCP客户端向DHCP服务器发送的报文称之为DHCP请求报文,而DHCP服务器向DHCP客户端发送的报文称之为DHCP应答报文。

    1.1 DHCP报文

    DHCP报文是承载于UDP上的高层协议报文,采用67(DHCP服务器)和68(DHCP客户端)两个端口号。DHCP报文的格式如下图所示。

    图1 DHCP报文格式

             

    报文中各字段的描述如下:

    •     op,报文类型,1表示请求报文,2表示回应报文。
    •     htype,硬件地址类型,1表示10Mb/s的以太网的硬件地址。
    •     hlen,硬件地址长度,以太网中该值为6。
    •     hops,跳数。客户端设置为0,也能被一个代理服务器设置。
    •     xid,事务ID,由客户端选择的一个随机数,被服务器和客户端用来在它们之间交流请求和响应,客户端用它对请求和应答进行匹配。该ID由客户     端设置并由服务器返回,为32位整数。
    •     secs,由客户端填充,表示从客户端开始获得IP地址或IP地址续借后所使用了的秒数。
    •     flags,标志字段。这个16比特的字段,目前只有最左边的一个比特有用,该位为0,表示单播,为1表示广播。
    •     ciaddr,客户端的IP地址。只有客户端是Bound、Renew、Rebinding状态,并且能响应ARP请求时,才能被填充。
    •     yiaddr,"你自己的"或客户端的IP地址。
    •     siaddr,表明DHCP协议流程的下一个阶段要使用的服务器的IP地址。
    •     giaddr,DHCP中继器的IP地址。//注意:不是地址池中定义的网关
    •     chaddr,客户端硬件地址。客户端必须设置它的"chaddr"字段。UDP数据包中的以太网帧首部也有该字段,但通常通过查看UDP数据包来确定以太网     帧 首部中的该字段获取该值比较困难或者说不可能,而在UDP协议承载的DHCP报文中设置该字段,用户进程就可以很容易地获取该值。
    •     sname,可选的服务器主机名,该字段是空结尾的字符串,由服务器填写。
    •     file,启动文件名,是一个空结尾的字符串。DHCP Discover报文中是"generic"名字或空字符,DHCP Offer报文中提供有效的目录路径全名。 
    •     options,可选参数域,格式为"代码+长度+数据"。

         DHCP Options

    Option id

    Length(字节)

    描述

    1

    4

    Subnet Mask

    3

    n*4

    Router(网关)

    6

    n*4

    DNS Server

    7

    n*4

    Log Server

    26

    2

    Interface MTU

    33

    n*8

    Static route

    35

    4

    ARP cache timeout

    42

    n*4

    NTP servers

    51

    4

    IP address lease time

    53

    1

    Message type 1-DHCPDISCOVER 2-DHCPOFFER 3-DHCPREQUEST 4-DHCPDECLINE 5-DHCPACK 6-DHCPNAK 7-DHCPRELEASE 8-DHCPINFORM

    54

    4

    DHCP Server Identifier




    1.3 DHCP报文类型

    DHCP类型

     报文类型说明

    DHCP Discover

    因为DHCP客户端在请求IP地址时并不知道DHCP服务器的位置,因此DHCP客户端会在本地网络内以广播方式发送Discover请求报文,以发现网络中的DHCP服务器。所有收到Discover报文的DHCP服务器都会发送应答报文,DHCP客户端据此可以知道网络中存在的DHCP服务器的位置

    DHCP Offer

    DHCP服务器收到Discover报文后,就会在所配置的地址池中查找一个合适的IP地址,加上相应的租约期限和其他配置信息(如网关、DNS服务器等),构造一个Offer报文,发送给DHCP客户端,告知用户本服务器可以为其提供IP地址。但这个报文只是告诉DHCP客户端可以提供IP地址,最终还需要客户端通过ARP来检测该IP地址是否重复<只是告诉client可以提供,是预分配,还需要client通过ARP检测该IP是否重复>

    DHCP Request

    DHCP客户端可能会收到很多Offer请求报文,所以必须在这些应答中选择一个。通常是选择第一个Offer应答报文的服务器作为自己的目标服务器,并向该服务器发送一个广播的equest请求报文,通告选择的服务器,希望获得所分配的IP地址。另外,DHCP客户端在成功获取IP地址后,在地址使用租期过去1/2时,也会向DHCP服务器发送单播Request请求报文请求续延租约,如果没有收到ACK报文,在租期过去3/4时,会再次发送广播的Request请求报文以请求续延租约

    DHCP ACK

    DHCP服务器收到Request请求报文后,根据Request报文中携带的用户MAC来查找有没有相应的租约记录,如果有则发送ACK应答报文,通知用户可以使用分配的IP地址

    DHCP NAK

    如果DHCP服务器收到Request请求报文后,没有发现有相应的租约记录或者由于某些原因无法正常分配IP地址,则向DHCP客户端发送NAK应答报文,通知用户无法分配合适的IP地址

    DHCP Release

    当DHCP客户端不再需要使用分配IP地址时,就会主动向DHCP服务器发送RELEASE请求报文,告知服务器用户不再需要分配IP地址,请求DHCP服务器释放对应的IP地址

    DHCP Decline

    DHCP客户端收到DHCP服务器ACK应答报文后,通过地址冲突检测发现服务器分配的地址冲突或者由于其他原因导致不能使用,则会向DHCP服务器发送Decline请求报文,通知服务器所分配的IP地址不可用,以期获得新的IP地址

    DHCP Inform

    DHCP客户端如果需要从DHCP服务器端获取更为详细的配置信息,则向DHCP服务器发送Inform请求报文;DHCP服务器在收到该报文后,将根据租约进行查找到相应的配置信息后,向DHCP客户端发送ACK应答报文。目前基本上不用了<极少用到>


    二、工作原理

    2.1 首次登陆

    DHCP是一个基于广播的协议,它的操作可以归结为四个阶段,这些阶段是IP租用请求、IP租用提供、IP租用选择、IP租用确认。

          

    1、IP租用请求:在任何时候,客户计算机如果设置为自动获取IP地址,那么在它开机时,就会检查自己当前是否租用了一个IP地址,如果没有,它就向DCHP请求一个租用,由于该客户计算机并不知道DHCP服务器的地址,所以会用255.255.255.255作为目标地址,源地址使用0.0.0.0,在网络上广播一个DHCPDISCOVER消息,消息包含客户计算机的媒体访问控制(MAC)地址(网卡上内建的硬件地址)以及它的NetBIOS名字。

    2、IP租用提供:当DHCP服务器接收到一个来自客户的IP租用请求时,它会根据自己的作用域地址池为该客户保留一个IP地址并且在网络上广播一个DHCP OFFER来实现,该消息包含客户的MAC地址、服务器所能提供的IP地址、子网掩码、租用期限,以及提供该租用的DHCP服务器本身的IP地址(因为DHCP客户端目前还没有IP地址,所以DHCP服务器同样使用广播进行通讯:源IP地址为DHCP服务器的IP地址,而目的IP地址为255.255.255.255。同时,DHCP服务器为此客户保留它提供的IP地址,从而不会为其他DHCP客户分配此IP地址。如果有多个DHCP服务器给予此DHCP客户端回复DHCPOFFER消息,则DHCP客户端接受它接收到的第一个DHCPOFFER消息中的IP地址。 )

    3、IP租用选择:如果子网还存在其它DHCP服务器,那么客户机在接受了某个DHCP服务器的DHCPOFFER消息后,它会广播一条包含提供租用的服务器的IP地址的DHCPREQUEST消息,在该子网中通告所有其它DHCP服务器它已经接受了一个地址的提供,其他DHCP服务器在接收到这条消息后,就会撤销为该客户提供的租用。然后把为该客户分配的租用地址返回到地址池中,该地址将可以重新作为一个有效地址提供给别的计算机使用(由于还没有得到DHCP服务器最后确认,DHCP客户端仍然不能使用租约中提供的IP地址,所以在数据包中仍然使用0.0.0.0作为源IP地址,广播地址255.255.255.255作为目的地址。)

    4、IP租用确认 DHCP服务器接收到来自客户的DHCPREQUEST消息,它就开始配置过程的最后一个阶段,这个确认阶段由DHCP服务器发送一个DHCPACK包给客户,该包包括一个租用期限和客户所请求的所有其它配置信息,至此,完成TCP/IP配置。

    2.2  地址获取状态

    当客户机使用DHCP获取其IP地址时,它处于六个状态之一,如图所示:

         

    当客户机第一次启动时,它进入INITIALIZE 初始化状态。为了开始获取一个IP地址,客户机先与本地网络上所有DHCP服务器联系,为此,客户机广播一个dhcpdiscover报文,并转移到SELECT 选择状态。由于协议是对BOOTP的扩充,客户机在一个UDP数据报中发送DHCPDISCOVER报文,UDP数据报中目的端口设为BOOTP端口(即端口67),本地网上所有DHCP服务器接收报文那些被设计成能响应特定客户机的服务器发送一个DHCPOFFER报文。因此,客户机可能收到零个或多个响应。

    处于SELECT状态时,客户机从DHCP服务器收集DHCPOFFER响应。每个响应提供了用于客户机的配置信息,还有服务器可提供租用给客户机的一个IP地址,客户机必须选择其中一个响应(如第一个到达的响应),并与服务器协商租用。为此,客户机发送给服务器一个DHCPREQUEST报文,并进入REQUEST状态。服务器为确认已接受请求并开始租用,服务器响应发出一个DHCPACK报文。客户机收到确认后转移到BOUND (已绑定)状态,此时客户机可开始使用此地址。

    2.3 续约

       当一个DHCP客户机获取地址时,它就转移到绑定状态.进入绑定状态以后,客户机设置三个定时器:控制租约更新(继续原来分配的地址)、重新绑定(可能使用新的地址)和到期。一个DHCP服务器给客户机分配地址时,可为定时器指定确定的值。如果服务器未指定定时器值,客户机就使用默认值。第一个定时器的默认值通常是总租约期的一半,当第一个定时器到期,客户机必须尝试更新租约期,为请求更新,客户机发送一个DHCPREQUEST报文到获得租约处的服务器,转移到更新状态等待响应。DHCPREQUEST包含一个客户机正使用的IP地址,并请求服务机延长对此地址的租用。服务器可以用两种方式之一响应客户机的更新请求,指示客户机停止使用该地址或同意客户机继续使用此地址。如果服务器同意就发送DHCPACK ,在DHCPACK中也可含有客户机定时器的新的数值。如果服务器不同意继续使用它就发送一个DHCPNAK ,使客户机立即停止地址的使用。客户机收到DHCPACK报文则返回到绑定状态继续使用地址,如果收到DHCPNAK就立即停止使用地址并返回初始化状态。

    第二个定时器在客户机进入绑定状态后开始设置,默认值为总租约期的87.5% ,客户机发送请求报文后保持在更新状态等待服务器的响应,如果在第二个定时器到期之前还没有收到服务器的响应,则第二个定时器到期时使客户机从更新状态转移到重新绑定状态,在转移时,客户机假定原来的服务器不可用,开始广播DHCPREQUEST报文到本地网上的任意服务器。可为客户机提供服务的任意服务器可能响应肯定(即延长租约),或否定(即拒绝继续使用地址)。如果客户机收到一个肯定响应,它就返回到绑定状态并重置两个定时器。如果客户机收到否定响应,它就转移到初始化状态,并且停止使用IP地址,在继续使用IP地址前必须重新获取一个新地址。

    如果客户机在重新绑定状态广播请求报文后在第三个定时器超时前还没有从任何一个服务器收到响应,则客户机必须停止使用IP地址,返回到初始化状态,并开始申请一个新地址,发起DHCPDISCOVER进程以寻求IP地址。

    2.4  DHCP中继(代理)

      从前面描述的过程中,我们不难发现:DHCDISCOVER是以广播方式进行的,其情形只能在同一网络之内进行﹐因为router 是不会将广播传送出去的。但如果 DHCP 服务器安设在其它的网络上面呢﹖由于 DHCP 客户端还没有 IP 环境设定﹐所以也不知道 Router 地址﹐而且有些 Router 也不会将 DHCP 广播封包传递出去﹐因此这情形下 DHCP DISCOVER 是永远没办法抵达 DHCP 服务器那端的,当然也不会发生 OFFER 及其它动作了。要解决这个问题,我们可以用 DHCP Agent (或 DHCP Proxy )主机来接管客户的 DHCP 请求﹐然后将此请求传递给真正的 DHCP 服务器﹐然后将服务器的回复传给客户。这里﹐Proxy 主机必须自己具有路由能力,且能将双方的封包互传对方。

    三、DHCP通信过程

    首先是用户端发现本机上没有任何IP数据的设定,它会向网络发出一个DHCP discover的广播包。在一般情况下,DHCP discover的等待时间预设为4秒,也就是说当客户端将第一个DHCP discover广播包发出去之后,在4秒之内没有得到响应的话,就会进行第二次DHCP discover广播。

    与此同时,DHCPserver收到客户端发来的discover后就会向网络发出ARP请求,试探有没有用户在使用DHCP server即将分配的地址。

    当DHCP server发现没有用户在使用这个预分配的地址时,那么DHCP server会发一个offer报文给客户端。此报文包含了分配给主机的IP地址、网关地址、子网掩码、租期时间、域名服务器地址。

    客户端收到server回的offer报文时会再次向网络中发广播包,即request报文。用以响应server端发来的offer报文,告诉DHCP server客户端已经收到服务器分配的信息。

    最后DHCP server会单播给客户端一个ACK报文,明确客户端可以使用分配到的数据。到此客户端才真正获得了IP地址和相关的配置信息。

    当DHCP分配完成后,客户端会发出免费ARP,确认网络中没有用户使用与我相同的IP地址。

    故此一套完整的流程结束,一般情况下只出现discover、offer、request、ack这四个报文。但DHCP一共有6个报文,这些类型是通过DHCP报文option53来识别。option53的值为1是discover;2为offer;3为request;4为declient用来通告DHCPserver,你所分配的地址不可用,如IP地址发生冲突时;5为ack;6为nak,是server拒绝响应request报文,一般出现nak时DHCP流程将重新开始。

    用一个抓包实例来说明:

    1序号6的包是DHCP过程开始的第一个报文,即用户发现自己没有IP信息,于是向网络中发出一个DHCP discover的广播包,option53中的value值为1表明是discover报文         

         

    2、序号7的包是DHCPserver 发出的ARP请求,server即将分配192.168.1.109这个地址,于是就问网络中谁使用这个地址。

        

        注:序号8的包是客户端没有收到server回应的offer,但是时间已经过去了4秒,于是再次广播discover。

        序号9是server收到第二次discover后,发出的ARP请求。 

    3、当没有用户回应server发出的ARP,则表明网络中没有用户使用192.168.1.109这个地址。那么server此时回应一个offer报文给客户端。offer报文序号11,如下图。

         

    4、序号12的包是request报文。用以响应server端发来的offer报文,告诉DHCPserver客户端已经收到服务器分配的信息。

    5、 序号13是server给客户端的一个ack报文。明确客户端可以使用分配到的数据。

         

    6、序号14、15、16是客户端发出的免费ARP,确认网络中没有用户使用与我相同的IP地址。
         
    展开全文
  • DHCP

    2013-04-14 22:27:42
    DHCP 是 Dynamic Host Configuration Protocol(动态主机分配协议)缩写,它的前身是 BOOTP。BOOTP 原本是用于无磁盘主机连接的网络上面的:网络主机使用 BOOT ROM 而不是磁盘起动并连接上网络,BOOTP 则可以自动地为...
  • dhcp搭建

    2019-01-31 18:39:00
    应用规模:终端超过五台,建议使用DHCP分配的信息:IP地址,NETMASK掩码,GATEWAY网关,DNS1DNS服务器,DNS2,DOMAIN域名优点:自动获取,方便配置,防止冲突缺点:相比手动配置,DHCP服务端配置繁琐架构组成:客户...
  • 6、DHCP

    2019-03-09 12:55:00
    DHCP 一、DHCP简介 1.什么是DHCP ...优点:不需要手工分配IP、可以设定保留地址的客户及参数、安全可靠、客户机移动回释放旧的IP、路由器可以转发DHCP请求缺点:不能发现非DHCP用户正在使用的IP 3.租...
  • DHCP服务器工作原理

    2014-06-04 21:13:19
    DHCP服务器工作原理,DHCP的优点、缺点
  • DHCP 协议

    2016-08-31 12:11:59
    什么是DHCPDHCP是DynamicHostConfigurationProtocol之缩写﹐它的前身是BOOTP。...但BOOTP有一个缺点:您在设定前须事先获得客户端的硬体位址,而且,与IP的对应是静态的。换而言之,BOOTP非常缺乏"动态
  • DHCP实验

    2019-05-16 18:37:00
    DHCP技术是通过某网络内一台服务器提供相应的网络配置服务来实现的,可以为网络终端设备提供临时的IP地址、默认网关、DNS服务器等网络配置。 缺点:IP地址随机性:用户的IP地址是随机分配的,具有不确定性。访问...
  • DHCP服务搭建

    2018-11-13 20:39:37
    缺点:相比手动配置,DHCP服务端配置繁琐; 3、搭建: 安装DHCP: yum install -y dhcp 编辑配置文件: 主:/etc/dhcp/dhcpd.conf 模板文件:/usr/share/doc/dhcp*/dhcpd.conf.sample 将模板文件复制到主配置文件中...
  • DHCP与实验

    2021-04-19 11:13:53
    DHCP 动态主机配置协议(DHCP服务器一般在路由器上集成自带)(有DHCP服务器才能自动...缺点:(利大于弊) 多个DHCP服务器在同一网络中时,客户端发出的广播都会收到回应,并先到先得,此行为不可控 DHCP的租约过程 1
  • 安装DHCP服务

    千次阅读 2018-10-17 16:13:16
    1.DHCP服务简介  DHCP(Dynamic Host Configuration Protocol)动态主机配置协议是一个局域网的网络协议,指的是由服务器控制一段IP地址范围,客户机登录服务器时... 缺点DHCP存在较多的广播开销,对于用户量较多...
  • DHCP协议详细分析

    2010-05-11 20:02:42
    2. DHCP协议主机配置优缺点 3 二、 DHCP协议报文格式 3 1. DHCP协议封装 3 2. DHCP协议的报文格式 4 3. DHCP协议报文的种类 7 三、 DHCP协议的实现过程 8 1. DHCP CLIENT的行为 8 2. DHCP SERVER的行为 9 3. DHCP ...
  • DHCP服务简介DHCP是Dynamic Host Configuration Protocol,动态主机配置协议,是用来在物理网络给主机分配ip地址的一种方式,区别于bootp,一次分配终身使用的缺点DHCP提出的租约的概念,使得可以根据需要动态确定...
  • linuxDHCP搭建

    2019-04-03 09:00:23
    DHCP:dynamic host configuration protocol ...缺点:相比手动配置,DHCP服务端配置繁琐 分配信息: 1,IP 地址 2,NETMASK 掩码 3,GATEWAY 网关 4,DNS1 DNS服务器 5,DNS2 6,DOMAIN 域名 架构组成...
  • DHCP介绍

    2007-09-24 20:45:36
    DHCP DHCP 是 Dynamic Host Configuration Protocol(动态主机分配协议)缩写,它的前身是 BOOTP。BOOTP 原本是用于无磁盘主机连接的网络上面的:网络...但 BOOTP 有一个缺点:您在设定前须事先获得客户端的硬件地...
  • 简述路由DHCP设置

    2021-01-19 22:11:57
    但 BOOTP 有一个缺点:您在设定前须事先获得客户端的硬件地址,而且,与 IP 的对应是静态的。换而言之,BOOTP 非常缺乏 "动态性" ,若在有限的 IP 资源环境中,BOOTP 的一对一对应会造成非常严重的资源浪费。 DHCP ...
  • 浅析DHCP

    2009-07-27 14:49:00
    DHCP 是 Dynamic Host Configuration Protocol(动态主机分配协议)缩写,它的前身是 BOOTP。BOOTP 原本是用于无磁盘主机连接的网络上面的:网络主机使用 BOOT ROM 而不是磁盘起动并连接上网络,BOOTP 则可以自动地 为...
  • DHCP协议

    千次阅读 2009-06-12 10:09:00
    DHCP 是 Dynamic Host Configuration Protocol(动态主机分配协议)缩写,它的前身是 BOOTP。BOOTP 原本是用于无磁盘主机连接的网络上面的:网络主机使用 BOOT ROM 而不是磁盘起动并连接上网络,BOOTP 则可以自动地为...
  • DHCP和BOOTP

    2017-03-17 11:25:00
    什么是DHCPDHCP是Dynamic Host Configuration Protocol(动态主机分配协议)缩写,它的前身是BOOTP。BOOTP原本是用于无磁盘主机连接的网络上面的:...但BOOTP有一个缺点:您在设定前须事先获得客户端的硬件地址,...
  • DHCP详解

    2008-11-29 22:02:00
    DHCP是 Dynamic Host Configuration Protocol(动态主机分配协议)缩写﹐它的前身是 BOOTP。BOOTP原本是用于无磁盘主机连接的网络上面的﹕网络主机使用 BOOT ROM 而不是磁盘起动并连接上网络﹐BOOTP 则可以自动地为...
  • DHCP工作过程详解

    千次阅读 2015-09-01 11:11:36
    DHCP服务的优缺点: 优点:客户端可以在dhcp服务器所属的物理网络范围内自动获得dhcp服务器下发的ip地址。 缺点:路由器不会转发广播包,dhcp服务器不能跨物理网络来实现ip地址的动态下发。 1、客户端向68端口...

空空如也

空空如也

1 2 3 4 5 ... 9
收藏数 173
精华内容 69
关键字:

dhcp缺点