网络技术综合实验实验报告学院计算机与电子信息学院专业电子信息工程班级电信xx-x班姓名xxx学号1103403xxx实验题目BOOTP协议研究系统环境Windows指导教师崔得龙实验时间20xx年0x月x日至20xx年0x月xx日实验报告评分:_______1.BOOTP协议概念的解析:BOOTP:该协议是一个基于TCP/IP协议的协议,它可以让无盘站从一个中心服务器上获得IP地址,为局域网中的无盘工作站分配动态IP地址,并不需要每个用户去设置静态IP地址。使用BOOTP协议的时候,一般包括BootstrapProtocolServer(自举协议服务端)和BootstrapProtocolClient(自举协议客户端)两部分。主要用于有无盘工作站的局域网中,客户端获取IP地址的过程如下:首先,由BOOTP启动代码启动客户端,这个时候客户端还没有IP地址,使用广播形式以IP地址0.0.0.0向网络中发出IP地址查询要求。接着,运行BOOTP协议的服务器接收到这个请求,会根据请求中提供的MAC地址找到客户端,并发送一个含有IP地址、服务器IP地址、网关等信息的FOUND帧。最后,客户端会根据该FOUND帧来通过专用TFTP服务器下载启动镜像文件,模拟成磁盘启动。该协议是一个基于TCP/IP协议的协议,它可以让无盘站从一个中心服务器上获得IP地址,为局域网中的无盘工作站分配动态IP地址,并不需要每个用户去设置静态IP地址。使用BOOTP协议的时候,一般包括BootstrapProtocolServer(自举协议服务端)和BootstrapProtocolClient(自举协议客户端)两部分。2.BOOTP协议结构:Htype–硬件地址类型Hlen–硬件地址长度Xid–事务ID.Secs–客户机开始地址请求或续约后消耗的时间(秒数)Flags–标记Ciaddr–客户机IP地址Yiaddr–“你的”(客户机)IP地址Siaddr–在bootstrap中下一台服务器可用服务器的IP地址Giaddr–通过代理启动时代理的IP地址Chaddr–客户机硬件地址Sname–其他可用服务器主机名称,空终止符File–引导文件名、空终止符;DHCPDISCOVER包中的属名或者空值,DHCPOFFER包中的完全合格目录路径名Options–可选参数字段3.BOOTP协议的功能:BOOTP协议使用两个不同的知名通讯端口UDP67/68。UDP67用于服务器,UDP68用于BOOTP客户机。客户机启动时,本身还没有IP地址,这时BOOTP客户机就以广播的形式发出一个名为BOOTREQUEST的IP地址查询请求包,这个请求包中包含了客户机物理地址,还可能有一个IP地址,如果已有的话。客户使用地址255.255.255.255发送广播,这种特殊地址称为有限广播地址。然后客户机等待服务器的响应,如果在特定时间段内没有收到响应,客户机就重新发出请求。通过引导答复(bootreply)包,服务器响应客户机请求。请求可以包含“通用”引导文件名,例如,unix或ethertip。但服务器发送引导应答包时,它使用对应的引导文件的确切的路径名称来取代这个字段。为了确定路径名,服务器会查询本身的的数据库。这个数据库关联了客户机地址、请求文件名和为用户定制的特殊引导文件。如果请求(bootrequest)文件名是空,服务器就返回一个文件名字段用于表示客户机需加载的默认文件。在客户机IP地址不知道的情况下,服务器必须要有一个硬件地址和IP地址相对应的数据库。客户机IP地址也被放到“bootreply”的某一字段中。BOOTP和RARP类似,但RARP只运行于LAN网络的数据链路层;而基于UDP/IP的配置协议BOOTP协议则提供了更多配置方面的信息,它允许整个IP网络动态配置。总之,BOOTP及其扩展成为动态主机配置协议(DHCP)的基础。4.BOOTP服务简介:BOOTP服务的全称是BOOTSTRAPPROTOCOL,是一种比较早出现的远程启动的协议,我们经常用到的DHCP服务就是从BOOTP服务扩展而来的。BOOTP协议使用TCP/IP网络协议中的UDP67/68两个通讯端口。BOOTP主要是用于无磁盘的客户机从服务器得到自己的IP地址、服务器的IP地址、启动映象文件名、网关IP等等。这个过程如下:第1步,由BOOTROM芯片中的BOOTP启动代码启动客户机,此时客户机还没有IP地址,它就用广播形式以IP地址0.0.0.0向网络中发出IP地址查询的请求,这个请求帧中包含了客户机的网卡MAC地址。第2步,网络中的运行BOOTP服务的服务器接收到的这个请求帧,根据这帧中的MAC地址在BOOTPTAB启动数据库中查找这个MAC的记录,如果没有此MAC的记录则不响应这个请求,如果有就将FOUND帧发送回客户机。FOUND帧中包含的主要信息有客户机的IP地址、服务器的IP地址、硬件类型、网关IP地址、客户机MAC地址和启动映象文件名。第3步,客户机就根据ROUND帧中的信息通过TFTP服务器下载启动映象文件,并将此文件模拟成磁盘,从这个模拟磁盘启动。5.BOOTP协议要点:(1).使用了一个单独的包交换(信息)。使用超时机制直到收到应答。双向使用相同的包字段结构。使用(最大可能长度的)固定长度的字段来简化结构定义和分析。(2).一个'opcode'字段包含两个值。客户端广播一个'引导请求(bootrequest)'包。服务器应答一个'引导应答(bootreply)'包。'bootrequest'包含客户端的硬件地址,如果知道,还包含它的IP地址。(3).请求可以包含客户端指定的响应服务器的名称。这样客户端可以强制从一个指定的主机引导。(如果一个相同的引导文件存在多种版本或服务器在一个远距离的网络/域。)客户端不必处理名称/域服务,这个功能推到了BOOTP服务器。(4).请求可以包含'通用(generic)'引导文件名。例如'unix'或'ethertip'。但服务器发送引导应答时,它使用对应的引导文件的确切的路径名称来取代这个字段。服务器查询客户端的地址和请求文件名相关的数据库,以使用客户端自定义的特定引导文件确定这个文件名称。如果引导请求文件名是空字符串,服务器返回一个带有客户端加载的默认文件的文件名字段。(5).客户端不知道它们的IP地址的情况下,服务器必须有一个硬件地址和IP地址对应的数据库。这个客户端IP地址被放在引导应答的(对应)字段中。(6).某些网络拓朴(如斯坦福的网络)可能在一个物理网上没有一个直接可以访问的TFTP服务器(例如在某些网上的所有的网关和主机都可能是无盘的)。BOOTP允许客户端通过使用相邻的网关从几跳外的服务器上引导。请看下面“通过网关引导”的章节。这部分协议不需求客户端部分做特定的动作。实现是可选的,网关和服务器需要一些额外的代码。6.BOOTP中继路由器的功能:(1).转发源地址全为0的数据报;(2).在UDP的端口67接受BOOTP的请求,而不论该请求是IP广播还是IP单播;(3).与常规路由器不同,中继代理不是简单的转发,而需要修改BOOTP消息。7.BOOTP中继过程:(1).中继代理接收到BOOTP请求后,检查跳步数,丢弃超过最大跳步数(通常为3)的请求,否则决定转发请求;(2).如果决定转发,则检查消息中的路由器IP地址,如果为0,则用其接收到这个消息的网络接口的IP地址填入该字段,否则保持不变;(3).递增消息中的跳步数;(4).中继代理依据已配备的BOOTP服务器地址将请求转发给一个或多个BOOTP服务器;(5).BOOTP服务器接收到请求后,对其进行处理并产生应答消息;(6).如果接收到的请求消息中路由器IP地址不是全为0,则单播发送应答给路由器IP地址指定的中继代理;否则,服务器采用常规BOOTP应答过程发送BOOTP应答;(7).中继代理接收到应答后,检查广播标志,如果置位,则广播BOOTP应答;否则,单播BOOTP应答给“您的IP地址”。8.BOOTP协议的优缺点:优点:(1).能够集中配置若干客户;(2).能过跨越路由器连接的子网或网络;(3).提供了一种安全措施,只有具有有效地MAC地址的客户才能分配到一个IP地址。缺点:需要预先为每台需要入网的客户主机分配一个不同的IP地址,不太灵活,且存在一定的资源浪费。9.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的需求。10.BOOTP与DHCP的关系:BOOTP中继代理BOOTP(BootstrapProtocol)中继代理是在DHCP服务器和DHCP客户端之间传送DHCP消息的因特网主机或由器。设计BOOTP协议的目的是用作远程引导,主要是通知连接客户机引导文件的。DHCP是BOOTP机制的一个扩展,这个特征意味着已经存在的BOOTP的客户端不用改变安装的软件就可以和DHCP服务器互用。RFC1542详细描述了BOOTP、DHCP客户端和DHCP服务器之间的交互作用。DHCP与BOOTP中继代理与BOOTP协议一样,DHCP协议也是以客户机/服务器(client/server)模式工作的。利用该协议,DHCP客户机可以向DHCP服务器动态地请求配置信息,包括分配的IP地址、子网掩码、缺省网关等重要参数,而DHCP服务器也可以很方便地为其动态配置这些信息。DHCP提供了如何在TCP/IP网络上对主机进行设置的方案框架。DHCP继承于BOOTP,在其基础上添加了自动分配可重用网络地址和附加配置选项的功能。DHCP具有BOOTP的中继代理行为,DHCP的使用者和BOOTP的使用者可以进行交互操作。DHCP的消息格式是基于BOOTP的消息格式的,以便具有中继代理的行为并且允许已经存在的BOOTP客户端和DHCP服务器有协作能力(互用性),使用BOOTP中继代理避免了在每一个物理网段都需要有一个DHCP服务器的情况。。DHCP定义了一种机制,通过这种机制,客户端可以分配到一个有一定租期的网络参数。并且考虑到了为不同客户端进行网络地址的连续地再分配。无线路由器地址租期DHCP提供了一种机制,通过允许客户端为了进行操作而获得所有IP配置的参数。DHCP原理介绍随着网络规模的扩大和网络复杂度的提高,网络配置越来越复杂,经常出现计算机变化(如便携机或无线网络)和计算机数量超过可分配的IP地址的情况。动态主机配置协议DHCP(DynamicHostConfigurationProtocol)就是为了满足这些需求发展起来的。DHCP协议采用客户端/服务器(client/server)方式工作,DHCPclient向DHCPserver动态地请求配置信息,DHCPServer根据策略返回相应的配置信息(如IP地址等)在DHCP的典型应用中,一般包含一台DHCP服务器和多台客户端(如PC和笔记本电脑)。11.总结;在这短短的一周时间里,我在图书馆参阅了大量与BOOTP协议相关的书籍,其中包括《网络协议分析》、《TCP/IP》、《网络服务器架设与配置》等,在对BOOTP协议研究学习,遇到了很多很多的困