设为首页  
联系我们  
加入收藏  
网页制作 冲浪宝典 图形图像 操作系统 软件教学 编程开发 认证考试 安全技术 站长专区 文学驿站 娱乐天地 游戏天地 办公软件
文章搜索
您的位置: 首页 >> 文章首页 >> 站长专区 >> DHCP服务 >> 什么是 DHCP?
精品推荐
DHCP服务点击TOP10
·什么是 DHCP?
·解读DHCP故障提升网络效率
·实现一个DHCP服务器
·轻松当网管—用好DHCP服务器三法
·用DHCP分配IP产生的问题
·实现DHCP服务冗余
·Linux下配置DHCP服务器
·如何建立DHCP服务器
·新手学网络之DHCP协议
·DHCP服务器的"保留"设置
站长专区点击TOP10
·IIS+PHP+MYSQL配置功略
·Windows Server 2003 系统 IIS6.0 下的配置php5+zend+mysql
·PHP5安装笔记
·IIS6.0下ASP的新增功能
·WIN+IIS+PHP配置过程
·WinXP + Apache +PHP5 + MySQL + phpMyAdmin安装全功略
·将雅虎1G邮箱当作网络硬盘使用
·流媒体服务器架设
·XP配置IIS+ASP详解(新手本机调试ASP必读)
·博客代码大全 新年汇总之前篇
精选专题

什么是 DHCP?

作者: 来源:网络文章 时间:2005-12-11 23:10:52

什么是 DHCP?(2)   提供 IP 租用地址。当 DHCP 服务器监听到客户端发出的 DHCP discover 广播后﹐它会从那些还没有租出的地址范围内﹐选择最前面的空置 IP ,连同其它 TCP/IP 设定,响应给客户端一个 DHCP OFFER 封包。

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


  接受 IP 租约。如果客户端收到网络上多台 DHCP 服务器的响应﹐只会挑选其中一个 DHCP offer 而已(通常是最先抵达的那个)﹐并且会向网络发送一个DHCP request广播封包﹐告诉所有 DHCP 服务器它将指定接受哪一台服务器提供的 IP 地址。

  同时﹐客户端还会向网络发送一个 ARP 封包﹐查询网络上面有没有其它机器使用该 IP 地址﹔如果发现该 IP 已经被占用﹐客户端则会送出一个 DHCPDECLINE 封包给 DHCP 服务器﹐拒绝接受其 DHCP offer ﹐并重新发送 DHCP discover 信息。

  事实上﹐并不是所有 DHCP 客户端都会无条件接受 DHCP 服务器的 offer ﹐尤其这些主机安装有其它 TCP/IP 相关的客户软件。客户端也可以用 DHCP request 向服务器提出 DHCP 选择﹐而这些选择会以不同的号码填写在 DHCP Option Field 里面﹕

  换一句话说﹐在 DHCP 服务器上面的设定﹐未必是客户端全都接受﹐客户端可以保留自己的一些 TCP/IP 设定。而主动权永远在客户端这边。


  租约确认。当 DHCP 服务器接收到客户端的 DHCP request 之后﹐会向客户端发出一个 DHCPACK 响应﹐以确认 IP 租约的正式生效﹐也就结束了一个完整的 DHCP 工作过程。

如上的工作流程如下图:

DHCP 发放流程

第一次登录之后﹕

  一旦 DHCP 客户端成功地从服务器哪里取得 DHCP 租约之后,除非其租约已经失效并且 IP 地址也重新设定回 0.0.0.0 ﹐否则就无需再发送 DHCP discover 信息了﹐而会直接使用已经租用到的 IP 地址向之前之 DHCP 服务器发出 DHCP request 信息﹐DHCP 服务器会尽量让客户端使用原来的 IP 地址﹐如果没问题的话﹐直接响应 DHCPack 来确认则可。如果该地址已经失效或已经被其它机器使用了﹐服务器则会响应一个 DHCPNACK 封包给客户端﹐要求其从新执行 DHCP discover。

  至于 IP 的租约期限却是非常考究的﹐并非如我们租房子那样简单﹐ 以 NT 为例子﹕DHCP 工作站除了在开机的时候发出 DHCP request 请求之外﹐在租约期限一半的时候也会发出 DHCP request ﹐如果此时得不到 DHCP 服务器的确认的话﹐工作站还可以继续使用该 IP ﹔然后在剩下的租约期限的再一半的时候(即租约的75%)﹐还得不到确认的话﹐那么工作站就不能拥有这个 IP 了。至于为什么不是到租约期限完全结束才放弃 IP 呢﹖﹐对不起﹐小弟也是不学无术之人﹐没有去深究了﹐只知道要回答 MCSE 题目的时候﹐您一定要记得 NT 是这么工作的就是了。

  要是您想退租,可以随时送出 DHCPLEREASE 命令解约﹐就算您的租约在前一秒钟才获得的。


跨网络的 DHCP 运作

  从前面描述的过程中,我们不难发现:DHCDISCOVER 是以广播方式进行的,其情形只能在同一网络之内进行﹐因为 router 是不会将广播传送出去的。但如果 DHCP 服务器安设在其它的网络上面呢﹖由于 DHCP 客户端还没有 IP 环境设定﹐所以也不知道 Router 地址﹐而且有些 Router 也不会将 DHCP 广播封包传递出去﹐因此这情形下 DHCP DISCOVER 是永远没办法抵达 DHCP 服务器那端的,当然也不会发生 OFFER 及其它动作了。要解决这个问题,我们可以用 DHCP Agent (或 DHCP Proxy )主机来接管客户的 DHCP 请求﹐然后将此请求传递给真正的 DHCP 服务器﹐然后将服务器的回复传给客户。这里﹐Proxy 主机必须自己具有路由能力,且能将双方的封包互传对方。

  若不使用 Proxy,您也可以在每一个网络之中安装 DHCP 服务器﹐但这样的话﹐一来设备成本会增加﹐而且﹐管理上面也比较分散。当然喽﹐如果在一个十分大型的网络中﹐这样的均衡式架构还是可取的。端视您的实际情况而定了。

DHCP封包格式

共3页 9 7 [1] [2] [38 :>

什么是 DHCP? 相关文章:
什么是 DHCP? 相关软件:
特别声明:本站除部分特别声明禁止转载的专稿外的其他文章可以自由转载,但请务必注明出处和原始作者。文章版权归文章原始作者所有。对于被本站转载文章的个人和网站,我们表示深深的谢意。如果本站转载的文章有版权问题请联系编辑人员,我们尽快予以更正。
转载请注明来源:http://www.xgdown.com