RARP의 역할과 BOOTP·DHCP로 이어진 주소 할당 방식
RARP의 MAC 기반 IP 주소 할당 방식과 프레임 구조, 브로드캐스트 제약, BOOTP와 DHCP로 이어진 발전 과정을 정리합니다.
2026-08-14 · 최초 발행 2025-08-10
MAC 주소만 가진 장비가 IP를 받던 방식
RARP(Reverse Address Resolution Protocol)는 ARP와 반대 방향의 문제를 다룬다. ARP가 IP 주소에서 MAC 주소를 찾는다면, RARP는 MAC 주소를 알고 있는 장비가 자신의 IP 주소를 받아 오는 방식이다.
RFC903에서 정의됐으며, IP 주소가 없는 장비가 네트워크에 처음 연결될 때 활용됐다. 하드디스크가 없는 워크스테이션, 네트워크 프린터, 더미 터미널 같은 장비가 대표적이다. 이후에는 BOOTP와 DHCP가 이 역할을 확장하면서 RARP는 현대 네트워크에서 거의 쓰이지 않게 됐다.
요청은 브로드캐스트로 시작한다
클라이언트는 자신의 MAC 주소를 포함한 RARP 요청을 브로드캐스트한다. 서버는 해당 MAC 주소에 연결된 IP 주소를 찾은 뒤, 클라이언트에 응답을 유니캐스트로 보낸다. 클라이언트는 받은 IP 주소를 구성한다.
ARP와 닮은 프레임, 다른 작업 코드
RARP 프레임의 필드 구성은 ARP 프레임과 유사하지만, 주소를 찾는 방향이 반대다.
| 필드 | 크기(바이트) | 설명 |
|---|---|---|
| 하드웨어 타입 | 2 | 네트워크 하드웨어 주소 타입 (이더넷=1) |
| 프로토콜 타입 | 2 | 상위 프로토콜 타입 (IPv4=0x0800) |
| 하드웨어 주소 길이 | 1 | MAC 주소 길이 (이더넷=6) |
| 프로토콜 주소 길이 | 1 | IP 주소 길이 (IPv4=4) |
| 작업 코드 | 2 | RARP 요청(3), RARP 응답(4) |
| 발신자 하드웨어 주소 | 6 | 발신자 MAC 주소 |
| 발신자 프로토콜 주소 | 4 | 발신자 IP 주소 (요청 시 0) |
| 대상 하드웨어 주소 | 6 | 대상 MAC 주소 |
| 대상 프로토콜 주소 | 4 | 대상 IP 주소 (응답에 포함) |
운영 환경에서 드러난 한계
RARP 요청은 브로드캐스트이므로 라우터를 지나갈 수 없다. 따라서 같은 네트워크 세그먼트에 RARP 서버를 둬야 한다.
이 프로토콜이 전달하는 정보도 IP 주소에 한정된다. 서브넷 마스크, 게이트웨이, DNS 서버 정보는 제공하지 못한다. 운영자는 각 RARP 서버에 모든 클라이언트의 MAC 주소와 IP 주소 매핑을 수동으로 구성해야 했고, 서버 장애 시 대체 메커니즘도 제한적이었다. 네트워크 규모가 커질수록 모든 MAC-IP 매핑을 관리하는 부담도 커졌다.
BOOTP와 DHCP가 확장한 범위
RARP의 제약은 BOOTP(Bootstrap Protocol)와 DHCP(Dynamic Host Configuration Protocol)로 이어지는 계기가 됐다.
BOOTP는 UDP 기반 통신을 사용해 라우터를 통한 통신이 가능했고, IP 주소 외에 서브넷 마스크, 게이트웨이, DNS 서버 등의 정보를 제공했다. 클라이언트 구성 정보도 중앙 서버에서 관리할 수 있었다.
DHCP는 RARP와 BOOTP의 기능을 대체했다. 주소 풀을 기반으로 IP 주소를 자동 할당하고 회수하며, 임대 시간(Lease Time) 개념으로 IP 주소 관리를 지원한다. 네트워크 구성에 필요한 거의 모든 매개변수를 제공하고, 정책 기반 할당과 중앙집중식 관리로 대규모 네트워크도 다룰 수 있다.
과거 장비에서의 사용 장면
디스크리스 워크스테이션은 부팅 시 IP 주소를 얻기 위해 RARP를 사용했다. X 터미널은 IP 주소를 받은 뒤 X 윈도우 서버에 연결할 수 있었고, 초기 네트워크 프린터도 별도 IP 설정 없이 네트워크에 연결될 때 이 방식을 활용했다. 로컬 리소스가 적은 씬 클라이언트의 네트워크 부팅도 같은 맥락에 있었다.
Unix 시스템에서는 다음처럼 MAC-IP 매핑을 두고 RARP 서비스를 시작할 수 있었다.
# /etc/ethers 파일 (MAC-IP 매핑)
00:11:22:33:44:55 192.168.1.100
00:11:22:33:44:56 192.168.1.101
00:11:22:33:44:57 192.168.1.102
# RARP 서비스 시작
/usr/sbin/rarpd -a
주소 자동 구성의 출발점으로 남은 RARP
RARP는 IP 주소 자동 할당의 초기 사례다. 데이터 링크 계층과 네트워크 계층이 만나는 지점을 보여주며, 수동 구성에서 자동 구성으로 옮겨 가는 과정도 드러낸다.
오늘날에는 거의 사용되지 않지만, IP 없는 장비를 네트워크에 참여시키는 문제를 어떻게 풀었는지, 그리고 단순한 프로토콜이 기능이 풍부한 프로토콜로 어떻게 발전했는지를 이해하는 데 여전히 의미가 있다.