1.DHCP典型组网

   

  DHCP组网中,包括以下三种角色:

  • DHCP服务器

    DHCP服务器负责从地址池中选择IP地址分配至DHCP客户端,还可以为DHCP客户端提供其他网络参数,如默认网关地址、DNS服务器地址和WINS服务器地址。DHCP服务器可以接收处理来自本网段或跨网段由DHCP中继转发的DHCP请求报文。

  • DHCP客户端

    DHCP客户端发送DHCP请求报文、通过BOOTP或DHCP协议请求获取IP地址等网络参数的设备。例如,IP电话、PC、手机、无盘工作站等。

  • DHCP中继

    DHCP中继负责转发DHCP服务器和DHCP客户端之间的DHCP报文,协助DHCP服务器向DHCP客户端动态分配网络参数的设备。

    DHCP客户端广播发送请求报文(即目的IP地址为255.255.255.255),位于同一网段内的DHCP服务器能够接收请求报文。如果DHCP客户端和DHCP服务器不在同一个网段,DHCP服务器无法接收来自客户端的请求报文,此时,需要通过DHCP中继来转发DHCP报文。不同于传统的IP报文转发,DHCP中继接收到DHCP请求或应答报文后,会重新修改报文格式并生成一个新的DHCP报文再进行转发。

2.DHCP租期和地址池

  1)租期

  DHCP服务器给每个分配给客户端的IP地址定义一个使用期限,该使用期限被称为租期。在租期到期前,DHCP客户端如果仍需要使用该IP地址,可以请求延长租期;如果不需要,可以主动释放该IP地址。

  在没有其他空闲地址可用的情况下,DHCP服务器会把客户端主动释放的IP地址分配给其他客户端。

  DHCP服务器动态分配的所有IP地址都受租期时长的限制,不同的DHCP服务器配置的租期时长可以不同。静态分配的IP地址不受租期时长的限制,使用期限为无限长。

  DHCP客户端不会等到租期到期后再申请IP地址,这样会导致IP地址被服务器回收,然后分配给其他客户端。为保证能够使用原来的IP地址,客户端会在租期到期前的某个时间点就开始申请延长租期。

  2)地址池

  地址池指的是DHCP服务器可以为客户端分配的所有IP地址的集合。除IP地址外,地址池内还可以配置租期、子网掩码、默认网关等网络参数。在DHCP服务器为客户端分配IP地址时,这些网络参数也一并分配给客户端。  

  DHCP服务器依据是否部署DHCP中继来选择地址池。无DHCP中继场景下,DHCP服务器选择与接收DHCP请求报文的接口IP地址处于同一网段的地址池。有DHCP中继场景下,

  DHCP服务器选择与DHCP请求报文中giaddr字段(标识客户端所在网段)位于同一网段的地址池。

  需要根据客户端的数量和接入断开的时间、频率来确定地址池内需要部署的IP地址数量。

  根据IP地址的使用情况,地址池中的IP地址可以分为多种状态,包括:  

  • Used:表示此IP地址已使用。

  • Idle:表示此IP地址处于空闲状态。

  • Static-bind:表示此IP地址已绑定MAC地址且未使用。

  • Static-bind used:表示此IP地址与MAC地址绑定且已使用。

  • Disable:表示此IP地址无法使用。  

  • Expired:表示此IP地址租期已过,处于空闲状态。

    地址池中IP地址到期后是Expired状态。地址池内保留Expired状态IP地址的分配记录,目的是当用户重新关联请求IP地址时,分配原来使用过的IP地址给用户,保持用户IP地址的稳定性。

    当地址池中Idle状态的IP地址耗尽时,地址池会自动回收Expired状态的IP地址,然后分配给新用户,无需手动清理。

  • Conflict:表示此IP地址与网络上其他地址冲突。

    地址池中出现Conflict状态的IP地址,说明提前避免了网络中出现IP地址冲突。以下两种情形会出现Conflict状态IP地址:

    • DHCP服务器收到DHCP Discover报文时,给客户端分配IP地址前会发送Ping探测,如果能Ping通则设置IP地址为Conflict状态,并选择其他IP地址分配给客户端。
    • DHCP客户端获取IP地址成功后,会立即发送免费ARP报文,如果收到响应,则发送DHCP Decline报文通知DHCP服务器该IP地址冲突,DHCP服务器设置该IP地址为Conflict状态,客户端发送DHCP Discover报文重新申请IP地址。

    当地址池中Idle状态和Expired状态的IP地址耗尽时,地址池会自动回收Conflict状态的IP地址,然后分配给新用户,无需手动清理

3.DHCP报文类型

  DHCP服务器与DHCP客户端之间通过DHCP报文进行通信。DHCP报文是基于UDP协议传输的。DHCP客户端向DHCP服务器发送报文时采用68端口号,DHCP服务器向DHCP客户端发送报文时采用67端口号。

  DHCP定义了如下八种类型报文。

  

4.DHCP 协议是基于UDP层(这也就是说在snort检测过程中,只能看UDP的包)之上的应用,dhcp使用udp携带报文,udp封装在ip数据包中发送。我们先来看下dhcp报文格式。

  DHCP报文是基于UDP协议传输的。DHCP客户端向DHCP服务器发送报文时采用67端口号,DHCP服务器向DHCP客户端发送报文时采用68端口号。

  

5.DHCP Options字段选项

  DHCP报文中的Options字段可以用来存放普通协议中没有定义的控制信息和参数。如果用户在DHCP服务器端配置了Options字段,DHCP客户端在申请IP地址的时候,会通过服务器端回应的DHCP报文获得Options字段中的配置信息。

 

posted on 2020-09-21 11:30  星痕1216  阅读(763)  评论(0编辑  收藏  举报