서브넷 마스크 (Subnet Mask) 기초
서브넷 마스크는 32비트 IP 주소에서 어디까지가 '네트워크 주소(동네)'이고, 어디서부터가 '호스트 주소(집 번호)'인지를 구분해주는 칸막이 역할을 하는 숫자입니다.
컴퓨터는 서브넷 마스크를 통해 상대방이 나와 같은 네트워크에 있는지(직접 통신 가능), 아니면 다른 네트워크에 있는지(라우터 필요)를 판단합니다.
1. 서브넷 마스크의 규칙
서브넷 마스크는 IP 주소와 동일하게 32비트(4개의 옥텟)로 구성되며, 다음과 같은 규칙을 가집니다.
- 1 (255): 네트워크 ID 부분입니다. (고정된 값)
- 0 (0): 호스트 ID 부분입니다. (사용자가 할당받는 값)
가장 흔한 예시: 255.255.255.0
- 앞의 세 덩어리(
255.255.255)는 네트워크를 나타내고, - 마지막 한 덩어리(
0)만 개별 장치를 나타냅니다.
2. 구체적인 예시 (계산 과정)
가장 대중적인 사설 IP 환경을 예로 들어보겠습니다.
- 내 IP 주소:
192.168.1.10 - 서브넷 마스크:
255.255.255.0
이 두 가지 정보를 AND 연산(둘 다 1일 때만 1)하면 네트워크 ID가 나옵니다.
| 구분 | 10진수 표기 | 2진수 표기 (비트) | 의미 |
|---|---|---|---|
| IP 주소 | 192.168.1.10 |
11000000.10101000.00000001.00001010 |
전체 주소 |
| 서브넷 마스크 | 255.255.255.0 |
11111111.11111111.11111111.00000000 |
1은 네트워크, 0은 호스트 |
| 결과 (AND) | 192.168.1.0 |
11000000.10101000.00000001.00000000 |
네트워크 ID |
해석: 1. 이 네트워크의 이름(ID)은
192.168.1.0입니다. 2. 이 네트워크 안에서는192.168.1.1~192.168.1.254까지 총 254개의 장치가 서로 통신할 수 있습니다. 3. 마지막 자리(10)가 나의 고유 번호(호스트 ID)입니다.
[Image of Subnet Mask Operation diagram showing IP AND Mask equals Network ID]
3. CIDR 표기법 (슬래시 표기)
서브넷 마스크를 매번 255.255.255.0처럼 길게 쓰기 번거로워, 네트워크 비트(1)의 개수를 슬래시(/) 뒤에 적는 방식을 주로 사용합니다.
| 서브넷 마스크 | CIDR 표기 | 사용 가능한 호스트 수 | 용도 |
|---|---|---|---|
255.255.255.0 |
/24 | 254개 ($2^8 - 2$) | 가정, 소규모 사무실 (가장 흔함) |
255.255.0.0 |
/16 | 65,534개 ($2^{16} - 2$) | 중대형 네트워크 |
255.0.0.0 |
/8 | 약 1,600만 개 ($2^{24} - 2$) | 초대형 네트워크 |
- 참고: 호스트 수에서 2를 빼는 이유는, 맨 처음(네트워크 주소)과 맨 끝(브로드캐스트 주소)은 장치에 할당할 수 없기 때문입니다.