핵심 인사이트 (3줄 요약)
- 본질: RARP (Reverse ARP)는 이름 그대로 ARP의 정반대 역할을 수행하는 고전 프로토콜로, 하드웨어에 박힌 내 랜카드 MAC 주소는 아는데, 나에게 할당된 논리적 IP 주소를 모를 때 서버에게 "내 IP 좀 알려줘!"라고 간청하는 기술이다.
- 디스크리스(Diskless) 컴퓨터의 생명줄: 과거 하드디스크가 없어서 OS를 부팅조차 할 수 없던 깡통 단말기들이, 전원을 켜자마자 RARP로 자기 IP를 알아낸 뒤 네트워크로 OS를 다운받아 부팅하기 위해 만들어졌다.
- DHCP의 조상: RARP는 기능이 너무 빈약하고 서브넷 마스크나 게이트웨이 같은 필수 정보도 주지 못했기 때문에, 이를 보완한 BOOTP를 거쳐 현재 우리가 쓰는 완벽한 동적 할당 기술인 DHCP(Dynamic Host Configuration Protocol)로 진화하며 역사 속으로 완전히 사라졌다.
Ⅰ. 개요 및 필요성 (Context & Necessity)
-
개념: MAC 주소(물리적 주소)를 IP 주소(논리적 주소)로 매핑해 주는 프로토콜 (RFC 903).
-
필요성: 보통 컴퓨터는 하드디스크에
192.168.0.10이라고 자기 IP가 저장되어 있다. 그런데 1980년대 멍텅구리 씬 클라이언트(하드디스크가 없는 깡통 PC)들은 전원을 켜면 자기가 뉘신지 IP가 없었다. 통신을 하려면 3계층 IP가 무조건 있어야 한다. 깡통 PC가 아는 건 오직 자기 랜카드에 공장에서 지져서 나온 MAC 주소뿐이었다. "저기요 RARP 서버님! 제 MAC 주소가 AA:BB:CC인데요, 제 IP가 뭐였죠?"라고 물어볼 수단이 절실했다. -
💡 비유:
- ARP: 친구의 **'이름(IP)'**은 아는데 **'전화번호(MAC)'**를 몰라서 114에 물어보는 것.
- RARP: 내가 기억상실증에 걸려서, 내 호주머니에 있는 **'주민등록증(MAC)'**을 경찰서(서버)에 내밀며 **"제 이름(IP)이 뭔가요?"**라고 역으로 물어보는 것.
📢 섹션 요약 비유: RARP는 전입신고 센터입니다. 집(MAC 주소)은 샀는데 아직 도로명 주소(IP 주소)를 부여받지 못한 신축 아파트가, 관공서에 달려가서 **"이 집터에 배정된 주소가 뭔가요?"**라고 물어보고 문패를 달아오는 과정입니다.
Ⅱ. RARP의 동작 원리와 한계 (Deep Dive)
1. RARP 서버의 맵핑 테이블 수작업
RARP가 동작하려면 네트워크 어딘가에 RARP 서버(관리자 PC)가 한 대 반드시 켜져 있어야 한다. 관리자는 이 서버 텍스트 파일에 노가다로 매핑을 쳐 놔야 했다.
AA:BB:CC:11:22:33 ──▶ 192.168.0.10AA:BB:CC:11:22:44 ──▶ 192.168.0.11
2. 동작 프로세스 (Opcode 3, 4)
RARP 메시지 구조는 ARP 프레임 28바이트 구조와 완전히 똑같다. 다만 안의 내용물이 반대다.
- RARP Request (요청): 깡통 PC가 켠다. 브로드캐스트(
FF:FF...)로 프레임을 쏜다. Opcode는3이다. 내용은 "내 MAC은 AA:AA고, 내 IP는 몰라(빈칸)! RARP 서버님 빈칸 좀 채워주세요!"다. - RARP Reply (응답): RARP 서버가 이걸 받는다. "음, 내 장부에 AA:AA는 10번 IP라고 적혀있네." 서버는 빈칸을 채우고 Opcode를
4로 바꾼 뒤 유니캐스트로 던져준다.
┌─────────────────────────────────────────────────────────────┐
│ RARP 요청과 DHCP의 차이점 │
├─────────────────────────────────────────────────────────────┤
│ │
│ [ 깡통 PC ] ──── "내 MAC이 AA:BB야. 내 IP가 뭐지?" ─────▶ │
│ │
│ [ RARP 서버 ] "음... 장부(DB)를 보니 10번이네. 옛다 10번!" │
│ (※ 단점: 수동으로 장부에 적힌 MAC에게만 IP를 줌) │
│ │
│ * RARP의 한계: │
│ - 오직 "IP 주소 딱 1개"만 알려준다. │
│ - 서브넷 마스크? 안 알려줌. │
│ - 게이트웨이? 안 알려줌. │
│ - DNS 서버 주소? 안 알려줌. │
│ │
│ ▶ 인터넷을 하려면 마스크랑 게이트웨이도 필수인데, 달랑 IP 1개만 │
│ 주니까 통신이 불가능했다. 그래서 DHCP로 빠르게 대체되었다. │
└─────────────────────────────────────────────────────────────┘
3. 역사적 퇴장과 진화
- RARP는 너무 단순해서 쓸모가 없었다.
- 이를 개선하여 BOOTP(Bootstrap Protocol)가 나왔고, IP뿐만 아니라 서브넷 마스크, 게이트웨이 주소, 부팅 파일의 이름까지 넘겨줄 수 있게 되었다.
- BOOTP마저 관리자가 MAC 주소를 일일이 쳐야 하는 귀찮음이 있자, "그냥 꽂으면 랜덤으로 남는 IP 빌려주면(Lease) 안 돼?"라며 끝판왕인 DHCP가 등장했고 RARP는 교과서에서나 볼 수 있는 화석이 되었다.
📢 섹션 요약 비유: RARP는 식당에서 **"단일 메뉴(IP 주소 딱 하나)"**만 주는 고집불통 주방장입니다. 반면 현대의 DHCP는 "밥(IP), 국(서브넷 마스크), 반찬(게이트웨이), 후식(DNS)"을 한 번에 다 차려주는 완벽한 뷔페 서비스입니다.