ARP란 무엇인가?   

 

 ARP(Address Resolution Protocol)목적지 컴퓨터의 IP 주소를 이용하여 MAC 주소를 찾기 위한 프로토콜이다. 이더넷 프레임을 전송하려면 목적지 컴퓨터의 MAC 주소를 알아야 하는데 출발지 컴퓨터가 목적지 MAC 주소를 알아내기 위해 네트워크에 브로드캐스트하는데 이것을 ARP 요청(ARP Request)라고 한다. 

 

 여기서 브로드캐스트(Broadcast)는 출발지 컴퓨터에 연결된 모든 컴퓨터에 요청을 보내는 방식을 말한다. 이 요청에 대해 지정된 IP 주소를 가지고 있지 않은 컴퓨터는 응답하지 않고 지정된 IP 주소를 가지고 있는 컴퓨터는 MAC 주소를 응답으로 보낸다. 이것을 ARP 응답(ARP Response)라고 한다. 이 때에는 유니캐스트를 사용한다.  유니캐스트(Unicast)는 자신의 MAC 주소와 목적지의 MAC 주소를 첨부하여 전송하는 방식을 말한다. 

 

 ARP 응답으로 출발지 컴퓨터는 MAC 주소를 얻게 되고 이더넷 프레임을 만들 수 있게 된다. 또한, 출발지 컴퓨터는 MAC 주소와 IP 주소의 매칭 정보를 메모리에 보관하는데 이를 ARP 테이블(ARP Table)이라고 한다. 이후 데이터 통신은 자신의 컴퓨터에 보관된 ARP 테이블을 참고하여 전송한다. 

 

 하지만 IP 주소가 변경되면 해당 MAC 주소도 함께 변경되므로 제대로 통신할 수 없다. 따라서 ARP 테이블에서는 보존 기간을 ARP 캐시로 지정하고 일정 기간이 지나면 삭제하고 다시 ARP 요청을 한다.

 

 윈도우에서 ARP 캐시의 내용을 확인하려면 cmd 창에서 arp -a 명령어를 사용하면 되고 ARP 캐시를 강제로 삭제하려면 arp -d 명령어를 사용하면 된다. 

 

 

[정리]

 

  1. ARP: 네트워크 계층 주소와 데이터 링크 계층 주소 사이의 변환을 담당하는 프로토콜이며 IP 주소를 물리 주소인 MAC 주소로 변환하는데 사용한다.
  2. ARP 캐시: 가장 최근에 변환한 IP와 하드웨어 주소(MAC 주소)를 매핑하려 보관하고 있는 램의 한 영역이다.
  3. ARP 요청: IP 주소를 대치할 수 있는 물리 주인 MAC 주소를 찾아내기 위해 보내는 브로드캐스트 패킷 요청이다.
  4. ARP 응답: ARP 요청에 대한 응답으로 요청한 IP 주소에 대한 물리 주소인 MAC 주소가 실려 있는 유니캐스트 패킷 응답이다.