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