✅들어가면서
네트워크를 공부하다 보면 반드시 만나게 되는 개념이 있다. 바로 IP 주소, 서브네팅, NAT다.
처음 보면 세 개가 따로 떨어진 개념처럼 느껴진다.
하지만 실제로는 세 개가 서로 깊게 연결되어 있다.
우리가 집에서 노트북이나 스마트폰으로 인터넷에 접속할 때도 IP 주소와 NAT가 사용된다. 회사나 클라우드에서 서버를 구성할 때는 서브넷을 나누고, NAT Gateway를 설정하고, 사설 IP와 공인 IP를 구분해야 한다.
즉, 이 개념들은 단순한 네트워크 이론이 아니라 실제 인프라를 구성하고 운영할 때 반드시 필요한 기본 지식이다.
⭐ IP 주소란?
IP 주소는 네트워크에서 장비를 식별하기 위한 주소다.
우리가 택배를 보내려면 받는 사람의 주소가 필요하다.
서울시 어느 구, 어느 동, 몇 번지인지 알아야 택배가 도착할 수 있다.
인터넷도 마찬가지다.
내 컴퓨터가 어떤 서버에 데이터를 보내려면 목적지 주소가 필요하다. 이때 사용하는 주소가 IP 주소다.
예를 들어 웹 브라우저에서 google.com에 접속한다고 해보자.
사용자는 도메인 이름을 입력하지만, 컴퓨터는 실제로 도메인 이름만으로 통신하지 않는다. 먼저 DNS를 통해 google.com에 해당하는 IP 주소를 찾고, 그 IP 주소를 목적지로 데이터를 보낸다.
예를 들어 도메인 이름이 “홍길동”이라면, IP 주소는 “서울시 강남구…” 같은 실제 주소에 가깝다.
⭐ IPv4와 IPv6
IP 주소에는 대표적으로 IPv4와 IPv6가 있다.
1️⃣ IPv4
IPv4는 우리가 가장 흔히 보는 IP 주소 형식이다.
192.168.0.1
IPv4 주소는 숫자 네 묶음으로 구성된다.
각 숫자는 0부터 255까지의 값을 가질 수 있다.
IPv4는 32비트 주소 체계를 사용한다.
이론적으로 약 43억 개 정도의 주소를 만들 수 있다.
처음에는 충분해 보였지만, 인터넷 사용자가 폭발적으로 늘고 스마트폰, 서버, IoT 기기까지 많아지면서 IPv4 주소는 부족해졌다. 이 문제를 해결하기 위해 등장한 것이 IPv6다.
2️⃣ IPv6
IPv6는 IPv4보다 훨씬 많은 주소를 만들 수 있는 주소 체계다.
IPv6 주소는 다음처럼 생겼다.
2001:0db8:85a3:0000:0000:8a2e:0370:7334
IPv6는 128비트 주소 체계를 사용한다.
IPv4보다 훨씬 넓은 주소 공간을 제공한다.
다만 아직 많은 서비스와 인프라 환경에서는 IPv4가 널리 사용된다. 그래서 네트워크를 처음 공부할 때는 IPv4를 먼저 이해하는 것이 좋다.
🤔 그럼 IPv6가 좋아보이는데 왜 아직 IPv4가 많이 사용될까?
IPv6가 기술적으로 더 좋고 주소도 훨씬 좋은 것은 사실이다.
하지만 인터넷 전체가 이미 IPv4 기반으로 너무 오래 굴러왔기 때문에 한 번에 IPv6로 바뀌기는 어렵다.
1. 호환성 문제
IPv4와 IPv6는 주소 길이부터 다르다. IPv4는 192.168.0.1처럼 32비트 주소를 사용하고, IPv6는 2001:db8::1처럼 128비트 주소를 사용한다. 문제는 IPv6만 지원하는 장비가 IPv4만 지원하는 서버와 바로 통신할 수 없다는 점이다. 그래서 인터넷 전체가 IPv6로 넘어가려면 사용자 단말, 공유기, 통신사, 서버, 방화벽, 로드밸런서, DNS, 애플리케이션까지 모두 준비되어야 한다.
2. IPv4 기반 시스템이 너무 많다.
기업 내부망, 오래된 장비, 보안 장비, 운영 도구, 모니터링 시스템, 방화벽 정책, 클라우드 설정 중에는 아직 IPv4를 기준으로 설계된 것이 많다. 이미 잘 돌아가는 시스템을 IPv6까지 지원하도록 바꾸려면 비용과 시간이 든다. 특히 기업 입장에서는 “IPv4로도 서비스가 잘 되는데 굳이 위험을 감수하며 바꿔야 하나?”라는 판단을 할 수 있다.
3. NAT가 IPv4 부족 문제를 어느 정도 버텨주고 있기 때문이다.
IPv4 주소는 약 43억 개 정도라 전 세계 모든 기기에 고유하게 주기에는 부족하다. 그런데 NAT를 사용하면 집이나 회사 내부의 여러 기기가 하나의 공인 IPv4 주소를 공유할 수 있다. 예를 들어 집 안에서는 노트북, 스마트폰, 태블릿이 각각 192.168.0.x 같은 사설 IP를 쓰고, 인터넷으로 나갈 때는 공유기의 공인 IP 하나를 함께 사용한다. 이 방식 덕분에 IPv4 주소 부족 문제가 당장 치명적인 장애로 이어지지 않았다.
⭐ 공인 IP와 사설 IP
IP 주소를 이해할 때 가장 중요한 구분 중 하나가 공인 IP와 사설 IP다.
공인 IP
공인 IP는 인터넷에서 직접 식별 가능한 주소다.
예를 들어 어떤 웹 서버가 전 세계 사용자에게 서비스를 제공하려면 인터넷에서 접근 가능한 주소가 필요하다. 이때 사용하는 주소가 공인 IP다.
공인 IP는 인터넷상에서 유일해야 한다.
같은 공인 IP를 여러 곳에서 동시에 사용하면 목적지를 구분할 수 없기 때문이다.
사설 IP
사설 IP는 내부 네트워크에서만 사용하는 주소다.
예를 들어 집에서 공유기에 연결된 노트북, 스마트폰, 태블릿을 생각해보자. 이 기기들은 보통 다음과 같은 IP 주소를 가진다.
192.168.0.2
192.168.0.3
192.168.0.4
이 주소들은 인터넷 전체에서 유일한 주소가 아니다.
다른 집에서도 똑같이 192.168.0.2를 사용할 수 있다.
그런데 문제가 없어 보인다. 왜냐하면 이 주소들은 각 집의 내부 네트워크에서만 사용되기 때문이다.
⭐ 공인 IP와 사설 IP를 함께 쓰는 이유?
모든 기기에 공인 IP를 하나씩 줄 수 있다면 구조는 단순해진다. 하지만 IPv4 주소는 개수가 제한되어 있다. 전 세계 모든 스마트폰, 노트북, 서버, IoT 기기에 공인 IPv4를 하나씩 줄 만큼 충분하지 않다.
그래서 내부 네트워크에서는 사설 IP를 사용하고, 인터넷에 나갈 때는 공인 IP를 사용하는 구조가 널리 쓰인다.
예를 들어 집 안에서는 다음처럼 사설 IP를 사용한다.
노트북: 192.168.0.2
스마트폰: 192.168.0.3
태블릿: 192.168.0.4
하지만 인터넷에서는 이 사설 IP들이 직접 보이지 않는다. 외부에서는 공유기가 가진 공인 IP 하나로 보이는 경우가 많다.
이 구조를 가능하게 해주는 기술이 뒤에서 설명할 NAT다.
⭐ 서브넷이란?
서브넷은 하나의 네트워크를 더 작은 네트워크로 나눈 것이다
회사에 직원이 300명 있다고 해보자.
모든 직원이 하나의 큰 네트워크에 연결되어 있어도 동작은 할 수 있다. 하지만 부서별로 네트워크를 나누면 관리가 더 쉬워진다.
예를 들어 다음처럼 나눌 수 있다.
개발팀 네트워크
인사팀 네트워크
재무팀 네트워크
운영팀 네트워크
이렇게 네트워크를 더 작은 단위로 나눈 것을 서브넷이라고 한다.
그리고 네트워크를 서브넷으로 나누는 작업을 서브네팅이라고 한다.
⭐ 서브네팅을 하는 이유?
서브네팅을 하는 가장 큰 이유는 네트워크를 효율적으로 관리하기 위해서다.
첫 번째 이유는 관리 편의성이다.
모든 장비가 하나의 네트워크에 섞여 있으면 어떤 장비가 어디에 속하는지 파악하기 어렵다. 부서나 용도별로 네트워크를 나누면 관리가 쉬워진다.
두 번째 이유는 보안이다.
인사팀 네트워크에는 개인정보가 있을 수 있다. 데이터베이스 서버가 있는 네트워크에는 중요한 서비스 데이터가 있을 수 있다. 이런 네트워크를 일반 직원용 네트워크와 분리하면 접근 제어를 더 세밀하게 할 수 있다.
세 번째 이유는 장애 범위 축소다.
하나의 네트워크에 문제가 생겼을 때 모든 장비가 영향을 받는 것보다, 특정 서브넷 안에서만 문제가 발생하는 편이 낫다.
네 번째 이유는 IP 주소의 효율적 사용이다.
필요한 규모에 맞게 네트워크를 나누면 IP 주소를 낭비하지 않고 사용할 수 있다.
⭐ NAT이란?
NAT는 Network Address Translation의 약자다.
말 그대로 네트워크 주소를 변환하는 기술이다.
가장 흔한 예시는 집에서 사용하는 공유기다.
집 안의 기기들은 보통 사설 IP를 사용한다.
노트북: 192.168.0.2
스마트폰: 192.168.0.3
태블릿: 192.168.0.4
하지만 사설 IP는 인터넷에서 직접 사용할 수 없다.
192.168.0.2 같은 주소는 집 안에서는 의미가 있지만, 외부 인터넷에서는 직접 찾아갈 수 있는 주소가 아니다.
그래서 인터넷에 나갈 때는 공유기가 내부 사설 IP를 공인 IP로 바꿔준다.
192.168.0.2 → 공유기의 공인 IP → 인터넷
이 주소 변환 과정이 NAT다.
⭐ NAT이 필요한 이유?
NAT가 필요한 가장 큰 이유는 사설 IP를 사용하는 내부 기기들이 인터넷에 접속할 수 있게 하기 위해서다.
예를 들어 집에서 노트북, 스마트폰, 태블릿이 동시에 인터넷을 사용한다고 해보자.
각 기기는 내부적으로 서로 다른 사설 IP를 가진다.
노트북: 192.168.0.2
스마트폰: 192.168.0.3
태블릿: 192.168.0.4
하지만 인터넷에 나갈 때는 공유기의 공인 IP 하나를 함께 사용할 수 있다.
노트북 → 공유기 → 인터넷
스마트폰 → 공유기 → 인터넷
태블릿 → 공유기 → 인터넷
외부 웹사이트 입장에서는 이 요청들이 모두 공유기의 공인 IP에서 온 것처럼 보일 수 있다.
이 방식 덕분에 여러 기기가 하나의 공인 IP를 공유할 수 있다. IPv4 주소 부족 문제를 완화하는 데에도 NAT가 큰 역할을 해왔다.
⭐ NAT는 어떻게 여러 기기를 구분할까?
여기서 의문이 생길 수 있다.
집 안의 여러 기기가 같은 공인 IP로 인터넷에 나간다면, 돌아오는 응답은 어떻게 원래 기기를 찾아갈까?
이때 NAT는 포트 번호를 함께 사용한다.
예를 들어 노트북과 스마트폰이 동시에 웹사이트에 접속했다고 해보자.
노트북: 192.168.0.2:50001
스마트폰: 192.168.0.3:50002
공유기는 이 요청을 외부로 보낼 때 다음처럼 바꿀 수 있다.
192.168.0.2:50001 → 203.0.113.10:60001
192.168.0.3:50002 → 203.0.113.10:60002
여기서 203.0.113.10은 예시용 공인 IP라고 생각하면 된다.
공유기는 이 변환 정보를 NAT 테이블에 저장한다.
나중에 응답이 돌아오면 공유기는 포트 번호를 보고 원래 어느 기기로 보내야 하는지 판단한다.
203.0.113.10:60001로 응답 도착 → 노트북으로 전달
203.0.113.10:60002로 응답 도착 → 스마트폰으로 전달
이처럼 IP 주소뿐 아니라 포트 번호까지 함께 변환하는 방식을 흔히 PAT 또는 NAPT라고 한다. 우리가 일반적으로 공유기에서 사용하는 NAT는 대부분 이 방식에 가깝다.
⭐ SNAT이란?
SNAT는 Source NAT다.
출발지 주소를 변환하는 방식이다.
내부 네트워크의 기기가 인터넷으로 나갈 때 주로 사용된다.
예를 들어 노트북이 외부 웹사이트에 접속한다고 해보자.
노트북: 192.168.0.2
공유기 공인 IP: 203.0.113.10
노트북이 웹사이트에 요청을 보내면 공유기는 출발지 주소를 바꾼다.
변환 전: 192.168.0.2 → 외부 웹사이트
변환 후: 203.0.113.10 → 외부 웹사이트
외부 웹사이트 입장에서는 요청이 192.168.0.2에서 온 것이 아니라 203.0.113.10에서 온 것처럼 보인다.
즉, SNAT는 내부에서 외부로 나갈 때 자주 사용된다.
⭐ DNAT이란?
DNAT는 Destination NAT다.
목적지 주소를 변환하는 방식이다.
외부에서 내부 서버로 접속하게 만들 때 사용된다.
예를 들어 집 안에 개인 웹 서버가 있다고 해보자.
내부 웹 서버: 192.168.0.50
서비스 포트: 8080
이 서버는 집 안에서는 다음 주소로 접속할 수 있다.
http://192.168.0.50:8080
하지만 외부 인터넷에서는 192.168.0.50으로 직접 접속할 수 없다. 사설 IP이기 때문이다.
그래서 공유기에서 다음과 같이 설정한다.
공유기 공인 IP 203.0.113.10:8080
→ 내부 서버 192.168.0.50:8080
이제 외부 사용자가 다음 주소로 접속하면,
http://203.0.113.10:8080
공유기가 요청을 내부 서버로 전달한다.
이것이 DNAT의 대표적인 예시다.
⭐ 정리하자면
IP 주소는 “주소를 정하는 개념”, 서브네팅은 “주소 범위를 나누는 개념”, NAT는 “내부 주소와 외부 주소를 연결하는 개념”이다.
'인프라' 카테고리의 다른 글
| DNS와 CDN (1) | 2026.05.02 |
|---|---|
| TCP/UDP (흐름제어, 혼잡제어) (1) | 2026.05.02 |
| OSI 7계층과 TCP/IP 4계층 (1) | 2026.05.02 |