DHCP工作过程的分析

网络 网络管理
这次我们主要讲解一下DHCP工作过程。我们可以简单看一下下面的结构图。那么根据结构图显示,我们可以了解一下工作模式。

对于DHCP的内容,我们学习了不少内容,我们已经了解了有关的定义,以及DHCP协议的结构,不知道大家掌握的如何。那么这里我们就来针对DHCP工作过程的内容进行一下分析和讲解。

DHCP工作过程简要说明:

DHCP-Client-A                   DHCP-Server-B        Other-DHCP-Servers
DHCPDISCOVER         →    <receive DISCOVER>       <receive DISCOVER>
                                    ↓                           ↓
<choose an OFFER>       ←           DHCPOFFER               DHCPOFFER
        ↓
DHCPREQUEST          →     <receive REQUEST>      <receive REQUEST>
                                                         ↓
<lease an IP>             ←                          DHCPACK

动态主机配置协议(Dynamic Host Configuration Protocol,DHCP)是用于对多个客户计算机集中分配IP地址以及IP地址相关的信息的协议,这样就能将IP地址和TCP/IP的设置统一管理起 来,而避免不必要的地址冲突的问题,因此常常用在网络中对众多DOS/Windows计算机的管理方面,节省了网络管理员手工设置和分配地址的麻烦。

除了能够方便管理之外,DHCP还能略微达到节省IP地址的目的。假设网络中有50个计算机,但只有40个 IP地址,但是这50台计算机不会同时启动,IP地址应该满足要求。如果使用静态IP地址的设置方式,还是会遇到分配地址的困难,因为计算机的使用是随机 的,无论怎样分配地址都无法避免出现冲突现象,而使用DHCP就能避免这个问题。 DHCP也能用于统一设置其他的一些IP设置,如缺省路由、DNS服务器等等,使用它能减少一个大型网络的管理任务。

DHCP是从原有的BootP协议发展起来的,原来的目的是为无盘工作站分配IP地址的协议,当前更多的用于集中管理IP地址。然而DHCP协 议也有其缺点,例如一台DHCP客户计算机没有一个固定的IP地址,而对于提供网络服务的服务器来讲,经常变化的IP地址并不适合。并且当前的DNS协议 并不能和DHCP协作,为DHCP客户直接提供主机名解析任务。

DHCP工作过程
       
DHCP工作时要求客户机和服务器进行交互,由客户机通过广播向服务器发起申请IP地址的请求,然后由服务器分配一个IP地址以及其他的TCP/IP设置信息。整个过程可以分为以下步骤:

IP地址租用申请:DHCP客户机的TCP/IP***启动时,就要执行DHCP客户程序,以进行TCP/IP 的设置。由于此时客户机的TCP/IP还没有设置完毕,就只能使用广播的方式发送DHCP请求信息包,广播包使用 UDP端口67和68进行发送,广播信息中包括了客户机的网络界面的硬件地址和计算机名字,以提供DHCP服务器进行分配。

IP地址租用提供:当接收到DHCP客户机的广播信息之后,所有的DHCP服务器均为这个客户机分配一个合适的IP地址,将这些IP地址、网络 掩码、租用时间等信息,按照DHCP客户提供的硬件地址发送回DHCP客户机。这个过程中对DHCP服务器没有对客户计算机进行限制,因此客户机能收到多 个IP地址提供信息。

IP地址租用选择:由于客户机接收到多个服务器发送的多个IP地址提供信息,客户机将选择一个IP地址,拒绝其他提供的IP地址,以便这些地址能分配给其他客户。客户机将向它选择的服务器发送选择租用信息。

IP地址租用确认:服务器将收到客户的选择信息,如果也没有例外发生,将回应一个确认信息,将这个IP地址真正分配给这个客户机。客户机就能使用这个IP地址及相关的TCP/IP数据,来设置自己的TCP/IP堆栈。

更新租用:DHCP中,每个IP地址是有一定租期的,若租期已到,DHCP服务器就能够将这个IP地址重新分配给其他计算机。因此每个客户计算 机应该提前不断续租它已经租用的IP地址,服务器将回应客户机的请求并更新该客户机的租期设置。一旦服务器返回不能续租的信息,那么DHCP客户机只能在 租期到达时放弃原有的IP地址,重新申请一个新 IP地址。为了避免发生问题,续租在租期达到50%时就将启动,如果没有成功将不断启动续租请求过程。

释放IP地址租用:客户机可以主动释放自己的IP地址请求,也可以不释放,但也不续租,等待租期过期而释放占用的IP地址资源。

由于DHCP依赖于广播信息,因此一般的情况下,客户机和服务器应该位于同一个网络之内。然而可以设置网络中的路由器为可以转发BootP广播 包,使得服务器和客户机可以位于两个不同的网络中。然而配置转发广播信息,不是一个很好的解决办法,更好的办法为使用DHCP中转计算机,DHCP中转计 算机和DHCP客户机位于同一个网络中,来回应客户机的租用请求,然而它不维护DHCP数据和拥有IP地址资源,它只是将请求通过TCP/IP转发给位于 另一个网络上的DHCP服务器,进行实际的IP地址分配和确认。

DHCP工作过程补充说明:

有DHCP和BOOTP两种协议

DHCP分配IP过程:

客户端连上网络以后先初始化一个不完全的TCP/IP协议,然后向网内所有的DHCP服务器发送一个DHCP DISCOVER的消息,等待DHCP服务器的回答。收到消息后,DHCP服务器会返回一个DHCP OFFER的消息,客户端接到***个这个消息后会向网内所有的DHCP服务器发送一个DHCP REQUEST消息,这个消息里包括了提供OFFER包的DHCP服务器IP,其他DHCP服务器收到这个消息会收回自己的OFFER信息,同时提供OFFER信息的服务器发送给客户端段一个DHCP PACK消息。客户端收到这个消息后会再次初始化自己TCP/IP协议 。

bootp协议主要用于有无盘工作站的局域网中,客户端获取IP地址的过程如下:首先,由BOOTP启动代码启动客户端,这个时候客户端还没有IP地址, 使用广播形式以IP地址0.0.0.0向网络中发出IP地址查询要求。接着,运行BOOTP协议的服务器接收到这个请求,会根据请求中提供的MAC地址找 到客户端,并发送一个含有IP地址、服务器IP地址、网关等信息的FOUND帧。***,客户端会根据该FOUND帧来通过专用TFTP服务器下载启动镜像 文件,模拟成磁盘启动。BOOTP缺点:设定前必须获得客户端网卡的MAC地址,而且与IP对应是静态的。即BOOTP缺乏动态性,在有限的IP资源 中,BOOTP的一对一对应会造成可观的浪费。

责任编辑:佟健 来源: it实验室
相关推荐

2010-09-01 15:37:04

DHCP工作过程

2010-08-30 11:28:53

DHCP工作过程

2009-02-24 09:48:00

IP电话语音数据

2014-06-03 17:29:48

PPP路由器

2017-03-31 21:15:36

进程线程池Binde

2018-07-05 14:18:12

数据分析神经网络模型

2010-03-19 13:50:48

三层交换机

2013-03-04 09:56:20

网络管理员路由器路由工作原理

2011-02-24 14:23:18

2011-12-26 14:07:07

游戏

2010-08-26 16:43:53

设置DHCP

2010-08-31 19:55:31

DHCP工作

2009-08-27 17:13:20

DHCP的工作原理

2009-10-30 10:58:45

VB.NET创建类

2010-06-22 15:51:38

Autoconf rp

2009-08-25 15:48:03

C#数组操作

2010-08-23 10:26:03

设置DHCP

2010-09-28 15:30:39

3550配置dhcp

2010-08-23 10:17:20

配置DHCP

2010-09-27 12:51:05

DHCP工作原理
点赞
收藏

51CTO技术栈公众号