bootstrap是什么协议

  • 时间:
  • 来源:网络

   


本教程操作环境:Windows7系统、DELL G3电脑

BOOTP:引导协议 (Bootstrap Protocol)

引导协议(BOOTP)是一种基于 UDP/IP 的协议。这种协议允许正在启动的主机动态配置而无需用户监督。BOOTP 主要用于客户机从服务器获得自己的 IP 地址,服务器的 IP 地址以及启动映象文件名。其它一些配置信息,如本地子网掩码、本地时间偏移量、默认路由器地址和各种 Internet 服务器地址,都能与使用 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)的基础。

协议结构

8162432OpHtypeHlenHopsXidSecsFlagsCiaddrYiaddrSiaddrGiaddrChaddr (16 bytes)sname (64 bytes)File (128 bytes)Option (variable)Op – 消息操作代码,可以是引导请求( BOOTREQUEST )也可以是引导答复( BOOTREPLY )Htype – 硬件地址类型Hlen – 硬件地址长度Xid – 事务 ID.Secs – 客户机开始地址请求或续约后消耗的时间(秒数)Flags – 标记Ciaddr – 客户机 IP 地址Yiaddr – “你的”(客户机) IP 地址Siaddr – 在 bootstrap 中下一台服务器可用服务器的 IP 地址Giaddr – 通过代理启动时代理的 IP 地址Chaddr – 客户机硬件地址Sname – 其他可用服务器主机名称,空终止符File – 引导文件名、空终止符; DHCPDISCOVER 包中的属名或者空值, DHCPOFFER 包中的完全合格目录路径名Options – 可选参数字段