📐 서브넷 마스크 한눈에
마스크는 네트워크 부분을 1, 호스트 부분을 0으로 채운 값이고, 1은 항상 왼쪽부터 이어진다.
사용 가능 호스트 = 2호스트 비트 − 2 (네트워크 주소·브로드캐스트 주소 제외). /n이 1 커지면 주소 수는 절반이 된다.
앞의 8 + 8 + 8 + 3 = 27비트 → /27 → 255.255.255.224. 초록색 5비트로 2⁵ = 32개의 주소를 만들 수 있다.
| CIDR | 서브넷 마스크 | 주소 수 | 호스트 수 |
|---|---|---|---|
| /8 | 255.0.0.0 | 16,777,216 | 16,777,214 |
| /16 | 255.255.0.0 | 65,536 | 65,534 |
| /22 | 255.255.252.0 | 1,024 | 1,022 |
| /23 | 255.255.254.0 | 512 | 510 |
| /24 | 255.255.255.0 | 256 | 254 |
| /25 | 255.255.255.128 | 128 | 126 |
| /26 | 255.255.255.192 | 64 | 62 |
| /27 | 255.255.255.224 | 32 | 30 |
| /28 | 255.255.255.240 | 16 | 14 |
| /29 | 255.255.255.248 | 8 | 6 |
| /30 | 255.255.255.252 | 4 | 2 |
• 블록 간격 = 256 − 마스크 값 (예: /27 → 256 − 224 = 32). /23처럼 셋째 옥텟에 걸리면 셋째 옥텟 기준으로 센다 (256 − 254 = 2).
• /31은 점대점 링크용으로 주소 2개를 모두 쓰고, /32는 단일 호스트 주소다. 둘 다 −2 공식을 쓰지 않는다.
비트 가중치를 왼쪽부터 더한다
128 · 64 · 32 · 16 · 8 · 4 · 2 · 1
↓ 누적 합 = 마스크 값
128 → 192 → 224 → 240
→ 248 → 252 → 254 → 255
/25 ~ /30 은 세 줄을 짝으로
마스크 128 · 192 · 224 · 240 · 248 · 252
주소 수 128 · 64 · 32 · 16 · 8 · 4
호스트 126 · 62 · 30 · 14 · 6 · 2
모든 상자의 앞 세 옥텟은 192.168.10으로 같다. 각 상자는 주소 32개, 일반 호스트 30개를 갖는다. 예시 IP .77은 세 번째 상자(.64~.95)에 들어간다.
192.168.10.64/27의 마지막 옥텟을 한 칸에 하나씩 표시했다.
전체 32개 − 시작 주소 1개 − 마지막 주소 1개 = 30개. /31 점대점 링크와 /32 단일 주소에는 이 빼기 공식을 적용하지 않는다.
192.168.10.77/27에서 앞 세 옥텟은 그대로다. 마지막 옥텟만 비교한다.
같은 세로 칸에서 둘 다 1일 때만 결과가 1이다. 77 AND 224 = 64 → 네트워크 주소 192.168.10.64.
/23처럼 옥텟을 넘으면
192.168.11.77/23 → 마스크 255.255.254.0
셋째 옥텟 간격 256 − 254 = 2 → 10·11이 한 블록
네트워크 192.168.10.0 · 브로드캐스트 192.168.11.255
서브넷 개수와 호스트 수는 다르다
/24를 /27로 나누면 빌린 비트 3개 → 서브넷 2³ = 8개
서브넷마다 호스트 비트 5개 → 호스트 2⁵ − 2 = 30개
개수는 빌린 비트, 호스트는 남은 비트로 센다.
확인 1호스트 50대가 필요할 때 가장 작은 서브넷은?
확인 2192.168.1.130/26의 네트워크 주소와 브로드캐스트 주소는?
확인 3/24를 /28로 나누면 서브넷 몇 개, 서브넷당 호스트 몇 개?
• 256 − 마스크 값은 그 옥텟의 간격이지 전체 주소 수가 아니다. /23의 전체 주소는 2가 아니라 512개다.
• 호스트 수를 물으면 −2를 잊지 않는다. 32개로 답하면 오답이다.
• 클래스 판별(첫 옥텟)과 마스크 비트는 다른 이야기다 → IP 클래스 · 서브넷마스크 · CIDR