서브넷의 구조와 서브넷팅

서브넷의 구조와 서브넷팅

서브넷의 구조와 서브넷팅

1. 서브넷이란?

서브넷 개념

┌─────────────────────────────────────────────────────────────┐
│                         서브넷 (Subnet)                      │
├─────────────────────────────────────────────────────────────┤
│                                                             │
│  정의:                                                      │
│  • Subnetwork의 줄임말                                      │
│  • 하나의 큰 네트워크를 여러 개의 작은 네트워크로 분할       │
│  • 논리적으로 독립적인 네트워크 세그먼트                     │
│                                                             │
│  서브넷팅 (Subnetting):                                     │
│  • 네트워크를 분할하는 과정                                  │
│  • 호스트 ID의 일부를 서브넷 ID로 사용                       │
│                                                             │
└─────────────────────────────────────────────────────────────┘

서브넷팅 전후 비교

서브넷팅 전 (클래스풀):
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

┌─────────────────────────────────────────────────────────────┐
│           하나의 큰 C 클래스 네트워크 (192.168.1.0/24)       │
│                                                             │
│  ┌─────────┬─────────────────────────────────────────────┐ │
│  │네트워크 │              호스트 ID                       │ │
│  │   ID    │              (254개)                        │ │
│  │ (24비트)│              (8비트)                        │ │
│  └─────────┴─────────────────────────────────────────────┘ │
│                                                             │
│  문제점:                                                    │
│  • 모든 장치가 같은 브로드캐스트 도메인                      │
│  • 254개 장치가 모두 브로드캐스트 수신 → 비효율적           │
│  • 보안 분리 어려움 (서버, 일반 PC 구분 불가)               │
│                                                             │
└─────────────────────────────────────────────────────────────┘


서브넷팅 후 (서브넷 분할):
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

┌─────────────────────────────────────────────────────────────┐
│                                                             │
│  ┌─────────┬─────────┬─────────────────────────────────┐   │
│  │네트워크 │ 서브넷  │         호스트 ID                │   │
│  │   ID    │   ID    │         (62개)                  │   │
│  │ (24비트)│ (2비트) │         (6비트)                 │   │
│  └─────────┴─────────┴─────────────────────────────────┘   │
│                                                             │
│  ┌────────────────────────────────────────────────┐        │
│  │  서브넷 1: 192.168.1.0/26   (62개 호스트)     │        │
│  │  용도: 관리부서                                │        │
│  └────────────────────────────────────────────────┘        │
│                                                             │
│  ┌────────────────────────────────────────────────┐        │
│  │  서브넷 2: 192.168.1.64/26  (62개 호스트)     │        │
│  │  용도: 개발부서                                │        │
│  └────────────────────────────────────────────────┘        │
│                                                             │
│  ┌────────────────────────────────────────────────┐        │
│  │  서브넷 3: 192.168.1.128/26 (62개 호스트)     │        │
│  │  용도: 영업부서                                │        │
│  └────────────────────────────────────────────────┘        │
│                                                             │
│  ┌────────────────────────────────────────────────┐        │
│  │  서브넷 4: 192.168.1.192/26 (62개 호스트)     │        │
│  │  용도: 서버팜                                  │        │
│  └────────────────────────────────────────────────┘        │
│                                                             │
│  장점:                                                      │
│  • 브로드캐스트 도메인 분리 → 네트워크 효율 향상            │
│  • 부서별 논리적 분리 → 보안 강화                           │
│  • 트래픽 분산 → 성능 개선                                  │
│                                                             │
└─────────────────────────────────────────────────────────────┘

서브넷팅의 필요성

┌─────────────────────────────────────────────────────────────┐
│                   서브넷팅이 필요한 이유                      │
├─────────────────────────────────────────────────────────────┤
│                                                             │
│  1. 브로드캐스트 도메인 분리                                 │
│  ─────────────────────────────────────────                  │
│  • 브로드캐스트 트래픽 감소                                  │
│  • 네트워크 성능 향상                                        │
│  • 충돌 도메인 최소화                                        │
│                                                             │
│  2. 보안 강화                                                │
│  ─────────────────────────────────────────                  │
│  • 부서/팀별 네트워크 분리                                   │
│  • 접근 제어 용이 (방화벽 규칙)                              │
│  • 중요 서버 격리                                            │
│                                                             │
│  3. IP 주소 효율적 관리                                      │
│  ─────────────────────────────────────────                  │
│  • 필요한 만큼만 IP 할당                                     │
│  • IP 주소 낭비 방지                                         │
│  • 체계적인 주소 관리                                        │
│                                                             │
│  4. 네트워크 관리 편의성                                     │
│  ─────────────────────────────────────────                  │
│  • 논리적 구조 명확                                          │
│  • 문제 발생 시 영향 범위 제한                               │
│  • 트래픽 모니터링 용이                                      │
│                                                             │
│  5. 지리적 분산                                              │
│  ─────────────────────────────────────────                  │
│  • 여러 건물/층별 네트워크 구성                              │
│  • 지사별 네트워크 할당                                      │
│                                                             │
└─────────────────────────────────────────────────────────────┘

2. 서브넷 마스크 (Subnet Mask)

서브넷 마스크란?

┌─────────────────────────────────────────────────────────────┐
│                       서브넷 마스크                          │
├─────────────────────────────────────────────────────────────┤
│                                                             │
│  정의:                                                      │
│  • IP 주소에서 네트워크 부분과 호스트 부분을 구분하는 값      │
│  • 32비트 이진수로 구성                                      │
│  • 네트워크 비트는 1, 호스트 비트는 0                        │
│                                                             │
│  역할:                                                      │
│  • IP 주소와 AND 연산하여 네트워크 주소 계산                 │
│  • 같은 네트워크인지 판단                                    │
│  • 서브넷팅에 사용                                           │
│                                                             │
└─────────────────────────────────────────────────────────────┘


서브넷 마스크의 표기:

┌─────────────────────────────────────────────────────────────┐
│                                                             │
│  1. 10진수 표기 (Dotted Decimal Notation)                   │
│  ─────────────────────────────────────────                  │
│  255.255.255.0                                              │
│  255.255.255.128                                            │
│  255.255.255.192                                            │
│                                                             │
│  2. CIDR 표기 (프리픽스 표기법)                              │
│  ─────────────────────────────────────────                  │
│  /24  (네트워크 비트가 24개)                                │
│  /25  (네트워크 비트가 25개)                                │
│  /26  (네트워크 비트가 26개)                                │
│                                                             │
│  3. 2진수 표기                                               │
│  ─────────────────────────────────────────                  │
│  11111111.11111111.11111111.00000000                       │
│  11111111.11111111.11111111.10000000                       │
│  11111111.11111111.11111111.11000000                       │
│                                                             │
└─────────────────────────────────────────────────────────────┘

클래스별 기본 서브넷 마스크

┌─────────────────────────────────────────────────────────────┐
│              클래스별 기본 서브넷 마스크                      │
├────────┬──────────────────┬─────────────┬──────────────────┤
│ 클래스 │    10진수 표기    │ CIDR 표기   │   2진수 표기     │
├────────┼──────────────────┼─────────────┼──────────────────┤
│   A    │   255.0.0.0      │     /8      │ 11111111.        │
│        │                  │             │ 00000000.        │
│        │                  │             │ 00000000.        │
│        │                  │             │ 00000000         │
├────────┼──────────────────┼─────────────┼──────────────────┤
│   B    │   255.255.0.0    │    /16      │ 11111111.        │
│        │                  │             │ 11111111.        │
│        │                  │             │ 00000000.        │
│        │                  │             │ 00000000         │
├────────┼──────────────────┼─────────────┼──────────────────┤
│   C    │   255.255.255.0  │    /24      │ 11111111.        │
│        │                  │             │ 11111111.        │
│        │                  │             │ 11111111.        │
│        │                  │             │ 00000000         │
└────────┴──────────────────┴─────────────┴──────────────────┘

서브넷 마스크 동작 원리

네트워크 주소 계산 (AND 연산):

┌─────────────────────────────────────────────────────────────┐
│                                                             │
│  예시: IP 주소 192.168.1.130/26의 네트워크 주소는?          │
│                                                             │
│  IP 주소:      192      168       1       130              │
│  (2진수)    11000000.10101000.00000001.10000010            │
│                                                             │
│  서브넷:       255      255      255      192              │
│  (2진수)    11111111.11111111.11111111.11000000            │
│             ├─────────────────────────────┤├──────┤        │
│                   네트워크 (26비트)        호스트          │
│                                            (6비트)          │
│                                                             │
│  AND 연산:                                                  │
│  ──────────────────────────────────────────────            │
│  IP:        11000000.10101000.00000001.10000010            │
│  마스크:    11111111.11111111.11111111.11000000            │
│  ──────────────────────────────────────────────            │
│  결과:      11000000.10101000.00000001.10000000            │
│                                                             │
│  네트워크 주소: 192.168.1.128                               │
│                                                             │
│                                                             │
│  같은 네트워크 판단:                                        │
│  ─────────────────────────────────────────                  │
│  • 192.168.1.130/26 → 네트워크: 192.168.1.128              │
│  • 192.168.1.150/26 → 네트워크: 192.168.1.128              │
│  → 같은 네트워크! 직접 통신 가능                            │
│                                                             │
│  • 192.168.1.200/26 → 네트워크: 192.168.1.192              │
│  → 다른 네트워크! 라우터 필요                               │
│                                                             │
└─────────────────────────────────────────────────────────────┘

3. 서브넷 마스크 비트와 호스트 수

서브넷 마스크 변환표

┌─────────────────────────────────────────────────────────────┐
│            서브넷 마스크 완전 변환표                         │
├───────┬────────────┬──────────────┬──────────┬─────────────┤
│ CIDR  │  서브넷    │   2진수      │  호스트  │  사용 가능  │
│ 표기  │  마스크    │  (마지막옥텟)│  비트수  │  호스트 수  │
├───────┼────────────┼──────────────┼──────────┼─────────────┤
│  /24  │ 255.255.   │  00000000    │    8     │    254      │
│       │ 255.0      │              │          │  (2^8 - 2)  │
├───────┼────────────┼──────────────┼──────────┼─────────────┤
│  /25  │ 255.255.   │  10000000    │    7     │    126      │
│       │ 255.128    │              │          │  (2^7 - 2)  │
├───────┼────────────┼──────────────┼──────────┼─────────────┤
│  /26  │ 255.255.   │  11000000    │    6     │     62      │
│       │ 255.192    │              │          │  (2^6 - 2)  │
├───────┼────────────┼──────────────┼──────────┼─────────────┤
│  /27  │ 255.255.   │  11100000    │    5     │     30      │
│       │ 255.224    │              │          │  (2^5 - 2)  │
├───────┼────────────┼──────────────┼──────────┼─────────────┤
│  /28  │ 255.255.   │  11110000    │    4     │     14      │
│       │ 255.240    │              │          │  (2^4 - 2)  │
├───────┼────────────┼──────────────┼──────────┼─────────────┤
│  /29  │ 255.255.   │  11111000    │    3     │      6      │
│       │ 255.248    │              │          │  (2^3 - 2)  │
├───────┼────────────┼──────────────┼──────────┼─────────────┤
│  /30  │ 255.255.   │  11111100    │    2     │      2      │
│       │ 255.252    │              │          │  (2^2 - 2)  │
├───────┼────────────┼──────────────┼──────────┼─────────────┤
│  /31  │ 255.255.   │  11111110    │    1     │      0      │
│       │ 255.254    │              │          │  (특수용도) │
├───────┼────────────┼──────────────┼──────────┼─────────────┤
│  /32  │ 255.255.   │  11111111    │    0     │      1      │
│       │ 255.255    │              │          │  (호스트1개)│
└───────┴────────────┴──────────────┴──────────┴─────────────┘


빠른 계산 공식:

• 서브넷 개수 = 2^(빌린 비트 수)
• 호스트 개수 = 2^(호스트 비트 수) - 2
• 블록 크기 = 256 - 서브넷 마스크 값

서브넷 마스크 계산 예시

예제 1: /26 서브넷 상세 분석
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

┌─────────────────────────────────────────────────────────────┐
│                                                             │
│  기본 C 클래스: 192.168.1.0/24                              │
│  서브넷팅: /26 (2비트를 빌림)                                │
│                                                             │
│  ┌─────────┬─────────┬─────────────────────────────────┐   │
│  │네트워크 │ 서브넷  │         호스트 ID                │   │
│  │   ID    │   ID    │                                  │   │
│  │ (24비트)│ (2비트) │         (6비트)                 │   │
│  └─────────┴─────────┴─────────────────────────────────┘   │
│                                                             │
│  서브넷 개수: 2^2 = 4개                                     │
│  호스트 개수: 2^6 - 2 = 62개 (각 서브넷당)                  │
│  블록 크기: 256 - 192 = 64                                  │
│                                                             │
│                                                             │
│  서브넷 1:                                                  │
│  ─────────────────────────────────────────                  │
│  네트워크 주소:     192.168.1.0                             │
│  첫 호스트:         192.168.1.1                             │
│  마지막 호스트:     192.168.1.62                            │
│  브로드캐스트:      192.168.1.63                            │
│                                                             │
│  서브넷 2:                                                  │
│  ─────────────────────────────────────────                  │
│  네트워크 주소:     192.168.1.64                            │
│  첫 호스트:         192.168.1.65                            │
│  마지막 호스트:     192.168.1.126                           │
│  브로드캐스트:      192.168.1.127                           │
│                                                             │
│  서브넷 3:                                                  │
│  ─────────────────────────────────────────                  │
│  네트워크 주소:     192.168.1.128                           │
│  첫 호스트:         192.168.1.129                           │
│  마지막 호스트:     192.168.1.190                           │
│  브로드캐스트:      192.168.1.191                           │
│                                                             │
│  서브넷 4:                                                  │
│  ─────────────────────────────────────────                  │
│  네트워크 주소:     192.168.1.192                           │
│  첫 호스트:         192.168.1.193                           │
│  마지막 호스트:     192.168.1.254                           │
│  브로드캐스트:      192.168.1.255                           │
│                                                             │
└─────────────────────────────────────────────────────────────┘


예제 2: /28 서브넷 상세 분석
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

┌─────────────────────────────────────────────────────────────┐
│                                                             │
│  기본 C 클래스: 192.168.1.0/24                              │
│  서브넷팅: /28 (4비트를 빌림)                                │
│                                                             │
│  서브넷 개수: 2^4 = 16개                                    │
│  호스트 개수: 2^4 - 2 = 14개 (각 서브넷당)                  │
│  블록 크기: 256 - 240 = 16                                  │
│                                                             │
│  ┌──────┬─────────────┬───────────────┬──────────────┐     │
│  │서브넷│ 네트워크    │  사용 가능    │ 브로드캐스트 │     │
│  │번호  │   주소      │   호스트 범위 │    주소      │     │
│  ├──────┼─────────────┼───────────────┼──────────────┤     │
│  │  1   │ 192.168.1.0 │ .1 ~ .14      │ .15          │     │
│  │  2   │ 192.168.1.16│ .17 ~ .30     │ .31          │     │
│  │  3   │ 192.168.1.32│ .33 ~ .46     │ .47          │     │
│  │  4   │ 192.168.1.48│ .49 ~ .62     │ .63          │     │
│  │  5   │ 192.168.1.64│ .65 ~ .78     │ .79          │     │
│  │  6   │ 192.168.1.80│ .81 ~ .94     │ .95          │     │
│  │  7   │ 192.168.1.96│ .97 ~ .110    │ .111         │     │
│  │  8   │ 192.168.1.112│.113 ~ .126   │ .127         │     │
│  │  9   │ 192.168.1.128│.129 ~ .142   │ .143         │     │
│  │ 10   │ 192.168.1.144│.145 ~ .158   │ .159         │     │
│  │ 11   │ 192.168.1.160│.161 ~ .174   │ .175         │     │
│  │ 12   │ 192.168.1.176│.177 ~ .190   │ .191         │     │
│  │ 13   │ 192.168.1.192│.193 ~ .206   │ .207         │     │
│  │ 14   │ 192.168.1.208│.209 ~ .222   │ .223         │     │
│  │ 15   │ 192.168.1.224│.225 ~ .238   │ .239         │     │
│  │ 16   │ 192.168.1.240│.241 ~ .254   │ .255         │     │
│  └──────┴─────────────┴───────────────┴──────────────┘     │
│                                                             │
│  용도 예시:                                                 │
│  • 서브넷 1-4:   일반 사무실 (층별)                         │
│  • 서브넷 5-8:   개발팀                                     │
│  • 서브넷 9-12:  영업팀                                     │
│  • 서브넷 13-14: 회의실                                     │
│  • 서브넷 15:    서버                                       │
│  • 서브넷 16:    네트워크 장비                              │
│                                                             │
└─────────────────────────────────────────────────────────────┘

4. CIDR (Classless Inter-Domain Routing)

CIDR 개념

┌─────────────────────────────────────────────────────────────┐
│                 CIDR (클래스리스 라우팅)                      │
├─────────────────────────────────────────────────────────────┤
│                                                             │
│  정의:                                                      │
│  • Classless Inter-Domain Routing                          │
│  • 클래스 개념 없이 유연하게 네트워크 크기 지정               │
│  • IP 주소/프리픽스 길이 형식으로 표기                       │
│                                                             │
│  장점:                                                      │
│  ─────────────────────────────────────────                  │
│  • IP 주소 효율적 사용                                       │
│  • 라우팅 테이블 크기 축소 (경로 집약)                       │
│  • 클래스 제약 없이 자유로운 네트워크 설계                   │
│                                                             │
│  표기법: IP주소/프리픽스길이                                 │
│  예: 192.168.1.0/26, 10.0.0.0/22                           │
│                                                             │
└─────────────────────────────────────────────────────────────┘


클래스풀 vs CIDR 비교:

┌─────────────────────────────────────────────────────────────┐
│                                                             │
│  상황: 500대의 호스트가 필요한 회사                          │
│                                                             │
│  클래스풀 방식:                                             │
│  ─────────────────────────────────────────                  │
│  • C 클래스: 254개 → 부족!                                  │
│  • B 클래스: 65,534개 → 할당                                │
│    낭비: 65,034개 (99.2%)                                   │
│                                                             │
│  CIDR 방식:                                                 │
│  ─────────────────────────────────────────                  │
│  • /23 서브넷: 510개 → 할당                                 │
│    낭비: 10개 (2%)                                          │
│                                                             │
│  ┌──────────────────────────────────────────────────┐      │
│  │  클래스풀:                                        │      │
│  │  사용: ██ 500대                                  │      │
│  │  낭비: ░░░░░░░░░░░░░░░░░░░░░░░░░░ 65,034대      │      │
│  │  효율: 0.8%                                      │      │
│  └──────────────────────────────────────────────────┘      │
│                                                             │
│  ┌──────────────────────────────────────────────────┐      │
│  │  CIDR:                                            │      │
│  │  사용: ████████████████████████████████ 500대    │      │
│  │  여유: █ 10대                                     │      │
│  │  효율: 98%                                       │      │
│  └──────────────────────────────────────────────────┘      │
│                                                             │
└─────────────────────────────────────────────────────────────┘

CIDR 블록 크기

┌─────────────────────────────────────────────────────────────┐
│                 CIDR 블록 크기 참조표                        │
├───────┬────────────┬──────────────┬─────────────────────────┤
│ CIDR  │  호스트수  │  서브넷 마스크│        용도 예시        │
├───────┼────────────┼──────────────┼─────────────────────────┤
│  /30  │     2      │ 255.255.255.252│ P2P 링크 (라우터 간)  │
├───────┼────────────┼──────────────┼─────────────────────────┤
│  /29  │     6      │ 255.255.255.248│ 매우 작은 네트워크    │
├───────┼────────────┼──────────────┼─────────────────────────┤
│  /28  │    14      │ 255.255.255.240│ 소규모 사무실         │
├───────┼────────────┼──────────────┼─────────────────────────┤
│  /27  │    30      │ 255.255.255.224│ 소규모 부서           │
├───────┼────────────┼──────────────┼─────────────────────────┤
│  /26  │    62      │ 255.255.255.192│ 중소규모 부서         │
├───────┼────────────┼──────────────┼─────────────────────────┤
│  /25  │   126      │ 255.255.255.128│ 중규모 네트워크       │
├───────┼────────────┼──────────────┼─────────────────────────┤
│  /24  │   254      │ 255.255.255.0  │ 일반적인 LAN          │
├───────┼────────────┼──────────────┼─────────────────────────┤
│  /23  │   510      │ 255.255.254.0  │ 대규모 LAN            │
├───────┼────────────┼──────────────┼─────────────────────────┤
│  /22  │  1,022     │ 255.255.252.0  │ 매우 큰 네트워크      │
├───────┼────────────┼──────────────┼─────────────────────────┤
│  /21  │  2,046     │ 255.255.248.0  │ 대기업 부서           │
├───────┼────────────┼──────────────┼─────────────────────────┤
│  /20  │  4,094     │ 255.255.240.0  │ ISP 소규모 할당       │
├───────┼────────────┼──────────────┼─────────────────────────┤
│  /16  │ 65,534     │ 255.255.0.0    │ B 클래스 크기         │
├───────┼────────────┼──────────────┼─────────────────────────┤
│  /8   │16,777,214  │ 255.0.0.0      │ A 클래스 크기         │
└───────┴────────────┴──────────────┴─────────────────────────┘

5. 서브넷팅 실습 예제

예제 1: 요구사항에 맞는 서브넷 설계

문제:
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

회사에 192.168.10.0/24 네트워크가 주어졌다.
다음 부서별 호스트 수 요구사항에 맞게 서브넷을 설계하라.

• 영업부: 50대
• 개발부: 30대
• 관리부: 20대
• 서버팜: 10대


해결 과정:
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

┌─────────────────────────────────────────────────────────────┐
│                                                             │
│  Step 1: 각 부서에 필요한 서브넷 크기 결정                   │
│  ─────────────────────────────────────────                  │
│                                                             │
│  영업부 (50대):                                             │
│  • 필요: 50 + 2(네트워크, 브로드캐스트) = 52개 이상          │
│  • 2^6 = 64개 → /26 (62개 사용 가능) ✓                      │
│                                                             │
│  개발부 (30대):                                             │
│  • 필요: 30 + 2 = 32개 이상                                 │
│  • 2^5 = 32개 → /27 (30개 사용 가능) ✓                      │
│                                                             │
│  관리부 (20대):                                             │
│  • 필요: 20 + 2 = 22개 이상                                 │
│  • 2^5 = 32개 → /27 (30개 사용 가능) ✓                      │
│                                                             │
│  서버팜 (10대):                                             │
│  • 필요: 10 + 2 = 12개 이상                                 │
│  • 2^4 = 16개 → /28 (14개 사용 가능) ✓                      │
│                                                             │
│                                                             │
│  Step 2: 큰 서브넷부터 할당 (중요!)                          │
│  ─────────────────────────────────────────                  │
│                                                             │
│  1. 영업부 - /26 (블록 크기: 64)                            │
│     ┌─────────────────────────────────────────────┐        │
│     │ 네트워크: 192.168.10.0                       │        │
│     │ 범위:     192.168.10.1 ~ 192.168.10.62      │        │
│     │ 브로드캐스트: 192.168.10.63                  │        │
│     └─────────────────────────────────────────────┘        │
│                                                             │
│  2. 개발부 - /27 (블록 크기: 32)                            │
│     ┌─────────────────────────────────────────────┐        │
│     │ 네트워크: 192.168.10.64                      │        │
│     │ 범위:     192.168.10.65 ~ 192.168.10.94     │        │
│     │ 브로드캐스트: 192.168.10.95                  │        │
│     └─────────────────────────────────────────────┘        │
│                                                             │
│  3. 관리부 - /27 (블록 크기: 32)                            │
│     ┌─────────────────────────────────────────────┐        │
│     │ 네트워크: 192.168.10.96                      │        │
│     │ 범위:     192.168.10.97 ~ 192.168.10.126    │        │
│     │ 브로드캐스트: 192.168.10.127                 │        │
│     └─────────────────────────────────────────────┘        │
│                                                             │
│  4. 서버팜 - /28 (블록 크기: 16)                            │
│     ┌─────────────────────────────────────────────┐        │
│     │ 네트워크: 192.168.10.128                     │        │
│     │ 범위:     192.168.10.129 ~ 192.168.10.142   │        │
│     │ 브로드캐스트: 192.168.10.143                 │        │
│     └─────────────────────────────────────────────┘        │
│                                                             │
│  여유 공간: 192.168.10.144 ~ 192.168.10.255                │
│  (향후 확장 가능)                                           │
│                                                             │
└─────────────────────────────────────────────────────────────┘


최종 설계:

┌──────────┬──────────────────┬────────────┬────────────────┐
│  부서    │   네트워크 주소  │   서브넷   │   사용 가능    │
├──────────┼──────────────────┼────────────┼────────────────┤
│  영업부  │ 192.168.10.0/26  │ .0 ~ .63   │ .1 ~ .62 (62)  │
├──────────┼──────────────────┼────────────┼────────────────┤
│  개발부  │ 192.168.10.64/27 │ .64 ~ .95  │ .65 ~ .94 (30) │
├──────────┼──────────────────┼────────────┼────────────────┤
│  관리부  │ 192.168.10.96/27 │ .96 ~ .127 │ .97 ~ .126(30) │
├──────────┼──────────────────┼────────────┼────────────────┤
│  서버팜  │ 192.168.10.128/28│ .128 ~ .143│ .129 ~ .142(14)│
├──────────┼──────────────────┼────────────┼────────────────┤
│  여유    │ 192.168.10.144 ~ .255                          │
└──────────┴────────────────────────────────────────────────┘

예제 2: 주어진 IP로 서브넷 정보 파악

문제:
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

IP 주소 172.16.45.220/20이 주어졌다.
다음을 구하라:
1. 네트워크 주소
2. 브로드캐스트 주소
3. 사용 가능한 호스트 범위
4. 호스트 수


해결:
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

┌─────────────────────────────────────────────────────────────┐
│                                                             │
│  Step 1: 서브넷 마스크 확인                                  │
│  ─────────────────────────────────────────                  │
│  /20 = 255.255.240.0                                        │
│  2진수: 11111111.11111111.11110000.00000000                │
│                               ├───┴───────┤                 │
│                             호스트 12비트                    │
│                                                             │
│                                                             │
│  Step 2: 블록 크기 계산                                      │
│  ─────────────────────────────────────────                  │
│  세 번째 옥텟: 256 - 240 = 16                               │
│  블록: 0, 16, 32, 48, 64, 80...                            │
│                                                             │
│  45는 32 ≤ 45 < 48 범위                                     │
│  → 172.16.32.0 블록에 속함                                 │
│                                                             │
│                                                             │
│  Step 3: 네트워크 주소                                       │
│  ─────────────────────────────────────────                  │
│  IP:      172.16.45.220                                     │
│  마스크:  255.255.240.0                                     │
│                                                             │
│  2진수로:                                                   │
│  IP:     10101100.00010000.00101101.11011100               │
│  마스크: 11111111.11111111.11110000.00000000               │
│  ──────────────────────────────────────────                │
│  결과:   10101100.00010000.00100000.00000000               │
│                                                             │
│  네트워크 주소: 172.16.32.0                                 │
│                                                             │
│                                                             │
│  Step 4: 브로드캐스트 주소                                   │
│  ─────────────────────────────────────────                  │
│  네트워크:   172.16.32.0                                    │
│  호스트 비트를 모두 1로:                                    │
│  2진수:  10101100.00010000.00101111.11111111               │
│                                                             │
│  브로드캐스트: 172.16.47.255                                │
│                                                             │
│                                                             │
│  Step 5: 사용 가능 호스트 범위                               │
│  ─────────────────────────────────────────                  │
│  첫 호스트:     172.16.32.1                                 │
│  마지막 호스트: 172.16.47.254                               │
│                                                             │
│                                                             │
│  Step 6: 호스트 수                                           │
│  ─────────────────────────────────────────                  │
│  2^12 - 2 = 4094개                                          │
│                                                             │
└─────────────────────────────────────────────────────────────┘


정답:
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

┌─────────────────────────────────────────────────────────────┐
│                                                             │
│  네트워크 주소:        172.16.32.0                          │
│  브로드캐스트 주소:    172.16.47.255                        │
│  사용 가능 호스트:     172.16.32.1 ~ 172.16.47.254          │
│  총 호스트 수:         4,094개                              │
│                                                             │
│  ※ 172.16.45.220은 이 서브넷에 속하는 유효한 호스트 주소    │
│                                                             │
└─────────────────────────────────────────────────────────────┘

예제 3: /30 서브넷 (Point-to-Point 링크)

/30 서브넷의 특수한 용도:
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

┌─────────────────────────────────────────────────────────────┐
│                                                             │
│  /30 = 255.255.255.252                                      │
│  호스트 비트: 2비트                                         │
│  사용 가능 호스트: 2^2 - 2 = 2개                            │
│                                                             │
│  용도: 라우터 간 P2P(Point-to-Point) 연결                   │
│                                                             │
│                                                             │
│  예: 192.168.1.0/30                                         │
│  ─────────────────────────────────────────                  │
│                                                             │
│  192.168.1.0       네트워크 주소 (사용 불가)                │
│  192.168.1.1       라우터 A                                 │
│  192.168.1.2       라우터 B                                 │
│  192.168.1.3       브로드캐스트 (사용 불가)                 │
│                                                             │
│                                                             │
│  [라우터 A]  ←──────────→  [라우터 B]                       │
│  192.168.1.1              192.168.1.2                      │
│                                                             │
│                                                             │
│  /30 서브넷 전체 블록:                                       │
│  ┌──────┬──────────────┬──────────────┬──────────────┐     │
│  │블록  │ 네트워크     │  호스트      │ 브로드캐스트 │     │
│  ├──────┼──────────────┼──────────────┼──────────────┤     │
│  │  1   │ 192.168.1.0  │ .1, .2       │ .3           │     │
│  │  2   │ 192.168.1.4  │ .5, .6       │ .7           │     │
│  │  3   │ 192.168.1.8  │ .9, .10      │ .11          │     │
│  │  4   │ 192.168.1.12 │ .13, .14     │ .15          │     │
│  │  5   │ 192.168.1.16 │ .17, .18     │ .19          │     │
│  │ ...  │ ...          │ ...          │ ...          │     │
│  └──────┴──────────────┴──────────────┴──────────────┘     │
│                                                             │
│  ※ /30은 딱 2개 호스트만 연결할 때 IP 낭비 최소화           │
│                                                             │
└─────────────────────────────────────────────────────────────┘

6. VLSM (Variable Length Subnet Mask)

VLSM 개념

┌─────────────────────────────────────────────────────────────┐
│              VLSM (가변 길이 서브넷 마스크)                   │
├─────────────────────────────────────────────────────────────┤
│                                                             │
│  정의:                                                      │
│  • Variable Length Subnet Mask                             │
│  • 각 서브넷마다 다른 크기의 서브넷 마스크 사용               │
│  • 필요한 만큼만 IP 주소 할당                                │
│                                                             │
│  장점:                                                      │
│  ─────────────────────────────────────────                  │
│  • IP 주소 낭비 최소화                                       │
│  • 유연한 네트워크 설계                                      │
│  • 효율적인 주소 관리                                        │
│                                                             │
│  vs 고정 길이 서브넷 마스크:                                 │
│  • 고정: 모든 서브넷이 같은 크기                             │
│  • VLSM: 각 서브넷이 필요한 크기만큼                         │
│                                                             │
└─────────────────────────────────────────────────────────────┘


고정 길이 vs VLSM 비교:

고정 길이 서브넷 마스크:
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

192.168.1.0/24를 /26으로 4개 분할

┌──────────────────┬──────────┬──────────┬──────────────────┐
│   서브넷         │ 필요호스트│ 제공호스트│     효율         │
├──────────────────┼──────────┼──────────┼──────────────────┤
│ 192.168.1.0/26   │   50     │    62    │  80% (낭비 12)   │
│ 192.168.1.64/26  │   10     │    62    │  16% (낭비 52)   │
│ 192.168.1.128/26 │    5     │    62    │   8% (낭비 57)   │
│ 192.168.1.192/26 │    2     │    62    │   3% (낭비 60)   │
└──────────────────┴──────────┴──────────┴──────────────────┘

총 낭비: 181개 (71%)


VLSM:
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

192.168.1.0/24를 필요에 맞게 분할

┌──────────────────┬──────────┬──────────┬──────────────────┐
│   서브넷         │ 필요호스트│ 제공호스트│     효율         │
├──────────────────┼──────────┼──────────┼──────────────────┤
│ 192.168.1.0/26   │   50     │    62    │  80% (낭비 12)   │
│ 192.168.1.64/28  │   10     │    14    │  71% (낭비 4)    │
│ 192.168.1.80/29  │    5     │     6    │  83% (낭비 1)    │
│ 192.168.1.88/30  │    2     │     2    │ 100% (낭비 0)    │
└──────────────────┴──────────┴──────────┴──────────────────┘

총 낭비: 17개 (7%)

VLSM 설계 실습

문제:
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

192.168.100.0/24 네트워크를 다음 요구사항에 맞게 설계:

• 사무실 A: 100대
• 사무실 B: 50대
• 사무실 C: 25대
• 서버실: 10대
• 라우터 간 연결 1: 2대 (P2P)
• 라우터 간 연결 2: 2대 (P2P)


해결 과정 (큰 것부터 할당!):
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

┌─────────────────────────────────────────────────────────────┐
│                                                             │
│  1. 사무실 A - 100대 필요                                   │
│  ─────────────────────────────────────────                  │
│  2^7 = 128 → /25 (126개 사용 가능)                          │
│                                                             │
│  네트워크: 192.168.100.0/25                                 │
│  범위:     192.168.100.0 ~ 192.168.100.127                 │
│  호스트:   192.168.100.1 ~ 192.168.100.126                 │
│  ブロ드キャスト: 192.168.100.127                               │
│                                                             │
│  다음 사용 가능: 192.168.100.128                            │
│                                                             │
├─────────────────────────────────────────────────────────────┤
│                                                             │
│  2. 사무실 B - 50대 필요                                    │
│  ─────────────────────────────────────────                  │
│  2^6 = 64 → /26 (62개 사용 가능)                            │
│                                                             │
│  네트워크: 192.168.100.128/26                               │
│  범위:     192.168.100.128 ~ 192.168.100.191               │
│  호스트:   192.168.100.129 ~ 192.168.100.190               │
│  브로드캐스트: 192.168.100.191                              │
│                                                             │
│  다음 사용 가능: 192.168.100.192                            │
│                                                             │
├─────────────────────────────────────────────────────────────┤
│                                                             │
│  3. 사무실 C - 25대 필요                                    │
│  ─────────────────────────────────────────                  │
│  2^5 = 32 → /27 (30개 사용 가능)                            │
│                                                             │
│  네트워크: 192.168.100.192/27                               │
│  범위:     192.168.100.192 ~ 192.168.100.223               │
│  호스트:   192.168.100.193 ~ 192.168.100.222               │
│  브로드캐스트: 192.168.100.223                              │
│                                                             │
│  다음 사용 가능: 192.168.100.224                            │
│                                                             │
├─────────────────────────────────────────────────────────────┤
│                                                             │
│  4. 서버실 - 10대 필요                                      │
│  ─────────────────────────────────────────                  │
│  2^4 = 16 → /28 (14개 사용 가능)                            │
│                                                             │
│  네트워크: 192.168.100.224/28                               │
│  범위:     192.168.100.224 ~ 192.168.100.239               │
│  호스트:   192.168.100.225 ~ 192.168.100.238               │
│  브로드캐스트: 192.168.100.239                              │
│                                                             │
│  다음 사용 가능: 192.168.100.240                            │
│                                                             │
├─────────────────────────────────────────────────────────────┤
│                                                             │
│  5. 라우터 간 연결 1 - 2대 필요                             │
│  ─────────────────────────────────────────                  │
│  2^2 = 4 → /30 (2개 사용 가능)                              │
│                                                             │
│  네트워크: 192.168.100.240/30                               │
│  범위:     192.168.100.240 ~ 192.168.100.243               │
│  호스트:   192.168.100.241, 192.168.100.242                │
│  브로드캐스트: 192.168.100.243                              │
│                                                             │
│  다음 사용 가능: 192.168.100.244                            │
│                                                             │
├─────────────────────────────────────────────────────────────┤
│                                                             │
│  6. 라우터 간 연결 2 - 2대 필요                             │
│  ─────────────────────────────────────────                  │
│  /30                                                        │
│                                                             │
│  네트워크: 192.168.100.244/30                               │
│  범위:     192.168.100.244 ~ 192.168.100.247               │
│  호스트:   192.168.100.245, 192.168.100.246                │
│  브로드캐스트: 192.168.100.247                              │
│                                                             │
│  여유 공간: 192.168.100.248 ~ 192.168.100.255 (7개)         │
│                                                             │
└─────────────────────────────────────────────────────────────┘


최종 VLSM 설계 요약:

┌──────────────┬─────────────────────┬──────┬────────┬───────┐
│    용도      │   네트워크 주소     │ 마스크│ 제공   │ 낭비  │
├──────────────┼─────────────────────┼──────┼────────┼───────┤
│  사무실 A    │ 192.168.100.0/25    │ /25  │  126   │  26   │
│  사무실 B    │ 192.168.100.128/26  │ /26  │   62   │  12   │
│  사무실 C    │ 192.168.100.192/27  │ /27  │   30   │   5   │
│  서버실      │ 192.168.100.224/28  │ /28  │   14   │   4   │
│  라우터 1    │ 192.168.100.240/30  │ /30  │    2   │   0   │
│  라우터 2    │ 192.168.100.244/30  │ /30  │    2   │   0   │
├──────────────┼─────────────────────┴──────┴────────┴───────┤
│  여유        │ 192.168.100.248 ~ .255 (7개)                │
└──────────────┴─────────────────────────────────────────────┘

총 필요: 189개
총 할당: 236개
총 낭비: 47개 (20%)

고정 /26 사용 시 낭비: 약 60%
VLSM 사용 시 낭비: 약 20% → 효율 3배 향상!

7. 서브넷팅 빠른 계산법

블록 크기로 빠르게 계산

┌─────────────────────────────────────────────────────────────┐
│                    블록 크기 계산법                          │
├─────────────────────────────────────────────────────────────┤
│                                                             │
│  공식: 블록 크기 = 256 - 서브넷 마스크 값                    │
│                                                             │
│  예제:                                                      │
│  ─────────────────────────────────────────                  │
│                                                             │
│  1. /26 (255.255.255.192)                                   │
│     블록 크기 = 256 - 192 = 64                              │
│     서브넷들: 0, 64, 128, 192                               │
│                                                             │
│  2. /27 (255.255.255.224)                                   │
│     블록 크기 = 256 - 224 = 32                              │
│     서브넷들: 0, 32, 64, 96, 128, 160, 192, 224            │
│                                                             │
│  3. /28 (255.255.255.240)                                   │
│     블록 크기 = 256 - 240 = 16                              │
│     서브넷들: 0, 16, 32, 48, 64, 80, 96, ...               │
│                                                             │
│  4. /29 (255.255.255.248)                                   │
│     블록 크기 = 256 - 248 = 8                               │
│     서브넷들: 0, 8, 16, 24, 32, 40, 48, ...                │
│                                                             │
│  5. /30 (255.255.255.252)                                   │
│     블록 크기 = 256 - 252 = 4                               │
│     서브넷들: 0, 4, 8, 12, 16, 20, 24, ...                 │
│                                                             │
└─────────────────────────────────────────────────────────────┘

서브넷 정보 한눈에 파악하기

빠른 계산 체크리스트:

┌─────────────────────────────────────────────────────────────┐
│                                                             │
│  주어진 정보: IP 주소 192.168.5.130/27                      │
│                                                             │
│  1단계: 서브넷 마스크 확인                                   │
│  ─────────────────────────────────────────                  │
│  /27 = 255.255.255.224                                      │
│                                                             │
│  2단계: 블록 크기 계산                                       │
│  ─────────────────────────────────────────                  │
│  256 - 224 = 32                                             │
│                                                             │
│  3단계: IP가 속한 블록 찾기                                  │
│  ─────────────────────────────────────────                  │
│  블록들: 0, 32, 64, 96, 128, 160, 192, 224                 │
│  130은 128 ≤ 130 < 160                                      │
│  → 128 블록에 속함                                          │
│                                                             │
│  4단계: 주소 범위 계산                                       │
│  ─────────────────────────────────────────                  │
│  네트워크:       192.168.5.128                              │
│  첫 호스트:      192.168.5.129                              │
│  마지막 호스트:  192.168.5.158 (128 + 32 - 2)              │
│  브로드캐스트:   192.168.5.159 (128 + 32 - 1)              │
│                                                             │
│  5단계: 호스트 수 계산                                       │
│  ─────────────────────────────────────────                  │
│  호스트 비트: 32 - 27 = 5비트                               │
│  2^5 - 2 = 30개                                             │
│                                                             │
└─────────────────────────────────────────────────────────────┘

서브넷 마스크 암기 팁

┌─────────────────────────────────────────────────────────────┐
│              서브넷 마스크 암기 테이블                        │
├───────┬────────────┬──────────┬──────────┬─────────────────┤
│ CIDR  │  10진수    │  블록크기│ 호스트수 │    2진수 패턴   │
├───────┼────────────┼──────────┼──────────┼─────────────────┤
│  /24  │    0       │   256    │   254    │  00000000       │
├───────┼────────────┼──────────┼──────────┼─────────────────┤
│  /25  │   128      │   128    │   126    │  10000000       │
├───────┼────────────┼──────────┼──────────┼─────────────────┤
│  /26  │   192      │    64    │    62    │  11000000       │
├───────┼────────────┼──────────┼──────────┼─────────────────┤
│  /27  │   224      │    32    │    30    │  11100000       │
├───────┼────────────┼──────────┼──────────┼─────────────────┤
│  /28  │   240      │    16    │    14    │  11110000       │
├───────┼────────────┼──────────┼──────────┼─────────────────┤
│  /29  │   248      │     8    │     6    │  11111000       │
├───────┼────────────┼──────────┼──────────┼─────────────────┤
│  /30  │   252      │     4    │     2    │  11111100       │
└───────┴────────────┴──────────┴──────────┴─────────────────┘

암기 요령:
• /24부터 시작: 0
• 한 단계씩 갈 때마다 왼쪽에 1을 추가
• 10진수는 2의 거듭제곱 합: 128, 192(128+64), 224(128+64+32)...

8. 실무 활용 사례

기업 네트워크 설계 예시

중소기업 네트워크 설계:
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

할당받은 네트워크: 172.16.0.0/16

┌─────────────────────────────────────────────────────────────┐
│                     본사 네트워크                            │
│                   172.16.0.0/16                             │
│                                                             │
│  ┌───────────────────────────────────────────────────────┐  │
│  │  관리 부서 (172.16.10.0/24)                          │  │
│  │  • 200대 수용 가능                                   │  │
│  │  • 게이트웨이: 172.16.10.1                           │  │
│  │  • VLAN 10                                            │  │
│  └───────────────────────────────────────────────────────┘  │
│                                                             │
│  ┌───────────────────────────────────────────────────────┐  │
│  │  개발 부서 (172.16.20.0/24)                          │  │
│  │  • 200대 수용 가능                                   │  │
│  │  • 게이트웨이: 172.16.20.1                           │  │
│  │  • VLAN 20                                            │  │
│  └───────────────────────────────────────────────────────┘  │
│                                                             │
│  ┌───────────────────────────────────────────────────────┐  │
│  │  영업 부서 (172.16.30.0/24)                          │  │
│  │  • 200대 수용 가능                                   │  │
│  │  • 게이트웨이: 172.16.30.1                           │  │
│  │  • VLAN 30                                            │  │
│  └───────────────────────────────────────────────────────┘  │
│                                                             │
│  ┌───────────────────────────────────────────────────────┐  │
│  │  서버 네트워크 (172.16.100.0/24)                     │  │
│  │  • 웹 서버: 172.16.100.10                            │  │
│  │  • DB 서버: 172.16.100.20                            │  │
│  │  • 파일 서버: 172.16.100.30                          │  │
│  │  • VLAN 100                                           │  │
│  └───────────────────────────────────────────────────────┘  │
│                                                             │
│  ┌───────────────────────────────────────────────────────┐  │
│  │  DMZ (172.16.200.0/24)                               │  │
│  │  • 공개 웹 서버                                       │  │
│  │  • 메일 서버                                          │  │
│  │  • 외부 접근 허용                                     │  │
│  └───────────────────────────────────────────────────────┘  │
│                                                             │
│  ┌───────────────────────────────────────────────────────┐  │
│  │  지사 간 연결 (172.16.255.0/30씩 할당)               │  │
│  │  • 본사-지사1: 172.16.255.0/30                       │  │
│  │  • 본사-지사2: 172.16.255.4/30                       │  │
│  │  • 본사-지사3: 172.16.255.8/30                       │  │
│  └───────────────────────────────────────────────────────┘  │
│                                                             │
└─────────────────────────────────────────────────────────────┘


방화벽 규칙 예시:

┌─────────────────────────────────────────────────────────────┐
│                                                             │
│  출발지 네트워크  →  목적지 네트워크  →  허용 서비스        │
│  ──────────────────────────────────────────────            │
│                                                             │
│  172.16.10.0/24   →  172.16.100.0/24  →  HTTP, HTTPS       │
│  (관리)              (서버)                                 │
│                                                             │
│  172.16.20.0/24   →  172.16.100.0/24  →  HTTP, SSH, DB     │
│  (개발)              (서버)                                 │
│                                                             │
│  172.16.30.0/24   →  172.16.100.0/24  →  HTTP              │
│  (영업)              (서버)                                 │
│                                                             │
│  인터넷           →  172.16.200.0/24  →  HTTP, HTTPS       │
│                     (DMZ)                                   │
│                                                             │
│  172.16.0.0/16    →  172.16.200.0/24  →  차단              │
│  (내부)              (DMZ)                                  │
│                                                             │
└─────────────────────────────────────────────────────────────┘

클라우드 환경 서브넷 설계

AWS VPC 서브넷 설계 예시:
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

VPC CIDR: 10.0.0.0/16

┌─────────────────────────────────────────────────────────────┐
│                       가용 영역 A                            │
│                                                             │
│  ┌───────────────────────────────────────────────────────┐  │
│  │  Public Subnet A (10.0.1.0/24)                       │  │
│  │  • 인터넷 게이트웨이 연결                             │  │
│  │  • 로드 밸런서, NAT 게이트웨이                        │  │
│  │  • 251개 IP 사용 가능                                │  │
│  └───────────────────────────────────────────────────────┘  │
│                                                             │
│  ┌───────────────────────────────────────────────────────┐  │
│  │  Private Subnet A (10.0.11.0/24)                     │  │
│  │  • 애플리케이션 서버                                  │  │
│  │  • Auto Scaling 그룹                                 │  │
│  │  • 외부 접근 불가                                     │  │
│  └───────────────────────────────────────────────────────┘  │
│                                                             │
│  ┌───────────────────────────────────────────────────────┐  │
│  │  Database Subnet A (10.0.21.0/24)                    │  │
│  │  • RDS, ElastiCache                                  │  │
│  │  • 고도로 격리된 환경                                 │  │
│  └───────────────────────────────────────────────────────┘  │
│                                                             │
└─────────────────────────────────────────────────────────────┘


┌─────────────────────────────────────────────────────────────┐
│                       가용 영역 B                            │
│               (고가용성을 위한 중복 구성)                     │
│                                                             │
│  Public Subnet B (10.0.2.0/24)                             │
│  Private Subnet B (10.0.12.0/24)                           │
│  Database Subnet B (10.0.22.0/24)                          │
│                                                             │
└─────────────────────────────────────────────────────────────┘


라우팅 테이블:

Public Subnet:
┌─────────────────┬────────────────────────────────────────┐
│   목적지        │              대상                      │
├─────────────────┼────────────────────────────────────────┤
│ 10.0.0.0/16     │ local (VPC 내부 통신)                 │
│ 0.0.0.0/0       │ igw-xxxxx (인터넷 게이트웨이)         │
└─────────────────┴────────────────────────────────────────┘

Private Subnet:
┌─────────────────┬────────────────────────────────────────┐
│   목적지        │              대상                      │
├─────────────────┼────────────────────────────────────────┤
│ 10.0.0.0/16     │ local                                  │
│ 0.0.0.0/0       │ nat-xxxxx (NAT 게이트웨이)            │
└─────────────────┴────────────────────────────────────────┘

Database Subnet:
┌─────────────────┬────────────────────────────────────────┐
│   목적지        │              대상                      │
├─────────────────┼────────────────────────────────────────┤
│ 10.0.0.0/16     │ local (VPC 내부만 통신)               │
└─────────────────┴────────────────────────────────────────┘

핵심 정리

개념설명
서브넷하나의 네트워크를 여러 개의 작은 네트워크로 분할
서브넷팅네트워크를 분할하는 과정
서브넷 마스크네트워크 부분과 호스트 부분을 구분하는 값
CIDR클래스 없이 유연하게 네트워크 크기 지정
VLSM각 서브넷마다 다른 크기의 서브넷 마스크 사용
블록 크기256 - 서브넷 마스크 값

서브넷팅 요약

┌─────────────────────────────────────────────────────────────┐
│                    서브넷팅 핵심 공식                        │
├─────────────────────────────────────────────────────────────┤
│                                                             │
│  1. 호스트 수 계산                                           │
│     2^(호스트 비트 수) - 2                                   │
│                                                             │
│  2. 서브넷 수 계산                                           │
│     2^(빌린 비트 수)                                         │
│                                                             │
│  3. 블록 크기 계산                                           │
│     256 - 서브넷 마스크 값                                  │
│                                                             │
│  4. 네트워크 주소 계산                                       │
│     IP 주소 AND 서브넷 마스크                               │
│                                                             │
│  5. 브로드캐스트 주소 계산                                   │
│     네트워크 주소 + 블록 크기 - 1                           │
│                                                             │
└─────────────────────────────────────────────────────────────┘


서브넷팅 설계 순서:

┌─────────────────────────────────────────────────────────────┐
│                                                             │
│  1단계: 요구사항 분석                                        │
│  • 각 네트워크별 필요 호스트 수 파악                         │
│                                                             │
│  2단계: 서브넷 크기 결정                                     │
│  • 큰 것부터 작은 것 순으로 정렬                             │
│  • 각각에 적합한 서브넷 마스크 선택                          │
│                                                             │
│  3단계: 주소 할당                                            │
│  • 큰 서브넷부터 순서대로 할당 (중요!)                       │
│  • 블록 경계에 맞춰 할당                                     │
│                                                             │
│  4단계: 검증                                                 │
│  • 주소 중복 없는지 확인                                     │
│  • 향후 확장 가능성 고려                                     │
│                                                             │
│  5단계: 문서화                                               │
│  • 서브넷 정보 표로 정리                                     │
│  • 라우팅 설정, 방화벽 규칙 작성                             │
│                                                             │
└─────────────────────────────────────────────────────────────┘

자주 쓰는 서브넷 참조

┌─────────────────────────────────────────────────────────────┐
│               실무에서 자주 사용하는 서브넷                   │
├───────┬────────────┬──────────┬─────────────────────────────┤
│ CIDR  │  서브넷    │ 호스트수 │          용도               │
├───────┼────────────┼──────────┼─────────────────────────────┤
│  /30  │ .255.252   │    2     │ 라우터 간 P2P 연결          │
├───────┼────────────┼──────────┼─────────────────────────────┤
│  /28  │ .255.240   │   14     │ 소규모 서버 그룹            │
├───────┼────────────┼──────────┼─────────────────────────────┤
│  /27  │ .255.224   │   30     │ 소규모 사무실               │
├───────┼────────────┼──────────┼─────────────────────────────┤
│  /26  │ .255.192   │   62     │ 중소규모 부서               │
├───────┼────────────┼──────────┼─────────────────────────────┤
│  /24  │ .255.0     │  254     │ 일반 사무실, 가정           │
├───────┼────────────┼──────────┼─────────────────────────────┤
│  /23  │ .254.0     │  510     │ 대규모 네트워크             │
├───────┼────────────┼──────────┼─────────────────────────────┤
│  /22  │ .252.0     │ 1,022    │ 매우 큰 네트워크            │
└───────┴────────────┴──────────┴─────────────────────────────┘

용어 정리

  • 서브넷 (Subnet): 하나의 네트워크를 여러 개의 작은 네트워크로 분할한 것
  • 서브넷팅 (Subnetting): 네트워크를 분할하는 과정
  • 서브넷 마스크 (Subnet Mask): 네트워크 부분과 호스트 부분을 구분하는 32비트 값
  • CIDR (Classless Inter-Domain Routing): 클래스 개념 없이 유연하게 네트워크 크기를 지정하는 방식
  • VLSM (Variable Length Subnet Mask): 각 서브넷마다 다른 크기의 서브넷 마스크를 사용하는 기법
  • 블록 크기 (Block Size): 각 서브넷이 차지하는 IP 주소 범위
  • 프리픽스 길이 (Prefix Length): 네트워크 비트 수를 나타내는 CIDR 표기법 (/24, /26 등)
  • 호스트 비트: 서브넷 내에서 개별 장치를 식별하는 비트
  • 네트워크 비트: 네트워크를 식별하는 비트