서브넷 마스크의 역할
서브넷 마스크는 IPv4 주소와 길이가 같은 32비트 값으로, 연속된 1비트 구간 다음에 연속된 0비트 구간이 이어지는 형태로 구성됩니다. 1비트는 주소의 어느 비트가 그 주소가 속한 네트워크를 식별하는지를 나타내고, 0비트는 그 네트워크 내에서 특정 호스트를 식별하는 비트를 나타냅니다. IP 주소와 마스크 사이에 비트 단위 AND 연산을 적용하면 호스트 비트가 제거되고 네트워크 주소만 남습니다.
예를 들어 마스크 255.255.255.0을 이진수로 표현하면 11111111.11111111.11111111.00000000입니다 -- 1비트 24개 다음에 0비트 8개가 이어집니다 -- 즉 처음 세 옥텟이 네트워크를 식별하고 마지막 옥텟이 그 네트워크 내의 개별 호스트를 식별하며, 이 네트워크는 최대 256개의 주소(그중 254개가 사용 가능)를 가질 수 있습니다.
CIDR 표기법: /24가 실제로 의미하는 것
CIDR(Classless Inter-Domain Routing, 클래스 없는 도메인 간 라우팅)은 RFC 4632에 명시되어 있으며, 서브넷 마스크를 슬래시 뒤에 선행하는 1비트의 개수로 표기하므로, /24는 마스크 255.255.255.0의 약식이고 /26은 255.255.255.192의 약식입니다. CIDR은 네트워크 크기가 주소의 앞쪽 비트(클래스 A, B, C)에 의해 엄격하게 고정되던 이전의 클래스 기반 시스템을 대체하여, /0부터 /32까지 원하는 프리픽스 길이를 선택함으로써 거의 모든 크기의 네트워크를 정의할 수 있는 유연성을 제공합니다.
프리픽스 길이는 마스크와 남은 호스트 비트 수를 직접 결정합니다: 32비트 IPv4 주소의 경우, 호스트 비트 수 = 32 − 프리픽스 길이입니다. /24 네트워크는 호스트 비트가 8개(2⁸ = 256개 주소)이고, /26 네트워크는 호스트 비트가 6개(2⁶ = 64개 주소)이며, /30 네트워크는 호스트 비트가 2개(4개 주소)입니다 -- 호스트 비트 수가 적을수록 네트워크가 더 작아집니다.
실전 예시: 192.168.1.10/26
192.168.1.10 주소에 /26 프리픽스가 붙은 경우를 살펴보겠습니다. /26 마스크는 1비트가 26개이며, 이는 처음 세 옥텟 전체(24비트)에 네 번째 옥텟의 상위 2비트를 더한 것으로, 마스크는 255.255.255.192가 됩니다(192는 이진수로 11000000). 주소의 네 번째 옥텟인 10은 이진수로 00001010입니다. 이를 마스크의 네 번째 옥텟(11000000)과 AND 연산하면 하위 6비트가 모두 0이 되어 00000000 = 0이 남으므로, 네트워크 주소는 192.168.1.0입니다.
네 번째 옥텟에 남은 6개의 호스트 비트는 서브넷당 블록 크기가 2⁶ = 64개 주소임을 의미하므로, .10이 속한 서브넷은 .0부터 .63까지입니다. 브로드캐스트 주소는 그 범위의 최상단인 192.168.1.63(모든 호스트 비트가 1)이며, 사용 가능한 호스트 범위는 네트워크 주소와 브로드캐스트 주소 사이의 모든 주소인 192.168.1.1부터 192.168.1.62까지입니다 -- 정확히 2⁶ − 2 = 62개의 사용 가능한 호스트 주소입니다.
서브네팅이 존재하는 이유
서브네팅은 RFC 950으로 표준화되었으며, 실용적인 문제를 해결하기 위한 것입니다: 수천, 수백만 개의 장치로 이루어진 하나의 평평한 네트워크는 비효율적이고 취약합니다. 브로드캐스트 도메인 내의 모든 장치가 그 안에서 전송되는 모든 브로드캐스트 패킷을 수신하기 때문이며, 한 세그먼트의 장애나 브로드캐스트 폭풍이 전체 네트워크에 영향을 줄 수 있기 때문입니다. 큰 주소 블록을 더 작은 서브넷으로 나누면 브로드캐스트 트래픽이 각 서브넷 안에 갇히고, 네트워크를 하나의 나뉘지 않은 주소 풀이 아니라 층, 부서, 데이터센터 랙 같은 물리적 또는 조직적 경계를 중심으로 구성할 수 있습니다.
서브네팅은 또한 주소 절약과 라우팅 효율을 뒷받침합니다: 조직은 각 서브넷의 크기를 실제로 필요한 장치 수에 대략 맞게 설정할 수 있으며(두 라우터 사이의 지점 간 연결에 사용되는 /30은 /24 사무실 네트워크처럼 254개 주소를 소비할 필요가 없습니다), CIDR의 가변 길이 프리픽스는 라우터가 여러 작은 서브넷을 하나의 라우팅 테이블 항목으로 집계할 수 있게 해주어, RFC 4632에 설명된 대로 인터넷 규모의 라우팅 테이블이 관리하기 어려울 만큼 커지는 것을 막아줍니다.
CIDR 프리픽스 참조표
아래 표는 일반적인 CIDR 프리픽스 길이를 점 십진수 서브넷 마스크 및 그에 따른 사용 가능한 호스트 주소 수와 함께 나열합니다. 네트워크 주소와 브로드캐스트 주소는 예약되어 장치에 할당할 수 없다는 표준 CIDR 호스트 계산 규칙을 따릅니다.
| 프리픽스 | 서브넷 마스크 | 사용 가능한 호스트 |
|---|---|---|
| /24 | 255.255.255.0 | 254 |
| /25 | 255.255.255.128 | 126 |
| /26 | 255.255.255.192 | 62 |
| /27 | 255.255.255.224 | 30 |
| /28 | 255.255.255.240 | 14 |
| /29 | 255.255.255.248 | 6 |
| /30 | 255.255.255.252 | 2 |
자주 묻는 질문
서브넷 마스크란 무엇인가요?
서브넷 마스크는 연속된 1비트 구간 다음에 연속된 0비트 구간이 이어지는 32비트 값으로, IPv4 주소를 네트워크 부분과 호스트 부분으로 나누는 데 사용됩니다. 주소와 마스크 사이에 비트 단위 AND 연산을 적용하면 네트워크 주소가 나옵니다. 예를 들어 마스크 255.255.255.0은 처음 24비트를 네트워크 부분으로, 마지막 8비트를 호스트 부분으로 표시합니다.
IP 주소에서 /24는 무엇을 의미하나요?
CIDR 표기법에서 /24는 32비트 중 처음 24비트가 네트워크를 식별한다는 뜻으로, 서브넷 마스크 255.255.255.0과 같습니다. 나머지 8비트는 그 네트워크 내의 개별 호스트를 식별하며, 2⁸ = 256개의 전체 주소를 가지고, 네트워크 주소와 브로드캐스트 주소를 예약한 후 254개가 사용 가능합니다.
192.168.1.10/26의 네트워크 주소와 브로드캐스트 주소는 어떻게 찾나요?
/26 마스크는 255.255.255.192이며, 마지막 옥텟에 호스트 비트 6개가 남아 블록 크기는 2⁶ = 64개 주소입니다. 10은 0-63 블록 안에 있으므로, 네트워크 주소는 192.168.1.0(모든 호스트 비트가 0)이고 브로드캐스트 주소는 192.168.1.63(모든 호스트 비트가 1)입니다. 사용 가능한 호스트 범위는 192.168.1.1부터 192.168.1.62까지, 즉 62개 주소입니다.
서브네팅은 왜 존재하나요?
서브네팅은 큰 네트워크를 더 작고 독립적으로 관리되는 세그먼트로 나누어, 브로드캐스트 트래픽이 퍼지는 범위를 제한하고, 장애와 원치 않는 트래픽을 네트워크의 더 작은 부분에 격리시키며, 실제 장치 수에 맞춰 주소 공간을 할당해 작은 링크에 큰 블록을 낭비하지 않게 해줍니다. 또한 라우터가 여러 작은 서브넷을 더 적은 라우팅 테이블 항목으로 집계할 수 있게 해주는데, 이는 인터넷 규모의 라우팅을 확장하는 데 필수적입니다.
/26 네트워크에는 사용 가능한 호스트가 몇 개인가요?
62개입니다. /26 프리픽스는 호스트 비트 6개를 남기며(32 − 26 = 6), 서브넷 내 전체 주소는 2⁶ = 64개가 됩니다. 그중 모든 비트가 0인 주소는 네트워크 주소로, 모든 비트가 1인 주소는 브로드캐스트 주소로 예약되어, 장치에 할당할 수 있는 주소는 2⁶ − 2 = 62개가 남습니다.
CIDR과 예전 클래스 기반 주소 지정 시스템의 차이는 무엇인가요?
클래스 기반 주소 지정은 주소의 앞쪽 비트를 기준으로 네트워크 크기를 몇 가지 엄격한 옵션(클래스 A, B, C) 중 하나로 고정하여, 고정된 크기 사이의 중간 규모가 필요한 조직에는 많은 주소 공간을 낭비했습니다. RFC 4632에 명시된 CIDR은 이를 슬래시 표기법(예: /24, /26)으로 작성하는 가변 길이 프리픽스로 대체하여, 네트워크를 거의 모든 2의 거듭제곱 경계로 조정할 수 있게 하고 라우터가 여러 네트워크를 더 적은 라우팅 테이블 항목으로 집계할 수 있게 해줍니다.
참고 자료
- Mogul J, Postel J. Internet Standard Subnetting Procedure. RFC 950, IETF, 1985.
- Fuller V, Li T. Classless Inter-domain Routing (CIDR): The Internet Address Assignment and Aggregation Plan. RFC 4632, IETF, 2006.
- Postel J. Internet Protocol. RFC 791, IETF, 1981.
- Rekhter Y, Moskowitz B, Karrenberg D, de Groot GJ, Lear E. Address Allocation for Private Internets. RFC 1918, IETF, 1996.