资源预览内容
第1页 / 共43页
第2页 / 共43页
第3页 / 共43页
第4页 / 共43页
第5页 / 共43页
第6页 / 共43页
第7页 / 共43页
第8页 / 共43页
第9页 / 共43页
第10页 / 共43页
第11页 / 共43页
第12页 / 共43页
第13页 / 共43页
第14页 / 共43页
第15页 / 共43页
第16页 / 共43页
第17页 / 共43页
第18页 / 共43页
第19页 / 共43页
第20页 / 共43页
亲,该文档总共43页,到这儿已超出免费预览范围,如果喜欢就下载吧!
点击查看更多>>
资源描述
单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,第,10,章 引导协议与动态主机配置协议,引导协议,BOOTP,(,BOOTstrap,Protocol,)是,TCP/IP,协议族的,应用层协议,,它的主要作用是使无盘站点从服务器上获得,引导信息,。,动态主机配置协议,DHCP,(,Dynamic Host Configuration Protocol,),是在,BOOTP,协议基础上发展起来的协议,它使客户机能够在,TCP/IP,网络上获得相关的,配置信息,。,第,10,章 引导协议与动态主机配置协议,10.1,BOOTP,原理,10.2,BOOTP,报文,10.3,启动配置文件,10.4,DHCP,基本概念,10.5,DHCP,运行方式,10.6,DHCP/BOOTP,中继代理,10.1 BOOTP,原理,引导协议,BOOTP,是针对网络上无盘节点而设计的启动协议,无盘节点启动时它需要从网上获得,三种信息,:,自己的,IP,地址,文件服务器的,IP,地址,可运行的初始内存印象(启动映象文件名),利用,RARP,只能获得自己的,IP,地址。,BOOTP,协议,工作过程,:,1,)由,ROM,芯片,中的,BOOTP,启动代码启动,客户机,,此时客户机还没有,IP,地址,它便用,有限广播,形式以,0.0.0.0,的源,IP,地址向网络中发出,BOOTP,请求,,这个请求中包含了,客户机网卡的,MAC,地址,。,2,)网络中运行,BOOTP,服务的,服务器,接收到这个请求,根据请求中的,MAC,地址在,BOOTP,数据库中查找这个,MAC,的记录,如果没有此,MAC,的记录则不响应这个请求,如果有就将有关信息发送回客户机。返回的,响应,中包含的主要信息有,客户机的,IP,地址,、,服务器的,IP,地址,和,启动映象文件名,等信息。,3,)客户机根据返回信息,通过,TFTP,服务器下载启动映象文件,,并,启动,该文件。,客户,68,客户,68,服务器,67,服务器,67,请求,应答,UDP,UDP,UDP,UDP,服务器,67,UDP,被动打开,BOOTP,协议的,实现要点,如下:,1,)使用一个,单独的包,交换信息;,使用,超时重发,机制,直到发送方收到应答信息为止。,请求和应答使用相同的包字段结构格式,;,使用(最大可能长度的),固定长度的字段,,以简化结构定义和分析的需要。,2,),客户端广播引导请求,(boot request),包,其包含客户端的硬件地址,如果知道的话,还包含它的,IP,地址。,服务器单播引导应答,(boot reply),包。,3,),请求可以包含客户端指定的响应服务器的名称,。这样客户端可以强制从一个指定的主机引导。如果一个相同的引导文件存在多种版本或服务器属于一个远距离的网络,/,域,客户端不必处理名称,/,域服务,而是由,BOOTP,服务器实现这种情况下的相应功能。,4,),请求可以包含通用,(generic),引导文件名,。例如,unix,。,但服务器发送引导应答时,它使用对应的引导文件的确切路径名称来取代这个字段。,5,),服务器必须有一个硬件地址和,IP,地址对应的数据库,。此类客户端,IP,地址被放在引导应答的对应字段中。,6,)某些网络拓扑可能在一个物理网上没有一个直接可以访问的,TFTP,服务器,,BOOTP,允许客户端通过使用相邻的网关从几跳外的服务器上引导,。,引导协议,BOOTP,的,特点,:,1,),BOOTP,协议,基于,UDP,,,不和硬件直接打交道,易于实现且移植性好;,2,)协议交换的信息量较大,可以,充分利用硬件的能力,。,BOOTP,与,RARP,的,比较,:,两者,工作模式相同,,均采用,请求,/,应答的客户,-,服务器方式,,从而具有很大的,灵活,性。,两者不同之处:,BOOTP,服务器是作为一个,应用程序,而存在的,请求,/,应答报文在同一个,IP,网络内,实现,,易于修改和移植,。而,RARP,服务器存在于内核中,请求,/,应答报文在同一个物理网络内实现,修改和移植都很困难。,返回,10.2 BOOTP,报文,10.2.1 BOOTP,报文格式,BOOTP,协议有,请求,和,应答,两种报文,被封装在,UDP,数据报中,如图,10-1,所示。,图,10-2,显示了长度为,300,字节的,BOOTP,请求和应答的格式。,300,字节,0 8 16 24 31,特定厂商区域,字段由两部分组成:,第一部分叫做,魔饼,(magic cookie),,,长度为,4,个字节,用于定义其后面部分内容的,格式(,99.130.83.99,),:,第二部分是一个,项目表,,每个项目包含:,一个长度为,1,字节的,类型域,(type),一个可选的,1,个字节的,长度域,(length),一个由长度域定义的多字节的,值域,(value),10.2.2 BOOTP,报文传输,BOOTP,报文通过无连接,UDP,传输,其可靠性由应用程序完成。,主要处理步骤:,客户端传送请求,客户端重传请求,服务器接收引导请求,客户端接收应答,通过网关引导,1,客户端传送引导请求,客户在第一次建立数据包前,最好把整个,包的缓冲区,清零;这将所有的字段设置成默认状态。,IP,目的地址,被设置成,255.255.255.255,(广播地址)或服务器的,IP,地址。,IP,源地址,设置成客户端,IP,地址,如果此时客户端,IP,地址未知,则置为,0,。,UDP,头,使用适当的,长度,设置,,源端口,设置为,BOOTP,客户端端口,68,,,目标端口,设置为,BOOTP,服务器端口,67,。,操作码,字段设置成,1,,表示引导请求,。,硬件类型,字段设置成所在物理网络硬件地址类型。,硬件地址长度,设置成硬件地址长度,例如,以太网是,6,。,事务标识,字段设置成一个,随机,事务,ID,。,秒数,字段设置成客户端引导开始后过去的秒数。设置这个数值是为了让服务器知道客户端已经尝试的时间多少。,客户,IP,地址字段,和,IP,源地址值相同。,客户硬件地址,字段根据客户端硬件地址填写。,如果客户端希望限制从一个特定服务器引导,就可以在,服务器,IP,地址,字段和,服务器主机名,字段中填写相应内容。,客户端在填写,引导文件名,字段时有以下几种选择:,1,)设置成空,即使用默认的文件来引导。,2,)这个字段也可以是一般常用的名字,例如,unix,。,3,),这个字段还可以是具体的目录路径名字。,特定厂商区域,字段可以由客户端填写卖主的字符串或结构。如果使用了特定厂商区域字段,该字段中第一个条目为一个,4,字节的魔饼,,,以便让服务器确定在这个字段中是什么类型的信息。,2,客户端重传,BOOTP,报文,通过重传策略实现可靠性,,主要包括时间片与重传技术。,在,一长段时间,内没有收到应答,客户端应该重传请求。,时间间隔,必须仔细选择不要引起网络拥塞。,BOOTP,推荐延迟一个随机时间,(0-4,秒,),,延迟算法采用二进制指数后退方法。,每次重传前,客户端应该,修改秒数,字段。,3,服务器接收引导请求,如果,UDP,目的端口不匹配,BOOTP,服务器端口,则丢弃数据包。,如果,服务器名字字段是空,(没有指定特定的服务器),,或者该字段是指定的并且匹配服务器名字或别名,,继续包的处理。,如果,服务器名字字段是指定的,但不匹配本服务器,,则有多种选择:,1,)可以选择简单丢弃这个包。,2,)如果通过查询服务器名字字段名称,显示其在某网络中,可以丢弃这个包,你也可以选择转发这个包到那个地址。,转发:检查,网关地址,字段。如果其值为,0,,填入本服务器地址或可以用来到达那个网络的网关的地址。然后转发这个包。,如果,客户端,IP,地址,是,0,,那么客户端不知道自己的,IP,地址,此时,在本服务器的数据库中,查找客户端的硬件地址,。如果找到该客户端,IP,地址,便填入你的,IP,地址字段。如果没有匹配,则丢弃数据包。,接着检查,引导文件名,字段。,1,)如果客户端不关注文件名或想要默认引导文件,则这个字段是空。,2,)当这个字段非空,可以将它和客户端的,IP,地址做为数据库的查询关键字。,如果有默认的文件或通用文件或一个匹配的指定的路径名称,就在,引导文件名,字段中填入选择的引导文件的指定的路径名称。,如果,引导文件名,字段是,非空并且没有匹配,,那么客户端要一个本服务器没有的文件,,丢弃,这个包。,然后检查,特定厂商区域,字段。如果提供一种可识别类型的数据,应该进行客户端指定的动作,并且回应要填入应答包中的特定厂商区域字段数据字段。,服务器,IP,地址,字段填入本服务器对应值。,设置,操作码字段,字段为,2,,表示引导应答。,UDP,目的端口,设置成,BOOTP,客户端端口。如果,客户端地址,非,0,,把包发送到那里;否则,查看,网关地址,,如果网关地址非,0,,则把包发送到网关地址。,描 述,类 型,长 度,值,填充,0,子网掩码,1,4,子网掩码,时间偏移,2,4,时间偏移值,默认路由器,3,变长,IP,地址,时间服务器,4,变长,IP,地址,表,结束,255,4.,客户端接收应答,客户端,丢弃以下的包,:,UDP,相关的端口不是引导定位端口,不是,BOOTP,引导应答,不匹配客户端自己,IP,地址或硬件地址,不匹配客户端自己发出的事务标识,ID,除这些以外,客户端便收到一个,成功的应答,。,如果客户端以前不知道自己,IP,地址,查询相关,IP,地址字段便知道,自己的,IP,地址,。,5,通过网关引导,侦听,BOOTP,引导请求广播的网关可能确定,转发,这些请求。,转发,立即开始,等客户端确定的,秒数字段超过某个阀值,。,当一个网关确定转发请求时,,网关,IP,地址字段如果是,0,,它就在这个字段中加入自己的,IP,地址,。也可以使用,跳数字段,来可控制包可以转发多远,,每次转发应该增加跳数,,以便决定何时终止转发。,返回,10.3,启动配置文件,IP,地址是,IP,网络上唯一标识一个接入终端最原始和最有效的标识符。,分配,IP,地址的方法,:,自协商方式,用户自己静态配置,管理员统一分配配置等方式,更重要的是:很多终端启动时不仅需要,IP,地址,而且还,需要动态地获取更多的启动配置信息,。,以协议机制工作的配置方式,BOOTP,是最早的主机配置协议。,BOOTP,服务器上有一个关于本网络上各无盘结点的,启动配置文件,。,BOOTP,请求的引导文件名字段中填入“,UNIX”,等通用名称,服务器收到请求后,从启动配置文件中查找,当找出适合于该客户硬件体系结构的启动文件名,便填入,BOOTP,响应中同一域,返回客户机。,采用启动配置文件有,两大优点,:,1,)管理员可以对客户机的引导文件进行配置。,2,)方便客户机用户,使他们不必记住确切的引导文件名,也不必记住客户机的硬件结构。,BOOTP,用于相对,静态环境,,每个主机都有一个永久的网络连接,管理人员创建一个,BOOTP,配置文件来定义每个主机的,BOOTP,参数。在计算机,经常移动,和,实际计算机数目超过了可获得的,IP,地址,时,这种静态映射就不适用了。,为此,发展了,DHCP,协议,,DHCP,协议兼容,BOOTP,协议,。,DHCP,从两个方式上,扩充,了,BOOTP,:,1,),DHCP,可使计算机用,消息,获取它所需要的所有配置信息。,2,),DHCP,允许计算机快速,动态的获取,IP,地址,。,DHCP,支持三种类型的地址分配,:,1,),自动分配,:,DHCP,给主机指定一个永久的,IP,地址;,2,),动态分配,:主机,IP,地址的动态性表现在,被分配的,IP,地址有时间限制或自己可以明确表示放弃本地址。,3,),手工分配,:网络管理员按照,DHCP,规则,将指定,IP,地址分配给主机。,动态分配:自动重用地址的机制。这种方法适合于,临时上网,用户,而且在网络的,IP,地址资源不是很多,的时候特别有用。,返回,
点击显示更多内容>>

最新DOC

最新PPT

最新RAR

收藏 下载该资源
网站客服QQ:3392350380
装配图网版权所有
苏ICP备12009002号-6