速读原著-TCP/IP(BOOTP穿越路由器)

2020-03-11 14:45:38 浏览数 (1)

第16章 BOOTP:引导程序协议

16.5 BOOTP穿越路由器

我们在5 . 4节中提到R A R P的一个缺点就是它使用链路层广播,这种广播通常不会由路由器转发。这就需要在每个物理网络内设置一个 RARP 服务器。如果路由器支持 B O O T P协议,那么B O O T P能够由路由器转发(绝大多数路由器厂商的产品都支持这个功能)。

这个功能主要用于无盘路由器,因为如果在磁盘的多用户系统被用作路由器,它就能够自己运行 BOOTP 服务器。此外,常用的 Unix BOOTP服务器(附录 F)支持这种中继模式(relay mode)。但如果在这个物理网络内运行一个 BOOTP 服务器,通常没有必要将B O O T P请求转发到在另外网络中的另一个服务器。

研究一下当路由器(也称作“ BOOTP 中继代理”)在服务器的熟知端口( 6 7)接收到B O O T P请求时将会发生什么。当收到一个 B O O T P请求时,中继代理将它的 I P地址填入收到B O O T P请求中的“网关 I P地址字段”,然后将该请求发送到真正的 B O O T P服务器(由中继代理填入网关字段的地址是收到的 B O O T P请求接口的I P地址)。该代理中继还将跳数字段值加 1(这是为防止请求被无限地在网络内转发。 RFC 951认为如果跳数值到达3就可以丢弃该请求)。

既然发出的请求是一个单播的数据报(与发起的客户的请求是广播的相反),它能按照一定的路由通过其他的路由器到达真正的 B O O T P服务器。真正的B O O T P服务器收到这个请求后,产生B O O T P应答,并将它发回中继代理,而不是请求的客户。既然请求网关字段不为零,真正的B O O T P服务器知道这个请求是经过转发的。中继代理收到应答后将它发给请求的客户。

0 人点赞