ARP와 IP-MAC 주소 해석: 로컬 네트워크 통신의 출발점

ARP의 주소 해석 과정과 캐시, 패킷 구조를 정리하고 스푸핑·캐시 포이즈닝 위험 및 네트워크 대응 방안을 설명한다.

2026-08-14 · 최초 발행 2025-08-10

IP 패킷이 MAC 주소를 찾는 방식

ARP(Address Resolution Protocol)는 RFC826에서 정의된 네트워크 계층 프로토콜이다. IP 네트워크에서 패킷을 전송하려면 목적지 IP 주소에 대응하는 MAC(Media Access Control) 주소를 알아야 하며, ARP가 이 주소 해석을 맡는다.

즉, 네트워크 계층의 논리 주소인 IP를 데이터 링크 계층의 물리 주소인 MAC으로 매핑해 실제 프레임 전송이 가능하도록 한다.

캐시 조회부터 패킷 전송까지

호스트는 먼저 ARP 캐시 테이블에서 대상 IP의 MAC 주소를 찾는다. 항목이 없으면 네트워크 전체에 ARP Request를 브로드캐스트한다. 해당 IP를 가진 호스트는 자신의 MAC 주소를 담은 ARP Reply를 유니캐스트로 돌려보내고, 요청 호스트는 그 결과를 캐시에 저장한 뒤 데이터 패킷을 전송한다.

호스트B (IP: 192.168.1.20)네트워크호스트A (IP: 192.168.1.10)호스트B (IP: 192.168.1.20)네트워크호스트A (IP: 192.168.1.10)캐시에 없음ARP Cache 확인 (192.168.1.20의 MAC 주소?)ARP Request 브로드캐스트"IP 192.168.1.20의 MAC 주소는?"ARP Request 수신ARP Reply 유니캐스트"내(192.168.1.20) MAC 주소는 00:1A:2B:3C:4D:5E"ARP Cache 업데이트데이터 패킷 전송

ARP 캐시는 이미 확인한 주소를 보관한다

ARP 캐시는 해석이 끝난 IP-MAC 매핑을 임시로 저장하는 테이블이다. 같은 대상과 다시 통신할 때 요청과 응답을 반복하지 않도록 해 네트워크 통신 효율을 높인다. 항목은 TTL(Time to Live) 동안 유지되며, 시간이 지나면 삭제된다.

Windows에서는 arp -a로 현재 ARP 캐시를 확인할 수 있다.

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

프레임에 담기는 ARP 주소 정보

ARP 패킷은 하드웨어와 프로토콜 종류, 주소 길이, 요청 또는 응답 여부, 송신자와 대상의 주소 정보를 담는다.

ARP 패킷 구조하드웨어 타입(2바이트)프로토콜 타입(2바이트)하드웨어 주소 길이(1바이트)프로토콜 주소 길이(1바이트)연산코드(2바이트)1=요청, 2=응답발신자 하드웨어 주소(6바이트)발신자 프로토콜 주소(4바이트)대상 하드웨어 주소(6바이트)대상 프로토콜 주소(4바이트)

하드웨어 타입은 일반적으로 1(이더넷)이며, 프로토콜 타입은 일반적으로 0x0800(IPv4)이다. 연산코드 1은 ARP Request, 2는 ARP Reply를 뜻한다. 하드웨어 주소는 MAC 주소로 6바이트이고, 프로토콜 주소는 IPv4 기준으로 4바이트다.

같은 LAN과 다른 네트워크에서의 차이

같은 LAN에서 호스트 A(192.168.1.10)가 호스트 B(192.168.1.20)로 데이터를 보내려는데 캐시에 B의 MAC 주소가 없다면, A는 192.168.1.20의 MAC 주소를 묻는 ARP Request를 브로드캐스트한다. B는 자신의 MAC 주소를 담은 ARP Reply를 A에 유니캐스트하고, A는 이를 캐시에 저장한 뒤 B로 데이터를 보낸다.

반면 호스트 A(192.168.1.10)가 다른 네트워크의 호스트 C(10.0.0.5)와 통신할 때는 라우팅 테이블을 통해 게이트웨이(192.168.1.1)로 보내야 한다는 점을 먼저 확인한다. 이때 ARP로 해석하는 대상은 C가 아니라 게이트웨이의 MAC 주소다. IP 목적지는 C로 유지하지만, 프레임은 게이트웨이의 MAC 주소로 전송되고 게이트웨이가 C의 네트워크로 패킷을 라우팅한다.

위조된 ARP 응답이 만드는 위험

ARP는 설계 당시 보안을 고려하지 않았기 때문에 IP-MAC 매핑을 조작하는 공격에 취약하다.

ARP 스푸핑(ARP Spoofing)은 공격자가 위조된 ARP Reply를 보내 트래픽을 가로채는 방식이다. MAC 주소와 IP 주소의 매핑을 바꿔 중간자 공격(MITM)을 수행할 수 있다.

게이트웨이 (192.168.1.1)공격자 (192.168.1.30)희생자 (192.168.1.10)게이트웨이 (192.168.1.1)공격자 (192.168.1.30)희생자 (192.168.1.10)위조된 ARP Reply"게이트웨이(192.168.1.1)의 MAC은 공격자의 MAC"위조된 ARP Reply"희생자(192.168.1.10)의 MAC은 공격자의 MAC"게이트웨이로 가는 모든 패킷수정된 패킷 전달희생자로 가는 모든 패킷수정된 패킷 전달

ARP 캐시 포이즈닝(ARP Cache Poisoning)은 대상 시스템의 ARP 캐시에 잘못된 MAC 주소를 주입하는 공격이다. 특히 Wi-Fi 같은 공유 네트워크에서 위험성이 높다.

대응은 여러 계층에서 이뤄진다. VLAN 또는 물리적 네트워크 분리로 브로드캐스트 도메인을 줄이고, 정적 ARP 항목과 802.1X 같은 포트 기반 인증을 적용할 수 있다. IPsec, SSL/TLS를 이용한 통신 암호화와 ARP 패킷 무결성 검증 메커니즘도 고려 대상이다. ARP 트래픽을 모니터링하고 비정상 패킷 탐지 시스템 및 IDS/IPS로 스푸핑을 탐지하는 운영 체계도 필요하다.

ARP를 확장하거나 대신하는 방식

RARP(Reverse Address Resolution Protocol)는 MAC 주소는 알지만 IP 주소를 모를 때 사용했다. 디스크가 없는 워크스테이션이 부팅 시 IP 주소를 얻는 용도였으며, 현재는 DHCP로 대체됐다.

Gratuitous ARP는 송신자와 대상이 같은 IP 주소인 ARP 패킷이다. IP 주소 중복 확인과 ARP 캐시 갱신에 쓰이며, 장비 이중화(HA) 환경에서 가상 IP를 전환할 때도 사용한다.

Proxy ARP에서는 라우터가 다른 네트워크의 호스트를 대신해 ARP Request에 응답한다. 서브넷 마스크 없이도 호스트 간 통신이 가능하지만 일부 보안 위험이 있어 기본적으로 비활성화되는 추세다.

주소 해석을 이해해야 할 운영 지점

ARP는 IP 주소와 MAC 주소를 연결해 데이터 전송을 성립시키는 기본 프로토콜이다. 캐시 동작, 로컬 통신과 게이트웨이 경유 통신의 차이, 그리고 매핑 조작 공격의 가능성을 함께 이해해야 네트워크 문제를 진단하고 안전한 구성을 설계할 수 있다. 최신 네트워크 보안 솔루션에는 ARP 관련 공격 방어 기능이 포함된다.

ARP네트워크MAC 주소IP 주소네트워크 보안