RARP协议

RARP协议

RARP–Reversed Address Resolution Protocol 官方定义在RFC903

ARP跟RARP的关系

RARP协议

RARP跟ARP的异同

这是用于以太网的ARP的请求应答分组的格式,图中以太网地址就是物理地址
RARP协议

RARP跟ARP都是请求广播,响应单播
RARP的请求应答分组跟ARP的形式上一样,不同之处如下

  • ARP的帧类型是0x0806 表示后面数据是ARP分组,RARP的帧类型是0x8035
  • 操作码op ARP请求是1 ARP响应是2 RARP请求是3 RARP响应是4

RARP的请求响应过程

以用于以太网的RARP请求为例,假设A是发送方,B是响应方
请求过程
op设为3
发送端以太网地址是A的物理地址
发送端IP地址无定义
目的以太网地址也是A的物理地址
目的IP地址无定义
链路层广播

响应过程
op设为4
发送端以太网地址是B的物理地址
发送端IP地址是B的IP地址
目的以太网地址是A的物理地址,跟请求过程中的目的以太网地址保持一致
目的IP地址是分配给A的IP地址
链路层单播给A

RARP的实现难点

  • 一台RARP服务器一般为多个主机(网络上所有的无盘系统)提供硬件到IP地址的映射,该映射存储在磁盘文件中,系统内核一般不读取磁盘文件,所以需要用户写程序实现,而且不同的系统实现有所不同
  • 一个网络中一般要有多个RARP服务器,此时RARP流量会增加且需要考虑服务器同步问题

参考

https://tools.ietf.org/html/rfc903
https://blog.****.net/qq_36267931/article/details/104106966
《TCP/IP详解第一卷》