스푸핑 vs 스니핑 vs 스누핑 글을 썼을 때도 언급된 ARP에 대해 한번 알아보자
우리는 통신할 때 목적지 IP 주소를 사용한다.
하지만 실제 데이터를 주고받는 2계층에서는 물리적 주소인 MAC 주소가 반드시 필요하다.
이때 논리적인 IP 주소를 물리적인 MAC 주소로 대응 시켜주는 프로토콜이 바로 ARP다.
왜 ARP가 필요한가?
IP 주소는 유동적이지만 MAC 주소는 하드웨어 고유의 변하지 않은 주소다.
IP 주소는 목적지 네트워크까지의 경로를 찾아가는 내비게이션 역할을 하고,
MAC 주소는 같은 네트워크 대역 내에서 실제 장비를 찾아가는 상세 주소 역할을 하기 때문이다.
반대로 MAC 주소를 가지고 IP 주소를 알아내는 프로토콜은 Reverse ARP=RARP라고 부른다.
ARP의 동작 원리
1. ARP Request ( 브로드캐스트 )
송신자는 목적지의 IP는 알지만 MAC 주소를 모를 때, 네트워크 전체에 뿌려줍니다.
이 IP 주소 가진 사람 누구니? 브로드 캐스트로, 그래서 아닌 사람은 그냥 나 아닌데~ 하고 그냥 넘어가는 거죠
목적지 MAC 주소를 FF-FF-FF-FF-FF-FF로 설정하여 모두에게 패킷을 보냅니다.
2. ARP Reply (유니캐스트)
해당 IP를 가진 장비만, 그거 난데? 내 MAC 주소는 이거야.라고 응답하겠죠?
그러면 이제 서로 정보를 다 아니깐 요청한 사람에게만 직접 보내는 유니캐스트 방식을 사용하면 됩니다.
굳이 브로드캐스트 방식으로 보내서 모든 사람이 알 필요 없습니다.
ARP 패킷 구조 뜯어보기
오늘 마침 와이어샤크로 실습을 해봤습니다.

패킷의 상세 정보를 펼쳐봤습니다.
Opcode: Request (1) : 이 패킷이 주소를 묻는 요청 패킷입니다. 응답일 때는 (2)로 바뀝니다.
Sender MAC/IP address: 요청을 보낸 장비의 주소다.
Target Ip address: 목적지의 IP 주소다.
Target Mac address: 여기 보시면 MAC 주소를 모르기 때문에, 모든 값이 0으로 채워져 있습니다. 여기 채우기 위해서 ARP 하는 거죠
네트워크 환경에 따른 차이
동일 네트워크 대역: PC가 직접 브로드캐스트를 날려 상대방의 MAC 주소를 알아내고 통신
다른 네트워크 대역(외부망): 상대방이 다른 네트워크에 있다면 브로드캐스트는 X,
이때는 목적지 IP를 향해 가기 위해 게이트웨이의 MAC 주소를 찾는 ARP 과정을 거치게 된다.
예를 들어, 내가 우리 반 사람들한테 얘기할 땐 그냥 얘기하면 되는데,
다른 반 사람들한테 얘기하려면 문을 통해서 나가야 되기 때문에, 그 문을 게이트웨이라고 생각하면 됩니다.
즉, 외부 통신 시에는 라우터를 통해 단계적으로 전달된다.
ARP 테이블 확인하기

cmd 창에서 arp -a 명령어로 확인한 결과는 내 컴퓨터의 주소록과 같다.
인터넷 주소: 통신한 상대방의 IP 주소
물리적 주소: 해당 IP에 대응하는 상대방의 MAC 주소
유형: 동적은 ARP 요청을 통해 자동으로 알아낸 정보고, 정적은 관리자가 고정했거나 시스템 기본 주소
위에 와이어 샤크 패킷에서 봤던 192.168.5.1의 MAC 주소가 테이블에 동적으로
잘 저장된 것을 확인할 수 있다.
이론으로만 배우던 것을 실습을 통해 직접 하니깐 더 이해가 잘 되고 재밌다.
'Infra > 네트워크' 카테고리의 다른 글
| 트랜스패런트 브리징(Transparent Bridging)이란? (0) | 2026.01.19 |
|---|---|
| 패킷 트레이서(Packet Tracer)란? (0) | 2026.01.15 |
| 서브넷의 모든 것: 핵심 요약과 실전 기출 풀이 (0) | 2025.12.02 |
| 주소창에 맨날 치는 URL, 도대체 무슨 뜻일까? (0) | 2025.11.20 |
| TCP vs UDP & 가상회선 vs 데이터그램 (0) | 2025.10.23 |