查看: 26715|回复: 23

请教 DHCP协议 的 相关资料及问题

[复制链接]
发表于 2006-6-1 15:56:07 | 显示全部楼层 |阅读模式
俺最近再学习DHCP,看了的 一些资料,知道DHCP的工作流程总的有4步:

发现阶段(Discovery)
提供阶段(Offer)
选择阶段(Requerest)
确认阶段(Ack),

4种阶段产生的 DHCP报文都不一样,每个报文不一样再哪些字段,俺不是很明确,

自己也用协议分析软件抓包,看解码学习,但是还是没得到好的 答案。

请大家指点一下!!!给点高见。

[ 本帖最后由 菜青虫 于 2006-6-1 16:00 编辑 ]
回复

使用道具 举报

发表于 2006-7-3 17:51:54 | 显示全部楼层
什么是DHCP?
DHCP是DynamicHostConfigurationProtocol之缩写﹐它的前身是BOOTP。BOOTP原本是用于无磁碟主机连接的网路上面的﹕网路主机使用BOOTROM而不是磁碟起动并连接上网路﹐BOOTP则可以自动地为那些主机设定TCP/IP环境。但BOOTP有一个缺点:您在设定前须事先获得客户端的硬体位址,而且,与IP的对应是静态的。换而言之,BOOTP非常缺乏"动态性",若在有限的IP资源环境中,BOOTP的一对一对应会造成非常可观的浪费。

DHCP可以说是BOOTP的增强版本﹐它分为两个部份﹕一个是伺服器端﹐而另一个是客户端。所有的IP网路设定资料都由DHCP伺服器集中管理﹐并负责处理客户端的DHCP要求﹔而客户端则会使用从伺服器分配下来的IP环境资料。比较起BOOTP,DHCP透过"租约"的概念,有效且动态的分配客户端的TCP/IP设定,而且,作为兼容考量,DHCP也完全照顾了BOOTPClient的需求。
DHCP的分配形式
首先﹐必须至少有一台DHCP工作在网路上面﹐它会监听网路的DHCP请求﹐并与客户端搓商TCP/IP的设定环境。它提供两种IP定位方式﹕
AutomaticAllocation
自动分配﹐其情形是﹕一旦DHCP客户端第一次成功的从DHCP伺服器端租用到IP位址之后﹐就永远使用这个位址。
DynamicAllocation
动态分配﹐当DHCP第一次从HDCP伺服器端租用到IP位址之后﹐并非永久的使用该位址﹐只要租约到期﹐客户端就得释放(release)这个IP位址﹐以给其它工作站使用。当然﹐客户端可以比其它主机更优先的延续(renew)租约﹐或是租用其它的IP位址。


动态分配显然比自动分配更加灵活﹐尤其是当您的实际IP位址不足的时候﹐例如﹕您是一家ISP﹐只能提供200个IP位址用来给拨接客户﹐但并不意味着您的客户最多只能有200个。因为要知道﹐您的客户们不可能全部同一时间上网的﹐除了他们各自的行为习惯的不同﹐也有可能是电话线路的限制。这样﹐您就可以将这200个位址﹐轮流的租用给拨接上来的客户使用了。这也是为什么当您查看IP位址的时候﹐会因每次拨接而不同的原因了(除非您申请的是一个固定IP﹐通常的ISP都可以满足这样的要求﹐这或许要另外收费)。当然﹐ISP不一定使用DHCP来分配位址﹐但这个概念和使用IPPool的原理是一样的。
DHCP除了能动态的设定IP位址之外﹐还可以将一些IP保留下来给一些特殊用途的机器使用﹐它可以按照硬体位址来固定的分配IP位址﹐这样可以给您更大的设计空间。同时﹐DHCP还可以帮客户端指定router﹑netmask﹑DNSServer﹑WINSServer﹑等等项目﹐您在客户端上面﹐除了将DHCP选项打勾之外﹐几乎无需做任何的IP环境设定。

DHCP的工作原理
视乎客户端是否第一次登录网路﹐DHCP的工作形式会有所不同。
第一次登录的时候﹕
1.寻找Server。当DHCP客户端第一次登录网路的时候﹐也就是客户发现本机上没有任何IP资料设定﹐它会向网路发出一个DHCPDISCOVER封包。因为客户端还不知道自己属于哪一个网路﹐所以封包的来源位址会为0.0.0.0﹐而目的位址则为255.255.255.255﹐然后再附上Dhcpdiscover的信息﹐向网路进行广播。
在Windows的预设情形下,Dhcpdiscover的等待时间预设为1秒﹐也就是当客户端将第一个Dhcpdiscover封包送出去之后﹐在1秒之内没有得到回应的话﹐就会进行第二次Dhcpdiscover广播。若一直得不到回应的情况下﹐客户端一共会有四次Dhcpdiscover广播(包括第一次在内)﹐除了第一次会等待1秒之外﹐其余三次的等待时间分别是9﹑13﹑16秒。如果都没有得到DHCP伺服器的回应﹐客户端则会显示错误信息﹐宣告Dhcpdiscover的失败。之后﹐基于使用者的选择﹐系统会继续在5分钟之后再重复一次Dhcpdiscover的过程。
2.提供IP租用位址。当DHCP伺服器监听到客户端发出的Dhcpdiscover广播后﹐它会从那些还没有租出的位址范围内﹐选择最前面的的空置IP,连同其它TCP/IP设定,回应给客户端一个DHCPOFFER封包。
由于客户端在开始的时候还没有IP位址﹐所以在其Dhcpdiscover封包内会带有其MAC位址信息﹐并且有一个XID编号来辨别该封包﹐DHCP伺服器回应的Dhcpoffer封包则会根据这些资料传递给要求租约的客户。根据伺服器端的设定﹐Dhcpoffer封包会包含一个租约期限的信息。
3.接受IP租约。如果客户端收到网路上多台DHCP伺服器的回应﹐只会挑选其中一个Dhcpoffer而已(通常是最先抵达的那个)﹐并且会向网路发送一个Dhcprequest广播封包﹐告诉所有DHCP伺服器它将指定接受哪一台伺服器提供的IP位址。
同时﹐客户端还会向网路发送一个ARP封包﹐查询网路上面有没有其它机器使用该IP位址﹔如果发现该IP已经被占用﹐客户端则会送出一个DHCPDECLINE封包给DHCP伺服器﹐拒绝接受其Dhcpoffer﹐并重新发送Dhcpdiscover信息。
事实上﹐并不是所有DHCP客户端都会无条件接受DHCP伺服器的offer﹐尤其这些主机安装有其它TCP/IP相关的客户软体。客户端也可以用Dhcprequest向伺服器提出DHCP选择﹐而这些选择会以不同的号码填写在DHCPOptionField里面﹕
图1


换一句话说﹐在DHCP伺服器上面的设定﹐未必是客户端全都接受﹐客户端可以保留自己的一些TCP/IP设定。而主动权永远在客户端这边。
4.租约确认。当DHCP伺服器接收到客户端的Dhcprequest之后﹐会向客户端发出一个DHCPACK回应﹐以确认IP租约的正式生效﹐也就结束了一个完整的DHCP工作过程。
如上的工作流程如下图2:

DHCP发放流程
第一次登录之后﹕
一旦DHCP客户端成功地从伺服器哪里取得DHCP租约之后﹐除非其租约已经失效并且IP位址也重新设定回0.0.0.0﹐否则就无需再发送Dhcpdiscover信息了﹐而会直接使用已经租用到的IP位址向之前之DHCP伺服器发出Dhcprequest信息﹐DHCP伺服器会尽量让客户端使用原来的IP位址﹐如果没问题的话﹐直接回应Dhcpack来确认则可。如果该位址已经失效或已经被其它机器使用了﹐伺服器则会回应一个DHCPNACK封包给客户端﹐要求其从新执行Dhcpdiscover。
至于IP的租约期限却是非常考究的﹐并非如我们租房子那样简单﹐以NT为例子﹕DHCP工作站除了在开机的时候发出dhcprequest请求之外﹐在租约期限一半的时候也会发出dhcprequest﹐如果此时得不到DHCP伺服器的确认的话﹐工作站还可以继续使用该IP﹔然后在剩下的租约期限的再一半的时候(即租约的75%)﹐还得不到确认的话﹐那么工作站就不能拥有这个IP了。至于为什么不是到租约期限完全结束才放弃IP呢﹖﹐对不起﹐小弟也是不学无术之人﹐没有去深究了﹐只知道要回答MCSE题目的时候﹐您一定要记得NT是这么工作的就是了。
要是您想退租,可以随时送出DHCPLEREASE命令解约﹐就算您的租约在前一秒钟才获得的。
跨网路的DHCP运作
从前面描述的过程中,我们不难发现:DHCDISCOVER是以广播方式进行的,其情形只能在同一网路之内进行﹐因为router是不会将广播传送出去的。但如果DHCP伺服器安设在其它的网路上面呢﹖由于DHCP客户端还没有IP环境设定﹐所以也不知道Router位址﹐而且有些Router也不会将DHCP广播封包传递出去﹐因此这情形下DHCPDISCOVER是永远没办法抵达DHCP伺服器那端的,当然也不会发生OFFER及其他动作了。要解决这个问题,我们可以用DHCPAgent(或DHCPProxy)主机来接管客户的DHCP请求﹐然后将此请求传递给真正的DHCP伺服器﹐然后将伺服器的回复传给客户。这里﹐Proxy主机必须自己具有路由能力,且能将双方的封包互传对方。
若不使用Proxy,您也可以在每一个网路之中安装DHCP伺服器﹐但这样的话﹐一来设备成本会增加﹐而且﹐管理上面也比较分散。当然啰﹐如果在一个十分大型的网路中﹐这样的均衡式架构还是可取的。端视您的实际情况而定了。
DHCP封包格式:图3


以下为各栏位的简要说明:
OP
若是client送给server的封包,设为1,反向为2。
HTYPE
硬体类别,Ethernet为1。
HLEN
硬体位址长度,Ethernet为6。
HOPS
若封包需经过router传送,每站加1,若在同一网内,为0。
TRANSACTIONID
DHCPREQUEST时产生的数值,以作DHCPREPLY时的依据。
SECONDS
Client端启动时间(秒)。
FLAGS
从0到15共16bits,最左一bit为1时表示server将以广播方式传送封包给client,其余尚未使用。
ciaddr
要是client端想继续使用之前取得之IP位址,则列于这里。
yiaddr
从server送回client之DHCPOFFER与DHCPACK封包中,此栏填写分配给client的IP位址。
siaddr
若client需要透过网路开机,从server送出之DHCPOFFER、DHCPACK、DHCPNACK封包中,此栏填写开机程式码所在server之位址。
giaddr
若需跨网域进行DHCP发放,此栏为relayagent的位址,否则为0。
chaddr
Client之硬体位址。
sname
Server之名称字串,以0x00结尾。
file
若client需要透过网路开机,此栏将指出开机程式名称,稍后以TFTP传送。
options
允许厂商定议选项(Vendor-SpecificArea),以提供更多的设定资讯(如:Netmask、Gateway、DNS、等等)。其长度可变,同时可携带多个选项,每一选项之第一个byte为资讯代码,其后一个byte为该项资料长度,最后为项目内容。
图4

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?CSNA会员注册

×
回复

使用道具 举报

发表于 2006-7-3 18:10:34 | 显示全部楼层
DHCP 协议是基于UDP层之上的应用,本文结合抓报所得数据分析DHCP协议实现原理

一、先了解一下需要抓取的DHCP报文

客户发出的IP租用请求报文
  DHCP客户机初始化TCP/IP,通过UDP端口67向网络中发送一个DHCPDISCOVER广播包,请求租用IP地址。该 广播包中的源IP地址为0.0.0.0,目标IP地址为255.255.255.255;包中还包含客户机的MAC地址和计算机名。

DHCP回应的IP租用提供报文
  任何接收到DHCPDISCOVER广播包并且能够提供IP地址的DHCP服务器,都会通过UDP端口68给客户机回应一个DHCPOFFER广播包,提供一个IP地址。该广播包的源IP地址为DCHP服务器IP,目标IP地址为255.255.255.255;包中还包含提供的IP地址、子网掩码及租期等信息。

客户选择IP租用报文
  客户机从不止一台DHCP服务器接收到提供之后,会选择第一个收到的DHCPOFFER包,并向网络中广播一个 DHCPREQUEST消息包,表明自己已经接受了一个DHCP服务器提供的IP地址。该广播包中包含所接受的IP地址和服务器的IP地址。 所有其他的DHCP服务器撤消它们的提供以便将IP地址提供给下一次IP租用请求。

DHCP服务器发出IP租用确认报文

  被客户机选择的DHCP服务器在收到DHCPREQUEST广播后,会广播返回给客户机一个DHCPACK消息包,表明已经接受客户机的选择,并将这一IP地址的合法租用以及其他的配置信息都放入该广播包发给客户机。

客户配置成功后发出的公告报文

  客户机在收到DHCPACK包,会使用该广播包中的信息来配置自己的TCP/IP,则租用过程完成,客户机可以在网络中通信。

至此一个客户获取IP的DHCP服务过程基本结束,不过客户获取的IP一般是用租期,到期前需要更新租期,这个过程是通过租用更新数据包来完成的。

客户IP租用更新报文

(1)在当前租期已过去50%时,DHCP客户机直接向为其提供IP地址的DHCP服务器发送DHCPREQUEST消息包。如果客户机接收到该服务器回应的DHCPACK消息包,客户机就根据包中所提供的新的租期以及其它已经更新的TCP/IP参数,更新自己的配置,IP租用更新完成。如果没收到该服务器的回复,则客户机继续使用现有的
IP地址,因为当前租期还有50%。
(2)如果在租期过去50%时未能成功更新,则客户机将在当前租期过去87.5%时再次向为其提供IP地址的DHCP联系。如果联系不成功,则重新开始IP租用过程。
(3)如果DHCP客户机重新启动时,它将尝试更新上次关机时拥有的IP租用。如果更新未能成功,客户机将尝试联系现有IP租用中列出的缺省网关。如果联系成功且租用尚未到期,客户机则认为自己仍然位于与它获得现有IP租用时相同的子网上(没有被移走)继续使用现有IP地址。 如果未能与缺省网关联系成功,客户机则认为自己已经被移到不同的子网上,将会开始新一轮的IP租用过程。


  DHCP客户机在发出IP租用请求的DHCPDISCOVER广播包后,将花费1秒钟的时间等待DHCP服务器的回应,如果1秒钟没有服务器的回应,它会将这一广播包重新广播四次(以2,4,8和16秒为间隔,加上1~1000毫秒之间随机长度的时间)。四次之后,如果仍未能收到服务器的回应,则运行Windows 2000的DHCP客户机将从169.254.0.0/16这个自动保留的私有IP地址(APIPA)中选用一个IP地址,而运行其他操作系统的DHCP客户机将无法获得IP地址。DHCP客户机仍然每隔5分钟重新广播一次,如果收到某个服务器的回应,则继续IP租用过程。


二、设置SNIFFER PRO抓取DHCP通讯报文

本文使用的抓包工具软件是NAI公司推出的功能强大的协议分析软件---Sniffer Pro。Sniffer Pro 具有强大的网络分析功能和特征,是解决网络问题的好工具。Sniffer支持丰富的的协议,而且能够进行快速解码分析。Sniffer Pro 4.6可以运行在各种Windows平台上(其它类似软件如Netxray不能在Windows 2003和Windows XP上正常运行)。Sniffer软件比较大,运行时需要的计算机内存比较大,否则运行比较慢,这也是它与Netxray相比的一个缺点。

设置包过滤条件
网络中传输的数据包很多,这里只抓取跟DHCP有关的数据,设置如下:点击Capture菜单,选择define filter打开define filter-capture对话框,设置入图参数。

Address选项
Address: Hardware
Mode:Include
Station 1: 10E08C5FC28A(网卡的物理MAC地址,不同的网卡MAC是不同)
Station 2: any

Advanced选项

IP:ICMP
UDP:BOOTP/DNS(UDP)
Packer Size:ALL

其它用默认设置,给这个配置起个名字:BOOTP

现在可以抓包了

先弹出Capture Panel(监视抓包情况),点击Capture菜单中的START开始抓包。进入命令提示符,分别执行IPCONFIG/RELEASE 、IPCONFIG/RENEW命令,通过监视器可以看到已经以抓到数据包了,停止抓包并分析包,还是先保持包到磁盘以备分析。


三、分析抓到的数据包

用户从DHCP获取IP过程如下:

1、 用户发出DHCPDISCOVER报文;

开始抓报文时首先执行的IPCONFIG/RELEASE命令的作用是用来释放IP,这条报文后面分析,在释放IP后执行的更新IP命令IPCONFIG/RENEW将发起一个DHCP过程,分析从这里开始。现在,客户机没有地址,它就会发出一个DHCPDiscover报文,该报文是广播报文,所有的具有DHCP Server功能的服务器都会收到该报文。


在图中我们可以看到该报文在链路层中发的确实是广播报文。由于DHCP协议是初始化协议,更简单的说,就是让终端获取IP 地址的协议,既然终端连IP地址都没有,何以能够发出IP报文呢?

为了解决这个问题,DHCP报文的封装采取了如下措施:

1、首先链路层的封装必须是广播形式,即让在同一物理子网中的所有主机都能够收到这个报文。在Ethernet_II格式的网络中,就是目标MAC为全1。
2、由于终端没有IP地址,IP头中的原IP规定填为全0。
3、当终端发出DHCP请求报文,它并不知道DHCP SERVER的IP地址,因此IP头中的目标IP填为子网广播IP——全1,以保证DHCP SERVER的IP协议栈不丢弃这个报文。
4、上面的措施保证了DHCP SERVER能够收到终端的请求报文,但仅凭链路层和IP层信息,DHCP SERVER无法区分出DHCP报文,因此终端发出的DHCP请求报文的UDP层中的原端口为68,目标端口DstPort为67。即DHCP SERVER通过知名端口号67来判断一个报文是否是DHCP报文。

DHCP协议的报文中主要数据格式详解

Boot record type为1时表示是Client的请求,为2时表示是Server的应答。
Hardware address typeClient 的网络硬件地址类型,1表示Client 的网络硬件是10MB的以太网类型
/Hardware address lengthClient 的网络硬件地址长度,6表示Client 的网络硬件地址长度是6bytes(即以太网类型的6bytes的MAC地址)。
HOPS跳数,表示当前的DHCP报文经过的DHCP RELAY(中级)的数目,每经过一个DHCP中继,此字段就会加1,此字段的作用是限制DHCP报文不要经过太多的DHCP RELAY,协议规定,当“hops”大于4(现在也有规定为16)时,这个DHCP报文就不能再进行处理,而是丢弃。
Transaction id事务ID,Client每次发送DHCP请求报文时选择的随机数,用来匹配server的响应报文是对哪个请求报文的响应。Client会丢弃“ID”不匹配的响应报文。

Elapsed boot time秒数,用来表示client开始DHCP请求后的时间流逝秒数
flags标志,在 BOOTP中此字段是保留不用的,在DHCP协议中也只使用了其左边的最高位。
Client self-assigned IPaddress客户机IP地址
Client IP address server分配给client的IP地址
Next Server to use in bootstrap服务器IP地址
Relay AgentDHCP中继代理IP地址
Client hardware address客户机硬件地址MAC
Host name 服务器的主机名
Boot file nameClient 的启动配置文件名

Vendor Information tag选项字段,此字段中包含了大量可选的终端初始配置信息和网络配置信息,对于BOOTP协议,此字段为64bytes,对于DHCP协议,此字段为64---312 bytes。其中最常用的选项列表如下:

Dhcp message typecode = 53, length = 1, value= 1-8,此字段表示DHCP报文类型
Router Ipcode = 3, length = IP地址长度, value=client的默认网关的 IP地址;
DNS Ipcode = 6, length = IP地址长度的倍数, value= client的DNS服务器的IP地址序列;
Wins Ipcode = 44, length = IP地址长度的倍数, value= client的WINS服务器的 IP地址序列;
Client idcode = 61, length = client的网络硬件地址的长度+2, value=“htype”+“hlen”+ client的网络硬件地址;
server idcode = 54, length = IP地址长度, value= DHCP SERVER的IP地址;


其中我们要注意Transaction ID=CF04CD61和DHCP Message Type一项中type=Discover,前一项表示会话ID,即DHCP Server发回的响应报文中该结构的数值要与发出去的DHCP Discover中的该结构数值一样,后一项说明DHCP报文类型为Discover类型报文。

2 DHCP SERVER回送DHCPOFFER报文

DHCPOFFER报文是单播而不是广播,报文明确给出了目标MAC和IP,这一点不同与一般的技术文章介绍。其实,DHCP SERVER给终端的响应报文是根据DHCP报文中的内容决定是广播还是单播,一般都是广播形式。通讯源端口是67,目标端口为68,客户端通过端口号68来判断一个报文是否是DHCP SERVER的响应报文,Transaction ID=CF04CD61,表示这个报文是与图DHCP7中的DHCPDiscover报文相关的报文,因为二者标示一致。
从DHCP Server回应的DHCPOffer报文中我们还可以得到DHCP拟分配给客户端的初始配置信息和网络配置信息,其中

Client self-assigned IP address =0.0.0.0表示客户机还没有使用该地址
Client server-assigned IP address =10.177.124.73表示DHCP Server分配给该客户机的IP地址


Server IP ID=218.290.240它标示了客户机下一次发出DHCPRequest报文时,哪个DHCP Server会发出回应
DHCP Message Typee=DHCP Offer表示这是一个对DHCPDiscover的回应报文
Request IP address lease time =6000 表示租期是100分钟
Domain Name Server=218.29.0.251域名服务器地址
Gateway address=10.177.124.254网关地址
Subnet mask=255.255.255.0 表示这个地址的网段是一个标准的C类地址网段


所有发送DHCP Offer信息包的服务器将保留它们提供的一个IP地址。在该地址不再保留之前,该地址不能分配给其他的客户。


用户发出DHCPREQUEST报文

客户以广播的方式发送DHCP Request信息包作为响应。注意其中的DHCP Message Type一项中type=Request表示这是一个请求报文。
客户利用DHCP Request询问服务器其它的配置选项;

该信息包是以单播的方式发送的。当服务器接收到DHCP Request信息包时,它以一个DHCP Acknowledge信息作为响应,其内容同DHCPOFFER类似,并在“选项”字段中增加了IP地址使用租期选项。

宣告确认

CLIENT收到DHCPACK报文后(经过上面的处理后,有且只有一个DHCPACK报文),会检查DHCP SERVER分配给自己的IP地址是否能够使用,如在以太网类型的网络中,CLIENT会发出一个ARP请求来确定DHCP SERVER分配的IP地址是否已经被别人使用,如果可以使用,则CLIENT成功获得IP地址,并根据IP地址使用租期自动启动续延过程。

DHCP协议报文的种类

前面反复提到DHCP Message Type项,这里列出所有DHCP协议报文的种类。DHCP协议采用CLIENT-SERVER方式进行交互,其报文格式共有8种,具体含义如下:

1:DHCPDISCOVER(0x01),此为Client开始DHCP过程的第一个报文

2:DHCPOFFER(0x02),此为Server对DHCPDISCOVER报文的响应

3:DHCPREQUEST(0x03),此报文是Slient开始DHCP过程中对server的DHCPOFFER报文的回应,或者是client续延IP地址租期时发出的报文

4:DHCPDECLINE(0x04),当Client发现Server分配给它的IP地址无法使用,如IP地址冲突时,将发出此报文,通知Server禁止使用IP地址

5:DHCPACK(0x05),Server对Client的DHCPREQUEST报文的确认响应报文,Client收到此报文后,才真正获得了IP地址和相关的配置信息。

6:DHCPNAK(0x06),Server对Client的DHCPREQUEST报文的拒绝响应报文,Client收到此报文后,一般会重新开始新的DHCP过程。

7:DHCPRELEASE(0x07),Client主动释放server分配给它的IP地址的报文,当Server收到此报文后,就可以回收这个IP地址,能够分配给其他的Client。

8:DHCPINFORM(0x08),Client已经获得了IP地址,发送此报文,只是为了从DHCP SERVER处获取其他的一些网络配置信息,如route ip,DNS Ip等,这种报文的应用非常少见。

图DHCP14是一个运行IPCONFIG/RELEASE后释放IP的报文,从图中可以看出DHCP Message Type是7,他的作用是主动释放server分配给它的IP地址的报文,Server收到此报文后,就可以回收这个IP地址,能够分配给其他的Client。


上面提到的都是在已经开机的情况下获得的报文,如果计算机重新启动,是不是完全按照文章提到的四步得到IP参数。

其中包含关机前获得的IP=192.168.0.22,这是不同与前面提到的10.177.124.X段的IP。原来客户机保留了上一次获得的地址,客户机在重新启动时,如果租用期未超过50%,它就会认为它已经知道该与哪台DHCP服务器进行联系,于是就跳过前两步,并发送另一个DhcpRequest报文给同一个服务器。如果该IP地址仍然可用的话,该DHCP服务器将给这台客户机返回另一个确认消息。 同样,DHCP服务器上也会保留(在租用期内的)客户机的地址。如果你的DHCP服务器中的租用期设的足够长,你就会发现,重启一台客户机后,客户机总是得到同一个地址。这正是由于客户机、服务器能保存已分配地址所造成的。

如果一台客户机未从该DHCP服务器获取过地址,或者它获得的地址已过期,那么它将需要经过全部四个步骤才能得到一个IP地址。
回复

使用道具 举报

发表于 2006-7-19 16:38:44 | 显示全部楼层
很是收益


谢谢
回复

使用道具 举报

发表于 2006-8-9 20:58:35 | 显示全部楼层

dhcp的服务器的端口是67,客户端才是68

dhcp的服务器的端口是67,客户端才是68
回复

使用道具 举报

发表于 2006-8-16 11:43:18 | 显示全部楼层
专业的就是不同!
回复

使用道具 举报

发表于 2006-8-28 11:31:32 | 显示全部楼层
又学到了点东西!!!!
回复

使用道具 举报

发表于 2009-3-16 22:23:59 | 显示全部楼层
DHCP服务器分配的yiaddr地址,DHCP Relay会检查网段范围吗?
回复

使用道具 举报

发表于 2009-11-15 06:11:43 | 显示全部楼层
test
回复

使用道具 举报

发表于 2010-1-15 11:50:47 | 显示全部楼层
好!
多谢分享!!!!!!!!!!!!!!!!
回复

使用道具 举报

发表于 2011-5-8 22:04:32 | 显示全部楼层
借口问了2011年贵州省高考答.案q/58704172知道   问了2011年贵州省高考答.案q/58704172知道
问了2011年贵州省高考答.案q/58704172知道   问了2011年贵州省高考答.案q/58704172知道
清晨坐问了2011年贵州省高考答.案q/58704172知道在书桌问了2011年贵州省高考答.案q/58704172知道前徒然的问了2011年贵州省高考答.案q/58704172知道回想端午节的情景。我的思绪并没有沉浸于昨日的任何情绪之中,因为昨日对于我也没有能留下什么可留恋的东西。或许是物质的一切都不能长存,但精神的感受呢?
一句话,一首诗问了2011年贵州省高考答.案q/58704172知道,一个梦,一个题目。
话,我听见了,在那里我站立在想着与你打电话。诗,我想到了,在今日更加忙碌的工作中或许忘却。梦,我却不知如何的继续,还有一个问了2011年贵州省高考答.案q/58704172知道题目,应该是“颖的端午节 ''''还是“端午节的颖”,我想我也是糊涂了。
现在徒然的坐在冷风中倾听心底的一声叹息。那叹息似青春逝去的悲声,似美好将去的秋声是希望不再的绝声,悠长无奈的叹息也在嘲笑我无端的沉默,静止。嘲笑我百般的心思,仅仅藏在字里行间,千般的愿望,仅仅独处显露,但,造物主啊,所有的一切都能问了2011年贵州省高考答.案q/58704172知道挽回吗?
“乱我心者,今日之事多烦忧”清晨我坐在书桌前徒然的回想问了2011年贵州省高考答.案q/58704172知道昨日的情景。


0422
问了2011年贵州省高考答.案q/58704172知道   问了2011年贵州省高考答.案q/58704172知道
问了2011年贵州省高考答.案q/58704172知道   问了2011年贵州省高考答.案q/58704172知道
问了2011年贵州省高考答.案q/58704172知道   问了2011年贵州省高考答.案q/58704172知道




~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
网络推广,代发广*告贴,论坛贴,270块发27万贴子 Q加10777.2649
回复

使用道具 举报

发表于 2011-7-21 01:33:46 | 显示全部楼层
本帖最后由 wss8848 于 2011-7-21 01:41 编辑

大作拜读

3楼的“DHCP客户机初始化TCP/IP,通过UDP端口67向网络中发送一个DHCPDISCOVER广播包” 有些歧义。
回复

使用道具 举报

发表于 2011-9-7 08:30:58 | 显示全部楼层
312454
回复

使用道具 举报

您需要登录后才可以回帖 登录 | CSNA会员注册

本版积分规则

快速回复 返回顶部 返回列表