나란히 사용되는 두 가지 주소 체계
IPv4
192.0.2.10
32비트, 주소 약 43억 개, 고갈
IPv6
2606:4700::6810:84e5
128비트, 주소 340간 개
서브넷 마스크란? /24와 255.255.255.0이 일치하는 방식
IP 주소만으로는 한 네트워크가 어디서 끝나고 인터넷의 나머지가 어디서 시작되는지 알 수 없습니다. 그 경계는 주소와 함께 다니는 두 번째 값, 즉 서브넷 마스크에서 옵니다. 마스크는 모든 주소를 네트워크 부분(같은 로컬 네트워크에 있는 모든 것이 공유함)과 호스트 부분(그 안의 특정 기기 하나를 가리킴)으로 나눕니다.
255.255.255.0으로 쓰인 마스크를 거의 확실히 보신 적이 있을 것이고, 주소 끝에 붙은 /24 같은 슬래시 숫자로 쓰인 것도 그만큼 자주 보셨을 것입니다. 두 표기법의 같은 정보이며, 하나가 다른 하나로 어떻게 되는지를 보면 둘 다 마법의 숫자처럼 보이지 않게 됩니다.
마스크가 실제로 하는 일
기기는 마스크를 상시 사용하며, 하나의 결정적인 질문을 위해서입니다. 이 목적지가 내 네트워크에 있는가, 아닌가? 목적지의 네트워크 부분이 자기 것과 일치하면 기기는 로컬 네트워크를 통해 트래픽을 직접 전달합니다. 일치하지 않으면 기기는 트래픽을 게이트웨이(보통 라우터)에 넘겨 전달하게 합니다. “프린터는 보이는데 인터넷은 안 된다”는 고장의 거의 전부는 이 비교가 그 설정이 함축하는 답을 내는 것입니다.
내부적으로 마스크는 주소의 각 비트에 대응하는 비트들의 줄입니다. 마스크가 1인 자리에서는 그 주소 비트가 네트워크 부분에 속하고, 0인 자리에서는 호스트 부분에 속합니다. 나뉨이 깔끔한 경계에 떨어질 필요는 없지만, 일상적인 네트워크에서는 매우 자주 그렇게 됩니다.
두 표기법, 하나의 의미
마스크 255.255.255.0을 이진수로 쓰면 스물네 개의 1 비트 뒤에 여덟 개의 0 비트가 옵니다. 그 비트들을 세면 CIDR 접두사 /24가 됩니다. 슬래시 표기법이란 그뿐입니다. 마스크가 네트워크를 위해 차지하는 주소의 앞부분 비트 수를 세는 것입니다. 전체 배경은 CIDR 표기법이란 무엇인가에 있지만, 변환 자체는 그저 세는 것입니다.
| 마스크 | 접두사 | 블록 내 주소 수 | 사용 가능한 호스트(일반적) |
|---|---|---|---|
| 255.255.255.0 | /24 | 256 | 254 |
| 255.255.255.128 | /25 | 128 | 126 |
| 255.255.255.192 | /26 | 64 | 62 |
| 255.255.0.0 | /16 | 65,536 | 65,534 |
| 255.0.0.0 | /8 | 16,777,216 | 16,777,214 |
마스크는 언제나 일의 줄, 그다음 영의 줄
마스크의 비트는 결코 번갈아 나타나지 않습니다. 왼쪽에서 오른쪽으로 읽으면 1 비트의 줄이 있고 그다음 0 비트의 줄이 있으며, 그 사이에는 정확히 경계가 하나만 있습니다. 접두사 세기가 성립하는 이유가 바로 이것입니다. 보고할 것은 일의 개수뿐이기 때문입니다. 255.255.0.255 같은 값은 유효한 마스크가 아닙니다. 그 비트들이 연속되지 않기 때문이며, 어떤 접두사 숫자로도 설명할 수 없습니다. 오래된 문서에서는 역사적인 주소 클래스로 마스크를 부르기도 합니다(옛 클래스 기본값은 255.0.0.0, 255.255.0.0, 255.255.255.0이었습니다). 하지만 클래스 없는 주소 지정이 클래스를 은퇴시켰습니다. 남은 것은 마스크와 접두사이며, 둘은 여덟 비트마다가 아니라 어느 비트에든 떨어질 수 있습니다.
예제로 풀어보기: 192.0.2.0/24
문서용 범위 192.0.2.0/24를 보겠습니다. 마스크 255.255.255.0은 처음 세 그룹(192.0.2)을 네트워크 부분으로 차지하고 마지막 그룹을 호스트에게 남깁니다. 그래서 192.0.2.0부터 192.0.2.255까지의 모든 주소가 이 하나의 네트워크에 속합니다. 192.0.2.0은 네트워크를 이름 짓고, 192.0.2.255는 그 브로드캐스트 주소이며, 호스트는 192.0.2.1부터 192.0.2.254까지 쓸 수 있습니다.
이제 나누어 보겠습니다. /25(마스크 255.255.255.128)에서는 같은 공간이 각각 128개의 주소를 가진 두 네트워크로 나뉩니다. 192.0.2.0부터 192.0.2.127까지, 그리고 192.0.2.128부터 192.0.2.255까지입니다. 192.0.2.10의 호스트는 /25 마스크 아래에서 이제 192.0.2.200을 원격으로 취급합니다. /24 아래에서는 이웃이었는데도 말입니다. 그리고 그 트래픽을 대신 게이트웨이로 보냅니다. 주소는 바뀌지 않았습니다. 경계가 바뀌었고, 그 경계는 마스크 안에 있습니다.
두 번째 예제: 하나의 /24 안에 네 부서
나누는 것이 마스크가 이론이 아니게 되는 지점입니다. 작은 사무실이 198.51.100.0/24를 관리하면서 부서마다 하나씩 네 개의 분리된 네트워크를 원하여 각 그룹의 일상 트래픽이 자기 로컬에 머물게 한다고 가정해 보겠습니다. 경계를 두 비트 이동하여 /24에서 /26(마스크 255.255.255.192)으로 옮기면 블록은 각각 64개의 주소를 가진 네 개의 네트워크로 나뉩니다:
| 네트워크 | 첫 번째부터 마지막 주소까지 | 브로드캐스트 | 사용 가능한 호스트 |
|---|---|---|---|
198.51.100.0/26 | 198.51.100.0부터 198.51.100.63까지 | 198.51.100.63 | 62 |
198.51.100.64/26 | 198.51.100.64부터 198.51.100.127까지 | 198.51.100.127 | 62 |
198.51.100.128/26 | 198.51.100.128부터 198.51.100.191까지 | 198.51.100.191 | 62 |
198.51.100.192/26 | 198.51.100.192부터 198.51.100.255까지 | 198.51.100.255 | 62 |
나누는 비용도 주목할 만합니다. 사용 가능한 호스트 62개를 가진 네 개의 네트워크는 그 사이에 248개의 기기를 수용하며, 254개가 아닙니다. 새로운 서브넷 경계마다 네트워크 이름과 브로드캐스트 주소에 두 개의 주소가 더 쓰이고, 너무 열심히 나누면 오버헤드가 쌓입니다. 그래서 서브넷 나누기는 분리와 낭비 사이의 균형입니다. 또 주목할 점은 첫 번째 부서에 있는 198.51.100.20의 호스트가 /26 마스크 아래에서는 이제 두 번째 부서의 198.51.100.80을 원격으로 취급한다는 것입니다. 두 주소 모두 이전에는 하나의 /24 안에 문제없이 함께 있었는데도 말입니다. 그리고 부서 사이의 트래픽은 라우터를 우회합니다. 그 분리가 바로 사무실이 요청한 것이며, 마스크는 그것이 적힌 자리일 뿐입니다.
블록을 이런 식으로 나눌 때의 실용적인 규칙이 하나 있습니다. 각 서브넷의 크기는 그룹의 오늘 인원이 아니라 앞으로 몇 년을 기준으로 정해야 합니다. 한 부서의 서브넷이 가득 차서 운영 중인 네트워크의 번호를 다시 매기는 일은 지루하고 혼란스러운 작업인 반면, 이미 관리하고 있는 블록 안의 공간을 계획 단계에서 넉넉하게 확보하는 것은 비용이 들지 않습니다.
와일드카드 마스크: 같은 비트, 위아래가 뒤집힌
서브넷 마스크의 친척 중 하나는 처음 만나는 모든 사람을 혼란스럽게 합니다. 일부 라우터 설정, 특히 액세스 제어 목록에서는 서브넷 마스크를 뒤집은 와일드카드 마스크를 사용합니다. 서브넷 마스크가 네트워크 부분을 표시하는 1 비트를 가진 자리에서 와일드카드는 0 비트를 가지며, 그 1 비트는 '그 주소 비트는 신경 쓰지 않는다'는 뜻입니다. 255.255.255.0의 와일드카드 짝은 0.0.0.255로, 반대 방향에서 같은 경계를 선택합니다. 설정이 와일드카드를 요구하는데 서브넷 마스크를 건네면 무시하려던 주소들과 정확히 일치하게 되므로, 두 표기를 헷갈리지 않게 구분할 가치가 있습니다.
왜 마스크가 '로컬'을 결정하는가
이것이 일상적인 결과를 낳는 부분입니다. 주소는 같지만 마스크가 다른 두 기기는 서로 이웃인지에 대해 의견이 갈릴 수 있고, 의견이 갈리면 트래픽은 한쪽 방향으로만 흐르거나, 뚜렷한 이유 없이 게이트웨이를 우회합니다. 가정용 네트워크의 전형적인 증상, 즉 한 기기는 프린터에 닿는데 다른 기기는 닿지 못하는 경우는 매우 자주 한 기기가 255.255.255.0으로, 다른 기기가 255.255.0.0으로 설정되어 각자 로컬 경계를 다른 곳에 긋기 때문입니다.
마스크는 또한 만들고 있는 네트워크의 크기를 정합니다. /24는 사용 가능한 주소 254개를 주어, 가정과 대부분의 소규모 사무실에 충분합니다. 공인 IP 주소와 사설 IP 주소에서 설명하는 사설 범위 같은 더 큰 공간도, 나뉨이 다른 곳에 있을 뿐 정확히 같은 방식으로 마스크로 잘립니다. 마스크를 선택한다는 것은 기기가 몇 명의 이웃을 가질지, 네트워크가 얼마나 성장할 여유를 가질지를 선택하는 것입니다.
실제로 마스크를 만나는 곳
대부분의 경우 마스크는 조용히 도착합니다. 라우터의 DHCP 서비스가 주소와 함께 기기에 건네주며, 몇 년 동안 네트워크를 쓰면서 마스크를 한 번도 입력하지 않을 수도 있습니다. 마스크가 모습을 드러내는 것은 무언가를 수동으로 설정하는 순간입니다. 서버나 프린터의 고정 주소, 로컬 범위를 요청하는 VPN 클라이언트, 집을 확장하려고 더하는 두 번째 라우터가 그렇습니다. 어느 경우든 마스크 칸은 주소 칸 옆에 있고, 둘은 함께일 때만 의미가 있습니다. 주소는 한 곳에서 베끼고 마스크는 다른 곳에서 베끼는 것은 절반만 작동하는 기기를 만드는 전형적인 방법입니다.
예외: /31 링크와 /32 경로
마이너스 둘 규칙에는 정직한 예외가 있으며, 지금 그것들을 만나 두면 나중의 혼란을 막을 수 있습니다. /31 마스크는 호스트 비트 하나와 정확히 두 개의 주소를 남깁니다. 두 라우터 사이의 점대점 링크에서는 브로드캐스트할 대상이 없고 가능한 이웃도 하나뿐이므로, 그 두 주소는 모두 사용할 수 있으며, 이는 RFC 3021에 명시된 특수한 경우입니다. /32 마스크는 전부 일입니다. 정확히 하나의 주소이며, 라우터 자신의 루프백 주소처럼 단일한 특정 기기를 이름 짓는 호스트 경로에 사용됩니다. 반대쪽 끝에서는 /0 마스크가 비트를 전혀 차지하지 않고 모든 것과 일치하며 기본 경로에 나타납니다. 이는 기기가 자기 네트워크 밖의 모든 목적지에 대해 의지하는 게이트웨이 항목입니다. 그림은 결코 변하지 않습니다. 일의 줄 뒤에 영의 줄이 이어집니다. 경계가 극단으로 이동했을 뿐입니다.
산수 없이 풀어보기
호스트가 몇 개 들어가는지, 블록이 어디서 시작하고 어디서 끝나는지 같은 실용적인 질문에 답하기 위해 누구도 이진수를 손으로 변환할 필요는 없습니다. 서브넷 계산기는 주소와 접두사(또는 마스크)를 받아 네트워크 주소, 브로드캐스트 주소, 첫 번째와 마지막 사용 가능한 호스트, 그리고 개수들을 돌려줍니다. 즉 마스크가 그 블록에 대해 함축하는 전부입니다. 192.0.2.0/24로 시도해 보고, 그다음 /25로 시도하여 경계가 움직이는 것을 보세요.
기를 가치가 있는 습관은 그저 두 표기법을 하나의 것으로 읽는 것입니다. 누군가 어떤 네트워크가 /24라고 말하면 255.255.255.0을 떠올리세요. 처음 세 그룹이 네트워크의 이름으로 고정되고, 마지막 그룹은 그 기기들을 위해 자유롭습니다. 마스크에 관한 모든 질문은 그 그림에서 나누는 선을 옮긴 것입니다.
도메인의 공개 DNS 주소를 확인해야 하나요? Domain IP Lookup 도구를 사용해 보세요.
자주 묻는 질문
관련 글
공개 주소 공간과 사설 주소 공간
공개 IP
192.0.2.10
전역에서 고유, 어디서나 라우팅 가능
사설 대역
공개 인터넷에서는 라우팅 불가
CIDR이란? 프리픽스, 서브넷 계산, 경로 집계
슬래시 프리픽스를 읽고 네트워크, 브로드캐스트, 호스트 범위를 손으로 계산한 다음, 블록을 나누고 요약하고 겹침을 확인해 보세요.
공개 주소 공간과 사설 주소 공간
공개 IP
192.0.2.10
전역에서 고유, 어디서나 라우팅 가능
사설 대역
공개 인터넷에서는 라우팅 불가
공인 IP 주소와 사설 IP 주소: 차이점과 예시
컴퓨터는 192.168.1.5 같은 사설 주소를 가지고 있지만, 웹사이트는 공인 주소를 봅니다. 각 종류의 배경이 되는 범위와 그 사이의 NAT 다리를 소개합니다.
나란히 사용되는 두 가지 주소 체계
IPv4
192.0.2.10
32비트, 주소 약 43억 개, 고갈
IPv6
2606:4700::6810:84e5
128비트, 주소 340간 개
고정 IP 주소와 동적 IP 주소: 핵심적인 차이점
고정 IP 주소와 동적 IP 주소는 할당 방식과 유지 기간에서 다릅니다. 임대, 예약, 스티키 주소와 DDNS를 비교합니다.