该协议是一个基于TCP/IP协议的协议,它可以让无盘站从一个中心服务器上获得IP地址,为局域网中的 无盘工作站分配动态IP地址,并不需要每个用户去设置静态IP地址。使用BOOTP协议的时候,一般包括Bootstrap Protocol Server(自举协议服务端)和Bootstrap Protocol Client(自举协议客户端)两部分。
  应    用:该协议主要用于有无盘工作站的局域网中,客户端获取IP地址的过程如下:首先,由BOOTP启动代码启动客户端,这个时候客户端还没有IP地址,使用广播形式以IP地址0.0.0.0向网络中发出IP地址查询要求。接着,运行BOOTP协议的服务器接收到这个请求,会根据请求中提供的MAC地址找到客户端,并发送一个含有IP地址、服务器IP地址、网关等信息的FOUND帧。最后,客户端会根据该FOUND帧来通过专用TFTP服务器下载启动镜像文件,模拟成磁盘启动。
  本RFC描述一种IP/UDP引导协议(BOOTP),允许一个无盘客户端发现自己的IP地址,
  服务器主机的地址,和装入一个指定名称的文件到内存并且运行。引导操作有两阶段组成。
  本RFC描述第一个阶段:'分配地址和选择引导文件'。
  在获得地址和文件名信息后,就进入引导的第二个阶段:文件传送。
  文件传送一般使用TFTP协议[9],因为两个阶段均驻留在客户端的PROM中。
  但BOOTP也能够与其它协议如SFTP或FTP一起工作。
  我们建议客户端的PROM软件提供一种无须用户交互的完整的引导方式。
  这是一种无人值守的上电启动方式。
  必须提供一种机制来让用户手工提供地址和文件名信息旁路BOOTP协议直接进入文件传送
  阶段。
  如果提供非可变存储,我们建议在那里保存设置以旁路BOOTP协议直到这些设置导致文件
  传送阶段失败。
  如果缓存的信息失败,引导后退到第一阶段并使用BOOTP。
  协议的要点:
  1.使用了一个单独的包交换(信息)。使用超时机制直到收到应答。
  双向使用相同的包字段结构。使用(最大可能长度的)固定长度的字段来简化结构定义
  和分析。
  2.一个'opcode'字段包含两个值。客户端广播一个'引导请求(bootrequest)'包。
  服务器应答一个'引导应答(bootreply)'包。'bootrequest'包含客户端的硬件地址,如果知道,
  还包含它的IP地址。
  3.请求可以包含客户端指定的响应服务器的名称。
  这样客户端可以强制从一个指定的主机引导。(如果一个相同的引导文件存在多种版本
  或服务器在一个远距离的网络/域。)
  客户端不必处理名称/域服务,这个功能推到了BOOTP服务器。
  4.请求可以包含'通用(generic)'引导文件名。例如'unix'或'ethertip'。但服务器发送
  引导应答时,它使用对应的引导文件的确切的路径名称来取代这个字段。
  服务器查询客户端的地址和请求文件名相关的数据库,以使用客户端自定义的特定引导
  文件确定这个文件名称。
  如果引导请求文件名是空字符串,服务器返回一个带有客户端加载的默认文件的文件名
  字段。
  5.客户端不知道它们的IP地址的情况下,
  服务器必须有一个硬件地址和IP地址对应的数据库。
  这个客户端IP地址被放在引导应答的(对应)字段中。
  6.某些网络拓朴(如斯坦福的网络)可能在一个物理网上没有一个直接可以访问的TFTP