네트워크를 공부하다 보면 IP 주소와 MAC 주소, 두 가지 주소 체계가 등장합니다. 둘 다 '주소'인데 왜 하나로 통일하지 않고 두 개를 따로 사용하는 걸까요? 각자 맡은 역할이 다르기 때문입니다.

이 글에서는 IP 주소와 MAC 주소가 각각 어떤 역할을 하는지, 그리고 왜 두 주소 체계가 함께 필요한지를 흐름 중심으로 정리해 보겠습니다.


요약

  • IP 주소: 논리 주소(3계층), 소프트웨어적으로 할당, 네트워크 간 경로 식별에 사용
  • MAC 주소: 물리 주소(2계층), 하드웨어에 고정, 같은 네트워크 내 장치 식별에 사용
  • 핵심 차이: IP는 "어디에 있는가(위치)", MAC은 "누구인가(신원)"
  • ARP: IP 주소를 MAC 주소로 변환하는 프로토콜, 둘을 연결하는 다리 역할
  • 결론: 두 주소가 함께 있어야 인터넷을 통해 목적지 장치까지 정확히 데이터를 전달할 수 있습니다

1. 왜 두 가지 주소가 필요한가

OSI 7계층에서 데이터는 3계층(네트워크)에서 IP 주소로 경로를 찾고, 2계층(데이터 링크)에서 MAC 주소로 실제 장치를 찾습니다. 즉, IP 주소만으로는 최종 목적지 장치까지 데이터를 정확히 전달할 수 없습니다.

비유하자면 IP 주소는 도시 이름과 거리 주소이고, MAC 주소는 집 문 앞에 붙은 이름표입니다. 우편물이 도시까지는 IP 주소로 도달하지만, 정확한 집 문 앞까지는 MAC 주소가 필요한 것과 같습니다.


2. IP 주소란 무엇인가

IP 주소(Internet Protocol Address)는 네트워크 상에서 장치의 위치를 식별하는 논리 주소입니다. 3계층(네트워크 계층)에서 사용하며, 라우터가 패킷을 목적지까지 전달할 때 기준이 됩니다.

IPv4 주소 구조

현재 가장 널리 사용되는 IPv4는 32비트로 구성됩니다. 사람이 읽기 쉽도록 8비트씩 4개로 나누어 점(.)으로 구분하여 표기합니다.

192  .  168  .   0   .   1
 8bit     8bit     8bit     8bit  = 총 32비트

IP 주소는 네트워크 부분호스트 부분으로 나뉩니다.

  • 네트워크 부분: 어떤 네트워크에 속해 있는지를 나타냅니다. 192.168.0이 이에 해당하며, 같은 네트워크에 있는 장치들은 이 부분이 동일합니다.
  • 호스트 부분: 해당 네트워크 안에서 개별 장치를 식별합니다. .1, .2 처럼 장치마다 다릅니다.

IP 주소의 주요 특성

  • 소프트웨어적으로 할당되어 변경이 가능합니다. DHCP 서버가 자동으로 부여하거나 수동으로 설정할 수 있습니다.
  • 네트워크 환경이 바뀌면 IP 주소도 달라집니다. 집 Wi-Fi에서 카페 Wi-Fi로 바꾸면 IP 주소가 변경되는 이유입니다.
  • 전 세계적으로 고유한 공인 IP와, 특정 네트워크 내에서만 사용하는 사설 IP로 나뉩니다.

주의: IPv4 주소는 약 43억 개로, 인터넷 사용자 급증으로 인해 거의 소진됐습니다. 이를 해결하기 위해 128비트를 사용하는 IPv6가 도입됐지만, 현재는 IPv4와 IPv6가 혼용되고 있습니다.


3. MAC 주소란 무엇인가

MAC 주소(Media Access Control Address)는 네트워크 인터페이스 카드(NIC)에 하드웨어적으로 부여된 물리 주소입니다. 2계층(데이터 링크 계층)에서 같은 네트워크 안의 장치를 식별하는 데 사용합니다.

MAC 주소 구조

MAC 주소는 48비트로 구성되며, 16진수 6쌍으로 표기합니다.

00  :  1A  :  2B  :  3C  :  4D  :  5E
|___________|  |___________________|
  OUI(제조사)       장치 고유번호
   24비트               24비트
  • OUI(Organizationally Unique Identifier): 앞 24비트로, 네트워크 장비 제조사를 식별합니다. 제조사는 IEEE로부터 하나 이상의 OUI를 할당받으며, 특정 OUI로 시작하는 MAC 주소는 동일한 제조사의 장비임을 나타냅니다.
  • 장치 고유번호: 뒤 24비트로, 제조사가 각 장치에 부여하는 고유값입니다.

MAC 주소의 주요 특성

  • 하드웨어에 고정된 값으로, 전 세계에서 고유합니다.
  • 네트워크 환경이 바뀌어도 변하지 않습니다.
  • 소프트웨어로 변경(스푸핑)이 가능하지만, 이는 보안상 비정상적인 행위입니다.

4. IP 주소 vs MAC 주소 비교표

항목 IP 주소 MAC 주소

OSI 계층 3계층 (네트워크) 2계층 (데이터 링크)
주소 유형 논리 주소 물리 주소
비트 수 32비트 (IPv4) 48비트
할당 방식 소프트웨어적 (변경 가능) 하드웨어 고정 (불변)
고유 범위 전 세계 (공인 IP 기준) 전 세계
역할 네트워크 간 경로 식별 네트워크 내 장치 식별
변경 가능 여부 가능 (DHCP, 수동 설정) 불가 (스푸핑은 예외)
대표 프로토콜 IP, ICMP Ethernet

5. ARP: IP 주소를 MAC 주소로 변환하는 과정

실제 통신에서는 IP 주소와 MAC 주소가 함께 사용됩니다. 목적지의 IP 주소는 알지만 MAC 주소를 모를 때 ARP(Address Resolution Protocol) 가 이를 해결합니다.

 

ARP 동작 3단계

ARP 요청 — 송신자 A가 "192.168.0.5의 MAC 주소를 가진 장치는 누구?"라는 메시지를 브로드캐스트로 같은 네트워크의 모든 장치에게 전송합니다.

송신자 A (192.168.0.1) → 브로드캐스트 → 네트워크 내 모든 장치
"192.168.0.5의 MAC 주소가 무엇인가요?"

네트워크 내 192.168.0.5를 가진 장치가 없으면 응답이 없고,
있으면 해당 장치만 유니캐스트로 Reply합니다.

 

ARP 응답 — IP 주소가 일치하는 수신자 D만 유니캐스트로 자신의 MAC 주소를 응답합니다. 다른 장치들은 무시합니다.

수신자 D (192.168.0.5) → 유니캐스트 → 송신자 A
"제 MAC 주소는 00:1A:2B:3C:4D:5E입니다."

ARP 캐시 저장 — 송신자 A는 받은 MAC 주소를 ARP 캐시에 저장하여 이후 같은 목적지로 보낼 때 ARP 요청을 반복하지 않습니다.

ARP 캐시 테이블 (송신자 A 기준)
192.168.0.5  →  00:1A:2B:3C:4D:5E

주의: ARP 캐시는 일정 시간이 지나면 만료됩니다. 장치의 IP가 바뀌거나 NIC가 교체됐을 때 캐시가 오래된 정보를 가지고 있으면 통신 오류가 발생할 수 있습니다. arp -a 명령어로 현재 ARP 캐시를 확인할 수 있습니다.

 

RARP(Reverse ARP)

ARP와 반대로 MAC 주소를 기반으로 IP 주소를 조회하는 프로토콜입니다(RFC 903). 디스크 없는 워크스테이션이 부팅 시 자신의 IP 주소를 알아내기 위해 사용됐습니다. 그러나 DHCP(RFC 2131)가 보편화되면서 이 역할을 완전히 대체했고, 현재 실무에서는 거의 사용되지 않습니다.


6. 실제 통신에서 두 주소가 함께 동작하는 방식

192.168.0.1에서 8.8.8.8(Google DNS)로 패킷을 보내는 상황을 예로 들겠습니다.

1. IP 주소 확인
   목적지 8.8.8.8은 다른 네트워크 → 라우터(게이트웨이)를 통해야 함

2. 라우터의 MAC 주소 확인 (ARP)
   라우터 IP(192.168.0.254)의 MAC 주소를 ARP로 조회

3. 패킷 전송
   - IP 헤더: 출발지 192.168.0.1 → 목적지 8.8.8.8 (변하지 않음)
   - MAC 헤더: 출발지 내 MAC → 목적지 라우터 MAC (네트워크마다 교체됨)

4. 라우터가 다음 경로로 전달
   MAC 헤더를 교체하며 최종 목적지까지 전달

IP 주소는 출발지부터 목적지까지 변하지 않지만, MAC 주소는 네트워크 구간마다 교체됩니다. 이것이 두 주소가 각자 다른 역할을 하는 핵심입니다.


추가 팁

사설 IP와 공인 IP

가정의 공유기 안에서 사용하는 192.168.x.x, 10.x.x.x, 172.16.x.x ~ 172.31.x.x 대역은 사설 IP로, 같은 네트워크 안에서만 통신할 수 있습니다. 인터넷과 통신할 때는 공유기가 공인 IP로 변환(NAT)하여 외부와 통신합니다.

MAC 주소 확인 방법

# Windows
ipconfig /all

# macOS / Linux
ifconfig
ip addr

ARP 캐시 확인 방법

# Windows / macOS / Linux 공통
arp -a

실무에서 같은 네트워크 안에서 통신이 안 될 때 ARP 캐시를 초기화하는 것이 빠른 해결책이 되기도 합니다.


참고 자료


 

+ Recent posts