Protokół RARP (Reverse Address Resolution Protocol)
przypisuje znanemu adresowi MAC adres IP. To przypisanie pozwala urządzeniom
sieciowym enkapsulować dane przed wysłaniem ich do sieci. Urządzenie sieciowe,
takie jak na przykład bezdyskowa stacja robocza, może znać swój adres MAC, ale
nie znać adresu IP. Protokół RARP pozwala urządzeniu poznać własny adres IP.
Urządzenia używające protokołu RARP wymagają obecności w sieci serwera RARP,
który odpowiada na ich żądania.
Rozważmy sytuację, gdy urządzenie
źródłowe chce wysłać dane do innego urządzenia. W naszym przykładzie urządzenie
źródłowe zna swój adres MAC, ale nie może znaleźć własnego adresu IP w tablicy
ARP. Aby urządzenie docelowe mogło odebrać dane, przekazać je do wyższych
warstw modelu OSI oraz odpowiedzieć urządzeniu źródłowemu, urządzenie źródłowe
musi znać zarówno własny adres MAC, jak i adres IP. Tak więc urządzenie
źródłowe rozpoczyna proces zwany żądaniem RARP. Żądanie to pomaga urządzeniu
źródłowemu wykryć swój adres IP. Żądania RARP są rozgłaszane w sieci LAN i
odpowiadają na nie serwery RARP, którymi zwykle są routery.
Protokół
RARP używa takiego samego formatu pakietów jak protokół ARP. Jednak w żądaniu
RARP występują inne niż w żądaniu ARP nagłówki MAC i pole kodu operacji.
Format pakietu RARP zawiera miejsca dla adresów MAC urządzenia
źródłowego i docelowego. Pole źródłowego adresu IP jest puste. Pakiet ten jest
rozgłaszany wśród wszystkich urządzeń w sieci, dlatego adresem docelowym MAC
jest FF:FF:FF:FF:FF:FF. Stacje robocze używające protokołu RARP mają zapisany w
pamięciach ROM kod powodujący rozpoczęcie procesu żądania RARP. Proces żądania
RARP został przedstawiony krok po kroku na rysunkach od
do
.