"정보처리기사나 전산직 시험에서 항상 출제되는 '할당 가능한 IP 주소 개수' 및 '서브넷 마스크 계산' 문제는 어떻게 풀까?"
"Classful 방식과 Classless(CIDR) 방식의 차이점은 무엇일까?"
네트워크 계층(Network Layer)의 가장 중요한 역할은 패킷을 목적지까지 가장 효율적인 경로로 전달(라우팅)하는 것입니다. 이를 위해 전 세계 모든 기기는 IP 주소라는 고유한 논리적 주소를 가집니다.
이번 글에서는 시험 및 실무에서 필수로 출제되는 IPv4 주소 체계(A~C 클래스), CIDR 표기법, 그리고 서브네팅(Subnetting) 계산 공식 및 실전 풀이법을 한눈에 이해하기 쉽게 정리해 드립니다!
1. 전통적인 IP 주소 체계: 클래스풀(Classful) 방식
IPv4 주소는 32비트(4바이트) 길이의 이진수로 이루어져 있으며, 옥텟(Octet)이라는 8비트 단위 4개로 구분하여 192.168.0.1과 같이 점(.)을 찍어 10진수로 표기합니다.
IP 주소는 크게 네트워크 ID(어느 동네인가)와 호스트 ID(동네 안의 어느 집인가)로 나뉩니다.
주요 클래스 특징 요약
- A 클래스 (0.0.0.0 ~ 127.255.255.255)
- 첫 번째 비트가 0으로 시작
- 네트워크 ID: 8비트 / 호스트 ID: 24비트
- 대규모 네트워크용 (호스트 약 1,600만 개 할당 가능)
- B 클래스 (128.0.0.0 ~ 191.255.255.255)
- 첫 두 비트가 10으로 시작
- 네트워크 ID: 16비트 / 호스트 ID: 16비트
- 중규모 네트워크용 (호스트 약 65,000개 할당 가능)
- C 클래스 (192.0.0.0 ~ 223.255.255.255)
- 첫 세 비트가 110으로 시작
- 네트워크 ID: 24비트 / 호스트 ID: 8비트
- 소규모 네트워크용 (호스트 254개 할당 가능)
(D 클래스는 멀티캐스트용, E 클래스는 연구/보류용으로 사용됩니다.)
2. IP 주소 고갈을 막는 혁신: CIDR (Classless Inter-Domain Routing)
클래스풀 방식은 A, B, C 클래스로 너무 경직되게 IP를 나누어 수많은 IP 주소가 낭비되는 단점이 있었습니다. 이를 해결하기 위해 클래스 개념을 없애고 비트 단위로 유연하게 네트워크를 나누는 CIDR(클래스리스) 방식이 도입되었습니다.
CIDR 표기법 (슬래시 / 표기)
- 예시: 192.168.1.0/24
- 뒤의 /24는 상위 24비트가 네트워크 ID(서브넷 마스크 비트 수)임을 나타냅니다.
- 즉, 서브넷 마스크가 255.255.255.0임을 의미합니다.
3. 시험 필수! 서브네팅(Subnetting) 실전 계산법
서브네팅은 하나의 커다란 네트워크를 효율적인 여러 개의 소규모 서브넷(Subnet)으로 분할하는 기술입니다.
주어진 IP와 CIDR 표기(예: 192.168.1.0/26)를 확인합니다.
/26이므로 서브넷 마스크는 상위 26비트가 1입니다. (255.255.255.192)
전체 32비트 중 네트워크 비트가 26비트이므로, 호스트 비트 수는 32 - 26 = 6비트입니다.
각 서브넷당 총 IP 개수는 2^6 = 64개가 됩니다.
IP 주소는 64개 단위로 나뉩니다.
- 1번째 서브넷: 192.168.1.0 ~ 192.168.1.63
- 2번째 서브넷: 192.168.1.64 ~ 192.168.1.127
- 3번째 서브넷: 192.168.1.128 ~ 192.168.1.191
- 4번째 서브넷: 192.168.1.192 ~ 192.168.1.255
각 서브넷의 **첫 번째 주소(네트워크 주소)**와 마지막 주소(브로드캐스트 주소) 2개는 호스트에게 할당할 수 없습니다.
따라서 실제 단말에 할당 가능한 IP 개수는 2^h - 2개 (여기서는 64 - 2 = 62개)입니다.
💡 한눈에 보는 서브네팅 공식 요약표 (시험 핵심!)
| 구분 | 공식 / 원리 | 비고 |
| 총 생성 가능 서브넷 수 | 2^n (n = 빌려온 서브넷 비트 수) | 기존 네트워크에서 서브넷으로 추가한 비트 수 |
| 서브넷당 총 IP 개수 | 2^h (h = 남아있는 호스트 비트 수) | 서브넷 마스크의 0 비트 개수 |
| 할당 가능한 호스트 IP 개수 | 2^h - 2 | 네트워크 주소 및 브로드캐스트 주소 제외 |
| 네트워크 주소 | 호스트 비트(h)가 모두 0인 주소 | 서브넷의 첫 번째 주소 |
| 브로드캐스트 주소 | 호스트 비트(h)가 모두 1인 주소 | 서브넷의 마지막 주소 |
📌 핵심 기출 포인트 체크
- -2를 빼는 이유: 서브넷의 가장 첫 번째 주소(Network Address)와 가장 마지막 주소(Broadcast Address)는 개별 컴퓨터나 기기에 할당할 수 없으므로 반드시 2를 빼야 합니다.
- CIDR 비트 변환 암기 팁:
- /25 = 128
- /26 = 192 (128 + 64)
- /27 = 224 (192 + 32)
- /28 = 240 (224 + 16)
- /29 = 248 (240 + 8)
- /30 = 252 (248 + 4)
- 루프백 주소 (Loopback Address): 127.0.0.1 (A 클래스 대역)은 자기 자신 테스트용 특수 주소로 실제 인터넷 할당이 불가합니다.
'전공과목 > 네트워크' 카테고리의 다른 글
| [네트워크] 라우팅 알고리즘: 정적 라우팅 vs 동적 라우팅(Distance Vector, Link State) 완벽 정리 (0) | 2026.09.01 |
|---|---|
| [네트워크] 네트워크 계층의 핵심 2: ARP, DHCP, ICMP 프로토콜 완벽 정리 (0) | 2026.09.01 |
| [네트워크] 매체 접근 제어(MAC): 유선(CSMA/CD) vs 무선(CSMA/CA) 완벽 정리 (0) | 2026.08.31 |
| [네트워크] 데이터 링크 계층의 핵심: CRC 에러 검출과 흐름 제어(Stop-and-Wait, Go-Back-N, Selective Repeat) 완벽 정리 (0) | 2026.08.31 |
| [웹개발/네트워크] 쿠키(Cookie), 세션(Session), JWT 개념과 차이점 완전 정리 (0) | 2026.08.19 |