ARP 프로토콜은 같은 네트워크 대역에서 통신하기 위해 필요한 MAC 주소를 IP 주소를 이용해서 알아 오는 프로토콜이다.
같은 네트워크 대역에서 통신한다고 하더라도 데이터를 보내기 위해서는 7계층부터 캡슐화를 통해 데이터를 보내기 때문에 IP주소와 MAC 주소가 모두 필요하다.
이때 IP주소는 알고 MAC 주소는 몰라도 ARP를 통해 통신이 가능하다.
A는 B의 IP 주소만을 알고 MAC 주소는 모른다고 가정했을 때 B의 MAC 주소를 알아 오는 과정은 아래와 같다.
A가 B의 MAC 주소를 알아 오기 위해 Ethernet(목적지 MAC 주소: FF FF FF FF FF FF)+ARP(목적지 MAC 주소: 00 00 00 00 00 00)로 구성된 요청 패킷을 2계층 장비인 스위치에 보냄 (Ethernet의 목적지 주소가 FF~FF이기 때문에 브로드캐스트 즉, 연결되어 있는 모든 호스트에게 데이터 전송한다)
요청을 전달받은 스위치는 2계층 장비라서 2계층 프로토콜 "Ethernet"까지만 확인한 뒤 모든 호스트에게 패킷을 전송한다.
모든 호스트는 전달받은 패킷(2계층, 3계층)을 확인하여 본인의 IP주소와 맞는지 확인한다.
주소가 일치하는 B는 목적지 MAC 주소를 입력하여 다시 A에게 데이터를 보낸다.
A는 응답받은 후 ARP 캐시 테이블에 B의 MAC 주소를 저장한다.