Windows DHCP全解(一)<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" />

Dhcp 简单介绍

这两天看windows课本,看到dhcp时总觉得书上讲的太少了,于是在咱们51cto上面看到了很多关于DHCP的资料,了解到很多以前学习中没有学到的知识,在这里结合课本自己总结了一篇文章,加深一下印象。

一、 为什么使用DHCP

1)     在小型的企业中,由于计算机的数量少,网络管理员可以采用手动分配ip地址的方法给每台计算机配置ip地址,以实现主机间的通信,但是在是大中型企业的话(假设是一个计算机超过100台的网络),如果管理员还要手动为每一台主机配置ip地址的话,不仅加重了管理员的工作负担,而且容易造成ip地址配置错误,如果不小心ip地址配置相同的话,还会引起ip地址冲突。那么在这种情况下,就需要使用dhcp了,使用dhcp给客户机动态分配ip地址。

2)     对于笔记本用户来说,会频繁移动,会经常从一个子网移动到另一个子网中去,这时他就要不断的手动更改自己的ip地址才能实现与这个网段的通信,而对于用户来说,这是极麻烦的一件事情,但是只要使用了dhcp服务,用户便可远离这些困扰。

3)     假设在一个只有50台计算机的网络中,却只有30个合法的ip地址,这就意味着如果每台计算机分配一个ip地址的话,那将有20台计算机分配不到ip地址,从而不能联网,但是如果这50台计算机并不是每天都在运行的话,这时可以采用dhcp解决ip地址资源不足的情况。

总之使用dhcp有以下优点:

ü          减小管理员的工作量

ü          减小输入错误的课程

ü          避免ip地址冲突

ü          当网络更改ip地址段时,无需重新配置每台计算机的ip地址

ü          当计算机移动时不必重新配置ip地址

ü          提高了ip地址的利用率

介绍了那么多的关于dhcp的优点,那么到底什么是dhcp?

 

二、DHCP的概述
 
DHCP Dynamic Host Configure Protocol)是动态主机配置协议的缩写,它是用于简化ip配置管理的TCP/IP标准,它的主要用途就是向网络中的计算机分配ip地址及一些TCP/IP配置信息,dhcp提供了一个安全、可靠且简单的TCP/IP网络设置,避免了TCP/IP网络中地址的冲突,同时也大大降低了管理ip地址设置的负担。

 

DHCP服务的工作过程

 
生活中只知道客户机可以通过dhcp服务器动态获取ip地址,那么它到底是怎么去获取的?

客户机从dhcp服务器那里获取ip地址、子网掩码、默认网关、DNS服务器地址等信息的这个过程,被称为dhcp租约过程。为什么是租约呢?因为客户机从dhcp服务器那里获取到的ip地址,到了一定的时间后dhcp服务器会收回它,客户机并不是永久性的获得了这个ip地址,dhcp服务器只是把ip地址租用给客户机一段指定的时间,时间一到,服务器就会收回地址,以分配给其他客户机使用。

租约工程分为了4个步骤,分别为:客户机请求ip地址、服务器响应、客户机选择ip地址、服务器确定租约。

1)       
1)         客户机请求 ip 租约

客户机请求 ip 租约时,首先在网络中广播一个 DHCPDiscover 包以请求 ip 地址,这个过程被称为是 DHCPDiscover DHCPDiscover 包的源 ip 地址为:<?xml:namespace prefix = st1 ns = "urn:schemas-microsoft-com:office:smarttags" /> 0.0.0 .0 ,目的 ip 地址为: 255.255.255.255 ,在该包中包含有客户机的 MAC 地址和计算机名,以使 dhcp 服务器能够确定哪个客户机发送改请求。

2)         服务器响应

DHCP 服务器接收到客户机请求 ip 地址的信息时,就在自己的地址库中查找是否有合法的 ip 地址提供给客户机,如果有的话, dhcp 服务器就将此 ip 地址做上标记,广播一个 DHCPOffer 包(此过程又称为 DHCPOffer )。在 DHCPOffer 包中会包含有以下信息:

ü          Dhcp 客户机的 MAC 地址,用来正确标识客户机

ü          Dhcp 服务器提供的合法 ip 地址

ü          子网掩码

ü          租约的期限

ü          服务器标识符

    因为 dhcp 客户机还没有 ip 地址,所以由 dhcp 服务器发送广播消息,如果网络中存在多
    台dhcp服务器,则这些服务器都会广播DHCPOffer包。
3)         客户机选择 ip 地址

Dhcp 客户机从接收到的第一个 DHCPOffer 包中选择 ip 地址,并将 DHCPRequest 包广播到所有 DHCP 服务器,表明它接受提供的内容(此过程被称为 DHCPRequest )。 DHCPRequest 包的信息包含该客户机提供 ip 配置的服务器的服务器标识( ip 地址)。 DHCP 服务器查看服务器标识符字段,以确定他们是否被选择为指定的客户机提供 ip 地址。如果客户机接受了 ip 地址,则发出 ip 地址的 dhcp 服务器将该地址保留,该地址就不能提供给另一个 dhcp 客户机了,如果那些 DHCPOffer 包被拒绝, dhcp 服务器则取消提供并保留其 ip 地址以用于下一个 ip 租约请求。

 

4)         服务器确定 ip 租约

当客户机选择好 ip 地址以后, dhcp 服务器就可以确认客户机选择的 ip 地址了,此过程也称为 DHCPACK(DHCPAcknowledge) dhcp 服务器接收到 DHCPRequest 后,以 DHCPACK 消息的形式向客户机广播成功的确认,该消息包含 ip 地址的有效租约等其他信息。当客户机收到 DHCPACK 包时,他就配置了 ip 地址,完成了 TCP/IP 的初始化,从而可以在 TCP/IP 网络上通信了。

 

注意:如果 DHCPRequest 不成功, dhcp 服务器讲广播否定确认消息 DHCPACK 包。当客户机接收到不成功的确认时,它将重新开始 DHCP 租约过程。

如果客户机无法找到 dhcp 服务器的时候,它就会从 TCP/IP B 类网段 169.254.0.0 中挑选一个 ip 地址作为自己的 ip 地址,然后会每隔 5 分钟尝试与 dhcp 服务器进行通信,一旦与 dhcp 服务器取得联系,就会放弃自己的 ip 地址,而使用 dhcp 服务器所分配的 ip 地址呵其他配置信息。

 

Ip租约的更新与释放

 

1)         Ip 租约更新

当客户机重新启动或租约期达 50% ,就需要重新更新租约,客户机直接向提供租约的服务器发送 DHCPRequest 包,要求更新现有的地址租约。如果 dhcp 服务器收到请求,它将发送 dhcp 确认消息给客户机,更新客户机租约。如果客户机无法与提供租约的服务器取得联系,则客户机一直等到租约到达 87.5% 时,进入重新申请状态,它向网络上所有的服务器广播 DHCPDiscover 包以更新现有的地址租约。如果服务器响应客户机的请求,那么客户机使用该服务器提供的地址信息更新现在的租约。如果租约终止或无法与其他服务器通信,客户机将无法使用现有的地址租约。

在客户机上使用 ipconfig/renew 命令可以向 dhcp 服务器发送 DHCPRequest ,以接收更新选项和租约时间。如果 dhcp 服务器没有响应,客户机将继续使用当前的 dhcp 配置选项。

2)         Ip 租约释放

在客户机上使用 ipconfig/release 命令使 dhcp 客户机向 dhcp 服务器发送 DHCPRequest 包并释放其租约。当移动客户机到不同的网络并且客户机不需要以前的租约时这是很有用的。

如果客户机在租约时间内保持关闭,在租约到期以后, dhcp 服务器可能将客户机的 ip 地址分配给其他的客户机。如果客户机不发送 DHCPRequest 包,那么它在重新启动时,将试图尝试继续使用上一次使用过的 ip 地址。
 
下一篇:Windows下DHCP全解(二)[url]http://huizhen.blog.51cto.com/382964/91987[/url]

 

 
 
 
 
2)