TCP-IP详解卷1:协议读书笔记_5

RARP:逆地址解析协议

具有本地磁盘的系统引导时,一般是从磁盘上的配置文件中读取IP地址。但是无盘机,如X终端或无盘工作站,则需要采用其他的方法来获得IP地址。
网络上的每个系统都具有唯一的硬件地址,它是由网络接口生产厂家配置的。无盘系统的RARP实现过程是从接口卡上读取唯一的硬件地址,然后发送一份RARP请求(一帧在网络上广播的数据),请求某个主机响应该无盘系统的IP地址。

RARP的分组格式

RARP分组的格式与ARP分组基本一致。他们只要的区别是帧类型代码为0x8035,而RARP的请求操作代码为3,应答代码为4。
对应于ARP,RARP请求以广播方式传送,RARP应答一般是单播传送的。

RARP举例

RARP请求应答示例

如上图示例,第一行,RARP请求是广播方式
而第二行,RARP应答是单播方式,第二行的输出中at sun表示RARP应答包含主机sun的IP地址。
第三行中,一旦sun收到IP地址,它就发送一个TFTP读请求(RRQ)给文件8CFC0D21.SUN4C。文件名中的8个十六进制数字表示主机sun的IP地址140.252.13.33。这个IP地址在RARP应答中返回。文件名的后缀SUN4C表示被引导系统的类型。

当网络上没有RARP服务器时,其结果如下图所示。


没有RARP服务器的情况

每个分组的目的地址都是以太网广播地址。在who-后面的以太网地址是目的硬件地址,跟在tell后面的以太网地址是发送端的硬件地址。

RARP服务器的设计

提供ARP服务器相较于RARP服务器简单一些,通常TCP/IP实现在内核中。由于内核知道IP地址和硬件地址,因此当它收到一个询问IP地址的ARP请求时,只需要用相应的硬件地址来提供应答就可以了。

作为用户进程的RARP服务器

RARP服务器的复杂性在于,服务器一般要为多个主机(网络中所有的无盘系统)提供硬件地址到IP地址的映射。该映射包含在一个磁盘文件中(在Unix系统中一般位于/etc/ethers目录)。由于内核一般不读取和分析磁盘文件,因此RARP服务器的功能就由用户进程来提供,而不是作为内核的TCP/IP实现的一部分。
而且RARP请求是作为一种特殊类型的以太网数据帧来传送的(帧类型字段值为0x8035)。这说明RARP服务器必须能够发送和接受这种类型的以太网数据帧。由于发送和接受这些数据与系统有关,因此RARP服务器的实现是与系统捆绑在一起的。

每个网络有多个RARP服务器

RARP服务器实现的一个复杂因素是RARP请求是在硬件层上进行广播的,即它们不经过路由器进行转发。为了让无盘系统在RARP服务器关机的状态下也能引导,通常在一个网络上要提供多个RARP服务器。
这造成了网络流量的增加。发送RARP请求的午盘新系统一般采用最先受到的RARP应答。另外,还有一种可能发生的情况是每个RARP服务器同时应答,这样会增加以太网发生冲突的概率。

总结

RARP协议是许多无盘系统在引导时用来获取IP地址的。RARP分组格式基本上与ARP分组一致。一个RARO请求在网络是给你进行广播,它在分组中表明发送端的赢家逆地址,以请求响应IP地址的相应。

虽然RARP在概念上很简单,但是RARP服务器的实现却与系统相关。因此,并非所有的TCP/IP实现都提供RARP服务器。

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • ARP 地址解析协议 数据链路如以太网和令牌环网都有自己的寻址机智,这是使用数据链路的任何网络都必须遵从的。 当一...
    MR_Model阅读 333评论 0 3
  • 个人认为,Goodboy1881先生的TCP /IP 协议详解学习博客系列博客是一部非常精彩的学习笔记,这虽然只是...
    贰零壹柒_fc10阅读 5,223评论 0 8
  • 一、概述 TCP/IP四层协议的下三层都是在内核中处理的。路由器可连接两个不同的网络,如以太网和令牌环网相连。网桥...
    赤果_b4a7阅读 954评论 0 0
  • ARP 位于七层模型里的第二层,即数据链路层。数据链路层有什么?答对了,是MAC地址。MAC地址指网络接口的硬件地...
    AK蜗牛阅读 1,562评论 0 6
  • 自动类加载 (auto-load) 自动类加载说白了就是自动 include / require php 文件,这...
    痕无落阅读 430评论 0 2

友情链接更多精彩内容