RARP(Reverse Address Resolution Protocol)是一个用于将物理地址(MAC地址)转换为网络层地址(IP地址)的协议。与ARP相反,它可以被用于网络启动和其他情况下的动态IP地址分配。
RARP协议是在以太网上实现的,在该网络中,每个设备都会被赋予唯一的48位物理地址。当一个设备需要知道相应的IP地址时,它会在网络上广播一个RARP请求包(将物理地址作为源地址,并将目标地址设置为所有设备)。
然后,拥有该IP地址的设备会向请求设备返回一个RARP响应包(将目标地址设置为请求设备的物理地址并将源地址设置为响应设备的物理地址),从而告诉请求设备所需的IP地址。
主要用于实现无盘系统的网络启动,例如某些工作站。在这种情况下,该设备并没有预存在硬盘上的操作系统,而是通过网络从服务器上下载。(例如在此过程之前,服务器将会给该设备提供一个可以分配到该设备的唯一固定IP地址以便在启动过程中使用)。
RARP协议的工作流程如下:
当设备需要知道自己的IP地址时,它会广播一个RARP请求包。
具有该IP地址的设备将向请求设备返回一个RARP响应包,其中包含该IP地址的物理地址。
请求设备将收到的MAC地址存储在其缓存中并进行后续处理。