ARP란?
ARP는 "Address Resolution Protocol"의 약어로, 네트워크에서 IP 주소를 물리적인 MAC 주소로 대응시키기 위해 사용되는 프로토콜이다. ARP는 주로 이더넷과 같은 로컬 네트워크에서 작동하며, IP 주소를 사용하여 특정 디바이스의 물리적인 MAC 주소를 찾는 역할을 한다. 간단하게 말하면, ARP는 네트워크 디바이스가 다른 디바이스의 IP 주소를 알고 있을 때, 해당 IP 주소에 대응되는 MAC 주소를 찾아내기 위해 사용된다. 이는 데이터 프레임을 전송할 때, 목적지의 물리적인 주소를 알아내기 위한 중요한 단계이다.
ARP의 역사
ARP (Address Resolution Protocol)는 초기 네트워크 프로토콜의 하나로서, 초기 이더넷 환경에서 IP 주소와 MAC 주소 간의 해상도를 수행하기 위해 도입되었다. ARP 프로토콜은 1982년에 David C. Plummer에 의해 제안되었으며, 이에 대한 설명은 "An Ethernet Address Resolution Protocol" (RFC 826)로 처음 공식화되었다. 초기 ARP는 로컬 이더넷 네트워크에서의 호스트 간의 IP 주소와 MAC 주소 간의 매핑을 수행하기 위해 설계되었다.ARP는 초기에는 주로 이더넷과 같은 매체에서 사용되었지만, 이후에는 다양한 네트워크 프로토콜에서의 사용을 위해 확장되었다. 예를 들어, RFC 903은 ARP를 802.2 및 802.3 네트워크와 같은 다른 네트워크 표준에 대한 확장으로 소개했다. 이 후 ARP의 기능은 Proxy ARP와 같은 확장을 통해 더욱 향상되었다. Proxy ARP는 네트워크 상에서 라우터가 대신 호스트에게 ARP 응답을 제공하는 방식으로 동작한다. ARP는 계속해서 네트워크 기술의 진보에 맞추어 발전해왔다. Gratuitous ARP, Reverse ARP, Proxy ARP와 같은 다양한 확장이나 변종이 나타났고, ARP 캐시 중독에 대한 보안 문제를 해결하기 위한 방법들도 등장했다. ARP는 스푸핑(Spoofing)과 같은 보안 취약성을 가지고 있다. 이에 대한 대응책으로서 Secure ARP (SARP)와 같은 개선된 프로토콜이나 보안 솔루션이 도입되었다.
ARP 작동 방식
- ARP 요청 (ARP Request): 디바이스가 특정 IP 주소에 대응되는 MAC 주소를 알고 싶을 때 ARP 요청을 브로드캐스트한다. 이 요청에는 찾고자 하는 IP 주소가 포함되어 있다.
- ARP 응답 (ARP Reply): 네트워크 상에 있는 모든 디바이스가 ARP 요청을 받지만, 요청에 대한 응답은 해당 IP 주소에 대응되는 디바이스만이 전송한다. 이 응답에는 찾고자 하는 IP 주소에 대응되는 MAC 주소가 포함되어 있다.
- ARP 캐시 (ARP Cache): ARP 응답을 받은 디바이스는 이 정보를 ARP 캐시에 저장합니다. ARP 캐시는 향후 동일한 요청을 피하기 위해 사용된다.
ARP는 로컬 네트워크에서의 효율적인 통신을 위해 중요한 프로토콜 중 하나이며, 이더넷이나 Wi-Fi와 같은 매체에서 특히 유용하다.