핵심 인사이트 (3줄 요약)

  1. 본질: Gratuitous ARP(무상 ARP, G-ARP)는 남이 내 MAC 주소를 물어보지도 않았는데(요청이 없음에도), 자기 스스로 동네방네 "내 IP는 이거고 내 MAC은 이거야!"라고 무작정 방송(Broadcast)을 때려버리는 특수한 ARP 패킷이다.
  2. 주 목적 (IP 충돌 감지): PC가 처음 부팅되거나 고정 IP를 세팅했을 때, 내가 쓸 IP 주소가 혹시 다른 사람이 이미 쓰고 있는 주소인지(IP 충돌) 확인하기 위해 허공에 던져보는 돌직구 테스트용으로 쓰인다.
  3. 이중화 장비의 캐시 갱신 (Failover): 액티브-스탠바이 구조의 이중화 방화벽(HA)에서 메인 방화벽이 죽고 예비 방화벽이 깨어났을 때, "방금 죽은 애 IP 내가 이어받았어! 다들 내 새로운 MAC으로 데이터 보내!"라며 주변 스위치와 PC들의 ARP 테이블을 강제로 일제히 업데이트(갱신)시킬 때 필수적으로 발송된다.

Ⅰ. 개요 및 필요성 (Context & Necessity)

  • 개념: Target IP(목적지)와 Sender IP(출발지)가 완벽히 똑같은 특수한 구조의 ARP Request 패킷이다. 수신을 바라고 보내는 게 아니라 일방적인 '통보' 목적이다.

  • 필요성: 정상적인 ARP는 통신을 하기 전 길을 묻기 위해 쓴다. 그런데 내가 길을 물을 필요도 없이 그냥 '내 존재'를 동네 전체에 강제로 알리고 싶을 때가 있다. 내가 막 이사(부팅) 왔는데 이 번지수(IP)에 먼저 살고 있는 놈이 있는지 확인하거나, 내 얼굴(랜카드 MAC)이 방금 성형 수술로 바뀌었으니 동네 이웃들에게 내 바뀐 얼굴을 싹 다 업데이트하라고 외칠 필요성이 있었다.

  • 💡 비유: 일반 ARP가 **"101호 사는 분, 얼굴 좀 보여주세요!"**라고 남을 찾는 것이라면, G-ARP는 101호로 이사 온 사람이 동네 한가운데 서서 확성기로 **"제가 오늘부로 101호에 살게 된 홍길동(MAC)입니다! 다들 수첩(ARP 캐시)에 적으세요!"**라고 무작정 자기소개를 외치는 것과 같습니다. 만약 기존 101호 거주자가 이 소리를 듣는다면 "뭐야, 101호 내 집인데?"라며 싸움(IP 충돌 경고)이 벌어집니다.

📢 섹션 요약 비유: G-ARP는 길거리에서 지나가는 사람들에게 무작정 찔러주는 **"홍보용 전단지"**입니다. 물어보지 않았지만 받으면 무조건 읽고 내 머릿속(ARP 테이블)의 가게 전화번호를 최신으로 업데이트하게 만드는 강제 주입식 마케팅입니다.


Ⅱ. G-ARP의 구조적 특징과 2대 활용 시나리오 (Deep Dive)

1. 패킷 구조 (출발지와 목적지가 동일함)

G-ARP 패킷을 와이어샤크(Wireshark)로 열어보면 아주 기이한 형태를 띤다.

  • Sender IP (보내는 놈): 192.168.0.10
  • Target IP (찾는 놈): 192.168.0.10 (어? 자기 자신을 찾네?) 즉, "192.168.0.10 쓰는 사람 누구야? 나 192.168.0.10인데."라는 괴상한 질문을 던진다.

2. 시나리오 A: IP 충돌 감지 (Duplicate IP Detection)

당신이 윈도우 PC에서 IP 주소를 수동으로 192.168.0.10이라고 입력하고 '확인'을 누르는 즉시, 윈도우는 저 기이한 G-ARP 방송을 3번 정도 연속해서 날린다.

  • 대답이 없으면: "오, 이 동네에 192.168.0.10 쓰는 놈 아무도 없네. 안전하게 내가 써야지!"
  • 누군가 "나다!"라고 ARP Reply를 쏘면: "헉! 이미 쓰고 있는 놈이 있네!"라며 윈도우 우측 하단에 그 유명한 **"IP 주소 충돌이 감지되었습니다"**라는 노란색 에러 팝업을 띄우고 네트워크를 즉각 단절시켜 버린다.

3. 시나리오 B: 이중화 절체 시의 캐시 강제 갱신 (HA Failover)

기업망에서 라우터 A(메인)와 라우터 B(예비)가 게이트웨이 IP 192.168.0.1을 공유하는 VRRP/HSRP(이중화) 환경을 생각해 보자.

  1. 라우터 A가 메인으로 돌고 있다. (동네 PC들은 192.168.0.1의 MAC이 라우터 A의 것이라고 학습해 둔 상태다.)
  2. 어느 날 라우터 A의 전원이 퍽 하고 나갔다(장애 발생).
  3. 대기하던 라우터 B가 1초 만에 깨어나며 "내가 이제부터 192.168.0.1이다!"라고 게이트웨이 역할을 승계한다.
  4. 문제 발생: 동네 PC들의 ARP 캐시 수첩에는 여전히 죽어버린 라우터 A의 MAC이 적혀 있다. PC들은 죽은 라우터 쪽으로 계속 인터넷 데이터를 던진다 (블랙홀 발생).
  5. G-ARP의 구원: 라우터 B가 깨어나자마자 G-ARP 패킷을 뻥! 하고 폭탄처럼 터뜨린다.
  6. 동네 PC들은 이 전단지를 받고 "어? 192.168.0.1 MAC 주소가 라우터 B 껄로 바뀌었네?" 하며 즉각 수첩(ARP Table)을 덮어써서 갱신한다. 1초 만에 인터넷이 다시 정상적으로 이어지는 마법이다.

📢 섹션 요약 비유: 이중화 망에서의 G-ARP는, 메인 식당이 불타서 예비 식당으로 이사한 직후, 사장님이 동네방네 뛰어다니며 **"우리 식당 원래 주소(IP)는 그대로인데, 오늘부터 간판(MAC)만 새 걸로 바뀌었으니 제발 새 식당으로 찾아와 주세요!"**라고 멱살 잡고 수첩을 고쳐주는 눈물겨운 이사 공지입니다.