본문으로 건너뛰기

ARP 프로토콜에 대해서 설명해주세요.

ARP(Address Resolution Protocol, 주소 결정 프로토콜)은 네트워크 상에서 IP 주소를 물리적 네트워크 주소로 대응(bind)시키기 위해 사용되는 프로토콜이다. 여기서 물리적 네트워크 주소는 이더넷 또는 토큰링의 48비트 네트워크 카드(NIC) 주소를 뜻한다.

ARP는 Address Resolution Protocol의 약자로 IP 주소를 MAC 주소와 매칭 시키기 위한 프로토콜이다. ARP를 사용하는 이유는 로컬 네트워크(LAN, Local Area Network)에서 단말과 단말 간 통신을 하기 위해서는 IP 주소와 함께 MAC 주소를 이용하게 되는데, IP 주소를 MAC Address와 매칭하여 목적지 IP의 단말이 소유한 MAC 주소를 향해 제대로 찾아가기 위함이다.

왜 IP 주소를 MAC 주소로 매칭해야할까? 그 이류를 알기 위해서는 LAN과 MAC 주소에 대해서 알아야 한다.

LAN(Local Area Network)

ARP Request가 미치는 영역

근거리 통신망, 로컬 네트워크, 구내 정보 통신망은 네트워크 매체를 이용하여 집, 사무실, 학교 등의 건물과 같은 가까운 지역을 묶는 컴퓨터 네트워크이다.

같은 IP 대역을 공유하는 LAN에서 단말간 통신을 하기 위해, 다시 말해 Layer 2에서의 통신에서 사용자는 IP 주소를 목적지로 지정하지만 실제로는 MAC 주소를 이용해 목적지를 찾는다. 이에 IP 주소와 MAC 주소를 매칭하기 위해 ARP가 사용된다는 것을 의미한다. 아래 그림에 중앙에 하나의 L2 스위치를 두고 컴퓨터들을 연결하여 LAN을 구성한 것을 볼 수 있다.

위의 구성에서 PC0(192.168.1.1)이 PC1(192.158.1.2)와 통신을 하기 위해서 사용자는 목적지를 192.168.1.2로 잡지만 실제 목적지는 PC1의 IP 주소와 함께 MAC 주소를 목적지로 지정하고 이를 활용해 전달한다.

MAC 주소란?

데이터 링크 계층에서 통신을 위한 네트워크 인터페이스에 할당된 고유 식별자로 Network Interface Card(NIC)를 가진 단말이라면 공장에서 출고될 때 부여되고 평생 사용하는 고유한 주소이다. 즉 LAN에서 목적지와 통신하기 위한 실질적인 주소가 바로 MAC 주소이다.

네트워크 장비 혹은 컴퓨터가 갖는 Network Interface Card마다 MAC 주소를 갖는다. 그리고 LAN에서는 IP 주소를 MAC주소에 매칭하여 통신한다.

ARP

단말간 통신에서 양쪽 단말은 IP를 이용하여 목적지를 지정하지만 실제 데이터 이동을 위해 MAC 주소를 함께 이용한다. 이를 위해 필요한 것이 바로 ARP이며 IP 주소와 MAC 주소를 일대일 매칭하여 LAN(Layer2)에서 목적지를 제대로 찾아갈 수 있도록 돕는다. IP 주소와 MAC 주소를 일대일 대응하여 테이블로 정리하고 목적지 IP에 맞는 목적지 MAC 주소로 전달한다. 이것을 ARP 테이블이라고 한다.

ARP 프로토콜이란, 소프트웨어적으로 할당된 논리 주소인 IP 주소(L3, 네트워크 계층)를 실제적인 물리주소인 MAC 주소(Media Access Control / L2, 데이터 링크 계층)으로 바꾸어주는 역할을 하는 주소 해석 프로토콜을 의미한다.

반대로 MAC 주소를 가지고 IP 주소를 알아내는 프로토콜은 RARP 프로토콜이라고 한다.

Reference