본문 바로가기
네트워크엔지니어의 삶/네트워크 이론

네트워크 기초 - MAC Address, ARP, RARP

by └HR┐ 2022. 6. 15.

MAC이란 Media Access Control의 약자로서 네트워크 통신을 하는 하드웨어에 할당된 주소로, 원칙적으로는 세상에 있는 모든 장비가 가진 고유한 물리 주소입니다. 
쉽게 '컴퓨터 간 데이터를 전송하기 위해 있는 컴퓨터의 물리적 주소' 이해하면 되겠습니다.


IP주소가 네트워크 주소라면 MAC 주소는 하드웨어 주소(Hardware Address)물리적 주소(Physical Address)이더넷 주소(Ethernet Address)로도 불립니다. 
우리가 흔히 알고 있는 IP주소간의 통신은 사실, 각 스위치나 라우터 hop에서 일어나는 MAC 주소의 통신의 연속적인 과정이라고 볼 수 있습니다. 
 원칙적으로는 고유한 물리 주소라고 했지만 실제로는 중복된 맥 주소가 존재하며, 맥 주소를 변경 가능한 네트워크 장비도 있습니다. 하지만 맥 주소를 사용해서 통신을 하는 동일 링크 내에서는 고의적으로 설정을 변경하지 않는 이상 맥 주소가 서로 충돌하는 경우는 없습니다.
다른 포스팅에서 자세히 다루겠지만 네트워크 공부를 할때 빼놓을 수 없는 것이 바로 OSI 7 계층에 대해서 많이 공부를 해야 될 텐데 MAC 주소가 바로 2 계층인 데이터링크 계층에서 사용되고, IP주소는 3 계층인 네트워크 계층에서 사용되는데, 데이터링크 계층(2 계층)에서 문제없이 동작을 해야, 결국 네트워크 계층(3 계층)에서도 통신이 가능하다는 것입니다.
그렇기 때문에 IP주소가 네트워크주소라면 MAC 주소는 하드웨어 주소(Hardware Address), 물리적 주소(Physical Address), 이더넷 주소(Ethernet Address)로도 불립니다. 

맥 주소는 12자리 문자열로서 48비트로 표현이 되고 보통은 16진수로 표현합니다. 예를 들어서 02:46:8A:CE:00:FF또는 02-46-8A-CE-00-FF, 0246.8ACE.00FF 와 같이 표기됩니다. 처음 6자리는 어댑터 제조 업체를 나타내고 마지막 6자리는 해당 특정 어댑터의 고유 식별 번호를 나타냅니다.

48비트의 맥 주소 중에 24비트는 제조사 코드, 나머지 24비트는 일렬번호로 구성합니다.



왜 MAC 주소가 필요할까?

MAC 주소는 맨 처음에도 설명했듯이 하드웨어에 할당된 주소로 네트워크 장비뿐만 아니라 세상에 있는 모든 장비가 가진 고유번호, 그 하드웨어만 가지고 있는 식별번호, 하드웨어를 구분가 위한 주소입니다.
사람으로 따지면 주민등록번호 같은 느낌입니다.
IP 주소가 먼 곳에 있는 곳과 통신을 하고 싶을때 IP만 보고 컴퓨터인지 스위치인지 어떤 장비인지 확실하게 보증을 할 수가 없고, IP주소는 변동 가능성이 높기 때문에 절대 변하지 않는 그 기계의 고유 주소 번호가 필요한데 그게 바로 맥 주소라는 것입니다.

맥 주소가 하드웨어에 할당된 주소인데 네트워크 통신을 할 때에는 IP주소를 사용합니다. 그렇게되면 맥 주소는 필요 없는 것처럼 보입니다. "맥 주소는 왜 필요한가???"라는 의문이 생깁니다. 네트워크 통신간에는 IP주소만 가지고 통신을 하는 것처럼 보이지만 실제로 마지막에는 맥 주소가 필요합니다. 이는 TCP/IP와 OSI 7 Layer라는 통신표준에서 설계되어 있는 대로 통신이 진행되기 때문인데 통신 표준에 맞게 단계별로 진행될 때, 아이피 주소에서 맥 주소로 변환되는 과정을 거칩니다. 이것을 ARP(Address Resolution Protocol)라고 부릅니다.

그렇다면 ARP는 무엇인가?


쉽게 '논리적인 주소를 물리적인 주소로 변환시켜 주는 프로토콜이다'
여기서 말하는 논리적인 주소는 바로 IP Address, 물리적인 주소는 MAC Address입니다.

통신에서 양쪽 단말은 IP를 이용하여 목적지를 지정하지만 실제 데이터 이동을 위해 MAC 주소를 함께 이용한다고 위에서 설명을 했었는데, 이를 위해 필요한 것이 바로 ARP(Address Resolution Protocol)이며 IP주소와 MAC주소를 일대일 매칭 하여 2 계층에서 목적지를 제대로 찾아갈 수 있도록 도와줍니다.
IP주소와 MAC주소를 일대일 대응하여 테이블로 정리하고 목적지 IP에 맞는 목적지 MAC 주소로 전달하는 것을 우리는
ARP Table이라고 부릅니다.

ARP가 동작하는 순서로는

1. ARP 요청
 - 본인의 출발지MAC + 출발지 IP + 목적지 IP의 정보로 네트워크에 연결되어 있는 장비(PC)로 ARP 요청을 브로드캐스트(Broadcast) 시킵니다.

2. ARP 수신
- 같은 네트워크에 연결 된 장비(PC)들이 프레임을 수신한 뒤 논리 IP와 맞지 않는 PC들은 프레임을 버리고 맞는 PC들은 응답을 보냅니다.

3. ARP 응답 (Reply)
- 논리 IP가 맞는 PC가 송신자에게 본인의 맥주소를 추가해서 응답을 보내게 됩니다. 응답을 보낼 때는 브로드캐스트가 아닌 유니캐스트로 보내게 됩니다.


RARP (Reverse Address Resolution Protocol)

반대로 MAC주소를 IP주소로 변환하는 프로토콜입니다.
ARP의 반대 과정을 거친다고 하여 Reverse가 붙어 RARP라고 하는데, RARP는 동작이 되려면 별도의 RARP서버가 존재해야 하는데, 자신의 IP를 모를 때 RARP를 사용합니다. 

RARP의 동작
1. 본인 PC의 IP를 모르는 상태에서 IP를 요청하는 RARP 요청을 브로드캐스트로 보낼때 자신의 MAC 주소를 같이 보내게 됩니다.

2. RARP 서버는 요청한 PC의 IP 주소를 담은 RARP 응답 메세지를 만들어 PC에게 전송합니다.

댓글