
1. IP 주소란 무엇인가? 서브넷 마스크가 왜 필요한가
IP 주소는 인터넷에 연결된 기기마다 붙는 고유한 번호예요. 쉽게 말하면 컴퓨터의 집 주소라고 생각하면 돼요. 예를 들어 192.168.1.100 같은 숫자가 바로 IP 주소예요. 그런데 이 주소만 보면 "어디까지가 동네(네트워크)이고 어디서부터가 집 번호(호스트)인지" 알 수가 없어요. 그래서 서브넷 마스크(Subnet Mask)가 필요합니다. 서브넷 마스크는 IP 주소를 네트워크 부분과 호스트 부분으로 나눠주는 역할을 해요.
예를 들어 IP 주소가 192.168.1.100이고 서브넷 마스크가 255.255.255.0이라면, 앞의 세 덩어리(192.168.1)는 "네트워크 주소"이고 마지막 숫자(100)가 "이 네트워크 안에서의 내 번호"예요. 마치 아파트에서 "○○아파트 3동"이 네트워크이고 "105호"가 호스트인 것과 같아요.
IP 주소 : 192.168.1.100
서브넷 마스크: 255.255.255.0
→ 네트워크 주소 : 192.168.1.0
→ 호스트 범위 : 192.168.1.1 ~ 192.168.1.254
→ 브로드캐스트 : 192.168.1.255
저도 처음 네트워크를 공부할 때 서브넷 마스크가 왜 필요한지 전혀 감이 안 왔어요. 그냥 외우라는 숫자처럼 보였거든요. 그런데 실습 시간에 직접 두 PC를 연결해서 통신이 안 되는 상황을 만들어보고, 서브넷 마스크가 다른 게 원인이라는 걸 확인했을 때 "아, 이래서 필요한 거구나!" 하고 바로 이해됐어요. 책으로만 공부하면 왜 필요한지 와닿지 않는데, 실제로 통신이 끊기는 경험을 해보면 서브넷 마스크의 중요성이 확 느껴져요. 많은 교재가 이 개념을 이진수 변환부터 가르치는데, 저는 그게 오히려 처음 배우는 사람에게 혼란을 준다고 생각해요. 먼저 "이게 왜 필요한가"를 이해한 다음에 계산법을 배우는 순서가 훨씬 자연스럽거든요.
2. CIDR 표기법이란? /24, /16, /8의 의미
서브넷 마스크를 매번 255.255.255.0 이렇게 길게 쓰는 건 불편하죠. 그래서 나온 게 바로 CIDR(Classless Inter-Domain Routing) 표기법이에요. CIDR은 IP 주소 뒤에 슬래시(/)와 숫자를 붙이는 방식이에요. 이 숫자는 서브넷 마스크에서 1이 몇 개인지를 나타내요.
예를 들어 서브넷 마스크 255.255.255.0을 이진수로 바꾸면 11111111.11111111.11111111.00000000이 돼요. 여기서 1의 개수가 24개니까 /24로 표기하는 거예요. 정리하면:
255.0.0.0 → /8 (1이 8개, 호스트 약 1677만개)
255.255.0.0 → /16 (1이 16개, 호스트 약 65534개)
255.255.255.0 → /24 (1이 24개, 호스트 254개)
255.255.255.128 → /25 (1이 25개, 호스트 126개)
255.255.255.192 → /26 (1이 26개, 호스트 62개)
CIDR 표기법이 실무에서 얼마나 자주 쓰이는지는 클라우드 서비스를 처음 써봤을 때 바로 느꼈어요. AWS에서 VPC(가상 네트워크)를 만들 때 10.0.0.0/16이라는 값을 입력하는 창이 나오는데, 그때 CIDR을 몰랐으면 그냥 넘어갔을 거예요. 공부한 덕분에 "아, 이게 사용할 수 있는 IP 주소 범위구나" 하고 바로 이해됐죠. 처음엔 /숫자가 뭘 의미하는지 직관적으로 안 와닿는다는 단점이 있어요. 교육 현장에서 처음부터 CIDR로 가르치기보다, 기존 표기법과 CIDR을 나란히 비교해서 가르치는 방식이 훨씬 효과적이라고 생각해요.
3. 서브넷 마스크 계산법 - 이진수로 이해하기
서브넷 마스크를 계산하려면 이진수(0과 1로 이루어진 숫자)를 조금 알아야 해요. 겁먹지 않아도 돼요! 원리는 간단해요. IP 주소는 총 32비트(32자리의 0 또는 1)로 이루어져 있어요. 서브넷 마스크에서 1인 부분은 네트워크, 0인 부분은 호스트를 나타내요. IP 주소와 서브넷 마스크를 AND 연산(둘 다 1일 때만 1)하면 네트워크 주소가 나와요.
IP 주소 : 192.168.1.100
→ 11000000.10101000.00000001.01100100
서브넷 마스크 : 255.255.255.0
→ 11111111.11111111.11111111.00000000
AND 연산 결과 :
→ 11000000.10101000.00000001.00000000
→ 192.168.1.0 ← 네트워크 주소
호스트 개수는 0의 개수로 계산해요. /24라면 0이 8개니까 2의 8승 = 256개인데, 네트워크 주소(첫 번째)와 브로드캐스트 주소(마지막)를 빼면 254개가 실제로 쓸 수 있는 IP 수예요.
/24 → 호스트 수: 2^8 - 2 = 254개
/25 → 호스트 수: 2^7 - 2 = 126개
/26 → 호스트 수: 2^6 - 2 = 62개
/27 → 호스트 수: 2^5 - 2 = 30개
/28 → 호스트 수: 2^4 - 2 = 14개
처음에 이진수 계산이 정말 막막했어요. 필기시험 준비할 때 255.255.255.192가 /26이라는 걸 매번 헷갈려서 틀렸거든요. 그래서 제가 쓴 방법은 자주 나오는 서브넷 마스크를 아예 표로 외워버리는 거였어요. 그게 시험장에서 훨씬 빠르게 답을 고를 수 있었어요. 하지만 이진수 원리를 이해하지 않고 외우기만 하면 조금만 문제가 변형돼도 못 풀게 돼요. 그래서 처음엔 원리를 이해하고, 자주 나오는 값은 따로 정리해두는 방식을 추천해요.
4. 서브넷 나누기 (Subnetting) 실전 예제
서브네팅(Subnetting)은 하나의 큰 네트워크를 여러 개의 작은 네트워크로 나누는 기술이에요. 왜 나눌까요? 예를 들어 회사에서 영업팀, 개발팀, 총무팀이 같은 네트워크를 쓰면 서로의 트래픽이 섞여서 느려지고 보안도 떨어져요. 팀별로 네트워크를 나누면 각 팀의 트래픽이 분리되고 관리가 쉬워지죠.
예제: 192.168.1.0/24 네트워크를 4개의 서브넷으로 나누기
원래 네트워크: 192.168.1.0/24
4개로 나누려면 → /26 사용 (2^2 = 4)
서브넷 1: 192.168.1.0/26 네트워크: .0 | 사용 가능: .1 ~ .62 | 브로드캐스트: .63
서브넷 2: 192.168.1.64/26 네트워크: .64 | 사용 가능: .65 ~ .126 | 브로드캐스트: .127
서브넷 3: 192.168.1.128/26 네트워크: .128 | 사용 가능: .129~ .190 | 브로드캐스트: .191
서브넷 4: 192.168.1.192/26 네트워크: .192 | 사용 가능: .193~ .254 | 브로드캐스트: .255
실제로 소규모 사무실 네트워크를 구성하는데 IP가 부족하다고 해서 기존 /24 대역을 두 개로 쪼갠 적이 있어요. 처음에는 계산이 맞는지 계속 불안해서 온라인 서브넷 계산기로 몇 번이나 확인했는데, 결과가 맞아서 뿌듯했던 기억이 나요. 이런 계산기에 너무 의존하면 실제로 개념을 이해하지 못한 채 숫자만 가져다 쓰게 될 수 있어요. 계산기는 검증 도구로만 쓰고, 직접 손으로 계산하는 연습을 먼저 해야 한다고 생각해요.
5. VLSM(가변 길이 서브넷 마스크) - 효율적인 IP 관리
앞서 배운 서브네팅은 모든 서브넷의 크기가 똑같아요. 하지만 현실에서는 어떤 팀은 50명, 어떤 팀은 10명처럼 크기가 달라요. 이럴 때 쓰는 게 VLSM(Variable Length Subnet Mask, 가변 길이 서브넷 마스크)예요. 필요한 만큼만 IP를 할당해서 낭비를 줄이는 방식이에요.
예제: 192.168.1.0/24를 아래 조건으로 나누기
- 팀 A: 100명 필요 → /25 사용 (최대 126개)
- 팀 B: 50명 필요 → /26 사용 (최대 62개)
- 팀 C: 25명 필요 → /27 사용 (최대 30개)
- 팀 D: 10명 필요 → /28 사용 (최대 14개)
결과 (큰 것부터 배정):
팀 A: 192.168.1.0/25 사용: .1 ~ .126
팀 B: 192.168.1.128/26 사용: .129 ~ .190
팀 C: 192.168.1.192/27 사용: .193 ~ .222
팀 D: 192.168.1.224/28 사용: .225 ~ .238
VLSM은 처음엔 어렵게 느껴지지만, 실무에서는 거의 필수적으로 사용돼요. 제가 자격증 시험을 준비할 때 VLSM 문제가 나올 때마다 순서를 잊어버려서 틀렸어요. 핵심은 큰 서브넷부터 먼저 배정하는 것이에요. 이 순서를 외우고 나니 훨씬 쉽게 풀렸어요. VLSM을 처음 배울 때 왜 이게 필요한지 설명해주는 교재가 별로 없어서 아쉬웠는데, IP 주소 낭비 문제를 실제 숫자로 비교해서 보여주면 훨씬 동기부여가 된다고 생각해요.
6. 서브넷 마스크 계산 요약 표
| CIDR | 서브넷 마스크 | 사용 가능한 호스트 수 | 서브넷 수 (/24 기준) |
|---|---|---|---|
| /24 | 255.255.255.0 | 254 | 1 |
| /25 | 255.255.255.128 | 126 | 2 |
| /26 | 255.255.255.192 | 62 | 4 |
| /27 | 255.255.255.224 | 30 | 8 |
| /28 | 255.255.255.240 | 14 | 16 |
| /29 | 255.255.255.248 | 6 | 32 |
| /30 | 255.255.255.252 | 2 | 64 |
이 표 하나를 손으로 직접 써서 책상 앞에 붙여놨던 게 공부할 때 제일 도움이 됐어요. 눈으로 보고 외우는 것보다 반복해서 손으로 직접 계산해보면서 익히는 게 훨씬 오래 기억에 남아요. 서브넷 계산은 원리를 이해하면 어렵지 않은데, 처음 접하는 사람에게는 숫자가 너무 많아서 막막하게 느껴질 수 있어요. 그럴 때는 /24부터 /30까지 이 표만 확실하게 외워두면 대부분의 기본 문제는 풀 수 있어요.
마무리
서브넷 마스크와 CIDR 표기법은 네트워크의 기초 중에 기초예요. 처음엔 이진수와 숫자가 많아서 겁이 날 수 있지만, 원리를 이해하고 나면 생각보다 규칙이 단순하다는 걸 알게 돼요. 핵심은 세 가지예요.
- 서브넷 마스크 = 네트워크와 호스트를 구분하는 경계선
- CIDR = 서브넷 마스크를 짧게 표기하는 방법 (1의 개수)
- 서브네팅 = 큰 네트워크를 작게 나누는 기술
이 세 가지를 확실히 잡으면 이후에 라우팅, OSPF, BGP 같은 더 어려운 개념도 훨씬 수월하게 이해할 수 있어요.
📚 출처 및 참고 자료
- RFC 1519 - CIDR: an Address Assignment and Aggregation Strategy: https://datatracker.ietf.org/doc/html/rfc1519
- Cisco - Subnetting a Network: https://www.cisco.com/c/en/us/support/docs/ip/routing-information-protocol-rip/13788-3.html
- Wikipedia - Classless Inter-Domain Routing: https://en.wikipedia.org/wiki/Classless_Inter-Domain_Routing
- Subnet Calculator: https://www.subnet-calculator.com/
- IANA - IP Address Services: https://www.iana.org/assignments/ipv4-address-space/
'IT적응기' 카테고리의 다른 글
| "정적,동적 라우팅" 관리 효율성과 성능 - 3가지 기준 결론 낸다 (0) | 2026.04.10 |
|---|---|
| 라우팅 테이블 읽는 방법 어떻게 길을 찾는가? (0) | 2026.04.09 |
| IPv4 고갈 IPv6 전환이 생각보다 느린 진짜 이유 (0) | 2026.04.08 |
| L2 스위치 가이드 매니지드-언매니지드 스위치 차이 (4) | 2026.04.07 |
| STP(Spanning Tree Protocol): 네트워크 루프(Loop) 사고 방지법 (0) | 2026.04.07 |