Network

[Network] ARP vs RARP

sagecode 2025. 6. 13. 19:29

컴퓨터끼리 네트워크를 통해 통신할 때, 송신자와 수신자가 어떻게 서로를 알아보고 통신할까?

 

우리는 웹사이트에 접속할 때 www.google.com 처럼 도메인주소를 이용한다. 컴퓨터는 이걸 IP 주소로 바꾸고, 상대방과 통신을 시작한다. 그런데 여기서 IP주소만 가지고는 데이터가 실제로 도착하지 않는다.

 

IP 주소? MAC 주소?

IP 주소(Internet Protocol Address)는 인터넷에 연결된 장치를 식별하기 위한 주소이다. 이 IP주소를 알아도 데이터가 실제로 그 장치에 도달하지 않는데, 정확하게 그 장치에 데이터를 전달하기 위해서는 실제 장치의 물리적인 위치도 알아야 한다.

그 주소를 바로 'MAC' 주소라고 한다.

 

그래서 우리는 IP 주소를 MAC 주소로 변경해주는 또는 MAC 주소를 IP 주소로 변경해주는 ARP, RARP에 대해서 알아보려고 한다.

 

ARP

ARP(Address Resolution Protocol)는 IP 주소를 이용해 해당 장치의 MAC 주소(물리 주소)를 알아내는 프로토콜이다. 즉, 우리가 IP 주소만 알고 있을 때, 네트워크 상에서 실제로 누구에게 데이터를 보낼지 정확하게 찾아주는 역할을 한다.

 

동작과정

ARP Request:

  • 같은 IP 주소를 갖고있는 모든 브로드캐스트(네트워크에 있는 모든 장치)에게 한번에 MAC 주소를 요청한다.

ARP Reply

  • 해당 IP를 가진 장치들이 MAC주소를 답한다.

이후 내 컴퓨터는 그 MAC 주소를 ARP 캐시에 저장하고, 그 MAC 주소를 목적지로 하여 이더넷 프레임을 만들어 전송한다.

이더넷 프레임이란?
네트워크에서 가장 기본적인 데이터 전송 단위이다. 수신자와 송신자의 MAC 주소, 데이터 타입, 실제 데이터, 오류검사용 코드(CRC)등이 들어있다.

 

RARP

RARP (Reverse Address Resolution Protocol)는 MAC 주소 → IP 주소를 알아내는 프로토콜입니다. 즉, 자신은 MAC 주소밖에 모르는데, IP 주소를 알아야 할 때 사용하는 네트워크 프로토콜이다.

 

동작과정

  1. 송신자는 네트워크에 있는 다른 모든 호스트에 RARP 요청을 브로드 캐스트한다.
  2. RARP 요청 패킷에는 송신자의 실제 MAC 주소가 들어 있다.
  3. RARP 요청 패킷을 받은 모든 수신자가 패킷을 처리하지만 RARP 서비스를 제공 할 수있는 권한이 부여 된 호스트만 'RARP 서버'라고 하는 호스트와 같은 RARP 요청 패킷에 응답한다.
  4. 승인 된 RARP 서버는 발신자의 IP 주소가 포함 된 RARP 응답 패킷을 요청한 호스트에 유니캐스트(직접 응답)한다.
  • 한계: RARP는 IP 주소만 제공하지만 오늘날 컴퓨터에는 subnetMask, 라우터의 IP주소 등 다른 정보가 필요하기 때문에 BOOTP 및 DHCP로 대체되었다.