[컴퓨터 네트워크] ARP 프로토콜 개요
네트워크 통신에서 데이터 패킷이 올바른 목적지로 전달되기 위해서는 논리적 주소(IP)와 물리적 주소(MAC) 간의 매핑이 필수적이다. 이 과정을 담당하는 것이 바로 ARP(Address Resolution Protocol)이다. ARP 프로토콜의 동작 원리와 실제 네트워크에서 발생할 수 있는 문제점들에 대해 알아본다.
목차
ARP 프로토콜의 기본 동작 원리
ARP 프로토콜은 IP 주소를 MAC 주소로 변환하는 역할을 한다. 기본 동작 과정은 다음과 같다:
- 호스트 A가 호스트 B에게 데이터를 보내려고 할 때, B의 IP 주소는 알지만 MAC 주소는 모르는 상황이 발생한다.
- 호스트 A는 네트워크에 "IP 주소가 X인 장치는 MAC 주소를 알려주세요"라는 ARP 요청 메시지를 브로드캐스트한다.
- 해당 IP 주소를 가진 호스트 B만 자신의 MAC 주소 정보가 포함된 ARP 응답 메시지를 호스트 A에게 유니캐스트로 보낸다.
- 호스트 A는 이 정보를 ARP 캐시에 저장하고, 이후 통신에 활용한다.
ARP 캐시의 역할과 한계
ARP 캐시는 네트워크 효율성을 위해 중요한 요소다. 매번 ARP 요청을 보내는 것은 네트워크 자원 낭비이므로, 각 호스트는 IP-MAC 매핑 정보를 일정 시간 저장한다. 일반적으로 이 정보는 5-15분 정도 유지된다.
그러나 ARP 캐시에도 한계가 있다:
- 네트워크 장치가 교체되거나
- DHCP가 IP 주소를 재할당하거나
- 네트워크 구성이 변경되면
캐시 정보가 실제 네트워크 상황과 불일치하게 된다.
ARP 캐시 불일치 시 네트워크 처리 과정
ARP 캐시의 정보가 더 이상 유효하지 않은 상황에서는 다음과 같은 일이 발생한다:
- 통신 실패 발생: 오래된 MAC 주소로 패킷을 전송하면 목적지에 도달하지 못한다.
- 재시도 메커니즘: 응답이 없으면 TCP 등 상위 계층에서 타임아웃이 발생하고 재전송을 시도한다.
- 자동 ARP 캐시 갱신: 통신 실패 후 시스템은 캐시를 지우고 새로운 ARP 요청을 전송한다.
- Gratuitous ARP: IP 주소를 새로 할당받은 장치는 자발적으로 정보를 브로드캐스트하여 다른 호스트들의 캐시를 업데이트한다.
사용자 관점에서는 이러한 과정이 일시적인 통신 지연으로 느껴지며, 대부분은 몇 초 내에 자동으로 해결된다.
ARP 관련 보안 이슈와 대응 방안
ARP 프로토콜은 설계 당시 보안보다 기능성에 중점을 두었기 때문에 몇 가지 취약점이 있다. 대표적인 것이 ARP 스푸핑으로, 공격자가 거짓 ARP 응답을 보내 통신을 가로채는 기법이다.
이를 방지하기 위한 방법으로는:
- 중요 서버의 정적 ARP 항목 설정
- DHCP 스누핑(snooping)
- 동적 ARP 검사(DAI)
- 암호화된 통신 사용
등이 있다.
결론
ARP 프로토콜은 TCP/IP 통신의 기본이 되는 중요한 요소다. 비록 완벽하지는 않지만, 네트워크 자가 치유 메커니즘을 통해 대부분의 문제는 자동으로 해결된다. 네트워크 관리자라면 ARP의 동작 원리를 이해하고 발생 가능한 문제점과 해결 방안을 숙지하는 것이 중요하다.