BOOTP协议的作用与结构

网络 网络管理
下面我们来介绍一下BOOTP协议。这个协议与DHCP协议有着类似的地方。那么希望大家通过下面的文章内容,能对这个协议有所了解。

说起BOOTP协议,我们大家似乎都不明所以。但是一说到DHCP协议,不少人就觉得比较熟悉了。其实两者有着很多相似的地方,也有的文章中说BOOTP协议时DHCP协议的前身。那么对于BOOTP我们就来详细介绍一下。

引导协议(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)的基础。

协议结构

8 16 24 32
Op Htype Hlen Hops
Xid
Secs Flags
Ciaddr
Yiaddr
Siaddr
Giaddr
Chaddr (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 – 可选参数字段

责任编辑:佟健 来源: 互联网
相关推荐

2010-07-12 15:14:45

DHCP BOOTPBOOTP协议

2011-08-24 09:56:13

网络协议BOOTP协议TFTP协议

2010-08-23 17:10:14

DHCP BOOTP

2011-08-08 14:09:55

dhcpbootp

2010-07-12 17:06:04

GRE协议

2010-09-25 13:20:22

DHCP BOOTP

2010-06-09 14:36:44

TCP与UDP协议

2010-07-02 10:57:06

2010-06-29 14:17:22

SNMP协议

2010-07-05 09:57:15

NetBIOS协议

2010-07-05 11:32:54

HART协议

2010-06-12 16:12:36

IPX SPX协议

2010-06-24 15:02:43

FTP协议

2010-07-05 10:57:52

RSVP资源预留协议

2010-07-06 17:02:06

LDP协议

2010-07-01 16:30:30

NetBEUI协议

2010-07-05 15:01:21

UML静态结构图

2010-07-14 18:03:15

2010-07-09 09:42:05

HART协议

2010-07-14 17:29:36

SOAP协议
点赞
收藏

51CTO技术栈公众号