컴퓨터 네트워크에서 두 장치가 데이터를 주고받기 위해서는 논리적 주소인 IP 주소만으로는 충분하지 않다. 실제로 이더넷 프레임이 전달되는 과정에서는 물리적 주소인 MAC 주소가 반드시 필요하며, 이 두 계층 간의 간극을 메워주는 역할을 하는 것이 바로 ARP(Address Resolution Protocol, 주소 결정 프로토콜)이다. 본 글에서는 ARP가 네트워크 통신에서 어떤 위치를 차지하는지, IP 주소가 MAC 주소로 변환되는 구체적인 과정은 어떠한지, 그리고 이 과정에서 발생할 수 있는 보안상의 문제와 관리 방법까지 체계적으로 살펴본다.

▍ 네트워크 통신에서 주소 체계가 이중으로 존재하는 이유
인터넷 프로토콜 스택은 여러 계층으로 구성되어 있으며, 각 계층은 서로 다른 목적을 위해 고유한 주소 체계를 사용한다. 네트워크 계층에서 사용되는 IP 주소는 논리적인 주소로서, 서로 다른 네트워크 사이의 경로를 찾아가는 라우팅에 특화되어 있다. 반면 데이터 링크 계층에서 사용되는 MAC 주소는 네트워크 인터페이스 카드(NIC)에 물리적으로 할당된 고유 번호로, 동일한 네트워크 세그먼트 내에서 실제 프레임을 전달하는 데 사용된다.
이러한 이중 구조가 존재하는 이유는 각 계층이 담당하는 역할이 다르기 때문이다. IP 주소는 네트워크 관리자나 DHCP 서버에 의해 상대적으로 유연하게 할당되고 변경될 수 있는 반면, MAC 주소는 제조 단계에서 하드웨어에 고정적으로 부여되는 값이다. 결과적으로 목적지 장치까지 데이터를 전달하기 위한 경로는 IP 주소를 기준으로 결정되지만, 실제로 같은 네트워크 안에서 프레임을 물리적으로 전달하는 마지막 단계에서는 반드시 MAC 주소가 요구된다. 이 지점에서 논리 주소를 물리 주소로 연결해주는 매개체가 필요해지며, 그 역할을 수행하는 프로토콜이 ARP이다.
▍ ARP의 정의와 기본 개념
ARP는 동일한 네트워크 세그먼트 내에서 특정 IP 주소를 가진 장치의 MAC 주소를 알아내기 위해 사용되는 프로토콜이다. 엄밀히 말하면 ARP는 IP 주소를 MAC 주소로 직접 '변환'하는 연산을 수행하는 것이 아니라, 네트워크 상에 존재하는 다른 장치들에게 질의를 보내어 해당 IP 주소에 대응하는 MAC 주소를 실제로 찾아내는 과정에 가깝다. 즉 ARP는 일종의 주소 해석(resolution) 절차이며, 이 표현이 프로토콜의 명칭에도 그대로 반영되어 있다.
ARP는 OSI 7계층 모델에서 정확히 하나의 계층에만 속한다고 보기 어려운 특수한 위치에 있다. 통상적으로는 데이터 링크 계층과 네트워크 계층의 경계에서 동작하는 프로토콜로 설명되며, 이는 IP라는 네트워크 계층의 논리 주소 정보를 입력으로 받아 이더넷과 같은 데이터 링크 계층의 물리 주소 정보를 출력으로 산출하기 때문이다.
▍ ARP가 IP 주소를 MAC 주소로 해석하는 절차
ARP의 동작 과정은 크게 요청과 응답이라는 두 단계로 구분할 수 있다. 어떤 호스트가 같은 네트워크 안에 있는 다른 장치와 통신을 시작하려 할 때, 목적지의 IP 주소는 알고 있지만 그 장치의 MAC 주소는 아직 모르는 상황이 일반적이다. 이때 호스트는 ARP 요청 패킷을 생성하여 네트워크 전체에 전송한다.
▍ ARP 요청 단계
ARP 요청 패킷은 브로드캐스트 방식으로 전송되며, 목적지 MAC 주소 필드에는 FF:FF:FF:FF:FF:FF라는 브로드캐스트 주소가 기입된다. 패킷의 내용은 대략적으로 "이 IP 주소를 가진 장치는 자신의 MAC 주소를 알려달라"는 의미를 담고 있으며, 요청 패킷에는 요청을 보낸 호스트 자신의 IP 주소와 MAC 주소도 함께 포함된다. 이 브로드캐스트 패킷은 같은 네트워크 세그먼트에 연결된 모든 장치에 전달되며, 각 장치는 패킷을 수신하여 자신이 해당 IP 주소의 소유자인지를 확인한다.
▍ ARP 응답 단계
브로드캐스트로 전송된 요청 패킷을 수신한 여러 장치 가운데, 실제로 요청받은 IP 주소를 보유한 장치만이 응답 패킷을 생성한다. 이 응답 패킷은 브로드캐스트가 아닌 유니캐스트 방식으로, 즉 요청을 보낸 호스트에게만 직접 전송된다. 응답 패킷에는 자신의 IP 주소와 실제 MAC 주소가 담겨 있으며, 이를 수신한 요청 호스트는 비로소 목적지 장치의 MAC 주소를 확보하게 된다.
이렇게 확보된 IP 주소와 MAC 주소의 대응 관계는 요청을 보낸 호스트의 메모리에 있는 ARP 테이블(또는 ARP 캐시)에 일시적으로 저장된다. 이후 동일한 목적지와 통신할 때는 매번 새로운 ARP 요청을 보낼 필요 없이 저장된 테이블 정보를 활용함으로써 네트워크 트래픽과 지연을 줄일 수 있다.

아래는 이 과정을 단계별로 정리한 것이다.

이러한 절차를 거쳐야만 요청 호스트는 목적지 MAC 주소를 이더넷 프레임의 헤더에 기입하여 실제 데이터 전송을 진행할 수 있다.
▍ 내부 네트워크와 외부 네트워크에서 동작 방식의 차이
ARP는 원칙적으로 동일한 브로드캐스트 도메인, 즉 같은 네트워크 세그먼트 안에서만 유효하게 동작한다는 특성을 가진다. 이는 ARP 요청 패킷이 브로드캐스트 방식으로 전송되기 때문인데, 브로드캐스트 패킷은 일반적으로 라우터를 통과하지 못하고 해당 네트워크 내부에서만 전파되기 때문이다.
따라서 통신 대상이 같은 네트워크에 속해 있는 경우에는 목적지 장치의 IP 주소에 대해 직접 ARP 요청을 보내 MAC 주소를 알아낼 수 있다. 그러나 통신 대상이 다른 네트워크, 즉 외부망에 위치한 경우에는 상황이 달라진다. 이 경우 호스트는 외부망에 있는 목적지 장치의 MAC 주소를 직접 요청하는 것이 아니라, 자신이 속한 네트워크의 게이트웨이 역할을 하는 라우터의 MAC 주소를 ARP를 통해 알아낸다. 이후 패킷은 실제 목적지 IP 주소를 유지한 채로 게이트웨이의 MAC 주소를 이더넷 헤더에 담아 전송되며, 게이트웨이는 이 패킷을 다음 경로로 전달하는 역할을 수행한다.
이러한 방식은 라우팅과 ARP의 역할이 서로 다른 계층에서 분업하는 구조를 잘 보여준다. IP 주소는 최종 목적지까지의 논리적 경로를 결정하는 데 사용되고, MAC 주소는 각 구간에서 다음 홉(hop)까지의 물리적 전달을 담당한다.
▍ ARP 테이블의 구조와 캐시 관리 방식
운영체제는 ARP를 통해 알아낸 IP 주소와 MAC 주소의 대응 정보를 매번 새로 요청하지 않도록 일정 시간 동안 메모리에 저장해 둔다. 이 저장소를 ARP 테이블 또는 ARP 캐시라고 부르며, 대부분의 운영체제에서 명령줄 도구를 통해 확인할 수 있다. 윈도우 환경에서는 명령 프롬프트에서 관련 명령을 입력하여 캐시된 항목을 조회할 수 있고, 리눅스 환경에서도 유사한 방식의 명령어를 통해 현재 저장된 ARP 정보를 확인할 수 있다.
ARP 캐시에 저장된 항목은 영구적으로 유지되지 않는다. 일정 시간이 지나면 항목은 자동으로 삭제되며, 이후 해당 IP 주소와 다시 통신할 필요가 생기면 새로운 ARP 요청이 발생한다. 이러한 캐시 만료 정책은 네트워크 환경 변화, 예를 들어 특정 장치의 네트워크 카드가 교체되어 MAC 주소가 바뀌는 상황 등에 대응하기 위한 것이다. 만약 캐시가 영구적으로 유지된다면 실제로는 더 이상 유효하지 않은 주소 정보로 인해 통신 장애가 발생할 수 있다.
캐시 관리 방식과 관련하여, 대규모 네트워크 장비에서는 단순한 시간 기반의 만료 방식 외에도 최근 사용 빈도를 고려한 관리 기법이 함께 활용되는 경우가 있다. 다만 이러한 세부 구현 방식은 장비의 종류와 제조사, 운영체제의 버전에 따라 차이가 있을 수 있으므로 일반화하여 단정하기는 어렵다.

▍ ARP 프로토콜의 보안상 취약점
ARP는 설계 당시부터 인증 절차를 포함하고 있지 않다는 근본적인 한계를 가지고 있다. 즉 네트워크 상의 어떤 장치가 특정 IP 주소에 대한 ARP 응답을 보내오더라도, 요청을 보낸 호스트 입장에서는 그 응답이 실제로 해당 IP 주소를 가진 정당한 장치로부터 온 것인지를 검증할 방법이 마땅치 않다.
이러한 구조적 특성으로 인해 발생할 수 있는 대표적인 공격이 ARP 스푸핑(ARP Spoofing)이다. 공격자는 위조된 ARP 응답 패킷을 네트워크에 전송하여, 특정 IP 주소가 자신의 MAC 주소에 대응한다고 다른 장치들이 잘못 인식하도록 유도할 수 있다. 이렇게 되면 원래 다른 장치로 향해야 할 트래픽이 공격자의 장치를 거쳐가게 되며, 이는 중간자 공격(Man-in-the-Middle Attack)으로 이어질 수 있는 위험 요소가 된다. 공격자는 이 과정에서 통신 내용을 가로채거나, 통신 흐름 자체를 방해하는 것도 가능해진다.
이와 관련하여 네트워크 카드를 프로미스큐어스(Promiscuous) 모드로 설정하면 자신에게 향하지 않은 패킷까지 수신하여 분석할 수 있게 되는데, 이러한 특성은 네트워크 트래픽 분석이나 문제 진단과 같은 정상적인 용도로도 활용되지만, 동시에 스니핑과 같은 부적절한 목적으로 악용될 가능성도 함께 지니고 있다.
▍ ARP 스푸핑에 대한 대응 방안
ARP가 가진 구조적 취약점에 대응하기 위해 몇 가지 방어 기법이 활용되고 있다. 첫째, 동적 ARP 검사(Dynamic ARP Inspection)와 같이 스위치 장비 수준에서 ARP 패킷의 유효성을 검증하는 기능을 도입하는 방법이 있다. 둘째, 중요한 통신 구간에 대해서는 IP 주소와 MAC 주소의 대응 관계를 수동으로 고정하여 등록하는 정적 ARP 설정을 적용할 수 있다. 셋째, 침입 탐지 시스템이나 방화벽과 같은 보안 장비를 통해 비정상적인 ARP 트래픽 패턴을 탐지하고 차단하는 방식도 함께 사용된다.
다만 이러한 대응 방안들은 각각 관리 부담이나 확장성 측면에서 장단점을 지니고 있다. 정적 설정은 소규모 네트워크에서는 효과적일 수 있으나, 장치 수가 많은 대규모 환경에서는 관리가 번거로워질 수 있다. 반면 검사 기능이나 보안 장비를 활용하는 방식은 초기 도입과 설정에 상대적으로 많은 자원이 요구될 수 있다는 점을 고려할 필요가 있다.
▍ ARP와 관련 프로토콜의 비교
ARP를 이해하는 과정에서 함께 언급되는 프로토콜로 RARP(Reverse Address Resolution Protocol)가 있다. RARP는 ARP와 정반대의 방향으로 동작하는 프로토콜로, MAC 주소를 알고 있지만 IP 주소를 모르는 장치가 자신의 IP 주소를 알아내기 위해 사용하던 방식이다. 주로 디스크가 없는 시스템과 같이 자체적으로 IP 주소 설정 정보를 저장할 수 없는 장치에서 활용되었으나, 현재는 DHCP와 같은 보다 발전된 프로토콜이 이러한 역할을 대체하면서 실제 사용 사례는 크게 줄어든 상태이다.
또한 네트워크 진단 과정에서 자주 함께 언급되는 ICMP(Internet Control Message Protocol)와 ARP는 그 목적이 근본적으로 다르다는 점에 유의할 필요가 있다. ICMP는 네트워크 계층에서 오류 보고나 상태 확인과 같은 제어 메시지를 전달하는 데 사용되며, 대표적으로 ping 명령어가 이 프로토콜을 기반으로 동작한다. 반면 ARP는 주소 해석이라는 보다 근본적이고 하위 계층에 가까운 기능을 담당한다는 차이가 있다. 실제로 ping 명령을 실행하면, 목적지의 MAC 주소를 아직 모르는 상태라면 ICMP 요청 패킷을 보내기에 앞서 ARP 요청이 먼저 이루어지는 것이 일반적인 순서이다.

두 프로토콜의 주요 차이를 정리하면 다음과 같다.

ARP 동작을 실제로 확인하는 방법
ARP의 동작 과정은 네트워크 패킷 분석 도구를 통해 직접 관찰할 수 있다. 와이어샤크와 같은 패킷 캡처 도구를 사용하면, 특정 IP 주소에 대한 MAC 주소를 묻는 브로드캐스트 요청 패킷과 이에 대한 응답 패킷을 실시간으로 확인할 수 있다. 이러한 패킷에는 통상적으로 "누가 특정 IP를 가지고 있는가"라는 의미의 요청 문구와, 이에 대응하는 "해당 IP는 이 MAC 주소에 있다"는 응답 문구가 포함되어 나타난다.
운영체제에서 제공하는 기본 명령줄 도구를 통해서도 현재 저장된 ARP 테이블의 상태를 손쉽게 확인할 수 있으며, 필요한 경우 특정 엔트리를 수동으로 추가하거나 삭제하는 것도 가능하다. 이러한 기능은 네트워크 관리자가 특정 장치와의 통신 문제를 진단하거나, 알려진 위협에 대응하기 위해 특정 주소를 고정하는 등의 실무적인 목적으로 활용된다.
ARP를 이해하는 것이 네트워크 관리에 갖는 의미
ARP는 겉으로 드러나지 않는 프로토콜이지만, 사실상 모든 근거리 네트워크 통신의 기반이 되는 핵심적인 절차이다. 웹 브라우징이나 파일 전송과 같이 사용자가 체감하는 모든 네트워크 활동의 이면에는 IP 주소와 MAC 주소를 연결하는 이러한 주소 해석 과정이 끊임없이 이루어지고 있다. 네트워크 장애가 발생했을 때 그 원인을 진단하는 과정에서도 ARP 테이블의 상태를 확인하는 것이 중요한 단서가 되는 경우가 많으며, 특히 특정 장치와의 통신이 간헐적으로 실패하거나 지연되는 문제의 경우 ARP 캐시의 오류나 충돌이 원인일 가능성을 배제할 수 없다.
아울러 정보보안의 관점에서도 ARP는 중요하게 다루어지는 주제이다. 앞서 살펴본 것처럼 ARP 자체는 인증 메커니즘을 갖추고 있지 않기 때문에, 이를 악용한 공격 기법에 대한 이해와 대응 체계 수립은 네트워크 보안의 기본적인 요소로 자리잡고 있다. 네트워크를 설계하거나 운영하는 입장에서는 ARP의 정상적인 동작 원리뿐만 아니라 이를 악용할 수 있는 공격 벡터까지 함께 이해하는 것이 바람직하다.

결론
ARP는 논리적인 IP 주소와 물리적인 MAC 주소 사이의 간극을 메워주는 프로토콜로서, 동일한 네트워크 세그먼트 안에서 브로드캐스트 방식의 요청과 유니캐스트 방식의 응답을 통해 주소 정보를 확보하는 절차를 수행한다. 이렇게 확보된 정보는 일정 시간 동안 ARP 테이블에 저장되어 효율적인 재사용이 가능해지며, 외부 네트워크와의 통신에서는 게이트웨이의 MAC 주소를 매개로 한 라우팅 구조와 결합되어 동작한다.
다만 ARP는 태생적으로 인증 절차가 결여되어 있어 스푸핑과 같은 보안 위협에 노출될 수 있다는 한계를 함께 지니고 있으며, 이를 보완하기 위한 다양한 기술적, 관리적 대응 방안이 병행되어야 한다. 네트워크의 기본 동작 원리를 이해하고자 하는 이들에게 ARP는 반드시 짚고 넘어가야 할 핵심 개념이며, 실제 패킷 분석 도구를 통해 그 동작을 직접 관찰해보는 것도 개념을 명확히 하는 데 도움이 될 수 있다.
'연예이슈' 카테고리의 다른 글
| 정적 라우팅과 동적 라우팅의 차이, 네트워크 환경별 선택 기준을 정리하다 (0) | 2026.07.22 |
|---|---|
| IPv4와 IPv6의 구조적 차이, 그리고 인터넷이 IPv6 전환을 서두르는 이유 (0) | 2026.07.22 |
| IP 주소와 서브넷 마스크의 원리, CIDR 표기법으로 완전히 이해하기 (0) | 2026.07.21 |
| 대칭키와 공개키 암호화 방식의 차이: 원리부터 실무 활용까지 완전 분석 (0) | 2026.07.21 |
| OSI 모델과 TCP/IP 모델 비교로 이해하는 네트워크 통신 과정의 원리 (0) | 2026.07.21 |