RARP와 GARP란?

네트워크 통신 세계에는, 다양한 프로토콜들이 기기 간 원활한 통신을 위해 작동하고 있습니다. 오늘은 그 중에서도 RARP(Reverse Address Resolution Protocol)와 GARP(Gratuitous ARP)에 대해 알아보겠습니다. 이 두 프로토콜은 이름은 비슷하지만 서로 다른 목적과 작동 방식을 가지고 있습니다.

 

RARP(Reverse Address Resolution Protocol)란?

RARP는 '역방향 주소 결정 프로토콜'로 번역될 수 있습니다. 이름에서 알 수 있듯이, 이것은 ARP(Address Resolution Protocol)의 반대 개념입니다.

 

ARP vs RARP

  • ARP: IP 주소를 알고 있을 때, 해당 기기의 MAC 주소를 찾는 프로토콜
  • RARP: MAC 주소를 알고 있을 때, 해당 기기의 IP 주소를 찾는 프로토콜
  •  

RARP는 어떻게 작동할까요?

  1. 어떤 장치(예: 컴퓨터)가 자신의 MAC 주소는 알지만 IP 주소를 모르는 상황입니다.
  2. 이 장치는 네트워크에 RARP 요청을 브로드캐스트합니다: "내 MAC 주소는 이것입니다. 내 IP 주소가 무엇인가요?"
  3. 네트워크의 RARP 서버가 이 요청을 받고, MAC 주소에 해당하는 IP 주소를 응답으로 보냅니다.
  4.  

실생활 예시

디스크가 없는 워크스테이션을 생각해보세요. 이 컴퓨터는 전원이 켜질 때 자신의 하드웨어 주소(MAC)는 알지만, 자신의 IP 주소는 모릅니다. 이런 경우 RARP를 사용하여 네트워크의 RARP 서버로부터 IP 주소를 할당받을 수 있습니다.

워크스테이션: "안녕하세요! 제 MAC 주소는 00:1A:2B:3C:4D:5E입니다. 제 IP 주소가 무엇인가요?"
RARP 서버: "당신의 IP 주소는 192.168.1.25입니다."

하지만 RARP는 현재 대부분 DHCP(Dynamic Host Configuration Protocol)로 대체되었습니다. DHCP는 IP 주소뿐만 아니라 서브넷 마스크, 게이트웨이, DNS 서버 주소 등 더 많은 네트워크 구성 정보를 제공할 수 있기 때문입니다.

 

GARP(Gratuitous ARP)란?

GARP는 '무상 ARP' 또는 '요청되지 않은 ARP'로 해석할 수 있습니다. 이것은 아무도 요청하지 않았는데도 장치가 자발적으로 보내는 특별한 형태의 ARP 메시지입니다.

 

GARP는 어떻게 작동할까요?

GARP는 일반적인 ARP 요청과 비슷하지만 두 가지 주요 차이점이 있습니다:

  1. 송신자와 대상 IP 주소가 동일합니다 (모두 송신자의 IP 주소).
  2. 실제로 요청한 사람이 없는데도 브로드캐스트됩니다.

이런 메시지가 네트워크로 브로드캐스트되면, 다른 모든 장치들은 자신의 ARP 테이블을 업데이트하게 됩니다.

 

GARP의 용도

  1. IP 주소 충돌 감지: 장치가 새로운 IP 주소를 할당받을 때, GARP를 보내서 동일한 IP를 사용 중인 다른 장치가 있는지 확인할 수 있습니다.
  2. 장애 조치(Failover): 고가용성 시스템에서 하나의 서버가 다운되었을 때, 대기 서버가 GARP를 보내서 "이제 내가 이 IP 주소를 사용할게요"라고 알립니다.
  3. ARP 테이블 업데이트: 네트워크의 다른 장치들이 자신의 ARP 테이블을 최신 상태로 유지하도록 도와줍니다.

 

실생활 예시

집에 있는 두 개의 라우터를 생각해보세요. 하나는 주 라우터(192.168.1.1)이고, 다른 하나는 백업 라우터입니다. 주 라우터가 고장났을 경우:

[주 라우터 다운]
백업 라우터: "안녕하세요 모두! 이제 제가 192.168.1.1 IP 주소를 사용할게요.
제 MAC 주소는 AA:BB:CC:DD:EE:FF입니다."

네트워크의 모든 장치들: "알겠습니다! 192.168.1.1에 대한 MAC 주소를 업데이트하겠습니다."

이 방식으로 사용자들은 라우터가 전환되었다는 것을 인식하지 못한 채 계속해서 인터넷을 사용할 수 있습니다.

 

요약

  • RARP: MAC 주소를 알고 있을 때 IP 주소를 찾는 프로토콜입니다. 현재는 대부분 DHCP로 대체되었습니다.
  • GARP: 자발적으로 보내는 ARP 메시지로, IP 주소 충돌 감지, 장애 조치, ARP 테이블 업데이트 등에 사용됩니다.

두 프로토콜 모두 네트워크에서 장치 간의 원활한 통신을 돕는 중요한 역할을 합니다. 특히 GARP는 오늘날의 고가용성 네트워크 환경에서 여전히 중요한 역할을 담당하고 있습니다.

이제 RARP와 GARP에 대해 이해하셨나요? 컴퓨터 네트워크의 세계는 이처럼 다양한 프로토콜들이 서로 협력하여 우리가 매일 사용하는 인터넷 환경을 만들어 냅니다.

728x90

1. ARP란? (Address Resolution Protocol)

ARP(Address Resolution Protocol)는 네트워크 통신에서 IP 주소를 물리적 주소(MAC 주소)로 변환하는 프로토콜입니다. 컴퓨터 네트워크에서 데이터가 실제로 전달되려면 논리적 주소(IP)와 물리적 주소(MAC) 두 가지가 모두 필요한데, ARP는 이 두 주소 간의 다리 역할을 합니다.

쉽게 이해하자면, IP 주소는 우리가 편지를 보낼 때 사용하는 '주소'와 같고, MAC 주소는 실제 그 집을 찾아갈 수 있는 '상세 위치 정보'와 같습니다. ARP는 주소(IP)를 알고 있지만 상세 위치(MAC)를 모를 때, 이를 찾아주는 우체부와 같은 역할을 합니다.

 

2. 왜 ARP가 필요합니까?

네트워크 통신은 두 가지 주소 체계를 사용합니다

  1. IP 주소(논리적 주소): 네트워크상의 위치를 나타내는 주소
  2. MAC 주소(물리적 주소): 네트워크 장비의 고유 식별자

 

컴퓨터가 데이터를 보내려면 목적지의 IP 주소와 MAC 주소가 모두 필요합니다. 그러나 보통 우리는 IP 주소만 알고 있고 MAC 주소는 알지 못합니다. 이때 ARP가 필요합니다.

실생활 예시로 설명하자면

  • 여러분이 친구에게 소포를 보내려고 합니다.
  • 친구의 주소(IP)는 알지만, 정확히 어떤 아파트의 몇 동 몇 호(MAC)인지 모릅니다.
  • 여러분은 배달부(ARP)에게 "이 주소에 사는 사람의 상세 위치를 알려주세요"라고 요청합니다.
  • 배달부는 그 지역에 가서 "여기 사는 ○○○씨 계신가요?"라고 외치고(브로드캐스트), 해당 주민이 "네, 저 여기 있어요!"라고 응답하면 정확한 위치를 확인합니다.

 

3. ARP (Address Resolution Protocol)의 작동 방식

3.1 ARP 요청(ARP Request)

컴퓨터 A가 같은 네트워크에 있는 컴퓨터 B에게 데이터를 보내려고 할 때, A는 B의 IP 주소는 알지만 MAC 주소는 모릅니다. 그래서 A는 네트워크 전체에 "이 IP 주소를 가진 컴퓨터의 MAC 주소가 무엇인가요?"라는 ARP 요청을 브로드캐스트(모든 컴퓨터에게 전송)합니다.

구체적인 예시를 들어보겠습니다

  • 컴퓨터 A(IP: 192.168.1.5)가 컴퓨터 B(IP: 192.168.1.10)에게 파일을 보내려고 합니다.
  • A는 B의 MAC 주소를 모르므로 네트워크 전체에 "192.168.1.10의 MAC 주소가 무엇인가요?"라는 ARP 요청을 보냅니다.
  • 이 메시지는 네트워크의 모든 장치에게 전달됩니다.

 

3.2 ARP 응답(ARP Reply)

네트워크의 모든 장치가 ARP 요청을 받지만, 요청된 IP 주소를 가진 장치(컴퓨터 B)만 응답합니다. B는 자신의 MAC 주소를 포함한 ARP 응답을 A에게 직접(유니캐스트) 보냅니다.

  • 네트워크의 모든 컴퓨터가 ARP 요청을 받습니다.
  • IP 주소가 192.168.1.10인 컴퓨터 B만 "제 MAC 주소는 00:1A:2B:3C:4D:5E입니다"라고 A에게 직접 응답합니다.
  • 다른 컴퓨터들은 자신의 IP 주소가 아니므로 응답하지 않습니다.

 

3.3 ARP 캐시(ARP 테이블)

네트워크 통신 효율을 높이기 위해, 컴퓨터는 최근에 알아낸 IP 주소와 MAC 주소의 매핑 정보를 ARP 캐시(또는 ARP 테이블)에 임시로 저장합니다. 이렇게 하면 같은 컴퓨터와 다시 통신할 때 ARP 요청을 다시 보내지 않아도 됩니다.

  • 컴퓨터 A는 B의 MAC 주소(00:1A:2B:3C:4D:5E)를 받은 후, 이 정보를 자신의 ARP 캐시에 저장합니다.
  • 나중에 A가 B에게 다시 데이터를 보내야 할 때, A는 캐시에서 B의 MAC 주소를 바로 찾을 수 있습니다.
  • ARP 캐시의 정보는 일정 시간(보통 몇 분에서 몇 시간) 후에 만료되어 최신 정보를 유지합니다.

Windows에서는 arp -a 명령어를 통해 현재 ARP 테이블을 확인할 수 있습니다:

Interface: 192.168.1.5 --- 0x3
  Internet Address      Physical Address      Type
  192.168.1.1           00-11-22-33-44-55     dynamic
  192.168.1.10          00-1A-2B-3C-4D-5E     dynamic
  192.168.1.255         ff-ff-ff-ff-ff-ff     static

위 테이블은 IP 주소와 해당하는 MAC 주소의 매핑을 보여줍니다. 'dynamic'은 ARP를 통해 자동으로 학습된 항목을, 'static'은 수동으로 설정된 항목을 나타냅니다.

ARP는 네트워크의 기본적인 작동 메커니즘으로, 인터넷 브라우징, 파일 전송, 이메일 확인 등 모든 네트워크 활동의 기반이 됩니다. 우리가 평소에 인식하지 못하지만, 컴퓨터가 네트워크를 통해 통신할 때마다 ARP가 중요한 역할을 하고 있습니다.

728x90

+ Recent posts