MAC 주소란 무엇인가

네트워크 인터페이스 카드에 부여된 고유 하드웨어 주소 MAC 주소의 구조, OUI, 브로드캐스트, 스위치 학습 과정을 설명합니다.

· 5 min read · PALDYN Team

지난 글에서 네트워크 성능을 측정하는 세 가지 지표를 살펴봤습니다. 이번에는 계층을 한 단계 내려가 데이터링크 계층에서 장치를 식별하는 MAC 주소(Media Access Control Address) 를 다룹니다. IP 주소가 논리적 주소라면 MAC 주소는 하드웨어에 직접 새겨진 물리적 주소입니다.

MAC 주소란

MAC 주소는 네트워크 인터페이스 카드(NIC)에 제조 시 부여되는 48비트 고유 식별자입니다. 흔히 이더넷 주소, 하드웨어 주소라고도 부릅니다. IEEE 802 표준에 따라 전 세계에서 고유하게 관리됩니다.

표기 방식 (모두 동일한 주소):
  콜론 구분:   00:1A:2B:3C:4D:5E   (Linux/macOS)
  하이픈 구분: 00-1A-2B-3C-4D-5E   (Windows)
  점 구분:     001A.2B3C.4D5E       (Cisco)

MAC 주소 구조

OUI — 제조사 식별자

MAC 주소의 앞 3바이트(24비트)는 OUI(Organizationally Unique Identifier) 로, IEEE가 각 제조사에 고유하게 부여합니다. 뒤 3바이트는 제조사가 자체적으로 관리하는 일련번호입니다.

MAC 주소: 00:1A:2B:3C:4D:5E
          ├─────────┤ ├─────────┤
          OUI        NIC 일련번호
          (제조사)    (장치 고유)

OUI 00:1A:2B → Cisco Systems
OUI 3C:22:FB → Apple, Inc.
OUI F4:5C:89 → Samsung Electronics

실무에서 OUI를 알면 패킷 캡처 시 장치 종류를 빠르게 파악할 수 있습니다.

유니캐스트·브로드캐스트·멀티캐스트

MAC 주소의 최하위 바이트(첫 번째 옥텟)의 마지막 비트로 전달 방식을 구분합니다.

구분MAC 주소설명
유니캐스트일반 주소특정 장치 1개에게만 전달
브로드캐스트FF:FF:FF:FF:FF:FF같은 네트워크의 모든 장치에게 전달
멀티캐스트01:xx:xx:xx:xx:xx특정 그룹에게 전달

브로드캐스트는 ARP 요청처럼 “이 IP를 가진 사람 누구?”라고 전체에게 물어볼 때 사용합니다.

스위치의 MAC 주소 학습

MAC 주소가 가장 중요하게 사용되는 곳은 스위치입니다. 스위치는 수신한 프레임의 출발지 MAC 주소와 수신 포트를 CAM(Content Addressable Memory) 테이블에 학습합니다.

스위치 MAC 주소 테이블

스위치 동작 과정:

1. PC-A가 프레임 전송
   → 스위치가 포트1에서 수신
   → "포트1 = AA:AA:AA:AA:AA:AA" 학습

2. 목적지 MAC이 테이블에 있으면 해당 포트로만 전송
   (목적지 MAC이 테이블에 없으면 전체 포트로 플러딩)

3. 학습 후에는 포트2(PC-B)로만 포워딩 — 불필요한 트래픽 없음

이것이 허브와의 차이점입니다. 허브는 모든 포트로 복사·전달하지만, 스위치는 학습된 MAC 테이블 기반으로 정확한 포트에만 전달합니다.

MAC 주소 확인 방법

# Linux / macOS
ip link show
# 또는
ifconfig

# Windows
ipconfig /all

# 출력 예시 (Linux):
# 2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP>
#     link/ether 00:1a:2b:3c:4d:5e brd ff:ff:ff:ff:ff:ff

# macOS
# en0: flags=8863<UP,BROADCAST,SMART,RUNNING,SIMPLEX,MULTICAST>
#         ether 3c:22:fb:aa:bb:cc

MAC 주소는 변경할 수 있는가

MAC 주소는 하드웨어에 새겨진(burned-in) 값이지만, 운영체제 수준에서 소프트웨어로 변경(spoofing) 이 가능합니다. 이를 MAC 스푸핑이라 하며 개인정보 보호, 네트워크 테스트 등에 사용됩니다.

# Linux에서 MAC 주소 임시 변경
sudo ip link set dev eth0 down
sudo ip link set dev eth0 address 02:00:00:00:00:01
sudo ip link set dev eth0 up

단, MAC 주소는 동일 네트워크 세그먼트(로컬) 내에서만 유효합니다. 라우터를 넘어가면 MAC 주소는 교체되고(3계층 라우팅), IP 주소만 남습니다. 다음 글에서는 이 MAC 주소를 기반으로 동작하는 이더넷 기술을 살펴봅니다.


지난 글: 대역폭, 처리량, 지연이란

다음 글: 이더넷 완전 이해


읽어주셔서 감사합니다. 😊