공부해봅시당
[네트워크] 계속 헷갈리는 MAC 주소와 IP 주소 완벽정리 (그런데 이제 OSI 7Layer와 함께하는...) 본문
MAC(Media Access Control)이란?
MAC의 정의는 아래와 같다.
네트워크 세그먼트의 데이터 링크 계층에서 통신을 위한 네트워크 인터페이스에 할당된 고유 식별자
여기서 고유 식별자
는 고유한 이름, Unique한 이름
을 뜻하고, 네트워크 인터페이스
는 NIC(Network Interface Card)
를 뜻한다.
네트워크 인터페이스, NIC란 무엇일까?
(NIC에 대한 자세한 설명은 링크를 참고했다.)
NIC(Network Interface Card)
는 랜카드, 통신모듈이라고도 한다.
아래 사진이 NIC, 랜카드이다.

이렇게 생긴 LAN 카드를 옆에서 보면 아래 사진처럼 생겼다.

위 사진에서 왼쪽에 케이블을 꽂을 수 있는 공간이 있는데, 집에서 컴퓨터를 사용한다면 여기에 케이블을 꽂아서 사용해 본 경험이 있을 것이다.
아래 사진은 랜케이블인데 이런 선을 꽂아서 연결하는 것이다.

위 랜케이블을 아래 사진처럼 꽂아서 연결하게 되는 것이다.

이렇게 NIC에 랜 케이블을 연결해서 사용하는 이유는 네트워크, 즉 인터넷에 연결하기 위함이다.
NIC는 크게 2가지 종류로 나눌 수 있다.
1) 유선 랜 카드(Wire LAN card)
- 위 사진처럼 케이블에 연결해서 사용하는 것
2) 무선 랜 카드(Wireless LAN card)
- 케이블에 연결하지 않고 와이파이로 연결해서 사용하는 것
- 해당 기기(랜카드)가 있는 곳 주변의 일정 영역에서 랜케이블 없이도 인터넷 사용 가능
- 무선랜이 가능한 랜카드를 설치하면 사용 가능
NIC는 네트워크에 연결하기 위한 장치라고 하고, 컴퓨터에서 네트워크에 연결할 수 있는 것에 그 목적이 있다.
따라서 NIC는 네트워크에 연결하기 위해 변환기 역할을 한다.
즉, 데이터를 디지털 신호로 변환해서 케이블(위 사진 참고)이나 무선 라우터(WiFi)를 사용해 네트워크에 전송하는 역할을 하게 된다.
<NIC는 OSI 7 Layer의 L1(물리 계층)과 L2(데이터 링크 계층)에서 작동한다.>
물리 계층 (Physical Layer)
1) 물리 계층
- 데이터 전송의 물리적 수단을 다룬다.
2) 물리계층에서 NIC의 역할
- 네트워크 케이블이나 무선 신호를 통해 실제로 데이터를 전송하고 수신하는 하드웨어적인 기능을 담당한다.
- 이는 전기적, 기계적, 절차적 특성을 포함하여 데이터 비트를 물리적 매체를 통해 전송하는 방법을 정의한다.
데이터 링크 계층 (Data Link Layer)
1) 데이터 링크 계층
- 네트워크의 특정 세그먼트 내에서 데이터가 신뢰성 있게 전송될 수 있도록 관리한다.
2) 데이터 링크 계층에서 NIC의 역할
- 프레임을 생성하고 주소 지정(특히 MAC 주소 사용), 프레임의 오류 검사 및 수정, 프레임의 순서 및 흐름 제어 등을 수행한다.
NIC와 MAC 주소
MAC 주소
는 이런 NIC에 부여되는 고유한 번호
다.
NIC 왼쪽 상단을 확대해서 확인해보면 MAC ID를 찾아볼 수 있다.
NIC를 제조사에서 만들 때 제품 자체에 부여하는 주소이다.

네트워크를 사용하기 위해 NIC를 사용한다고 했는데, 네트워크 즉 인터넷을 사용하는 이유는 원하는 데이터를 받아보거나 전송하기 위함이지 않은가?
여기 있는 MAC 주소는 네트워크에서 내가 원하는 정보를 가져올 때 여기로 가져오라고 명시하는 주소와 같다.
IP(Internet Protocol)는 무엇인가?
IP(Internet Protocol)
는 인터넷을 통해 데이터를 주고받을 때 사용되는 통신 규약으로서, OSI 7계층 중 L3(네트워크 계층)에 위치하는 프로토콜이다.
IP는 데이터를 패킷 단위로 나누어 전송하고, 받는 쪽에서는 그 패킷들을 다시 조립하여 원래의 데이터로 변환하는 과정을 거친다.
IP를 통해 전송되는 데이터는 인터넷 상의 다양한 기기들과 통신할 수 있다.
IP 주소
는 인터넷에 연결된 모든 디바이스에 할당되는 고유 식별 번호이다.
즉, IP가 인터넷을 통해 각 장치들이 데이터를 주고받을 때 사용되는 통신 규약인데, 이때 각 장치들에 할당되는 고유한 번호가 IP 주소인 것이다.
IP 주소는 IPv4와 IPv6로 나뉘는데, IPv4의 주소 형식은 아래와 같다.

IP는 언제, MAC은 언제 쓰나?
여기서, IP와 MAC을 공부하다보면 언젠가 한 번은 반드시 드는 질문이 있다.
또한 오늘 이 글을 작성하게 된 목적이기도 하다.
그럼 MAC도 인터넷에서 데이터를 주고받을 때 사용하는 고유번호이고,
IP도 인터넷에서 사용되는 고유번호라는 소리인데,
이 둘은 서로를 대체할 수 없는걸까?
둘의 차이점은 무엇일까?
왜 MAC 주소와 IP 주소라는 것을 따로 사용하지?
IP 주소만 쓴다면?
IP 주소만 있어도 충분하지 않을까?
IP 주소도 내 컴퓨터를 고유하게 식별할 수 있다고 했는데 왜 MAC 주소도 필요한걸까?
IP 주소는 변경된다.
IP 주소는 내가 WiFi를 변경할 때마다 변경된다. 그렇다는 것은 내가 썼던 IP 주소를 다른 사람이 쓸 수도 있다는 것이다.
MAC 주소가 없고 IP 주소만으로 데이터를 송수신 한다면, 내 IP 주소가 변경되는 것이 제대로 감지되지 않았을 때 내 정보에 대해 다른 사람이 받아볼 수도 있거나 다른 사람의 정보를 내가 받아볼 수도 있는 것이다...!
왜 IP 주소는 변할까?
IP 주소는 WiFi 네트워크를 변경할 때마다 새로 할당받기 때문이다.
따라서 이전에 사용했던 IP 주소는 다른 사용자가 사용할 수 있다. 그래서 MAC 주소 없이 오직 IP 주소만으로 데이터를 송수신한다면, IP 주소 변경이 제대로 감지되지 않았을 때, 잘못된 수신자에게 데이터가 전송되거나 잘못된 데이터를 수신할 위험이 있는 것이다.
따라서 일반적으로는 잘 변경되지 않는 MAC 주소가 필요하고, 변경된 IP와 MAC 주소를 바운딩 해주는 ARP 장치가 존재한다.
ARP 장치는 IP 주소와 MAC 주소를 연결한다.
ARP (Address Resolution Protocol) 장치는 MAC 주소와 IP 주소를 연결하는 역할을 하고, OSI 7 Layer의 L3(네트워크 계층)에서 작동한다. ARP 프로토콜 자체는 데이터 링크 계층에서 실행되지만, 네트워크 계층의 정보를 사용하여 작업을 수행한다는 점에서 두 계층 간의 연결고리 역할을 한다고 볼 수 있다. 이 장치 덕분에 네트워크 내에서 IP 주소가 변경되어도 해당 IP에 연결된 올바른 MAC 주소로 데이터를 정확히 전송할 수 있다.
그럼 MAC 주소는 절대 변하지 않는 불변의 값인가?
아니다. MAC 주소도 변경될 수는 있다.
소프트웨어를 통해 MAC 주소를 변경하는 것이 가능하기 때문에 실제로는 중복되거나 변조될 수도 있다.
이에 대한 얘기는 나중에 다시 다루도록 하겠다.
하지만 대체로 IP 주소보다는 변경되는 횟수가 현저히 적다.
MAC 주소만 쓴다면?
언제든 변하는 IP 주소 말고, MAC 주소만 사용함면 안되나?
왜 IP 주소가 필요하지?
IP 주소는 효율적으로 데이터를 전송하기 위해 필요하다
IP 주소는 어떤 네트워크에 내가 속해있고, 그래서 어떻게 데이터를 전송해야 하는지 알 필요가 있어서 필요하다.
IP 주소는 계층적으로 전달할 수 있고, IP 주소 자체에서 내가 어느 네트워크에 속해있는지 알려주기 때문에 효율적으로 내가 속한 네트워크를 찾을 수 있다.
IP 주소는 자릿수마다 어떤 인터넷에 속해 있는지 알 수 있도록 구성되어 있어서 계층적으로 전달하기 쉽다.
(더 자세한 내용은 링크에서 확인 가능. 이 글은 필자가 작성한 글은 아니다,,,)

택배 배송 조회 예시
실제로 택배 배송 조회를 해보면 출발지에서 배송지까지 한번에 오지 않는다. 출발지에서 시작해 지역별 HUB와 터미널을 거치고, 내 동네 대리점에 도착한 후, 집으로 도착한다.
데이터도 마찬가지다. 도착지를 알고 있다고, 한번에 쑥 데이터가 전송되는 것이 아니다. 경기도 -> 성남시 -> 분당구 -> 정자동 -> 집으로 이동하는 것처럼, 데이터도 여러 스위치를 거쳐 도착지에 도달하게 된다. 이를 forwarding 이라고 한다. (실제로 forwarding 물류 운송 과정을 뜻한다.)
학교 성적표 전달 예시
다른 예시로, 교장 선생님이 대강당에서 1000 명의 넘는 학생에게 주민등록번호(물리 주소)로 한 명 한 명 찾아 성적표를 나눠주는 것보다, 3학년 주임 선생님 -> 3반 담임 선생님 -> 4분단 조장 -> 학생으로 계층을 만들어 성적표를 전달하는 편이 훨씬 효율적이다.
다시 돌아와서
위에서처럼 계층적으로 전달하는 것을 네트워크에서는 '네트워크 계층화'라고 한다. 좀 어렵게 네트워크 안에 속하는 노드들이 같은 네트워크 prefix를 갖도록 하여, 라우팅 테이블을 간단하게 하는 것이다.
그럼 MAC 주소는 어떻게 구성되어 있길래 찾기 힘들다고 하는거지?
MAC 주소는 OUI와 기기 식별자로 구성되어 있기 때문에 어떤 인터넷에 속해 있는지 주소만 보고 바로 파악하기가 어렵다.

MAC 주소의 구성
OUI(Organizationally Unique Identifier)
위 그림에서 랜 카드를 만든 제조사 번호가 OUI(Organizationally Unique Identifier)이다.
처음 3개의 2자리 숫자로 구성된다.
IEEE에서 관리하며, 각 제조사는 고유의 OUI를 할당받는다.
기기 식별자 (Device Identifier)
나머지 3개의 2자리 숫자로, 특정 제조사의 특정 장치를 식별한다.
제조사 내에서 고유하게 관리되어야 하고, 이를 통해 같은 제조사가 만든 수많은 장치 중 하나를 구분할 수 있다.
앞구르기 뒤구르기를 하면서 쳐다봐도 MAC 주소로는 내가 속한 네트워크를 찾기 어렵다.
MAC 주소는 이론적으로 전 세계적으로 유일하고, 각 네트워크 장치가 네트워크 내에서 다른 장치들과 구별될 수 있도록 해준다.
하지만 MAC 주소만으로 내가 속한 네트워크를 찾아서 데이터를 빠르게 가져다주는건 IP 주소보다는 훨씬 어려워 보인다.
그리고 하나 더!
IP 주소와 MAC 주소는 사용되는 계층이 다르기 때문에 두 계층의 주소를 독립해서 프로토콜에 구애 받지 않을 수 있다.
결론
따라서 IP 주소로 내가 속한 네트워크를 찾고, MAC 주소로 내가 맞는지 식별하는 과정으로 데이터를 송수신하게 되는 것이다.
1. IP 주소만 사용하기에는 IP 주소가 네트워크에 따라 변하는 값이라서 보안에 취약할 수 있다.
2. MAC 주소만 사용하기에는 MAC 주소로 나를 빠르게 찾기 어려워서, IP 주소로 논리 주소를 사용해 네트워크 계층화를 만들고 빠른 데이터 송수신을 가능하게 한다.
3. 두 계층의 주소를 독립해서 프로토콜에 구애 받지 않을 수 있다.
참고
https://www.youtube.com/watch?v=AiI58szadWc
https://m.blog.naver.com/kwshop88/100179050540
랜카드(LAN Card)란?: 랜카드와 공유기의 차이
[랜카드(LAN Card) / 공유기(Access Point, AP) ] 인터넷을 하려면 일단 가...
blog.naver.com
https://www.fibermall.com/ko/blog/network-adapter-nics-function-construction-classification.htm
네트워크 어댑터란? NIC의 기능, 구성 및 분류
인공 지능, 빅 데이터, 분산 스토리지 및 클라우드 서비스의 추세로 인해 실시간 애플리케이션 및 서비스를 지원하기 위해 더 짧은 대기 시간이 필요합니다. d
www.fibermall.com
'STUDY > 네트워크' 카테고리의 다른 글
[네트워크] Session을 이해해보자(feat. 웹 세션, 네트워크 세션, 데이터베이스 세션...) (0) | 2024.05.18 |
---|---|
[네트워크] Socket 통신 (0) | 2024.03.20 |
[네트워크] HTTP vs HTTPS (0) | 2024.03.20 |
[네트워크] TCP vs UDP (0) | 2024.03.20 |
[네트워크] OSI 7 Layer (0) | 2024.03.20 |