1. 了解DHCP服务
动态主机配置协议,简称DHCP,是一个应用于局域网的网络协议,该协议允许服务器向客户端动态分配IP地址和配置信息。
该协议位于OSI模型的应用层,使用UDP协议工作,主要有两个用途,一个是用于内部网或网络服务供应商自动分配IP地址给用户,另一个是用于内部网管理员作为对所有电脑作中央管理的手段。
DHCP协议采用客户端/服务器模型,主机地址的动态分配任务由网络主机驱动。当DHCP服务器接收到来自网络主机申请地址的信息时,才会向网络主机发送相关的地址配置等信息,以实现网络主机地址信息的动态配置。
2. DHCP使用场景
通常被应用在大型的局域网络环境中,主要作用是集中的管理、分配IP地址,使网络环境中的主机动态的获得IP地址、Gateway(网关)地址、DNS服务器地址等信息,并能够提升地址的使用率。
3.DHCP的优势
1.减少管理员的工作量。
2.避免输入错误的可能。
3.避免ip地址冲突。
4当网络更改ip地址段时,不需要再从新配置每 个用户的ip地址。
5.提高量ip地址的利用率。
6方便客户端的配置。
4.DHCP的工作原理及过程
1.发现阶段
在DHCP服务配置完成后,DHCP Client (DHCP客户端) 启动时,由于没有IP地址,会自动发送以discover的广播报文,源地址为0.0.0.0目的地址为255.255.255.255。网络上的所有支持TCP/IP的主机都会收到该DHCP Discovery报文,但是只有DHCP Server (DHCP服务器) 会响应该报文。
2.DHCP Server offer(广播报文)响应阶段
DHCP Server(DHCP客户端)收到discover(发现)报文后,通过解析报文,查询dhcpd.conf配置文件,如果在地址池中能找到合适的IP地址,DHCP Server会给DHCP Client发送offer报文,告诉DHCP Client,该DHCP Server拥有资源,可以提供DHCP服务。
3.DHCP Client(DHCP客户端)请求使用阶段
当DHCP Client(DHCP客户端)收到offer报文时,知道在本网段中有可用的DHCP Server可以提供DHCP服务,因此,它会发送一个request请求报文,向该DHCP Server请求IP地址、掩码、网关、DNS等信息,以便登陆网络。
4.DHCP Serve(服务器)确认使用阶段(获得IP地址)
当DHCP Serve(服务器)r收到DHCP Client(客户端) 发送的DHCP Request(请求)后,确认要为该DHCP Client提供的IP地址后,便向该DHCP Client 响应一个包含该IP地址以及其他Option的报文,来告诉DHCP Client(可以使用该IP地址了。然后DHCP Client即可以将该IP地址与网卡绑定。另外其他DHCP Server(DHCP服务器)都将收回自己之前为DHCP Client(DHCP客户端)提供的IP地址。
- DHCP Client(DHCP客户端)重新登录网络阶段
当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报文来续约租期。
5.DHCP的分配方式
DHCP服务器提供了三种IP地址分配方式:
- 自动分配:当DHCP客户机第一次成功地从DHCP服务器获取到一个ip地址后,就永久地使用这个ip地址。
- 手动分配:由DHCP服务器管理员专门指定ip地址。
- 动态分配:当DHCP客户机第一次从DHCP服务器获取到ip地址后,并非永久的使用该地址,而是在每次使用完后,DHCP客户机就会释放这个ip地址,供其他客户机使用。
动态分配方法是惟一能够自动重复使用IP地址的方法,它对于暂时连接到网上的DHCP客户机来说尤其方便,对于永久性与网络连接的新主机来说也是分配IP地址的好方法。DHCP客户机在不再需要时才放弃IP地址,如DHCP客户机要正常关闭时,它可以把IP地址释放给DHCP服务器,然后DHCP服务器就可以把该IP地址分配给申请IP地址的DHCP客户机。
使用动态分配方法可以解决IP地址不够用的困扰