1、单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,内部资料,注意保密,华为版权所有,未经许可不得扩散,单击此处编辑母版标题样式,Page,*,单击此处编辑母版文本样式,单击此处编辑母版文本样式,单击此处编辑母版文本样式,单击此处编辑母版文本样式,HUAWEI TECHNOLOGIES CO.,LTD.,All rights reserved,谢谢,DP500030 DHCP原理,ISSUE 1.0,P,本章节主要通过对设备终端动态从主机获得,IP,地址的过程分析,来说明网络是如何动态的分配其所有的地址资源。,前 言,P,学习完此课程,您将会:,掌握,DH
2、CP,协议的流程,了解,DHCP,所使用的报文结构,目 标,P,内容介绍,第一章 使用,DHCP,的原因,第二章,DHCP,的原理,第三章,DHCP,工作流程举例,P,什么是,DHCP,DHCP(Dynamic Host Configuration Protocol),是一种动态的向,Internet,终端提供配置参数的协议。在终端提出申请之后,,DHCP,可以向终端提供,IP,地址、网关、,DNS,服务器地址等参数。,提出申请,分配地址等参数,DHCP Server,Client,IP,地址池,P,DHCP,在协议栈中的位置,DHCP,是,Bootstrap,协议的一种扩展,基于,UDP,协
3、议,客户端的端口号是,68,服务器的端口号是,67,。,Application layer,DHCP,Transport layer,UDP,Network layer,IP,Data-link layer,No limited,Physical layer,No limited,P,DHCP,的必要性,在大型网络中,如果每台终端的地址都是由不同的使用这来分配,那么就很容易出现地址相同的情况。,192.168.0.1,192.168.0.2,192.168.0.1,地址冲突了,P,DHCP,的必要性,在,TCP/IP,网络上,每台工作站在访问网络及其资源之前,都必须进行基本的网络配置,一些主要
4、参数诸如,IP,地址,子网掩码,缺省网关,,DNS,等必不可少,还可能需要一些附加的信息如,IP,管理策略之类。,在大型网络中,确保所有主机都拥有正确的配置是一件的相当困难的管理任务,尤其对于含有漫游用户和笔记本电脑的动态网络更是如此。经常有计算机从一个子网移到另一个子网以及从网络中移出。手动配置或重新配置数量巨大的计算机可能要花很长时间,而,IP,主机配置过程中的错误可能导致该主机无法与网络中的其他主机通信。,因此,需要有一种机制来简化,IP,地址的配置,实现,IP,的集中式管理。而,IETF,(,Internet,网络工程师任务小组)设计的动态主机配置协议(,DHCP,,,Dynamic
5、Host Configuration Protocol,)正是这样一种机制。,P,采用,DHCP,的好处,减少错误,通过配置,DHCP,,把手工配置,IP,地址所导致的错误减少到最低程度,例如已分配的,IP,地址再次分配给另一设备所造成的地址冲突等将大大减少。,减少网络管理,TCP/IP,配置是集中化和自动完成的,不需要网络管理员手工配置。网络管理员能集中定义全局和特定子网的,TCP/IP,配置信息。使用,DHCP,选项可以自动给客户机分配全部范围的附加,TCP/IP,配置值。客户机配置的地址变化必须经常更新,比如远程访问客户机经常到处移动,这样便于它在新的地点重新启动时,高效而又自动地进行配
6、置。同时大部分路由器能转发,DHCP,配置请求,这就减少了在每个子网设置,DHCP,服务器的必要,除非有其它原因要这样做。,P,DHCP,的结构,DHCP,采用客户机,/,服务器结构。,DHCP,服务器拥有一个,IP,地址池,当任何启用,DHCP,的客户机登录到网络时,可从它那里租借一个,IP,地址,不使用的,IP,地址就自动返回地址池,供再分配。,提出申请,分配地址等参数,地址释放,Client,Server,P,DHCP,的责任,保证任何,IP,地址在同一时刻只能由一台,DHCP,客户机所使用,DHCP,应当可以给用户分配永久固定的,IP,地址,DHCP,应当可以同用其他方法获得,IP,地
7、址的主机共存,(,如手工配置,IP,地址的主机,),DHCP,服务器应当向现有的,BOOTP,客户端提供服务,P,DHCP,的责任,考虑到成本,无需每个子网都配备一台,DHCP,服务器,所以,DHCP,协议应当可以通过路由器或者,BOOTP,代理透传。,DHCP Server,Client,IP,地址池,DHCP,报文,DHCP,报文,P,DHCP,的责任,当一台,DHCP,客户机重新启动时,在允许的情况下,它应当获得和上次相同的地址和配置,DHCP Server,192.168.0.1,IP,地址池,Reboot,192.168.0.1,P,DHCP,的责任,当一台,DHCP,服务器重新启动
8、时,在允许的情况下,它应当给每一台,DHCP,客户机分配和上次相同的地址,DHCP Server,192.168.0.1,IP,地址池,Reboot,192.168.0.1,P,内容介绍,第一章 使用,DHCP,的原因,第二章,DHCP,的原理,第三章,DHCP,工作流程举例,P,DHCP,服务器,保留的地址池,(地址池段,1,),(地址池段,2,),分配的地址,(,网络地址,1,,硬件地址,1,),分配的,IP,地址,1,(,网络地址,2,,硬件地址,2,),分配的,IP,地址,2,.,DNS,服务器地址,WINS,服务器地址,P,DHCP,客户机,P,地址申请流程,Client,Serve
9、r,DHCPDISCOVER,DHCPOFFER,REQUEST,DHCPACK,P,DHCP,的报文种类,DHCPDISCOVER,客户机广播发现可用的,DHCP,服务器,DHCPOFFER,服务器响应客户机的,DHCPDISCOVER,报文,并向客户机提供各种的配置参数,DHCPREQUEST,a),客户机向服务器申请地址及其他配置参数,b),客户机重新启动后确认原来的地址及其他配置参数的正确性,c),客户机向服务器申请延长地址及其他配置参数的使用期限,DHCPACK,服务器向客户机发送所需分配的地址及其他配置参数,P,DHCP,的报文种类,DHCPNAK,服务器通知客户机,其申请的地址无
10、效,或者已经超期,DHCPDECLINE,客户机通知服务器,其分配的地址已经被其他设备所使用,DHCPRELEASE,客户机放弃其所使用的地址,DHCPINFORM,客户机向服务器申请本地的配置参数,(,当客户机的地址已经被分配时使用,),P,DHCP,的有限状态机,INIT,INIT,-REBOOT,REBOOTING,SELECTING,REQUESING,REBINGING,BOUND,RENEWING,DHCPNAK/Restart,DHCPNAK/,Discard offer,DHCPREQUEST,DHCPACK(not accept)/,Send DHCPDECLINE,DHCP
11、DISCOVER,Select offer/,send DHCPREQUEST,DHCPOFFER/Collect replies,DHCPACK/Record lease,set timer T1,T2,DHCPOFFER/,Discard offer,DHCPACK/,Record lease,set timer T1,T2,DHCPOFFER,DHCPACK,DHCPNAK/Discard,T1 expires/Send DHCPREQUEST,to leasing server,DHCPACK/Record lease,set timer T!,T2,T2 expires/Broadc
12、ast,DHCPREQUEST,DHCPNAK/,Halt network,P,DHCP,报文的格式,OP(1),Htype(1),Hlen(1),Hops(1),Xid(4),Secs(2),Flags(2),Client IP address(4),Your IP address(4),Server IP address(4),Gateway IP address(4),Client hardware IP address(4),Server Name(64),File(128),Options(,可变,),P,DHCP,报文的格式,OP:,操作码,(1=bootrequest,2=boo
13、treply),Htype:,硬件地址类型,(1=10mb ethernet),Hlen:,硬件地址长度,(ethernet,为,10),Hops:,客户机设置为,0,当使用多个,DHCP Relay,时可变,Xid:,传输,ID,在同服务器的交互中,由客户机所选择,Secs:,客户机所使用的地址,在最近一次地址获取,/,地址更新后所经过的时间,Flags:,最左边一位是广播位,其余各位置,0,P,DHCP,报文的格式,Client IP address:,客户机在,BOUND,RENEW,或,REBINDING,状态所使用,可以用来回应,ARP,请求报文,Your IP address:,服
14、务器给客户机分配的,IP,地址,Server IP address:bootstrap,中使用的下一台服务器的地址,由服务器在,DHCPOFFER,DHCPACK,中使用,Gateway IP address:,使用的,DHCP Relay,的地址,Client hardware address:,客户机硬件地址,Server name:,服务器名字,缺省为空,File:,启动文件的名字,在,DHCPOFFER,报文中给出全名,Options:,根据不同的报文而定,P,DHCPDISCOVER/DHCPINFORM,报文的格式,BOOTREQUEST,Htype(1),Hlen(1),0,Xi
15、d(4),0,或者自从,DHCP,启动后的秒数,Flags(2),0(DHCPDISCOVER)/,客户机的,IP,地址,(DHCPINFORM),0,0,0,Client hardware IP address(4),Server Name(64),File(128),Options(,可变,),P,DHCPREQUEST,报文的格式,BOOTREQUEST,Htype(1),Hlen(1),0,Xid,与,DHCPOFFER,报文的,Xid,相同,Secs(2),Flags(2),0/,客户机的,IP,地址,(BOUND/RENEW/REBIND,状态,),0,0,0,Client har
16、dware IP address(4),Server Name(64),File(128),Options(,可变,),P,DHCPDECLINE/DHCPRELEASE,报文的格式,BOOTREQUEST,Htype(1),Hlen(1),0,由客户机选择,0,0,0(DHCPDECLINE)/,客户机的,IP,地址,(DHCPRELEASE),0,0,0,Client hardware IP address(4),未使用,未使用,未使用,P,DHCPOFFER,报文的格式,BOOTREPLY,Htype(1),Hlen(1),0,Xid,与,DHCPDISCOVER,报文相同,0,0,0,
17、0,服务器向客户机提供的,IP,地址,下一台服务器的地址,Client hardware IP address(4),Server Name(64),File(128),Options(,可变,),P,DHCPACK,报文的格式,BOOTREPLY,Htype(1),Hlen(1),0,Xid,与,DHCPDISCOVER,报文相同,0,0,0,或者从,DHCPREQUEST,报文中获得,0,服务器向客户机提供的,IP,地址,下一台服务器的地址,Client hardware IP address(4),Server Name(64),File(128),Options(,可变,),P,DHC
18、POFFER,报文的格式,BOOTREPLY,Htype(1),Hlen(1),0,Xid,与,DHCPDISCOVER,报文相同,0,0,0,0,0,0,Client hardware IP address(4),Server Name(64),File(128),Options(,可变,),P,DHCP,流程,客户机在本网段内广播,DHCPDISCOVER,报文已发现网络中的,DHCP,服务器,DHCP Relay,可将此报文广播到其他的网段,网络,1,网络,2,DHCPDISCOVER,P,DHCP,流程,服务器向客户机回应请求,并给出一个可用的,IP,地址。此地址并非真的被分配。但在给
19、出此地之前,应当用,ICMP ECHO REQUEST,报文进行检查。,网络,1,DHCPOFFER,(,192.168.0.1),ICMP(,192.168.0.1),P,DHCP,流程,如果收到多个,DHCPOFFER,报文,DHCP,客户机会根据报文的内容从其中选择一个给与响应。如果客户机之前曾经获得过一个,IP,地址,她会将此地址写在,DHCPREQUEST,报文的,OPTIONS,域的“,REQUESTD IP ADDRESS”,中发给服务器,网络,1,DHCPREQUEST,(,192.168.0.1),Reboot,192.168.0.1,P,DHCP,流程,当收到,DHCPRE
20、QUEST,报文后,服务器将客户机的网络的,(,网络地址,硬件地址,),同分配的,IP,地址绑定,在将,IP,地址发送给客户机,网络,1,DHCPACK,(,192.168.0.1),保留的地址池,(地址池段,1,),(地址池段,2,),分配的地址,(网络地址,1,,,硬件地址,1,),分配的,IP,地址,1,.,DNS,地址,WINS,地址,P,DHCP,流程,当收到,DHCPREQUEST,报文后,如果发现其申请的地址无法被分配,则用,DHCPNAK,报文回应,网络,1,DHCPNAK,DHCPREQUEST,(192.168.0.1),192.168.0.1,已经被另外一台,设备所使用了
21、P,DHCP,流程,客户机收到,DHCPACK,报文后,再对所有的参数进行一次最后的检查,如果发现由地址冲突存在,则使用,DHCPDECLINE,报文回复服务器,网络,1,DHCPACK,(,192.168.0.1),192.168.0.1,DHCPDECLINE,P,DHCP,流程,如果客户机放弃现在使用的,IP,地址,则她使用,DHCPRELEASE,报文通知服务器,服务器将此地址回收以备下次使用。,网络,1,DHCPRELEASE,P,DHCP,流程,当客户机的地址到达,50%,租用期(,T1,)时,客户机进入,RENEW,状态,使用,DHCPREQUEST,报文续约;,当客户机的地址
22、到达,87.5%,租用期(,T2,)时,客户机进入,REBINDING,状态,使用,DHCPREQUEST,报文续约;,网络,1,DHCPREQUEST,P,内容介绍,第一章 使用,DHCP,的原因,第二章,DHCP,的原理,第三章,DHCP,工作流程举例,P,DHCP,流程举例,10.77.2.1,10.77.11.10,客户机,服务器,DHCP-,RELAY,P,DHCP,流程举例,P,DHCP,流程举例,P,DHCP,流程举例,P,DHCP,流程举例,P,DHCP,流程举例,P,DHCP,流程举例,P,DHCP,流程举例,P,本章主要通过对,DHCP,报文结构及流程的介绍,希望大家能够建立起对,DHCP,协议的清晰概念,小结,






