BOOTP协议(引导程序协议)
先讲一下RARP的不足:
1. IP地址是唯一的返回结果
2. 由于RARP使用链路层广播,因此RARP请求不会被路由器转发。
BOOTP使用UDP,且通常需要与TFTP协同工作。BOOTP服务器端口号是67,BOOTP客户为68。
报文格式
IP首部 |
UDP首部 |
BOOTP请求/应答 |
操作码(1,2) |
硬件类型1 |
硬件地址长度6 |
跳数 |
事务标识 |
|||
秒数 |
未使用 |
||
客户IP地址 |
|||
你的IP地址 |
|||
服务器IP地址 |
|||
网关IP地址 |
|||
客户主机硬件地址(16字节) |
|||
服务器主机名(64字节) |
|||
引导文件名(128字节) |
|||
特定厂商信息(64字节) |
操作码:1表示请求,2表示应答。
硬件类型:1表示以太网。
跳数:客户设置为1,但也能被代理服务器设置。
事务标识:客户设置并由服务器返回的32位整数,客户用它对请求和应答进行匹配。对每个请求,客户应将它设置位一个随机数。
秒数:客户设置为一个时间制服务求能够看到这个时间值,备用服务器在等待时间超过这个时间值才会响应客户的请求,这意味着主服务器没有启动。
IP地址:如果客户已经知道自身的IP地址就写入,否则将该字段设置为0。对于后面的情况,服务器用该客户的IP地址写入“你的IP地址”字段。服务器字段由服务器填写,如果使用了代理服务器,则该代理服务器就填写“网关IP地址”字段。
客户硬件地址:客户必须设置,尽管以太网数据帧头部和UDP首部都包括这个值。
服务器主机名:为一个空值中止符,由服务器填写,服务器还将在“引导文件名”字段填写包括用于系统引导的文件名及其所在位置的路径全名。
特定厂商区域:用于BOOTP扩展。
当一个客户使用BOOTP进行系统引导时,通常是采用链路层广播,IP首部中的IP地址为255.255.255.255,源地址通常是0.0.0.0,因为此时客户还不知道自身的IP地址。