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定位方式:
ManualAllocation
网络管理员为某些少数特定的Host绑定固定IP地址,且地址不会过期
AutomaticAllocation
自动分配,其情形是:一旦DHCP客户端第一次成功的从DHCP服务器端租用到IP地址之后,就永远使用这个地址。
DynamicAllocation
动态分配,当DHCP第一次从DHCP服务器端租用到IP地址之后,并非永久的使用该地址,只要租约到期,客户端就得释放(release)这个IP地址,以给其它工作站使用。当然,客户端可以比其它主机更优先的更新(renew)租约,或是租用其它的IP地址。动态分配显然比自动分配更加灵活,尤其是当您的实际IP地址不足的时候,例如:您是一家ISP,只能提供200个IP地址用来给拨接客户,但并不意味着您的客户最多只能有200个。因为要知道,您的客户们不可能全部同一时间上网的,除了他们各自的DHCP的工作原理根据客户端是否第一次登录网络,DHCP的工作形式会有所不同。第一次登录的时候:
寻找Server。当DHCP客户端第一次登录网络的时候,也就是客户发现本机上没有任何IP数据设定,它会向网络发出一个DHCPDISCOVER封包。因为客户端还不知道自己属于哪一个网络,所以封包的来源地址会为0000,而目的地址则为255255255255,然后再附上DHCPdiscover的信息,向网络进行广播。在Windows的预设情形下,DHCPdiscover的等待时间预设为1秒,也就是当客户端将第一个DHCPdiscover封包送出去之后,在1秒之内没有得到响应的话,就会进行第二次DHCPdiscover广播。若一直得不到响应的情况下,客户端一共会有四次DHCPdiscover广播(包括第一次在内),除了第一次会等待1秒之外,其余三次的等待时间分别是9、13、16秒。如果都没有得到DHCP服务器的响应,客户端则会显示错误信息,宣告DHCPdiscover的失败。之后,基于使用者的选择,系统会继续在5分钟之后再重复一次DHCPdiscover的过程。
提供IP租用地址。当DHCP服务器监听到客户端发出的DHCPdiscover广播后,它会从那些还没有租出的地址范围内,选择最前面的空置IP,连同其它TCP/IP设定,响应给客户端一个DHCPOFFER封包。由于客户端在开始的时候还没有IP地址,所以在其DHCPdiscover封包内会带有其MAC地址信息,并且有一个XID编号来辨别该封包,DHCP服务器响应的DHCPoffer封包则会根据这些资料传递给要求租约的客户。根据服务器端的设定,DHCPoffer封包会包含一个租约期限的信息。
接受IP租约。如果客户端收到网络上多台DHCP服务器的响应,只会挑选其中一个DHCPoffer而已(通常是最先抵达的那个),并且会向网络发送一个DHCPrequest广播封包,告诉所有DHCP服务器它将指定接受哪一台服务器提供
DHCP是一种基于客户/服务器模式的服务协议。
DHCP(Dynamic Host Configuration Protocol,动态主机配置协议)是一个局域网的网络协议,使用UDP协议工作。 主要有两个用途:给内部网络或网络服务供应商自动分配IP地址,给用户或者内部网络管理员作为对所有计算机作中央管理的手段,在RFC
2131中有详细的描述。DHCP有3个端口,其中UDP67和UDP68为正常的DHCP服务端口,分别作为DHCP Server和DHCP
Client的服务端口;546号端口用于DHCPv6 Client,而不用于DHCPv4,是为DHCP
failover服务,这是需要特别开启的服务,DHCP failover是用来做“双机热备”的。
DHCP的工作原理是在安装有DHCP服务器的网络中,客户端启动时自动与DHCP服务器通信,要求服务器提供自动分配IP地址的服务,而安装了DHCP服务器软件的服务器响应这个要求,并向客户端发送出合法的IP地址。
参考资料:
答案:DHCP租约时间工作原理:
一旦 DHCP客户端成功地从服务器哪里取得 DHCP租约之后,除非其租约已经失效并且IP地址也重新设定回 0000 ,否则就无需再发送 DHCPdiscover 信息了,而会直接使用已经租用到的IP地址向之前之 DHCP服务器发出 DHCPrequest 信息,DHCP服务器会尽量让客户端使用原来的IP地址,如果没问题的话,直接响应 DHCPack 来确认则可。如果该地址已经失效或已经被其它机器使用了,服务器则会响应一个 DHCPNACK 封包给客户端,要求其从新执行 DHCPdiscover。
至于IP的租约期限却是非常考究的,并非如我们租房子那样简单, 以 NT 为例子:DHCP工作站除了在开机的时候发出 DHCPrequest 请求之外,在租约期限一半的时候也会发出 DHCPrequest ,如果此时得不到 DHCP服务器的确认的话,工作站还可以继续使用该IP;当租约期过了875%时,如果客户机仍然无法与当初的DHCP服务器联系上,它将与其它 DHCP服务器通信。如果网络上再没有任何DHCP协议服务器在运行时,该客户机必须停止使用该IP地址,并从发送一个Dhcpdiscover数据包开 始,再一次重复整个过程。要是您想退租,可以随时送出 DHCPRELEASE 命令解约,就算您的租约在前一秒钟才获得的。
跨网络的 DHCP运作 从前面描述的过程中,我们不难发现:DHCPDISCOVER 是以广播方式进行的,其情形只能在同一网络之内进行,因为 router 是不会将广播传送出去的。但如果 DHCP服务器安设在其它的网络上面呢?由于 DHCP客户端还没有IP环境设定,所以也不知道 Router 地址,而且有些 Router 也不会将 DHCP广播封包传递出去,因此这情形下 DHCPDISCOVER 是永远没办法抵达 DHCP服务器那端的,当然也不会发生 OFFER 及其它动作了。要解决这个问题,我们可以用 DHCPAgent (或 DHCPProxy )主机来接管客户的 DHCP请求,然后将此请求传递给真正的 DHCP服务器,然后将服务器的回复传给客户。这里,Proxy 主机必须自己具有路由能力,且能将双方的封包互传对方。
整个过程:
1
DHCP请求IP地址的过程
l
发现阶段,即DHCP客户端寻找DHCP服务器的阶段。客户端以广播方式发送DHCPDISCOVER包,只有DHCP服务器才会响应。
l
提供阶段,即DHCP服务器提供IP地址的阶段。DHCP服务器接收到客户端的DHCPDISCOVER报文后,从IP地址池中选择一个尚未分配的IP地址分配给客户端,向该客户端发送包含租借的IP地址和其他配置信息的DHCPOFFER包。
l
选择阶段,即DHCP客户端选择IP地址的阶段。如果有多台DHCP服务器向该客户端发送DHCPOFFER包,客户端从中随机挑选,然后以广播形式向各DHCP服务器回应DHCPREQUEST包,宣告使用它挑中的DHCP服务器提供的地址,并正式请求该DHCP服务器分配地址。其它所有发送DHCPOFFER包的DHCP服务器接收到该数据包后,将释放已经OFFER(预分配)给客户端的IP地址。
如果发送给DHCP客户端的DHCPOFFER包中包含无效的配置参数,客户端会向服务器发送DHCPCLINE包拒绝接受已经分配的配置信息。
l
确认阶段,即DHCP服务器确认所提供IP地址的阶段。当DHCP服务器收到DHCP客户端回答的DHCPREQUEST包后,便向客户端发送包含它所提供的IP地址及其他配置信息的DHCPACK确认包。然后,DHCP客户端将接收并使用IP地址及其他TCP/IP配置参数。
2
DHCP客户端续租IP地址的过程
l
DHCP服务器分配给客户端的动态IP地址通常有一定的租借期限,期满后服务器会收回该IP地址。如果DHCP客户端希望继续使用该地址,需要更新IP租约。实际使用中,在IP地址租约期限达到一半时,DHCP客户端会自动向DHCP服务器发送DHCPREQUEST包,以完成IP租约的更新。如果此IP地址有效,则DHCP服务器回应DHCPACK包,通知DHCP客户端已经获得新IP租约。
如果DHCP客户端续租地址时发送的DHCPREQUEST包中的IP地址与DHCP服务器当前分配给它的IP地址(仍在租期内)不一致,DHCP服务器将发送DHCPNAK消息给DHCP客户端。
3
DHCP客户端释放IP地址的过程
l
DHCP客户端已从DHCP服务器获得地址,并在租期内正常使用,如果该DHCP客户端不想再使用该地址,则需主动向DHCP服务器发送DHCPRELEASE包,以释放该地址,同时将其IP地址设为0000。
DHCP的工作原理 视乎客户端是否第一次登录网路﹐DHCP的工作形式会有所不同。 第一次登录的时候﹕ 1 寻找Server。当DHCP客户端第一次登录网路的时候﹐也就是客户发现本机上没有任何IP资料设定﹐它会向网路发出一个DHCPDISCOVER封包。因为客户端还不知道自己属于哪一个网路﹐所以封包的来源地址会为0000﹐而目的地址则为255255255255﹐然后再附上DHCPdiscover的信息﹐向网路进行广播。网络上每一台安装了TCP/IP协议的主机都会接收到这种广播信息,但只有DHCP服务器才会做出响应 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位址。之所以要以广播方式回答,是为了通知所有的DHCP服务器,他将选择某台DHCP服务器所提供的IP地址同时﹐客户端还会向网路发送一个ARP封包﹐查询网路上面有没有其它机器使用该IP位址﹔如果发现该IP已经被占用﹐客户端则会送出一个DHCPDECLINE封包给DHCP服务器﹐拒绝接受其DHCPoffer﹐并重新发送DHCPdiscover信息。事实上﹐并不是所有DHCP客户端都会无条件接受DHCP服务器的offer﹐尤其这些主机安装有其它TCP/IP相关的客户软件。客户端也可以用DHCPrequest向服务器提出DHCP选择﹐而这些选择会以不同的号码填写在DHCPOptionField里面。换一句话说﹐在DHCP服务器上面的设定﹐未必是客户端全都接受﹐客户端可以保留自己的一些TCP/IP设定。而主动权永远在客户端这边。 4 确认阶段。即DHCP服务器确认所提供的IP地址的阶段。当DHCP服务器收到DHCP客户机回答的DHCPrequest请求信息之后,它便向DHCP客户机发送一个包含它所提供的IP地址和其他设置的DHCPack确认信息,告诉DHCP客户机可以使用它所提供的IP地址。然后DHCP客户机便将其TCP/IP协议与网卡绑定,另外,除DHCP客户机选中的服务器外,其他的DHCP服务器都将收回曾提供的IP地址 5 重新登录。以后DHCP客户机每次重新登录网络时,就不需要再发送DHCPdiscover发现信息了,而是直接发送包含前一次所分配的IP地址的DHCPrequest请求信息。当DHCP服务器收到这一信息后,它会尝试让DHCP客户机继续使用原来的IP地址,并回答一个DHCPack确认信息。如果此IP地址已无法再分配给原来的DHCP客户机使用时(比如此IP地址已分配给其它DHCP客户机使用),则DHCP服务器给DHCP客户机回答一个DHCPnack否认信息。当原来的DHCP客户机收到此DHCPnack否认信息后,它就必须重新发送DHCPdiscover发现信息来请求新的IP地址。
记得采纳啊
DHCP(动态主机配置协议)是一个局域网的网络协议。指的是由服务器控制一段IP地址范围,客户机登录服务器时就可以自动获得服务器分配的IP地址和子网掩码。
DHCP主要功能:
1、可保证任何IP地址在同一时刻只由一台DHCP客户机所使用。
2、DHCP可以给用户分配永久固定的IP地址。
3、DHCP可以同用其他方法获得IP地址的主机共存。
4、DHCP服务器可向现有的BOOTP客户端提供服务。
扩展资料:
DHCP的工作原理:
1、DHCP Client将会以广播的方式发出DHCP Discover报文。
2、所有的DHCP服务器都能够接收到DHCP管理员发送的DHCP Discover报文,所有的DHCP 服务器都会给出响应,向DHCP管理员发送一个DHCP Offer报文。
3、DHCP服务器收到DHCP需求报文后,判断选项字段中的IP地址是否与自己的地址相同。
4、DHCP管理员在成功获取IP地址后,随时可以通过发送DHCP Release报文释放自己的IP地址。
-DHCP
0条评论