Reverse Address Resolution Protocol, RFC 903
ARP와는 반대로 2계층 주소를 이용해 3계층 주소를 얻는 방법이다.
그 말인 즉슨, 처음엔 IP주소 없이 MAC주소로만 통신을 한다는건데.. TCP/IP 통신에 필요한 IP주소를 얻기 위해 TCP/IP를 사용한다는 모순이 생긴다.
하지만 IP주소를 모르는 경우에도 로컬 통신이 발생되도록 브로드캐스트를 이용하면 가능한 일이고, 이것을 ‘부트스트래핑’이라고 한다.
일반적으로 대부분 장비에는 자신의 내부 어딘가에 IP주소를 저장해놓는다. 하지만 몇 몇 장비들은 IP주소를 저장하고 읽어오는 수단이 아예 없기도 하다. 이런 장비들은 자신의 MAC주소만 알고, IP주소를 모르는 상태가 된다.
기본 동작
① 특정 장비에서 자신의 MAC주소가 담긴 메시지를 브로드캐스트
② RARP서버가 특정 장비에서 요청한 IP주소를 확인 후 유니캐스트
상세 동작

① 특정 장비가 RARP Request 메시지 생성
(OPCODE 필드: 3, SHA/THA 필드: 장비 자신의 MAC주소)
② 특정 장비가 RARP Request 메시지 브로드캐스트
③ 로컬 장비가 RARP Request 메시지 처리
(RARP 서버가 아닌 장비는 이 메시지를 무시)
④ RARP 서버가 RARP Reply 메시지 생성
(OPCODE 필드: 4, SHA/SPA 필드: RARP서버 MAC과 IP, THA/TPA: 요청 장비의 MAC과 IP)
⑤ RARP 서버가 RARP Reply 메시지를 유니캐스트
⑥ 특정 장비가 RARP Reply 메시지를 처리
(IP 확인)
RARP의 문제점
- RARP 서버의 MAC-IP 테이블은 수동으로 직접 입력해야 한다.
- RARP 서버는 호스트에게 오직 IP만 제공한다. 이외 서브넷마스크, 게이트웨이 정보를 제공하지 않는다.
- RARP를 동작시키려면 각 네트워크마다 RARP 서버가 운용되어야 한다.