MAC 주소 쉽게 이해하기: 네트워크 식별자의 역할과 의미

하드웨어 식별자, MAC 주소와 역할과 구조

🔍 MAC 주소란?

MAC 주소(Media Access Control Address)는 네트워크와 연결된 각 장치(Network Interface Card, NIC)의 고유 식별자다.

이는 하드웨어 수준에서 장치를 식별하기 위한 값으로, 보통 16진수 형식의 48bit(6bytes) 주소로 표현된다.

각 바이트는 : 또는 -를 사용해 구분하며, 샘플은 다음과 같다.

00:1A:2B:3C:4D:5E


🧬 MAC 주소 구조

MAC 주소는 일반적으로 다음과 같이 구성된다.

OUI (Organizationally Unique Identifier): 앞의 3바이트는 제조사 식별 코드 (예: Apple, Intel 등)로 위 샘플에서는 00:1A:2B가 OUI이다.

Device Identifier: 뒤의 3바이트는 각 제조사가 장치에 부여하는 고유 번호

MAC 주소는 제조 시 하드웨어에 고정되어 부여되며, 중복이 거의 없도록 관리된다.

3바이트(24비트)는 이론적으로 최대 16,777,215개의 고유 번호를 구분할 수 있지만, 실제로는 브로드캐스트·멀티캐스트 등 특수 용도로 예약된 비트와 주소 범위가 존재하므로, 하나의 식별 코드로 관리 가능한 고유 번호의 수는 이보다 훨씬 적다.

단적인 예로, 아이폰의 경우 한 대의 기기 안에도 Wi-Fi MAC 주소와 Bluetooth MAC 주소 두 개가 존재한다. 지금까지 판매된 아이폰의 누적 대수가 수억 대에 달하기 때문에, 단일 OUI만으로는 모든 기기를 식별하기 어려워 여러 개의 OUI를 사용하고 있다.

MAC 주소는 IEEE(Institute of Electrical and Electronics Engineers)에서 관리하고 있으며, 애플에서만 수백 개 이상의 OUI를 보유한 것으로 알려져 있다.


📡 MAC 주소는 어디서 사용될까?

MAC 주소는 주로 **데이터링크 계층(OSI 2계층)**에서 사용된다.

예를 들어:

  • 같은 네트워크(서브넷) 내에서 A → B로 데이터를 전송할 때, IP 주소는 목적지를 논리적으로 식별하지만 실제 이더넷 프레임은 MAC 주소를 통해 정확한 장비를 찾아 전송한다.

    IP 주소와 MAC 주소의 데이터 전달 방식

📘 MAC vs IP 주소의 차이

항목MAC 주소IP 주소
계층OSI 2계층 (데이터링크)OSI 3계층 (네트워크)
성격물리적(고유) 식별자논리적(변경 가능) 식별자
예시00:1A:2B:3C:4D:5E192.168.1.1
변경 가능성일반적으로 불변 (수정도 가능하긴 함)네트워크 변경에 따라 변동

🔄 통신 과정에서의 MAC 주소 역할

  1. A 컴퓨터가 B의 IP 주소를 알고 있을 때,
  2. 같은 네트워크라면 **ARP(Address Resolution Protocol)**를 통해 해당 IP에 대응하는 MAC 주소를 요청
  3. B가 MAC 주소를 응답하고, A는 그 MAC 주소를 프레임의 목적지 주소로 설정하여 전송
  4. 이 프레임은 MAC 주소를 기준으로 B에 도달

💡 MAC 주소는 인터넷 전체에서 사용될까?

MAC 주소는 로컬 네트워크(같은 서브넷) 내에서만 사용된다.

서브넷을 넘어서는 통신에서는 IP 주소 기반 라우팅이 작동하며, 라우터는 다음 홉(HOP)의 MAC 주소만 사용하여 전달을 이어간다.

따라서 MAC 주소는 직접 연결된 네트워크에서만 의미를 가진다.


🔐 보안과 MAC 주소

MAC 주소는 고유하지만 주의할 점이 있다.

  • 🛠️ 소프트웨어적으로 위조(Spoofing) 가능
  • 🔒 일부 네트워크에서는 MAC 주소 기반 접근 제어(ACL) 적용
  • 🧭 MAC 필터링을 사용하는 네트워크에서는 등록되지 않은 MAC은 접근 불가

🧪 MAC 주소 확인 방법

MAC OS

ifconfig | grep ether

혹은:

networksetup -listallhardwareports

WINDOWS OS

ipconfig /all

✍️ 마무리

MAC 주소는 네트워크의 시작점에서 중요한 역할을 한다.

하드웨어의 신분증 같은 MAC 주소 덕분에 우리는 수많은 장치 간 정확한 데이터 전송을 경험할 수 있다.