211130 - mac or IP

빡새·2025년 3월 2일

MAC과 IP는 한 개체를 식별하는 고유 번호다.
MAC은 가까운 규모에서 개체를 찾을 때 쓴다.
IP는 더 넓고 큰 규모에서 개체를 찾을 때 쓴다.

컴퓨터를 여러 대 연결하면
서로 데이터를 주고받을 수 있다.
이 상태에서 모임은 구성원이 적다.
서로 고유 식별 번호로 부르더라도
찾는 데까지 오래 걸리지 않는다.
이러한 층위로 컴퓨터를 연결한 상태를
'데이터 링크'라고 부른다.

컴퓨터를 여러 대 연결했다면
그 묶음을 '노드'라고 부르자.
이어서 이런 노드들을 모아서
다시 묶을 수도 있다.
이러한 층위로 연결한 상태는
'네트워크'라고 부른다.

우리끼리 둘러앉아 있을 때는
MAC으로 불러도 상관이 없었다.
몇 명 없었기 때문에 금방 찾을 수 있었다.
구성원이 적은 데이터 링크 단계에서는 MAC이 통했다.
20명이 모여 있는 반에서 '김철수'를 부르면 한 명이 대답한다.
전교에서 '김철수'를 부르면 여러 명이 대답한다.
전국에서 '김철수'를 부르면 몇 명이 대답할까?
내가 원하는 '김철수'를 찾기까지 하루 종일 걸린다.

사람이 점점 많아지고,
마을, 국가, 세계를 연결하게 된다면?
MAC 하나만 가지고 그 사람이 누군지 찾으려 한다면 어림도 없을 것이다.
이렇게 큰 규모에서는 IP주소를 쓰는 게 더 빠르다.
IP주소는 무엇이고 어떤 역할을 하길래 더 효율적일까?

1만 명이 있다면 한 사람을 찾기까지 최대 1만 번을 확인해야 한다.
1만 명을 1000명씩 묶어 보니 10묶음이 나왔다.
일단 내가 찾는 그 사람이 7번 묶음에 있다는 것을 알았다.
7번 묶음에 들어가니 다시 1000명이 있다.
그 1000명을 100명씩 묶으니 또 10묶음이 나왔다.
이번엔 3번 묶음에 있다고 한다.
3번 묶음에는 100명이 있다.
이 과정을 반복한다면 50번 안에
그 사람을 찾을 수 있을 것이다.
MAC 하나만 가지고 찾으려면 최대 10000만 번을 확인해야 했지만,
IP 주소를 활용한다면 최대 50번 안에 찾을 수 있게 됐다.

IP주소는 사실 그렇게 낯선 개념이 아니다.
우리가 택배를 보낼 때 이런 방식을 쓰고 있다.
'김철수'가 미국에 있는 김철수인지,
중국에 있는 김철수인지,
한국에 있는 김철수인지 확인한다.
'대한민국'에 있는 김철수라는 것을 확인하는 순간,
중국 약 15억 명을 확인할 필요가 없어졌고,
미국 약 3.5억 명을 확인할 필요가 없어졌다.
한국 안에서, '서울시'에 있는 김철수라는 것을 확인하는 순간,
부산시 약 350만 명을 확인할 필요 없어졌고,
광주시 약 150만 명을 확인할 필요가 없어졌다.
대한민국 서울시 '강남구'에 있는 김철수라는 것을 확인하는 순간,
우리는 나머지 지역의 김철수들을 확인할 필요가 없어졌다.

컴퓨터를 여러 대 연결한 묶음을 '노드'라고 부른다고 했다.
이 노드들끼리 연결해 놓은 게 네트워크 계층이다.
네트워크 계층에서는 IP주소를 사용한다.
IP주소에는 어느 노드로 가야 할지 적혀 있다.
찾는 대상이 속해 있지 않는 묶음은 빠르게 지나칠 수 있다.
노드마다 일일이 들어가서 확인한다면 시간을 낭비했을 것이다.
일단 그 사람이 속해 있는 노드부터 찾은 뒤에 다시 물으면 된다.
'내가 찾는 그 사람 어딨어요?'

먼저 노드를 찾았다면
이제 IP주소를 MAC으로 바꿔야 한다.
그 일을 자동으로 해주는 프로토콜이 있다.

MAC은 Media Access Control Address의 줄임말이다.
MAC 주소는 바뀌지 않는 고유 번호다.
NIC 네트워크 칩을 만들 때 ROM 메모리에 여러 정보를 담아 놓는다.
ROM - Read Only Memory에 담긴 정보는 읽을 수만 있다.
지우거나 수정할 수 없다.
이 ROM 안에 MAC 주소도 담겨 있다.
그래서 굽는다고도 한다.
burn 된 건 되돌릴 수가 없다는 의미다.
Burnded - In MAC Address 해서 BIA 라고도 한다.
MAC 주소를 가지고 연결해 놓은 망을 이더넷 - ethernet이라고도 한다.

반면에 IP주소는 유동적이다.
필요에 따라서 만들거나 지울 수도 있고,
바꾸거나 잠시 빌려주거나 가상으로 만들기도 한다.

0개의 댓글