目录
1. RARP简介
1.1 使用情境
系统引导时,无盘机,如X终端或无盘工作站,无法像具有本地磁盘的系统一样从磁盘的配置文件中读取IP地址。
1.2 实现过程
从接口卡上读取唯一的硬件地址,然后发送一份 RARP请求,请求某个主机响应无盘系统的IP地址(请求为广播,应答为单播)
2. RARP分组格式
与ARP基本一致:
主要差别:
- 帧类型为0x8035
- 请求和应答的操作字段分别为3和4
3. RARP举例
注意:
- 第二行中以太网数据帧长度显示为42,其中14字节为以太网数据帧的报头,剩下的28字节为RARP应答,这就是tcpdump收到的副本,但以太网设备驱动程序要把1这一短帧填充空白字符以达到最小长度60,如果在另一个系统上运行tcpdump命令的话,成都就是60
4. RARP服务器的设计
RARP服务器概念简单但由于与系统相关,设计比较复杂。
4.1 作为用户进程的RARP服务器
- 服务器需要为多个主机(网络上所有的无盘系统)提供硬件地址到IP地址的映射。该映射包含在一个磁盘文件中,而内核一般是不读取和分析磁盘文件的,因此RARP服务器的功能由用户进程来提供,而不是作为内核的TCP/IP实现的一部分。
- 服务器需要能够发送和接收这种特殊类型的以太网数据帧(帧类型字段为0x8035)
4.2 每个网络有多个RARP服务器
- RARP请求在硬件层上进行传播,不经过路由器进行转发。通常一个网络上要提供多个RARP服务器。
- 发送RARP请求的无盘系统一般采用最先收到大的RARP应答,多个RARP服务器同时应答时会增加以太网发生冲突的概率。
5. 小结
- 无盘系统在引导时使用以获取IP地址
- 分组格式基本与ARP的一致
- RARP请求广播传送,应答单播传送
- 使用链路层广播阻止了大多数路由器转发,只返回系统的IP地址
- 实现与系统相关,较为复杂,故并非所有的TCP/IP实现都提供RARP服务器