分类: 系统运维
2009-06-12 09:21:24
一、简介
(一)DHCP概述
DHCP(Dynamic Host Configuration Protocal)就是动态主机配置协议哈,可以自动配置主机的IP地址、子网掩码、网关及DNS等TCP/IP信息。所以DHCP可以有效地降低客户端IP地址配置的复杂度和网络的管理成本。
DHCP为管理员提供了3种分配方式:
l 手动分配(Manual Allocation)
网络管理员为某些少数特定的Host绑定固定IP地址,且地址不会过期。
l 自动分配(Automatic Allocation )
一旦 DHCP 客户端第一次成功的从 DHCP 服务器端租用到 IP 地址之后,就永远使用这个地址。
l 动态分配(Dynamic Allocation )
当 DHCP 第一次从 DHCP 服务器端租用到 IP 地址之后,这个地址并非可以永久使用,如果没有及时续约,只要租约到期,客户端就得释放这个 IP 地址,供其他用户使用。当然,客户端可以比其它主机更优先的续约租约,或是分配其他IP 地址给他。 动态分配显然比自动分配更加灵活,尤其是当您的实际 IP 地址不足的时候。
(二)DHCP工作原理
1、客户获取租用
(1)客户发出的IP租用请求报文
DHCP客户机初始化TCP/IP,通过UDP端口67向网络中发送一个DHCPDISCOVER广播包,请求租用IP地址。该 广播包中的源IP地址为
(2)DHCP回应的IP租用提供报文
任何接收到DHCPDISCOVER广播包并且能够提供IP地址的DHCP服务器,都会通过UDP端口68给客户机回应一个DHCPOFFER广播包,从尚未出租的IP地址中挑选一个分配给DHCP客户端。该广播包的源IP地址为DCHP服务器IP,目标IP地址为255.255.255.255;包中还包含提供的IP地址、子网掩码及租期等信息。
(3)客户选择IP租用报文
客户机从不止一台DHCP服务器接收到提供之后,会选择第一个收到的DHCPOFFER包,并向网络中广播一个 DHCPREQUEST消息包,表明自己已经接受了一个DHCP服务器提供的IP地址。该广播包中包含所接受的IP地址和服务器的IP地址。所有其他的DHCP服务器撤消它们的提供以便将IP地址提供给下一次IP租用请求。同时,客户端还会向网络发送ARP广播数据包,查询网络上面有没有其他机器使用该IP地址,如果发现该IP地址已经被占用,客户端则会发送一个DHCP DECLINE数据包给这台DHCP服务器,拒绝接受其DHCP OFFER,并重新发送DHCP REQUEST信息给这台DHCP服务器(实际上是进入“2、客户IP租用更新报文”这步骤)。
(4)DHCP服务器发出IP租用确认报文
被客户机选择的DHCP服务器在收到DHCPREQUEST广播后,会返回给客户机一个包含其所提供的IP地址、租用期和其他配置信息的DHCPACK消息包,表明已经接受客户机的选择,告诉DHCP客户端可以使用该IP地址。
(5)客户配置成功后发出的公告报文
客户机在收到DHCPACK包,会使用该广播包中的信息来配置自己的TCP/IP,则租用过程完成,客户机可以在网络中通信。
至此一个客户获取IP的DHCP服务过程基本结束,不过客户获取的IP一般是用租期,到期前需要更新租期,这个过程是通过租用更新数据包来完成的。
注意:
DHCP客户机在发出IP租用请求的DHCPDISCOVER广播包后,将花费1秒钟的时间等待DHCP服务器的回应,如果1秒钟没有服务器的回应,它会将这一广播包重新广播四次(以2,4,8和16秒为间隔,加上1~1000毫秒之间随机长度的时间)。四次之后,如果仍未能收到服务器的回应,则运行 Windows 2000的DHCP客户机将从169.254.0.0/16这个自动保留的私有IP地址(APIPA)中选用一个IP地址,而运行其他操作系统的DHCP 客户机将无法获得IP地址。DHCP客户机仍然每隔5分钟重新广播一次,如果收到某个服务器的回应,则继续IP租用过程。
2、客户IP租用更新报文
DHCP客户端成功地从服务器取得IP地址之后,当需要发送租用更新报文的时候(具体触发条件可以看西面具体描述),此时客户端会直接使用已经租用到的IP地址向为其发此IP地址的DHCP服务器发出DHCP REQUEST信息,DHCP服务器会尽量让客户端使用原来的IP地址,如果没有特殊的情况,会直接响应DHCP ACK,允许客户端继续使用该IP地址。如果该地址已经失效或者已经被其他主机使用了,服务器则会响应一个DHCP NACK数据包给客户端,要求其重新执行“1、客户获取租用”步骤。
(1)在当前租期已过去50%时,DHCP客户机直接向为其提供IP地址的DHCP服务器发送DHCPREQUEST消息包(就是执行“2、客户IP租用更新报文”)。如果客户机接收到该服务器回应的DHCPACK消息包,客户机就根据包中所提供的新的租期以及其它已经更新的TCP/IP参数,更新自己的配置,IP租用更新完成。如果没收到该服务器的回复,则客户机继续使用现有的 IP地址,因为当前租期还有50%。
(2)如果在租期过去50%时未能成功更新,则客户机将在当前租期过去87.5%时再次向为其提供IP地址的DHCP联系(就是执行“2、客户IP租用更新报文”)。如果联系不成功,则重新执行“1、客户获取租用”步骤。
(3)如果DHCP客户机重新启动时,它将尝试更新上次关机时拥有的IP租用。如果更新未能成功,客户机将尝试联系现有IP租用中列出的缺省网关(就是执行“2、客户IP租用更新报文”)。如果未能与缺省网关联系成功,客户机则认为自己已经被移到不同的子网上,将会开始新一轮的IP租用过程(重新执行“1、客户获取租用”步骤)。
3、需要注意的地方
实际上并不是所有DHCP客户端都会无条件接受DHCP服务器的响应,客户端可以保留自己的一些TCP/IP设定,比如网关、DNS地址等等.
(三) 相关术语
DHCP服务器
配置DHCP服务的计算机
DHCP客户端
启用DHCP设置的计算机
作用域
一个完整连续的可用IP地址范围,DHCP服务主要就是通过作用域来管理网络分布、IP地址分配及其他相关配置参数。
超级作用域
管理级的作用域集合,用于支持同一物理网络上的多个逻辑IP子网。超级作用域包含子作用域的列表,对子作用域进行统一管理。
排除范围
排除范围是作用域内从DHCP服务中排除的有限IP地址序列。排除范围确保在这些范围中的任何地址都不是由网络上的服务器提供给DHCP 客户机的。
地址池
在定义DHCP作用域并应用排除范围之后,剩余的地址在作用域内形成可用地址池,也就是作用域中包含的可用IP地址范围哈,地址池中的地址可以由DHCP服务器动态分配给DHCP客户机。
租约
客户计算机可以使用动态分配的IP地址的时间,这个时间可以由DHCP服务器设定哈。当向一台客户机发出租约后,此租约就被看作是活动的,在租约终止前,客户机可以向DHCP服务器更新其租约。当租约到期或被服务器删除后,它就变成不活动的了,租约持续时间决定了租约什么时候终止及客户机隔多久向DHCP服务器更新其租约。
预约
创建从DHCP服务器到客户机的永久地址租约指定,预约可以保证子网上的特定硬件设备总是使用相同的IP地址,这对于远程访问网关、DNS服务器等必须要配置IP地址的计算机非常有用。
选项类型
DHCP服务器向DHCP客户机提供租约服务时可以指定的其他客户机配置参数。典型地这些选项类型由各个作用域启用和配置。虽然大多数选项都是在RFC2132中预定义了,但若需要的话,我们还是可以使用DHCP管理器定义并添加自定义选项类型。
选项类别
DHCP服务用于进一步提供给客户机的选项类型的方法。选项类别可以在用户的DHCP服务器上配置以提供特定的客户机支持。当一个选项类别添加到服务器后,就可以为该类别的客户机配置提供特定类别的选项类型。