找回密码
 注册
搜索
热搜: 回贴

DHCP服务在网络中的应用

2010-1-31 07:58| 发布者: admin| 查看: 40| 评论: 0|原作者: 夙瑶

我们知道在TCP/IP网络应用中,网络用户PC只有在获取了一个网络地址,才可以和其他的网络用户进行通讯,在实际应用中,我们经常会遇到一些问题:比如IP地址发生冲突、由于网关或DNS服务器地址的设置出现错误而无法访问网络中的其他主机、由于机器的经常变动位置而不得不频繁地修改IP地址。基于这些在网络管理中所存在的种种问题,解决的方法是引入DHCP服务,以动态的方式实现客户机器的信息配置。下面从DHCP原理出发并结合本人在授课过程的实际经验为依据,对DHCP的应用以及在实际应用中我们会遇到的各类问题和相应的解决方法做深入的探讨。

一、DHCP服务是什么



DHCP称为动态主机配置协议。DHCP服务允许工作站连接到网络并且自动获取一个IP地址。配置DHCP服务的服务器可以为每一个网络客户提供一个IP地址、子网掩码、缺省网关、一个WINS服务器的IP地址,以及一个DNS服务器的IP地址。

二、DHCP服务在实际应用中的常见问题

1、在一个子网内是否可以存在多台DHCP服务器,如果存在的话,那么该子网中的客户机能否正确获取地址,将会获取哪个DHCP服务器所分配的地址,是否能控制客户机器能从管理人员所设置的DHCP服务器中获取地址而不会从一些非法用户自建的DHCP服务器中取得非法得IP?

2、如果网络中存在多个子网,而子网的客户机需要DHCP服务器提供地址配置,那么是采取在各个子网都安装一台DHCP服务器,还是只在某一个子网中安装DHCP服务器,让它为多个子网的客户机分配IP地址,应该如何实现?

3、如果采取在一个子网中安装DHCP服务器,让它为多个子网的客户机分配IP地址,那么应该需要在一台DHCP服务器中创建多个不同范围的作用域,而我们如何可以准确地保证相应范围的地址分配给相应子网地主机呢?

4、如果客户机器无法从DHCP服务器中获取IP地址,那么Windows2000客户机器将会如何处理自己的TCP/IP设置?

三、DHCP的工作原理

要解析第二点中所提的问题,首先要搞清楚DHCP的实际的工作过程及原理,下面就对此做简单介绍:DHCP是一个基于广播的协议,它的操作可以归结为四个阶段,这些阶段是IP租用请求、IP租用提供、IP租用选择、IP租用确认。

1、IP租用请求:在任何时候,客户计算机如果设置为自动获取IP地址,那么在它开机时,就会检查自己当前是否租用了一个IP地址,如果没有,它就向DCHP请求一个租用,由于该客户计算机并不知道DHCP服务器的地址,所以会用255.255.255.255作为目标地址,源地址使用0.0.0.0,在网络上广播一个DHCPDISCOVER消息,消息包含客户计算机的媒体访问控制(MAC)地址(网卡上内建的硬件地址)以及它的NetBIOS名字。

2、IP租用提供:当DHCP服务器接收到一个来自客户的IP租用请求时,它会根据自己的作用域地址池为该客户保留一个IP地址并且在网络上广播一个来实现,该消息包含客户的MAC地址、服务器所能提供的IP地址、子网掩码、租用期限,以及提供该租用的DHCP服务器本身的IP地址。

3、IP租用选择:如果子网还存在其它DHCP服务器,那么客户机在接受了某个DHCP服务器的DHCPOFFER消息后,它会广播一条包含提供租用的服务器的IP地址的DHCPREQUEST消息,在该子网中通告所有其它DHCP服务器它已经接受了一个地址的提供,其他DHCP服务器在接收到这条消息后,就会撤销为该客户提供的租用。然后把为该客户分配的租用地址返回到地址池中,该地址将可以重新作为一个有效地址提供给别的计算机使用。

4、IP租用确认: DHCP服务器接收到来自客户的DHCPREQUEST消息,它就开始配置过程的最后一个阶段,这个确认阶段由DHCP服务器发送一个DHCPACK包给客户,该包包括一个租用期限和客户所请求的所有其它配置信息,至此,完成TCP/IP配置。

四、DHCP服务常见问题的解决方案

本文第二点中我们所提出的问题有四点,以下就此4个问题做相应的分析并给出我个人的一些解决方案,相信可以对学习DHCP服务的自学者会有一定的帮助,这些问题也是在实际教学中学生提出疑问最多的知识难点。

1、根据客户计算机的IP租用原理可以知道,在一个子网内,如果存在多台DHCP服务器来提供地址配置信息,这是不违反请求、分配原则的,因为只要中有一台客户计算机在该子网中提出IP地址租约请求,由于请求是广播形式的,所以在子网中可以有任意数量的特定DHCP服务器响应一个IP租用请求,而客户请求后选中的是这些任意特定DHCP服务器中的某一台,这个选择具有随机性,但有一点要注意的是客户只能为每一张网络接口卡接受一个租用提供,上面所谓特定的DHCP服务器是指那些经过系统授权的DHCP服务器,而非授权的DHCP服务器将无法在网络中提供正常的地址分配服务,这一点非常重要,因为这样一来客户机器将只会在管理员设定的地址范围中取得地址,Windows 2000操作系统的这一新增功能,通过对DHCP服务器进行认证避免了非法DHCP服务器分配非法IP地址造成的IP地址冲突,在实际应用中,客户机器获取非法的地址经常是造成网络瘫痪和无法正常通讯的一大原因。综合上面的分析可以做出第一个问题的结论:在一个子网中可以存在多台DHCP服务器来提供地址分配,但能够作为地址提供的不是任意的DHCP服务器,而应该是经过系统认证的那些,客户机请求地址时最终从那一台经过认证机器中获取时随机的。此外,从另一个角度看,在相同子网上使用多个 DHCP 服务器,将为它所服务的 DHCP 客户机提供更强的容错能力,如下图所示,在一个子网内(网络号为192.168.1.0 掩码为255.255.255.0)共用两个 DHCP 服务器,其中的DHCP服务器1不可用的话,DHCP服务器2可以取代它并继续租用新的地址或续订现有客户机。可以建议采用的解决方案是使用 80/20 规则来划分两个 DHCP 服务器之间的作用域地址,具体做法可以是将服务器 1 配置成可使用大多数地址(约 80%),服务器 2 可以配置成让客户机使用其他地址(约 20%)。

2、如果在一个网络中存在多个子网,而多个子网的主机都需要DHCP服务器来提供地址配置信息,那么我们可以采用的方法是在每一个子网中安装一台DHCP服务器,让它们来为各个子网分配IP地址,但从节约资源利用出发,我们一般情况下不这样做,可以采取在一个子网中安装DHCP服务器,让它来为多个子网分配IP地址,实现多子网地址分配可以借助DHCP的中继代理功能实现,而作为中继代理的设备可以是一台提供中继代理程序的Windows2000服务器或是一个符合RFC1542规定的路由器,具备 DHCP/ BOOTP Relay Agent 的功能(DHCP relay agent能够把 DHCP/BOOTP 广播信息从一个网段转播到另一个网段上)。以管理的局域网分为三个子网,用Win2000服务器连接。

下面是实现跨子网使用DHCP服务器的具体解决方案:

(1)安装DHCP中继代理程序:在Windows2000服务器的“路由和远程访问”窗口中,依次展开“本地服务器→IP路由选择→常规”选项,右键点击“常规”选项,在弹出的菜单中选择“新增路由协议”,然后在“新路由协议”窗口中选择“DHCP中继代理程序”,接着点击“确定”按钮。

(2)指定DHCP服务器:右键点击刚刚添加的“DHCP中继代理程序”选项,在弹出菜单中选择“属性”,进入“DHCP中继代理程序属性”对话框,在“常规”标签页的“服务器地址”栏中输入子网1中DHCP服务器的IP地址:192.168.1.2,然后点击“添加”按钮,最后点击“确定”按钮关闭该对话框。

(3)配置访问接口:右键点击“DHCP中继代理程序”选项,在弹出菜单中选择“新增接口”,然后在“DHCP中继代理程序的新接口”对话框中的“接口”列表框中选中可以访问子网1中的DHCP服务器的接口,这里新增的接口应该是接口二和接口三,接着点击“确定”按钮。然后在弹出的“DHCP中继站属性”对话框中,选中“中继DHCP数据包”选项,这样就启用了它的中继功能,最后点击“确定”按钮。

(4)DHCP服务器中配置一个超级作用域,其中包含三个普通作用域,作用域地址范围可以分别设置为192.168.1.10~192.168.1.254(分配给子网1的PC使用);192.168.2.10~192.168.2.254(分配给子网2的PC使用);192.168.3.10~192.168.3.254(分配给子网3的PC使用),必须记住DHCP只能为每一个子网分配一个范围。

完成以上配置后,子网2和子网3中的DHCP客户机PC2及PC3就可以通过主机A的DHCP中继代理程序访问子网1中的DHCP服务器。

3、解决了单台DHCP服务器为多个子网分配IP地址后,我们还要搞清楚的一个问题是,如果某一个子网的PC如子网2中的PC2或子网3中的PC3发出地址请求信息后,主机A可以作为中继代理对他们的请求传达子网1中的DHCP服务器,但该DHCP服务器如何可以确定并准确地将作用域192.168.2.0网段的地址分给PC2而把作用域192.168.3.0网段的地址分给PC3呢?这个是多数学生可能存在的疑问,要搞清楚这个问题,可以参考以下的原理分析来找答案:以子网2中的主机PC2为例,DHCP 客户机PC2在子网2 上广播 DHCP/BOOTP discover 消息 (DHCPDISCOVER),广播是将消息以 UDP (User Datagram Protocol)数据包的形式通过 67 端口发出,当中继代理(relay agent)主机A接收到这个消息后,它检查包含在这个消息报头中的网关IP 地址,如果网关IP 地址为 0.0.0.0 ,则用 relay agent主机A的接口二的IP地址192.168.2.1替换它,然后将其转发到 DHCP 服务器所在的子网1上(主机A还担任路由器功能)。当在子网1中的 DHCP服务器收到这个消息后,它开始检查消息中的网关IP地址,然后判断该网关地址是否包含在DHCP的某一个作用域范围内,从而决定它是否可以使用相应的作用域的地址来提供IP地址租约,当然,本例中DHCP服务器将会从作用域192.168.2.10~192.168.2.254选取一个地址来配置PC2;也就是说DHCP客户机的请求地址消息中的网关IP地址 (GIADDR) 将是DHCP服务器用来确定从那个DHCP 范围中挑选IP地址来配置客户机的依据。

4、如果DHCP客户机无法找到DHCP服务器,则它从微软保留的 B 类网段 169.254.0.0 中挑选一个 IP 地址作为自己的 IP 地址,子网掩码为 255.255.0.0 ,所挑选的地址由DHCP客户机利用ARP 广播来确定自己所挑选的 IP 地址是否已被网络上的其它设备使用,如果该 IP 地址已被使用,那么客户机会再挑选另一个IP地址重新进行测试,而且最多可以重试十个IP 地址,直到成功获取配置。在此之后,客户机会在后台继续每隔 5 分钟尝试与DHCP服务器进行通信,一旦与服务器取得联络,则客户机放弃自动设置的 IP 地址,而使用服务器分配的 IP 地址和其它配制信息。所以当你在某一天发现你的PC的IP地址是个B类的地址169.254.0.0/16网段的地址时,你就应该知道那是怎么一回事了吧。

至此,我们分析了几个关于DHCP服务的应用方面的疑难问题,并且给出了相应的解决方案,对于DHCP服务在教学中我们还遇到许多一些其他问题,比如说DHCP服务器本身的地址是否一定要由管理员静态指定,设置为自动获取将会有什么后果?为什么把客户机器向DHCP服务器请求地址称为地址租用,租用时间的长短对网络中IP地址的管理与应用有哪些帮助?如何可以使用DHCP服务让一个自动获取IP的主机能在任何时候都能取得指定的一个固定地址?这些问题都要求教师在教学当中要认真地去探究该服务的每一个细节的知识点,才可以对该知识点的原理以及在实际中的应用进行透彻的讲授,也是我们熟练掌握和使用DHCP服务的前提。
参考资料:http://www.dvbbs.net/tech/server/2006031819781.asp
详解DHCP
在常见的小型网络中(例如家庭网络和学生宿舍网),网络管理员都是采用手工分配IP地址的方法,而到了中、大型网络,这种方法就不太适用了。在中、大型网络,特别是大型网络中,往往有超过100台的客户机,手动分配IP地址的方法就不太合适了。因此,我们必须引入一种高效的IP地址分配方法,幸好,DHCP(Dynamic Host Configuration Protocol)为我们解决了这一难题。

DHCP的优缺点

DHCP服务优点不少:网络管理员可以验证IP地址和其它配置参数,而不用去检查每个主机;DHCP不会同时租借相同的IP地址给两台主机;DHCP管理员可以约束特定的计算机使用特定的IP地址;可以为每个DHCP作用域设置很多选项;客户机在不同子网间移动时不需要重新设置IP地址。

但同时也存在不少缺点:DHCP不能发现网络上非DHCP客户机已经在使用的IP地址;当网络上存在多个DHCP服务器时,一个DHCP服务器不能查出已被其它服务器租出去的IP地址;DHCP服务器不能跨路由器与客户机通信,除非路由器允许BOOTP转发。

工作流程

DHCP服务的工作过程是这样的:

1.发现阶段,即DHCP客户机寻找DHCP服务器的阶段。DHCP客户机以广播方式(因为DHCP服务器的IP地址对于客户机来说是未知的)发送DHCP discover发现信息来寻找DHCP服务器,即向地址255.255.255.255发送特定的广播信息。网络上每一台安装了TCP/IP协议的主机都会接收到这种广播信息,但只有DHCP服务器才会做出响应(如图1)。
http://www.pconline.com.cn/pcedu/soft/lan/jywgl/0403/330233.html
=================================================
DHCP 的配置

实验目的:

1. 了解DHCP 的作用及工作原理

2. 掌握如何用DHCP 来自动配置TCP/IP

实验学时:1

实验理论准备:

1. DHCP 的作用

BOOTP 使无盘工作站启动并且自动地配置其TCP/IP,DHCP(Dynamic hostconfiguration protocol)是BOOTP 协议的扩充。DHCP 集中管理TCP/IP 配置信息的分配。使用DHCP 可以使客户端自动的获得IP 地址。使用DHCP 可以消除手工配置TCP/IP出现的一些配置故障(如:手工配置时,可能出现一个子网上两台机器的IP 地址相同,则不能通的情况)

2. DHCP 的工作原理

在使用DHCP 进行动态IP 地址分配的网络环境中,包括DHCP 服务器和DHCP 客户机。客户端广播一条DHCP 发现消息,这条消息被送往网络上的DHCP 服务器。每台收到发现消息的DHCP 服务器用一条包括客户机所在子网的IP 地址的消息响应它。

客户机判断消息并选择一条,然后向DHCP 服务器发出请求IP 地址的信息。这信息包括:IP 地址,子网掩码、以及一些选项信息,如缺省网关地址、域名服务器等。当DHCP服务器收到客户端请求时,它从在它数据库定义的地址池中选择一个IP 信息,并把它分配给客户端。如果客户端获得分配给它的IP 地址,则称这个IP 地址在一个给定的时间内租给了这个客户端。如果在地址池中无可用的IP 地址租给客户端,则客户端不能初始化TCP/IP。

3. DHCP 配置的基本任务

任何采用服务器/客户机架构的服务,其配置任务均分为服务器端和客户端两大部分。在DHCP 服务器端主要包括DHCP 服务的安装、启动与配置,在DHCP 客户端的任务则是启动动态IP 地址分配功能。

实验环境与设备:

如图所示的局域网环境,其中至少包括:1 台Windows 2000Server 或NT 服务器(带网卡)、两台Windows98(或2000Professional)工作站(带网卡)、1 个HUB 或1 个SWITCH、以及三条UTP 直连线。



实验内容与步骤:

1. IP 地址的规划

请学生在实验预习阶段,首先要完成IP 地址的规划和分配任务,并填写以下规划表格(A、B 或C 类IP 地址均可以采用):

表1:IP 地址规划表

DHCP 的IP 地址

DHCP 服务器的子网掩码

DHCP 能够提供的IP 地址的范围

DHCP 提供的IP 地址的子网掩码

DHCP 服务器为工作站1 保留的IP 地址

DHCP 服务器为工作站1 保留的IP 地址的子网掩码


2. 安装DHCP 服务器服务

要在所在的服务器上提供DHCP 服务,首先要在该服务器上安装DHCP 的服务组件。下面分别给出在Windows NT 和2000Server 环境下的操作步骤,实验者针对实验室中给出的环境参考相应的部分

在Windows NT 服务器的操作步骤:

⑴在控制面板上打开“网络”应用程序。出现“网络”窗口,如下图所示,选择“协议”选项卡,双击TCP/IP 通讯协议。



⑵出现TCP/IP 属性页,确认计算机配置的是固定的IP 地址。如不是固定的IP 地址,则选择“固定IP 地址”,并输入IP 地址。 按“确定”后,返回到“网络”窗口。



⑶ 选择“服务”选项卡。

⑷单击“添加”,打开选定“网络服务”对话框。



⑸ 从“网络服务”列表框中选择“Microsoft DHCP 服务器”,按“确定”按钮,出现Windows NT 安装窗口。

(6)键入D:\I386 单击“继续”按钮。

⑺单击“确定”。

⑻单击“关闭”,出现“网络配置改变,重启计算机使配置生效”的提示信息。

⑼单击“是”。在系统重新启动后,再次以Administrator 登录。

在Windows 2000 服务器上的操作

从“开始—设置—控制面板”打开控制面板,双击“添加/删除程序”,选择“添加/删除Windows 组件”,在打开的Windows 组件列表框中选择“网络服务”,单击“详细信息?”按钮,在网络服务列表框中选中“动态主机配置协议(DHCP)”,按“确定”,接着按提示完成安装。

3. 创建DHCP 领域

接下来的工作就是要在该DHCP 服务器上创建DHCP 领域,该项工作的目的是为了为DHCP 服务器确定IP 地址的区域中,也就是说其所能分配的IP 地址的有效范围。

在WindowsNT 服务器上的操作步骤:

⑴打开控制面板。

⑵双击服务,查看并记录DHCP 服务的名字。

⑶关闭服务对话框。

⑷单击“开始”,选择“程序”,选择“管理工具”,单击DHCP 服务器,出现DHCP管理器窗口 。



⑸在DHCP 服务器中,双击“本地计算机”。

⑹单击“作用域”菜单,选择“创建”命令项。显示“创建领域”对话框。



⑺使用以下信息来配置范围。

文本框名称
输入的内容

起始地址
分配给工作站的起始的IP 地址

结束地址
分配给工作站的结束的IP 地址

子网掩码
255.255.255.0

租用时间
1 天


⑻配置好了以后,单击“确定”按钮,DHCP 管理器显示以下信息。



⑼按“确定”按钮,使本领域生效,当DHCP 管理器显示出来时,一个亮的灯泡表示新的IP 范围已启动。

在Windows2000 服务器上的操作步骤:

(1) 单击“开始”,选择“程序”,选择“管理工具”,单击DHCP 服务器,出现DHCP 管理器窗口 。



(2) 在DHCP 服务器中,单击“操作”,选择“添加服务器”。在对话框中选择“此服务器”,直接输入服务器名或点击“浏览”进行选择。然后点击“确定”,



这时的DHCP 管理器的情况如下图:



(3)右击数形目录中的服务器,选择菜单中“新建作用域”,弹出新建作用域向导对话框,选择“下一步”,按提示输入一个用于识别作用域的名称以及说明,再单击“下一步”,在对话框中确定IP 地址范围,见下图。



(4) 使用以下信息来配置范围。

在这个文本框中
输入的内容

起始地址
分配给工作站的起始的IP 地址

结束地址
分配给工作站的结束的IP 地址

子网掩码
255.255.255.0


(5) 单击“下一步”,填写排除的IP 地址范围,如无排除地址,则直接点击“下一步”,在“租约期限”对话框中将租用时间设置为“1 天”,单击“下一步”,DHCP 管理器显示以下信息。



(6) 如果要为客户机指定网关地址,则选择“是,我想现在配置这些选项”,单击“下一步”设置网关地址;否则选择“否,我稍后配置这些选项”。

(7)最后点击“完成”,完成设置。

4. 为客户机保留IP 地址

在WindowsNT 环境下的操作步骤:

⑴获得需为其保留IP 地址的客户机的网卡的物理地址。以工作站1 为例,可在登录该客户机后,单击“开始”菜单,选择“运行?”,在运行对话框中键入“winipcfg”查看网卡的物理地址(注意:此时网卡的物理地址中包含连接号。)

⑵在DHCP 服务器上启动DHCP 管理器。

⑶双击“本地机器”,出现“灯泡”图标。

⑷双击灯泡图标。

⑸单击“领域”菜单,选择“添加保留客户”命令项,出现“添加保留客户”对话框。



⑹在IP 地址文本框中键入前面规划的工作站1 的IP 地址。

⑺在唯一标识符文本框中,输入工作站1 的网卡的物理地址(注意:物理地址中不要包括连接号)。

⑻在客户名中,键入studentx(x 为序号)。

⑼返回DHCP 管理器,单击关闭。

在Windows2000Server 环境下的操作步骤:

⑴获得需为其保留IP 地址的客户机的网卡的物理地址。以工作站1 为例,可在登录该客户机后,单击“开始”菜单,选择“运行?”,在运行对话框中键入“winipcfg”查看网卡的物理地址(注意:此时网卡的物理地址中包含连接号。)

⑵登录DHCP 服务器,启动DHCP 管理器。

⑶在左边树形目录中展开所有分支。

⑷右击“保留”分支。

⑸单击快捷菜单中的“新建保留”,出现“新建保留”对话框。



⑹在IP 地址文本框中键入前面规划的工作站1 的IP 地址。

⑺在MAC 地址文本框中,输入工作站1 的网卡的物理地址。

⑻在保留名称中,键入studentx(x 为序号)。

⑼单击“添加”完成。

5.安装DHCP 客户端(在Windows 98 上操作)

步骤:

⑴打开控制面板中“网络”程序,单击“配置”选项卡,在已安装的网络组件

中选择TCP/IP 协议,单击属性。

⑵单击“IP 地址”选择卡。

⑶选择自动获得IP 地址。

⑷单击“确定”按钮

⑸单击“确定”按钮

6.验证DHCP 分配的TCP/IP 信息(在Windows 98 上操作)

在客户端,有两种途径可以检验IP 地址配置信息,一是WINIPCFG 命令,二是IPCONFIG/all 命令。请学生分别在客户机1 与客户机2 上,通过上述两种途径查看TCP/IP 配置,并完成以下工作

1) 将DHCP 服务器分配给自己的IP 地址、子网掩码及租用期限等数据记录下来。然后回到DHCP 服务器验证地址信息的正确性

工作站1 的MAC 地址

工作站1 的IP 地址

工作站1 的IP地址的子网掩码

工作站1 的地址租用期限

工作站2 的IP 地址

工作站2 的IP地址的子网掩码

工作站2 的地址租用期限


2) 分析WINIPCFG 和IPCONFIG 命令在功能上是否存在什么区别?

NOTE:关于WINIPCFG 和IPCONFIG 命令

实验思考题:

1. DHCP 服务器是否可以选择自动获得IP 地址?

2. DHCP 服务为何要实现保留IP 地址功能,其在网络地址管理中有什么好处?在作保留IP 地址时,为什么要先记录需保留IP 地址的客户机的网卡的物理地址?

3. 当指定了动态IP 地址分配的客户机由于某种原因无法与DHCP 服务器连接时,此时用WINIPCONFIG 或IPCONFIG 命令显示其IP 配置时,会出现一个特定的IP 地址值,你知道该值是什么吗?请通过实验发现答案。
参考:http://math.snut.cn/jw/net_web/DHCP/

最新评论

相关分类

QQ|小黑屋|最新主题|手机版|微赢网络技术论坛 ( 苏ICP备08020429号 )

GMT+8, 2024-9-30 03:34 , Processed in 0.267294 second(s), 12 queries , Gzip On, MemCache On.

Powered by Discuz! X3.5

© 2001-2023 Discuz! Team.

返回顶部