[네트워크] MAC주소와 ARP(Address Resolution Protocol)란? | MAC 주소의 필요성

MAC 주소란?

IP 주소는 네트워크 계층(Network Layer)에서 사용되는 주소다. 반면 MAC 주소는 데이터 링크 계층(Data Link Layer)에서 사용되는 주소로, LAN(Local Address Network)에서 목적지와 통신하기 위한 실질적인 주소이다. 

 

MAC 주소 예시 : 1A-2F-BB-76-09-AD

MAC 주소는 위 예시처럼 48bit의 16진수를 사용한다. MAC 주소는 유일성을 위해 IEEE(전기 전자 기술자 협회)에서 관리하고 할당한다. 따라서 모든 네트워크 장비 혹은 컴퓨터는 NIC(Network Interface Card)에 고유한 MAC 주소를 가지고 있다. 

 

 

MAC 주소의 필요성

그런데 IP 주소가 있는데 MAC 주소가 따로 필요한 이유는 무엇일까? IP 주소는 논리적 주소이며 MAC 주소는 물리적 주소이다. IP 주소가 마치 배송지 주소라면, MAC 주소는 주민번호라고 할 수 있다. 같은 IP 주소더라도 MAC 주소가 다르면 구별할 수 있게 되는 것이다. 그렇다면 IP 주소 대신 MAC 주소만 사용하면 되는 것 아니냐?라고 물을 수도 있다.

 

만약 IP 주소대신 MAC 주소만 사용한다면, 라우팅 테이블에 너무 많은 정보가 기록되어 다운되고 말 것이다. 따라서 IP 주소와 MAC 주소 모두를 이용하는 것이 가장 효율적이다. 자세한 내용은 아래 ARP 내용을 참고하자.

 

ARP(Address Resolution Protocol)란?

ARP(주소 결정 프로토콜)는 네트워크 상에서 IP 주소를 물리적 네트워크 주소(MAC 주소)로 대응시키기 위해 사용되는 프로토콜이다. 즉, ARP는 IP 주소와 MAC 주소를 일대일 매칭 시켜 LAN에서 목적지를 찾아갈 수 있도록 하는 프로토콜이다. IP주소와 MAC 주소를 일대일 대응하여 정리한 테이블을 ARP Table이라고 한다. 

 

ARP Table 생성 과정

ARP Table 1
[그림 1] ARP Table 생성 과정

[그림 1]과 같은 상황에서 A가 B에게 데이터를 전송하고 싶다고 하자. A는 B의 IP 주소는 알지만, MAC 주소를 몰라 데이터를 보내지 못하고 있다. 이때 ARP를 진행하여 ARP Table을 생성하면 B의 IP 주소와 MAC 주소를 기록해 둘 수 있다.

 

ARP query 브로드캐스팅
[그림 2] ARP query 브로드캐스팅

A는 B의 IP 주소는 알지만 MAC 주소를 모르기 때문에 B의 IP 주소 등을 담은 ARP query를 브로드캐스팅 한다. 즉, LAN 안의 모든 호스트가 ARP query를 받게 된다. 

 

ARP Request
[그림 3] ARP Request

ARP query를 받은 호스트들은 ARP query에 들어있는 IP 주소와 자신의 IP를 비교하여 동일하다면 응답하게 된다. 즉, B가 ARP Request에 자신의 MAC 주소를 담아 A로 유니캐스팅하게 된다. ARP request를 받은 A는 ARP Table에 B의 IP 주소와 MAC 주소를 대응시켜 저장해 놓는다. 이후 A는 B에게 데이터를 전송할 때 ARP Table의 MAC 주소를 이용하게 된다.

 

 

반응형

댓글

Designed by JB FACTORY