【TCP-IP详解卷一:协议】ch16 BOOTP:引导程序协议

1. 引言

无盘系统进行系统引导时使用RARP获取IP地址的缺点:1)IP地址是返回的唯一结果;2)RARP使用链路层广播,请求不会被路由器转发,故每个网络都要设置一个RARP服务器。
因此提出了另一种用于无盘系统进行系统引导的方法——引导程序协议BOOTP,使用UDP,且常与TFTP协同工作。

2. BOOTP的分组格式

在这里插入图片描述

2.1 BOOTP请求和应答的格式:

在这里插入图片描述

系统引导时,引导请求一般采用链路层广播,IP首部目的IP地址为255.255.255.255(受限的广播),源IP地址为0.0.0.0,因为此时客户不知道自身的IP地址。

2.2 端口号

BOOTP服务器为67,客户为68

3. BOOTP服务器的设计

服务器从端口67读取UDP数据报,必须读取类型字段为 “RARP请求” 的以太网帧。BOOTP协议将客户的硬件地址存入BOOTP分组,使得服务器很容易获取客户的硬件地址。
服务器将响应送回BOOTP客户问题的解决办法:

  1. 服务器发送ioctl(2)请求给内核为客户在ARP高速缓存中设置一个条目
  2. 服务器广播这个BOOTP应答

4. BOOTP穿越路由器

若路由器支持BOOTP协议,那么BOOTP就能由路由器转发,该功能主要用于无盘路由器。
路由器收到BOOTP请求,中继代理将它的IP地址填入收到BOOTP请求中的 “网关IP地址字段”,然后将该请求发到真正的BOOTP服务器并将跳数字段加1(跳数加到3就可以丢弃了)。真正的BOOTP服务器收到请求后产生BOOTP应答,并将其发回中继代理而不是请求的客户。

5. 特定厂商信息

在这里插入图片描述

6. 小结

无盘系统在只读存储器中系统引导需要的协议:BOOTP、TFTP、UDP、IP和一个局域网的驱动程序

BOOTP相较于RARP用于引导无盘系统获取IP地址的优点:

  1. RARP只返回IP地址,而BOOTP返回路由器的IP地址、客户的子网掩码以及名字服务器的IP地址。
  2. RARP请求不会被路由器转发,但路由器可以作为真正BOOTP服务器的代理,向不同网络中的BOOTP服务器转发客户的BOOTP请求。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值