当前位置:文档之家› 第12章 动态主机配置协议DHCP

第12章 动态主机配置协议DHCP

第12 章动态主机配置协议DHCP

Intenet互联网使用TCP/IP协议进行相互通信,在使用TCP/IP协议进行通信的网络上,每一台计算机都需要一个唯一的IP地址。网络上使用IP地址和子网掩码区分互联的不同的计算机。

12.1 DHCP概述

DHCP(Dynamic Host Configuration Protocol,动态主机配置协议)用来自动给客户机器分配TCP/IP信息的网络协议,减轻TCP/IP网络的规划、管理和维护的负担。每个DHCP 客户端向DHCP服务器发起请求,该服务器会返回包括IP地址、网关和DNS服务器信息在内的客户端网络配置信息,DHCP的应用有效的解决IP地址空间缺乏的问题。

使用DHCP服务的网络需要一台服务器安装DHCP服务,其它要使用DHCP服务的客户机只需要设置成利用DHCP获得IP地址就可以动态的从DHCP服务器中获取IP地址,DHCP服务器支持多网段IP地址分配,可以同时为多个网段的DHCP客户机分配IP地址。图12-1表示是一个DHCP服务动态分配IP地址的网络基本结构。

图12-1

12.1.1 DHCP地址分配方式

如果需要使用DHCP方式自动获取IP信息,必须在网络上安装至少一台DHCP 服务器。DHCP服务器监听网络中的所有DHCP 请求,并与客户端商议TCP/IP 的设定环境。常用的IP地址分配方式有自动分配(Automatic Allocation)和动态分配(Dynamic Allocation)两种分配方式。

(1)自动分配

使用自动分配方式时,一旦DHCP 客户端第一次成功的从DHCP服务器端租用到IP 地址之后,就永远使用这个地址。

(2)动态分配

使用动态分配方式时,当DHCP 第一次从HDCP服务器端租用到IP 地址之后,并非永久的使用该位,只要租约到期,客户端就释放这个IP 地址这时其它工作站就可以重新申请到该地址,在申请的过程中,原来的客户端可以比其它主机更优先的延续租约,或是租用其它的不同的IP地址。

12.1.2 DHCP 的工作原理

当客户端第一次登录的时候按照下面的步骤工作:

(1)当DHCP 客户端第一次登录网路的时候﹐这时候客户发现本机上没有任何IP 设置参数时﹐它会向网络发出一个DHCPDISCOVER 封包。这时由于客户端还不知道自己属于哪一个网路﹐所以封包的源地址设置位为0.0.0.0 ,目的址设置为255.255.255.255,然后附加上DHCPDISCOVER封包信息后向整个网络进行广播。

当客户端将第一个DHCPDISCOVER封包送出去之后﹐在设定的间隔内如果没有得到回应就进行第二次DHCPDISCOVER广播。如果重复一定的次数(Windows 设置为4次)一直得不到回应,客户端显示错误信息,宣布DHCPDISCOVER的失败。

(2)当DHCP 服务器监听到客户端发出的DHCPDISCOVER广播后,服务器从那些还没有租出的位址范围内选择最前面的的空置IP连同其它TCP/IP 设定,回应给客户端一个DHCPOFFER 封包。

由于客户端在开始的时候还没有IP 位址﹐所以在其DHCPDISCOVER封包内会带有其机器地址信息和一个XID 编号来辨别该封包,DHCP服务器回应的DHCPOFFER 封包会根据这些资料传递给要求租约的客户,根据服务器端的设定,DHCPOFFER 封包包含一个租约期限的信息。

(3)如果客户端收到网路上多台DHCP 服务器的回应,挑选最先抵达的那个DHCPOFFER封包,并且向网路发送一个DHCPREUEST广播封包﹐告诉所有DHCP 服务器它将指定接受哪一台服务器提供的IP 位址。同时,客户端还向网络发送一个ARP 封包查询网路上面有没有其它机器使用该IP位址,如果发现该IP 已经被占用,客户端则会发出一个DHCPDECLINE 封包给DHCP服务器,拒绝接受其DHCPOFFER封包﹐并重新发送DHCPDISCOVER信息。

(4)当DHCP服务器收到客户端的DHCPREQUEST封包之后向客户端发出一个DHCPACK 回应以确认IP 租约的正式生效,结束了一个的DHCP 工作过程。如图12-2所示。

图12-2

12.2 配置DHCP服务器

12.2.1 安装DHCP服务包

DHCP服务的安装包一般提供的是RPM安装包,主要包含:dhcp,dhclient和dhcp-devel 三个包,其中dhcp是DHCP服务的安装包,dhclient是客户端工具。

dhclient包文件dhclient-3.0pl1-23.i386.rpm 在RedHat9发行盘的第一张碟上,如果想查看已经安装的版本或者查看是否安装dhclient服务,可以使用rmp -qa dhclient命令:[root@localhost RPMS]$rpm -qa dhclient

dhclient-3.0pl1-23

[root@localhost RPMS]$

如果想卸载已经安装的版本可以使用:rpm -e dhclient命令:

[root@localhost RPMS]$rpm -e dhclient

如果想重新安装dhclient服务,使用如下命令:

[root@localhost RPMS]$rpm -ivh dhclient-3.0pl1-23.i386.rpm

warning: dhclient-3.0pl1-23.i386.rpm: V3 DSA signature: NOKEY, key ID db42a60e

Preparing... ########################################### [100%] 1:dhclient ########################################### [100%] [root@localhost RPMS]$

dhcp和dhcp-devel包在Redhat发行盘的第二章光碟上,相应的RPM包文件为:dhcp-3.0pl1-23.i386.rpm 和dhcp-devel-3.0pl1-23.i386.rpm。安装的过程与dhclient相似,一

相关主题