본문 바로가기
Network

맥 주소(MAC Address)

by chichi1 2023. 10. 5.

맥주소란 무엇일까요? 맥주소(MAC Address)란 ‘미디어 엑세스 컨트롤(Media Access Control)’의 약자입니다. 이 전에 우리는 네트워킹이란 서로 연결되어 대화를 주고받는 것이라고 배웠습니다. 대화를 주고받으려면 네트워크상에서 서로를 구분할 수 있어야겠죠.

 

그렇다면 컴퓨터는 네트워크상에서 어떻게 서로를 구분할 수 있을까요? 통신을 위해서는 서로를 구분할 수 있는 일종의 주소가 필요합니다. 우리가 택배를 보내기 위해 각각의 건물이나 집에 서로 다른 주소가 필요한 것처럼 말이죠. 이 역할을 담당하는 것이 바로 MAC주소 입니다.

 

네트워크나 컴퓨터를 조금 아시는 분들이라면 이쯤 어떤 질문 하나가 생각나실 겁니다. 바로 IP주소에 관한 것 말입니다. 여러분들이 아시는 대로 ‘통신을 위해서는 장비마다 IP주소가 배정되고, 그 주소를 사용하여 통신하는 것 아닌가?’하는 의문이 드실 겁니다. 맞습니다. 앞에서 배운 내용처럼 인터넷은 TCP/IP 프로토콜을 사용하여 통신하고 통신을 위해 IP주소를 사용합니다. 그렇다면 인터넷에서는 MAC주소를 사용하지 않을까요? 답은 ‘인터넷에서도 MAC주소를 사용한다’입니다.

 

IP주소만 있으면 통신이 될 것 같지만, 통신이 이루어지는 중간에 IP주소를 MAC주소로 바꾸는 절차가 일어나게 됩니다. 이 과정을 유식하게 표현하면 ARP(Address Resolution Protocol)라고 합니다.

👉 ARP 요청과 응답(단독 네트워크)

[ ARP 요청과 응답(동일 네트워크) ]

위 그림은 ARP(Address Resolution Protocol) 요청과 응답을 설명하는 그림입니다. 뭔가 복잡해 보이고 어려워 보일 수 있지만 차근차근 알아보면 그리 어렵지 않습니다.

 

우선 그림을 보면 PC가 4대 있습니다. 위 그림은 라우터를 거치지 않는 하나의 네트워크 안에서의 통신하려는 상황입니다. (라우터는 별로 신경 쓰실 필요 없습니다) 왼쪽이 Host를 편의상 A라고 칭하겠습니다. A는 192.168.1.20의 IP주소를 가지는 B와 통신을 하려고 합니다.

이때 A는 B의 IP주소를 알고 있습니다. 그러면 A는 자신이 속한 네트워크에 있는 모든 PC에 공지글을 하나 올립니다. ‘우리 동네(네트워크)에 192.168.1.20이라는 주소를 가진 B가 있다면 여기로(A의 MAC주소) 답장 좀!’하고 말이죠. 이것을 브로트캐스트(Broadcast)라고 하는데, 뒤에 조금 더 자세하게 다루도록 하겠습니다.

 

이때 B는 A와 같은 네트워크 안에 있기 때문에 A가 올린 공지글을 보았을 것입니다. 그러면 B는 A에게 자신의 MAC주소를 보내게 되고 A는 B의 MAC주소를 전달받고 난 다음에야 비로소 통신할 수 있게 됩니다.

👉 ARP 요청과 응답(다른 네트워크 간)

[ ARP 요청과 응답(다른 네트워크) ]

이번에는 A와 B가 다른 네트워크에 있는 경우입니다. 즉 라우터를 넘어서 다른 네트워크에서 살고 있다는 말입니다. 이 경우에는 A(마찬가지로 Host를 A라 칭하겠습니다)가 브로드캐스트를 보내도 B는 그 메시지를 받아볼 수 없습니다. 중간에 라우터가 브로드캐스트트를 통과시키지 않기 때문인데 이것은 다음에 더 자세히 다루도록 하겠습니다.

 

그렇다면 다른 네트워크 간에는 통신이 안 된다는 말일까요? 그것은 아닙니다. 앞의 경우처럼 A가 “우리 동네(네트워크에) B라는 아이가 있으면 여기로 답장 좀!”이라고 공지를 올리면 B와 연결된 라우터가 B의 IP주소를 보고 B가 A와 같은 동네(네트워크)에 살고 있지 않기 때문에 아무도 여기에 답장해 주지 않을 것을 알아차립니다. 라우터는 똑똑한 녀석이기 때문이죠.

 

그러면 라우터는 A에게 라우터 자신의 MAC주소를 보내주며 이렇게 말합니다. “A야, B에 보낼 거 있으면 나한테 보내주라. 내가 전달할게.”라고 말이죠. 그러면 A는 이것을 보고 정보를 보낼 때 받는 주소에 라우터의 MAC주소로 해서 보냅니다. 그러면 라우터는 이것을 받아 B에게 넘겨주는 것이죠.

👉 MAC주소의 구조

네트워크(여기서는 이더넷)에 붙는 장비들은 48bit의 MAC주소를 갖게 되는데, 이 주소는 랜카드 또는 네트워크 장비에 이미 고정된 주소이고 유일한(전 세계에서 유일한) 주소입니다. 이 주소를 바로 ‘MAC주소’ 또는 ‘하드웨어 주소’라고 합니다. 모든 LAN의 디바이스들은 반드시 유일한 MAC주소를 가져야 합니다. 따라서 랜카드 하나하나 전부 다른 MAC주소를 가지고 있고 라우터나 스위치, 서버 또한 마찬가지입니다.

 

MAC주소는 8자리마다 하이픈(-)이나 콜론(:), 점(.)으로 구분되기도 합니다. 예를 들어 다음과 같이 나타냅니다.

00-60-97-23-88:99
00:60:97:23:88:99
0060.9723.8899

위 3개의 주소는 모두 같은 호스트를 나타냅니다. (같은 주소라는 말입니다) 여기서 앞쪽 6개의 16진수는 벤더(Vender), 즉 생산자를 나타내는 코드로 ‘OUI(Organizational Unique Identifier)’라고 합니다. 즉 이 코드는 메이커(제조회사)에 따라 다르기 때문에 우리는 MAC주소의 앞부분을 보면 어느 회사에서 만든 제품인지 알 수 있습니다. 그리고 뒤에 오는 나머지 6개의 16진수는 메이커에서 각 장비에 분배하는 Host Identifier입니다. 시리얼 넘버(Serial Number)인 셈이죠.

 

다시 한번 정리해 보자면 MAC주소 중에서 앞의 절반은 미리 약속된 규정에 따라 회사별로 다르게 사용하고, 회사별로 나머지 절반을 일련번호로 만들어 각 장비에 부여하는 것입니다.

 

이전 글 - 네트워크 케이블