ARP (Address Resolution Protocol) 기초
ARP (주소 결정 프로토콜)는 네트워크 계층(3계층)의 IP 주소를 데이터 링크 계층(2계층)의 MAC 주소로 변환하는 데 사용되는 핵심 프로토콜입니다.
라우터와 스위치 같은 네트워크 장비들은 실제로 데이터를 전송할 때 IP 주소가 아닌 MAC 주소를 사용해야 하기 때문에, ARP가 이 변환 과정을 담당합니다.
1. ARP의 작동 원리: 브로드캐스트와 유니캐스트
ARP는 같은 근거리 통신망(LAN) 내에서 작동하며, 주로 두 단계로 주소를 결정합니다.
-
ARP 요청 (ARP Request) - 브로드캐스트:
- 송신 호스트(A)가 "IP 주소 X.Y.Z.W를 가진 장치의 MAC 주소를 알려달라"는 요청 패킷을 브로드캐스트(동일 LAN 내 전체 전송)로 네트워크에 뿌립니다.
- 이 요청 패킷에는 송신 호스트 A의 IP 주소와 MAC 주소가 포함되어 있습니다.
-
ARP 응답 (ARP Reply) - 유니캐스트:
- 네트워크 내의 모든 장치가 이 요청을 수신하지만, 요청된 IP 주소(X.Y.Z.W)를 가진 수신 호스트(B)만이 응답합니다.
- 수신 호스트 B는 자신의 MAC 주소를 포함한 응답 패킷을 송신 호스트 A에게 유니캐스트(A에게만 1:1 전송)로 보냅니다.
-
ARP 테이블 업데이트:
- 송신 호스트 A는 수신 호스트 B의 IP와 MAC 주소 쌍을 ARP 테이블(Cache)에 저장하여 다음번 통신 시에는 요청 과정 없이 빠르게 사용할 수 있도록 합니다.
2. ARP 테이블 (ARP Cache)
ARP 테이블은 IP 주소와 MAC 주소의 매핑 정보를 임시로 저장하는 캐시 메모리입니다.
- 저장 이유: 통신할 때마다 ARP 요청을 브로드캐스트하면 네트워크 부하가 커지므로, 자주 통신하는 주소 정보는 일정 시간(TTL, Time To Live) 동안 보존합니다.
- 확인: 사용자는 운영체제 명령 프롬프트에서
arp -a명령어로 자신의 ARP 테이블 내용을 확인할 수 있습니다.
3. RARP (Reverse ARP)와의 비교
ARP는 IP 주소 $\rightarrow$ MAC 주소를 결정하는 반면, RARP (Reverse ARP)는 반대로 MAC 주소 $\rightarrow$ IP 주소를 결정하는 데 사용됩니다. (현재는 DHCP(Dynamic Host Configuration Protocol)가 이 역할을 주로 대체합니다.)
4. ARP의 보안 문제
ARP는 통신 상대방의 진위 여부를 확인하지 않는 단순한 프로토콜입니다. 이 취약점은 ARP 스푸핑(Spoofing) 공격에 이용될 수 있습니다.