DHCP_Config
来源:互联网 发布:linux update rc.d 编辑:程序博客网 时间:2024/06/05 10:33
DHCP简介
DHCP介绍
动态主机配置协议(DHCP)是一种用于简化主机IP配置管理的协议标准。通过采用DHCP标准,可以使用DHCP服务器为网络上所有启用了DHCP的客户端分配、配置、跟踪和更改(必要时)所有TCP/IP设置。此外,DHCP还可以确保不使用重复地址、重新分配未使用的地址,并且可以自动为主机连接的子网分配适当的IP地址。
针对不同的需求,DHCP服务器有三种机制分配IP地址:
l 自动分配,DHCP服务器给首次连接到网络的某些客户端分配固定IP地址,该地址由用户长期使用;
l 动态分配,DHCP服务器给客户端分配有时间限制的IP地址,使用期限到期后,客户端需要重新申请地址,客户端也可以主动释放该地址。绝大多数客户端主机得到的是这种动态分配的地址;
l 手动分配,由网络管理员为客户端指定固定的IP地址。
三种地址分配方式中,只有动态分配可以重复使用客户端不再需要的地址。HiPER支持后面两种机制。
DHCP的工作原理
DHCP基本工作流程
上图为DHCP工作的基本流程,下面将分别介绍DHCP请求IP地址、续租地址及释放地址这三个业务的过程。
1. DHCP请求IP地址的过程
l 发现阶段,即DHCP客户端寻找DHCP服务器的阶段。客户端以广播方式发送DHCPDISCOVER包,只有DHCP服务器才会响应。
l 提供阶段,即DHCP服务器提供IP地址的阶段。DHCP服务器接收到客户端的DHCPDISCOVER报文后,从IP地址池中选择一个尚未分配的IP地址分配给客户端,向该客户端发送包含租借的IP地址和其他配置信息的DHCPOFFER包。
l 选择阶段,即DHCP客户端选择IP地址的阶段。如果有多台DHCP服务器向该客户端发送DHCPOFFER包,客户端从中随机挑选,然后以广播形式向各DHCP服务器回应DHCPREQUEST包,宣告使用它挑中的DHCP服务器提供的地址,并正式请求该DHCP服务器分配地址。其它所有发送DHCPOFFER包的DHCP服务器接收到该数据包后,将释放已经OFFER(预分配)给客户端的IP地址。
如果发送给DHCP客户端的DHCPOFFER包中包含无效的配置参数,客户端会向服务器发送DHCPCLINE包拒绝接受已经分配的配置信息。
l 确认阶段,即DHCP服务器确认所提供IP地址的阶段。当DHCP服务器收到DHCP客户端回答的DHCPREQUEST包后,便向客户端发送包含它所提供的IP地址及其他配置信息的DHCPACK确认包。然后,DHCP客户端将接收并使用IP地址及其他TCP/IP配置参数。
2. DHCP客户端续租IP地址的过程
l DHCP服务器分配给客户端的动态IP地址通常有一定的租借期限,期满后服务器会收回该IP地址。如果DHCP客户端希望继续使用该地址,需要更新IP租约。实际使用中,在IP地址租约期限达到一半时,DHCP客户端会自动向DHCP服务器发送DHCPREQUEST包,以完成IP租约的更新。如果此IP地址有效,则DHCP服务器回应DHCPACK包,通知DHCP客户端已经获得新IP租约。
如果DHCP客户端续租地址时发送的DHCPREQUEST包中的IP地址与DHCP服务器当前分配给它的IP地址(仍在租期内)不一致,DHCP服务器将发送DHCPNAK消息给DHCP客户端。
3. DHCP客户端释放IP地址的过程
l DHCP客户端已从DHCP服务器获得地址,并在租期内正常使用,如果该DHCP客户端不想再使用该地址,则需主动向DHCP服务器发送DHCPRELEASE包,以释放该地址,同时将其IP地址设为0.0.0.0。
DHCP数据包的类型
DHCP协议采用CLIENT-SERVER方式进行交互,其数据包格式共有8种,具体含义如下表所示:
格式
中文解释
含义
DHCPDISCOVER
发现包
此为Cilent开始DHCP过程的第一个报文
DHCPOFFER
提供包
此为Server对DHCPDISCOVER包的响应
DHCPREQUEST
请求包
此为Client开始DHCP过程中对Server的DHCPOFFER包的回应,或是Client续租IP地址时发出的数据包
DHCPDECLINE
拒绝包
当Client发现Server分配给它的IP地址无法使用,如IP地址冲突时,将发出此数据包,通知Server拒绝使用这个IP地址
DHCPACK
确认包
Server对Client的DHCPREQUEST包的确认响应包,Client收到此数据包后,才真正获得了IP地址和相关的配置信息
DHCPNAK
否认包
Server对Client的DHCPREQUEST包的拒绝响应包,Client收到此数据包后,一般会重新开始新的DHCP过程。
DHCPRELEASE
释放包
Client主动释放Server分配给它的IP地址的数据包,当Server收到它后,就可以回收这个IP地址,从而可将该地址分配给其他的Client。
DHCPINFORM
信息包
Client已经获得了IP地址,发送此报文,只是为了从Server处获得其他的一些网络配置信息,如route ip、DNS IP等,此数据包的应用非常少见。
DHCP数据包的类型
阅读全文