您的位置:首页 > IT知识库 > 网络维护 >

DHCP是什么?详解DHCP服务器的工作原理

作者:小土科技 时间:2017-08-06 标签:服务器,DHCP

DHCP 是一个局域网的网络协议,使用UDP协议工作,主要有两个用途:给内部网络或网络服务供应商自动分配IP地址,给用户或者内部网络管理员作为对所有计算机作中央管理的手段。下面……

        DHCP是一个局域网的网络协议,使用UDP协议工作,主要有两个用途:给内部网络或网络服务供应商自动分配IP地址,给用户或者内部网络管理员作为对所有计算机作中央管理的手段。下面我们一起来了解一下DHCP各组件的功能和DHCP服务的工作原理。
 
        DHCP Client:DHCP客户端,通过DHCP协议请求IP地址的客户端。DHCP客户端是接口级的概念,如果一个主机有多个以太接口,则该主机上的每个接口都可以配置成一个DHCP 客户端。交换机上每个Vlan接口也可以配置成一个DHCP客户端。
 
        DHCP Server:DHCP 服务端,负责为DHCP客户端提供IP地址,并且负责管理分配的IP地址。
        DHCP Relay:DHCP中继器,DHCP客户端跨网段申请IP地址的时候,实现DHCP报文的转发功能。
        DHCP Security:DHCP安全特性,实现合法用户IP地址表的管理功能
        DHCP Snooping:DHCP监听,记录通过二层设备申请到IP地址的用户信息
 
DHCP工作原理:
 
DHCP是什么?详解DHCP服务器的工作原理
 
发现阶段:
 
        即DHCP客户端寻找DHCP服务端的过程,对应于客户端发送DHCP Discovery,因为DHCP Server对应于DHCP客户端是未知的,所以DHCP 客户端发出的DHCP Discovery报文是广播包,源地址为0.0.0.0目的地址为255.255.255.255。网络上的所有支持TCP/IP的主机都会收到该DHCP Discovery报文,但是只有DHCP Server会响应该报文。
 
        如果网络中存在多个DHCP Server,则多个DHCP Server均会回复该DHCP Discovery报文。
 
        如果同一个vlan内没有DHCP Server,而该VlanIf配置了DHCP Relay功能,则该Vlanif即为DHCP中继,DHCP中继会将该DHCP报文的源IP地址修改为该Vlanif的IP地址,而目的地址则为DHCP Relay配置的DHCP Server的IP地址。同时修改DHCP报文中,giaddress为VlanIf的IP地址。并以单播将DHCP Discovery发送到DHCP Server端。
 
DHCP Server 提供阶段:
 
DHCP Server提供阶段,即为DHCP Server响应DHCP Discovery所发的DHCP Offer阶段
 
        DHCP Server收到DHCP Discovery报文后,解析该报文请求IP地址所属的Subnet。并从dhcpd.conf文件中与之匹配的subnet中取出一个可用的IP地址(从可用地址段选择一个IP地址后,首先发送ICMP报文来ping该IP地址,如果收到该IP地址的ICMP报文,则抛弃该IP地址,重新选择IP地址继续进行ICMP报文测试,直到找到一个网络中没有人使用的IP地址,用以达到防治动态分配的IP地址与网络中其他设备IP地址冲突,这个IP地址冲突检测机制,可配置),设置在DHCP Discovery报文中yiaddress字段中,表示为该客户端分配的IP地址,并且为该Lease设置该Subnet配置的Option,例如默认leases租期,最大租期,router等信息。
 
DHCP从地址池中选择IP地址,以如下优先级进行选择:
 
        1、当前已经存在的Ip Mac的对应关系
        2、Client以前的IP地址
        3、读取Discovery报文中的Requested Ip Address Option的值,如果存在并且IP地址可用
        4、从配置的Subnet中选择IP地址:
 
        DHCP Server解析DHCP Discovery请求的IP所属的Subnet,首先看该DHCP Discovery报文中giaddress是否有DHCP Relay,如果有,则从giaddress所述的subnet中可用IP地址段中获取,并分配IP。如果giaddress没有IP地址,则从该DHCP Server绑定的接口的IP地址所属的网段分配IP地址。
 
DHCP Client 选择阶段:
 
        DHCP Client收到若干个DHCP Server响应的DHCP Offer报文后,选择其中一个DHCP Server作为目标DHCP Server。选择策略通常为选择第一个响应的DHCP Offer报文所属的DHCP Server。
 
        然后以广播方式回答一个DHCP Request报文,该报文中包含向目标DHCP请求的IP地址等信息。之所以是以广播方式发出的,是为了通知其他DHCP Server自己将选择该DHCP Server所提供的IP地址。
 
DHCP Server确认阶段:
 
        当DHCP Server收到DHCP Client发送的DHCP Request后,确认要为该DHCP Client提供的IP地址后,便想该DHCP Client响应一个包含该IP地址以及其他Option的报文,来告诉DHCP Client可以使用该IP地址了。然后DHCP Client即可以将该IP地址与网卡绑定。另外其他DHCP Server都将收回自己之前为DHCP Client提供的IP地址。
 
DHCP Client重新登录网络:
 
        当DHCP Client重新登录后,发送一个以包含之前DHCP Server分配的IP地址信息的DHCP Request报文,当DHCP Server收到该请求后,会尝试让DHCP客户端继续使用该IP地址。并回答一个ACK报文。
 
        但是如果该IP地址无法再次分配给该DHCP Client后,DHCP回复一个NAK报文,当DHCP Client收到该NAK报文后,会重新发送DHCP Discovery报文来重新获取IP地址。
 
DHCP Client更新租约:
 
        DHCP获取到的IP地址都有一个租约,租约过期后,DHCP Server将回收该IP地址,所以如果DHCP Client如果想继续使用该IP地址,则必须更新器租约。更新的方式就是,当当前租约期限过了一半后,DHCP Client都会发送DHCP Renew报文来续约租期。
 
        在我们网络维护过程中,小土科技需要提醒的是,一般的局域网里只有一个DHCP服务器,所以出来网络故障应该也要着重排查一下这个,当然也有多个DHCP服务器的,这个在一般的企业当中不会遇到,有兴趣的可以了解一下。
相关文章
  • DHCP服务器是什么?详细DHCP服务器设置方法

    DHCP服务器是什么?详细DHCP服务器设置方法