Post

왜 사설 IP와 NAT가 필요해졌나 - IPv4 부족의 역사와 기업 네트워크 설계 실전

왜 사설 IP와 NAT가 필요해졌나 - IPv4 부족의 역사와 기업 네트워크 설계 실전

📗 1. 들어가며


지난 글에서 서브넷마스크, CIDR, 사설 IP 같은 개념 자체를 정리했다면, 이번 글에서는 왜 이 개념들이 생겨나야 했는지, 그리고 실제 기업 환경에서 공인 IP를 어떻게 받고 내부 네트워크를 어떻게 설계하는지를 이어서 살펴본다.

개념만 외우는 것보다, “이 문제가 있었고, 그래서 이게 만들어졌다”는 흐름으로 이해하면 훨씬 오래 남는다.


📗 2. IPv4의 태생적 한계


IPv4는 1981년에 설계되었다. 주소는 32비트이므로 이론상 최대 약 43억 개(2³² = 4,294,967,296개)의 IP 주소를 가진다.

설계 당시 인터넷은 미국 군사·연구기관 간의 소규모 네트워크(ARPANET)였고, TCP/IP 설계자 중 한 명인 Vint Cerf는 “32비트면 실험에 충분하다”고 판단했다. 그 실험이 전 세계 인프라가 되었다.

1
2
3
4
5
6
7
8
이론상 최대 주소:          4,294,967,296개 (약 43억 개)
특수 목적 예약 대역 제외 후: 약 36억 개
실제 라우팅 가능한 수:     더 적음

전 세계 인구:              약 80억 명
인터넷 연결 기기:          스마트폰, PC, 서버, IoT 등 수백억 개

→ 절대적으로 부족

📗 3. 클래스 방식의 구조적 낭비 (1980년대 말 ~ 1990년대 초)


IP 부족 문제를 더 빠르게 앞당긴 건 절대 주소 수의 부족만이 아니었다. 클래스 기반 주소 체계의 심각한 낭비도 큰 원인이었다.

초기 인터넷은 첫 번째 옥텟만 보고 클래스를 결정하는 방식을 사용했다. A/B/C 세 가지 크기 외에 중간 크기가 없었다.

1
2
3
클래스 A (/8):  16,777,214개 호스트
클래스 B (/16):     65,534개 호스트
클래스 C (/24):        254개 호스트

이 고정 크기 방식은 낭비가 극심했다.

1
2
3
4
5
6
7
8
9
10
11
예시 ①: 직원 300명짜리 기업이 IP 신청
  - 클래스 C(254개)는 부족
  - 클래스 B(65,534개)를 받아야 함
  - 낭비: 65,534 - 300 = 65,234개를 그냥 버림

예시 ②: 스타트업 2명이 신청
  - 클래스 C(254개)를 받음
  - 낭비: 252개를 그냥 버림

예시 ③: 1990년대 초, MIT·Stanford·Apple 등이 클래스 A(/8) 전체 보유
  - 1,677만 개를 한 조직이 독점

이 구조적 낭비 때문에 1990년대 초에 이미 IP 부족이 현실로 다가왔다.


📗 4. 문제별 해결책의 등장 순서


문제가 커질수록 해결책도 하나씩 등장했다.

image

1
2
3
4
5
6
7
8
9
10
문제                           →  해결책                   →  시기

1. 클래스 방식의 낭비             →  CIDR + 서브넷팅          →  1993년 (RFC 1519)
   (너무 크거나 너무 작게 할당)        (프리픽스 자유 지정)

2. 공인 IP 절대 부족              →  사설 IP (RFC 1918)       →  1996년
   (43억 개로 수십억 기기 불가)        + NAT (RFC 3022)         →  2001년

3. 근본적 해결                   →  IPv6 (128비트)            →  1998년 표준화
                                    (약 3.4 × 10³⁸개)            (보급은 현재도 진행 중)

📌 CIDR + 서브넷팅: “낭비를 줄이자”

클래스 방식에서는 A/B/C 외에 중간 크기가 없었다. 300개가 필요해도 65,534개(클래스 B)를 받아야 했다.

CIDR(RFC 1519, 1993년)은 프리픽스 길이(/숫자)를 자유롭게 설정해서 필요한 만큼만 할당할 수 있게 해결했다.

1
2
3
4
5
300개 호스트 필요 → /23 사용
2^(32-23) - 2 = 2^9 - 2 = 510개 → 딱 맞는 크기 할당 가능

기존 클래스 방식으로는 65,534개짜리 클래스 B를 받아야 했던 상황을
/23(510개)으로 해결 → 낭비 대폭 감소

서브넷팅은 반대 방향으로도 작동한다. 큰 네트워크를 부서나 용도별로 잘게 쪼개서 내부적으로 관리하는 것이다.

📌 사설 IP: “43억 개를 재사용하자”

내부 통신만 하는 기기(프린터, 내부 서버 등)에 굳이 전 세계 유일한 공인 IP를 줄 필요가 없다. 인터넷에 나가지 않는 기기는 같은 번호를 여러 조직이 재사용해도 된다.

RFC 1918(1996년)은 3개의 주소 대역을 “사설 전용”으로 예약했다. 이 주소들은 인터넷에서 라우팅되지 않으므로 전 세계 어느 회사나 가정도 중복 사용이 가능하다.

1
2
3
4
5
6
10.0.0.0/8        → 약 1,677만 개 (대기업·클라우드용)
172.16.0.0/12     → 약 104만 개  (중견기업용)
192.168.0.0/16    → 약 6만 5천 개 (가정·소규모용)

→ 전 세계 수십억 개 사설 네트워크가 각자 192.168.1.x를 사용해도
  인터넷에서 라우팅 안 되니 충돌 없음

📌 NAT: “사설 IP로 인터넷도 쓰자”

사설 IP 기기는 인터넷에 직접 나갈 수 없다. NAT(RFC 3022)는 라우터(공유기)가 사설 IP를 공인 IP로 변환(Translation)해서 내보내고, 응답이 오면 다시 사설 IP로 변환해서 돌려주는 방식이다.

1
2
3
4
5
6
7
8
9
10
[내부 PC 192.168.1.100]                 [인터넷]
        ↓ 사설 IP로 패킷 출발
[공유기/라우터] ── 공인 IP 1.2.3.4 보유
        ↓ 출발지 주소를 1.2.3.4로 바꿔서 인터넷으로 전송
[구글 서버 8.8.8.8]
        ↓ 응답을 1.2.3.4로 보냄
[공유기/라우터] ── 1.2.3.4를 192.168.1.100으로 다시 변환
[내부 PC 192.168.1.100]

→ 공인 IP 1개로 내부 기기 수백~수천 대가 인터넷 사용 가능

이 NAT 덕분에 IPv4 소진이 예상보다 10~15년 더 늦춰졌다.


📗 5. IPv4 소진의 실제 타임라인


결국 IPv4는 소진되었다.

날짜사건
2011년 2월 3일IANA, 마지막 5개 /8 블록을 5개 RIR에 균등 배분 → IANA 풀 완전 소진
2011년 4월 15일APNIC(아시아·태평양) 최초 소진 → 기관당 /22(1,024개) 상한
2015년 9월 24일ARIN(북미) 소진
2019년 11월 25일RIPE NCC(유럽) 소진 → 마지막 /22 배분
현재신규 공인 IP는 사실상 중고 시장(Transfer Market)에서만 구매 가능

💡 한국의 경우: APNIC 관할이므로 2011년부터 신규 공인 IP 대량 확보가 어렵다. KT, SK텔레콤 같은 대형 ISP들은 이미 확보해둔 IP 블록을 재분배하거나, NAT/CGNAT로 대응하고 있다.


📗 6. 공인 IP 할당 체계: 기업은 어떻게 IP를 받는가


공인 IP는 마음대로 쓸 수 없다. 전 세계적으로 관리되는 자원이기 때문에 계층적으로 할당된다.

image

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
IANA (Internet Assigned Numbers Authority)
│  전 세계 IP 주소 공간 총괄 관리
│  5개 RIR에 대형 블록(/8 단위) 배분
│
├── ARIN     (북미)
├── RIPE NCC (유럽·중동·중앙아시아)
├── APNIC    (아시아·태평양) ← 한국 포함
├── LACNIC   (남미·카리브해)
└── AFRINIC  (아프리카)
      │
      │  RIR → ISP (KT, SKT, LG U+ 등)에 블록 할당
      │
      ├── ISP (KT, SKT, LG U+ ...)
      │     │  ISP → 기업/기관에 할당 (서비스 계약)
      │     │
      │     ├── 대기업 / 데이터센터
      │     ├── 중소·중견 기업    ← 이 글에서 다루는 구간
      │     └── 일반 가정 (유동 IP)
      │
      └── 일부 대기업은 APNIC에 직접 신청 가능

📌 현재 기업이 공인 IP를 얻는 방법

1
2
3
4
5
6
7
8
9
10
11
12
13
14
① ISP 계약을 통한 할당 (가장 일반적)
   - 인터넷 회선 계약 시 공인 IP 포함
   - 소규모: 유동 IP 1개 (일반 가정·소규모 사무실)
   - 고정 IP 추가 계약: /29(6개), /28(14개) 단위 등으로 구매
   - 중견 기업: /24(254개) ~ /22(1,022개) 블록 계약

② APNIC 직접 회원 가입 (대기업·ISP·데이터센터)
   - 조직 규모와 필요 수량 증빙 후 신청
   - 현재는 /22(1,024개) 상한

③ IPv4 Transfer Market (중고 거래)
   - IPv4 소진 후 등장한 시장
   - 현재 공인 IPv4 1개당 약 $40~60 수준 (2024년 기준)
   - APNIC, ARIN 등이 중개 등록 서비스 제공

📗 7. 실전 시나리오: 중소·중견 기업의 IP 할당과 네트워크 설계


이제 실제 상황을 가정해서 공인 IP 할당부터 내부 네트워크 설계까지 단계별로 따라가본다.

📌 상황 설정

1
2
3
4
5
6
회사:  (주)넥스트커머스
규모:  직원 150명
구성:  서울 본사 (120명) + IDC 코로케이션 서버
부서:  개발팀(40명), 영업팀(30명), 운영팀(25명), 임원·총무(25명)
외부:  웹서버, API 서버, DB 서버 (IDC 운영)
회선:  KT 기업 인터넷 (1Gbps)

📌 STEP 1: ISP(KT)로부터 공인 IP 할당받기

KT와 기업 인터넷 회선 계약 시 공인 IP 블록을 함께 계약한다.

1
2
3
4
5
6
7
8
9
계약: 1Gbps 기업 전용 회선 + 공인 IP 블록 203.0.113.0/28

203.0.113.0/28 분석:
  호스트 비트:    32 - 28 = 4비트
  전체 IP 수:     2⁴ = 16개
  사용 가능 IP:   16 - 2 = 14개
  서브넷 마스크:  255.255.255.240
  네트워크 주소:  203.0.113.0
  브로드캐스트:   203.0.113.15

14개의 공인 IP 사용 계획:

공인 IP용도
203.0.113.1경계 라우터 (KT 쪽 인터페이스)
203.0.113.2방화벽 외부 인터페이스 (NAT 출구)
203.0.113.3웹서버 (NAT 없이 직접 공인 IP 부여)
203.0.113.4API 서버
203.0.113.5메일 서버 (MX 레코드용)
203.0.113.6VPN 게이트웨이 (재택근무·외부 접속)
203.0.113.7 ~ .14예비

💡 직원 150명의 PC는 공인 IP가 없어도 된다. 방화벽의 공인 IP 1개(203.0.113.2)로 NAT를 통해 전 직원이 인터넷을 쓴다.


📌 STEP 2: 내부 사설 IP 주소 계획

직원 150명 + 서버들을 수용하기 위해 사설 IP 10.0.0.0/8 블록 중 일부를 사용한다.

1
2
3
4
5
6
전체 사설망 블록: 10.10.0.0/16 (사용하기로 결정)

이유:
- 클래스 A 사설 대역(10.0.0.0/8) 중 일부를 조직이 임의로 사용
- /16이면 65,534개 호스트 수용 가능
- 현재 150명이지만 미래 성장을 고려한 여유 확보

📌 STEP 3: 부서별 서브넷 설계

10.10.0.0/16을 부서·용도별로 /24 단위로 서브넷팅한다.

1
2
10.10.0.0/16을 /24로 쪼개면:
빌린 비트: 24 - 16 = 8비트  →  서브넷 수: 2⁸ = 256개 가능
서브넷네트워크 주소/CIDR용도사용 가능 IP현재 사용
개발팀10.10.1.0/24개발자 PC, 노트북254개40대
영업팀10.10.2.0/24영업 PC, 노트북254개30대
운영팀10.10.3.0/24운영 PC, 공유 장비254개25대
임원·총무10.10.4.0/24임원 PC, 복합기254개25대
내부 서버10.10.10.0/24파일서버, 그룹웨어, 내부 DB254개15대
DMZ10.10.20.0/27외부 접근 서버30개5대
네트워크 장비10.10.100.0/28스위치, AP 관리14개8대
VoIP10.10.200.0/24사내 IP 전화254개50대

왜 DMZ에 /27을 쓰는가:

1
2
3
4
5
6
7
8
9
10
DMZ(비무장지대)는 외부 인터넷과 내부망 사이에 위치하는 특수 구간이다.
웹서버, API 서버처럼 외부에서 접근이 필요한 서버만 배치한다.
보안상 최소한의 IP만 허용 → /27 (30개)로 충분.

10.10.20.0/27:
  네트워크 주소: 10.10.20.0
  브로드캐스트:  10.10.20.31
  사용 가능:    10.10.20.1 ~ 10.10.20.30 (30개)

만약 /24를 그대로 쓴다면 불필요한 254개의 주소가 DMZ에 노출되는 셈이다.

📌 STEP 4: 라우터 간 링크에 /30 사용

라우터와 라우터 사이 링크는 딱 2개의 IP만 필요하다 → /30 사용

1
2
3
4
5
6
7
8
9
10
본사 라우터 ↔ IDC 라우터 연결:
  10.10.255.0/30
  10.10.255.1 → 본사 라우터 인터페이스
  10.10.255.2 → IDC 라우터 인터페이스
  (10.10.255.0 = 네트워크, 10.10.255.3 = 브로드캐스트)

/30의 계산:
  호스트 비트: 32 - 30 = 2비트
  전체 IP 수: 2² = 4개
  사용 가능:  4 - 2 = 2개   → 딱 양쪽 라우터에 하나씩

📌 STEP 5: 전체 네트워크 구성도

image


📌 STEP 6: NAT 동작 방식 (인터넷 접속)

개발팀 PC가 외부 인터넷에 접속할 때 내부에서는 어떤 일이 벌어지는지 단계별로 정리한다.

image

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
1. 개발팀 PC (10.10.1.15) → 구글(8.8.8.8) 요청 발생
   출발지: 10.10.1.15:49200
   목적지: 8.8.8.8:443

2. 방화벽/라우터에서 NAT 변환
   출발지: 10.10.1.15:49200 → 203.0.113.2:49200 (공인 IP로 교체)
   → NAT 테이블에 기록: (10.10.1.15:49200 ↔ 203.0.113.2:49200)

3. 구글 서버가 203.0.113.2:49200으로 응답

4. 방화벽이 NAT 테이블 참조
   203.0.113.2:49200 → 10.10.1.15:49200으로 역변환

5. 개발팀 PC가 응답 수신

→ 내부 기기 150대 전체가 공인 IP 1개로 인터넷 사용

📌 STEP 7: 공인 IP와 사설 IP의 역할 분리 정리

1
2
3
4
5
6
7
8
9
10
공인 IP (203.0.113.x, 14개) → 소량, 희소
  - 외부에서 직접 접근해야 하는 서비스 전용
  - 웹서버, API 서버, 메일 서버, VPN 게이트웨이
  - 인터넷 출구 역할 (NAT)

사설 IP (10.10.x.x, 수천 개) → 무제한, 무료
  - 내부 기기 전부 (PC, 서버, 전화기, 프린터 등)
  - 인터넷에서 직접 접근 불가 → 보안상 유리
  - DHCP 서버가 자동 배포
  - NAT를 통해 인터넷 사용

📗 8. 전체 흐름 요약


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
[IPv4 설계: 1981년]
 32비트 → 43억 개 → "충분할 줄 알았다"
          ↓
[문제 ①: 클래스 방식의 낭비 (1990년대 초)]
 300명 기업이 65,534개짜리 클래스 B를 받아야 했던 비효율
          ↓
[해결 ①: CIDR + 서브넷팅 (1993년, RFC 1519)]
 프리픽스 자유 지정 → 딱 필요한 만큼만 할당
          ↓
[문제 ②: 공인 IP 절대 부족 (1990년대 중반~)]
 기기 폭발적 증가로 43억 개 자체가 모자람
          ↓
[해결 ②: 사설 IP + NAT (1996년~, RFC 1918 / RFC 3022)]
 내부 기기엔 사설 IP → 공인 IP 1개로 수백 대 접속
 → IPv4 수명을 10~15년 더 연장
          ↓
[2011년: IANA IPv4 풀 완전 소진]
 더 이상 새 공인 IP 블록 없음
 → 기업은 ISP에서 소량 구매 or 중고 시장(Transfer Market)
          ↓
[실제 기업 네트워크 설계]
 공인 IP (소량): 외부 접점 서비스에만
 사설 IP (10.x.x.x 등): 내부 기기 전체
 서브넷팅: 부서·용도별 분리 (/24, /27, /28, /30 등)
 CIDR: 필요한 크기만 정밀하게 설계
 NAT: 사설 IP로 인터넷 사용

📗 9. 자주 하는 혼동 정리


혼동 포인트올바른 이해
“172.16.x.x만 사설 IP”NO. 172.16.0.0 ~ 172.31.255.255 전체(/12)가 사설 IP
“클래스 A = 사설 IP”NO. 10.0.0.0/8이 사설인 건 RFC 1918 때문, 클래스 A라서가 아님
“클래스 C는 무조건 /24”NO. CIDR로 /25, /26 등 자유롭게 지정 가능
“공인 IP = 외부, 사설 IP = 내부”개념적으로 맞지만, NAT 없이는 사설 IP로 인터넷 불가
“사설 IP는 전 세계에 1개만”NO. 사설 IP는 조직마다 중복 사용 가능 (인터넷에서 라우팅 안 됨)
“/30은 작아서 쓸모없다”NO. 라우터 간 포인트-투-포인트 링크에 정확히 맞는 크기
“NAT는 임시방편”맞다. NAT는 IPv4 고갈을 늦춘 임시 기술. 근본 해결책은 IPv6이지만 현재도 현역

참고

This post is licensed under CC BY 4.0 by the author.