DHCP协议讲解目录第1章DHCP协议基础知识....................................................................................................1-11.1DHCP协议概述..................................................................................................................1-11.1.1IP网络主机配置方法概述........................................................................................1-11.1.2DHCP协议主机配置的优缺点.................................................................................1-2第2章协议的报文格式............................................................................................................2-12.1DHCP协议的封装..............................................................................................................2-12.2DHCP协议的报文格式.......................................................................................................2-22.3DHCP协议报文的种类.......................................................................................................2-5第3章DHCP协议的实现过程.................................................................................................3-13.1DHCPCLIENT的行为.......................................................................................................3-13.2DHCPSERVER的行为.....................................................................................................3-23.3DHCPRELAY的行为........................................................................................................3-33.4DHCP交互过程..................................................................................................................3-4第4章DHCP在具体组网中的应用实例..................................................................................4-14.1DHCP在MA5200中的应用...............................................................................................4-14.1.1组网说明及数据规划...............................................................................................4-14.1.2结合抓报所得数据分析DHCP协议实现原理..........................................................4-24.2宽带产品相关的数据配置...................................................................................................4-94.2.1ESR8850中与DHCPRELAY相关的数据配置.......................................................4-94.2.2S3526中与DHCPRELAY相关的数据配置..........................................................4-10第5章DHCP协议的发展方向.................................................................................................5-1关键词:BOOTP,DHCP,DHCPCLIENT,DHCPRELAY,DHCPSERVER摘要:DHCP协议是目前应用比较广泛的一个协议,详细的了解该协议对于问题的处理是有好处的。本文是对IP网络中的DHCP协议(动态主机配置协议)一个比较全面的培训材料,详细的介绍了DHCP协议的框架结构,报文格式和实现机理,并结合在具体产品(MA5200)中的实现进行讲解,适用于从事宽带、数通的工程师作为学习性质的读物。在文章的最后,我们介绍了目前黑客对DHCP进行攻击的常用手段及在ESR8850产品中相应的解决方法,并对DHCP协议的发展进行了一些展望。缩略语清单:BOOTP:BootstrapProtocol引导程序协议DHCP:DynamicHostConfigurationProtocol动态主机配置协议DHCPCLIENT:DHCP客户端DHCPRELAY:DHCP中继DHCPSERVER:DHCP服务器参考资料清单:DHCP协议相关RFC:RFC951,RFC1541,RFC1542数据通信协议研究管理部:《DHCP协议培训教材》、《DHCP协议说明书》1.第1章DHCP协议基础知识1.1.1DHCP协议概述1.1.1.1IP网络主机配置方法概述IP网络是目前乃至将来可能最有前途的网络。正如同传统的电话网中要为每个电话分配一个电话号码以唯一标识这个电话一样,在IP网络中,每一台终端要想与其他的终端进行通信,也需要为每一个接入终端分配一个唯一标识号,这就是IP网络上的地址-IP地址。IP地址是IP网络上唯一标识一个接入终端最原始和最有效的标识符。给终端分配IP地址的方法有多种方式,如PPP协议的自协商方式,用户自己静态配置,管理员统一分配、配置等方式,但这些配置IP地址的方式都有着一些这样或那样的缺点。PPP自协商方式虽然不用用户自己动手操作,但是需要安装专门的客户端软件,而且需要服务器处事先配置好用户的帐号和密码,否则用户无法上网,当然其优点是安全性高。用户自己静态配置方式对于熟悉IP网络的人来说是一件很简单的事情,但对于普通用户来说,可真是难以理解,而且还须提防IP地址冲突的情况。管理员统一分配、配置的方式,需要有专人维护,规划整个网络,不仅成本高,而且管理员工作量太大。更重要的是许多终端启动时不仅需要IP地址,而且还需要动态的获取更多的启动配置信息,如无盘工作站,CABLEMODEM就需要获得启动配置文件名和TFTPSERVER的IP地址等信息,其他一些特殊终端还需要获取其他一些特殊的信息,如EPHONE需要CALLSERVER的IP地址,IDT需要控制服务器的IP地址等。这些动态信息是前面几种主机配置方式所无法完成的。正是基于这些要求,新的主机配置方式应运而生,最早的主机配置方式就是BOOTP协议(即引导程序协议),它是一种较老的系统引导协议,主要用于无盘工作站启动时从服务器上获取IP地址和启动文件名,多与TFTP协议配合使用,后来为了功能的扩展,又发展了DHCP协议,但DHCP协议兼容BOOTP协议。BOOTP和RARP类似,是用于相对静态的环境,其中每个主机都有一个永久的网络连接。管理人员创建一个BOOTP配置文件来定义每个主机的BOOTP参数。在计算机经常移动和实际计算机数目超过了可获得的IP主机地址时,这种只提供从主机标识到主机参数的静态映射就不适用了。DHCP从两个方式上扩充了BOOTP:1.DHCP可使计算机用一个消息获取它所需要的所有配置信息,即传送配置信息的协议;2.DHCP允许计算机快速、动态的获取IP地址,即动态分配IP地址的机制。DHCP支持三种类型的地址分配:3.自动分配方式中DHCP给主机指定一个永久的IP地址;4.动态分配方式中DHCP给主机指定一个有时间限制的IP地址,到时间或主机明确表示放弃这个地址时,这个地址可以被其他的主机使用;5.手工分配方式中主机的IP地址是由网络管理员指定的,DHCP只是把指定的IP地址告诉主机。在这三种方式中,只有动态分配的方式可以对已经分配给主机但现在此主机已经不用的IP地址重新加以利用。这样,在给一台临时连入网络的主机分配地址或者在一组不需要永久的IP地址的主机中共享一组有限的IP地址时,动态分配显得特别有用。当一台新主机要永久的接入一个网络时,而网络的IP地址非常有限,为了将来这台主机被淘汰时能回收IP地址,这种情况下动态分配也是一个很好的选择。2.1.1.2DHCP协议主机配置的优缺点1、DHCP协议主机配置方式最重要的特征就是整个配置过程自动实现,而且所有配置信息在一个地方集中控制,这就是DHCPSERVER的作用。2、很明显,DHCP协议采用CLIENT-SERVER方式实现,而且DHCP协议是基于UDP层之上的应用,DHCPCLIENT将采用知名端口号68,DHCPSERVER采用知名端口号67进行交互。3、最初的BOOTP/DHCP协议是在同一个物理子网中使用广播方式实现的,无法穿越路由器扩展到不同的物理子网中,也就是要使用DHCP协议的每一个网络中必须配置一台DHCP服务器,为了克服这一缺陷,采用了DHCPRELAY的方式使得BOOTP/DHCP协议能够穿越路由器实现。4、BOOTP协议主要用于一些较简单的终端设备,如无盘工作站等,通过BOOTP获取的信息也就相对较少,但它的CLIENT-SERVER间的交互过程比较简单。DHCP协议功能较全面,可以获取的信息也较多,但CLIENT-SERVER间的交互过程比较复杂。下面将会详细讲解。5、DHCP协议一般采用终端的硬件地址(如果是以太网,就是我们常说的MAC地址)来唯一标识一个终端设备。6、DHCP协议通过设置IP地址使用租期,可以达到IP地址的分时复用效果,解决IP地址资源短缺的问题。7、DHCP协议基本上是一个单向驱动协议,SERVER完全是被动的,其动作、行为基本完全由CLIENT的请求行为而激发,即SERVER端无法主动控制CLIENT端。因此其交互性和安全性就没有PPP协议那么完善,这是DHCP协议的致命缺点。2.第2章协议的报文格式1.2.1DHCP协议的封装DHCP协议是基于UDP层之上的应用,DHCPCLIENT将采用知名端口号68,DHCPSERVER采用知名端口号67。其报文内