CIDR 표기법은 192.168.0.1/24처럼 IP 주소 뒤에 네트워크 마스크로 사용하는 비트 수를 함께 표시하는 방법이다. /24는 서브넷 마스크 255.255.255.0을 의미한다. 네트워크 마스크로 두 IP 주소의 네트워크 ID를 비교하는 방법과 CIDR 접두사 길이에 따른 서브넷 마스크 및 사용 가능한 IPv4 호스트 수를 알아본다.
리눅스 시스템이나 네트워크 장비에 IP 주소를 입력하다 보면 윈도우 시스템의 입력 방법과 다른 경우가 종종 있다. 윈도우 시스템에서는 IP 주소와 서브넷 마스크를 각각 입력하지만, 리눅스나 네트워크 장비에서는 서브넷 마스크를 별도로 입력하지 않고 IP 주소 뒤에 /와 숫자를 붙이는 경우가 있다.

리눅스 시스템의 IP 설정 예
iface eth0 inet static
address 192.0.2.7/24
gateway 192.0.2.254
IP 주소 뒤에 /(슬래시)를 붙이고 특정한 숫자를 함께 적어 주는 형태의 표기 방법을 사이더(CIDR: Classless Inter-Domain Routing) 표기법이라고 한다. 리눅스 등의 환경뿐 아니라 네트워크 엔지니어들 사이에서도 매우 흔하게 사용하는 방법이다. 어떻게 사용하는 것인지, 어떤 의미가 있는 것인지 함께 알아보도록 하겠다.
사이더 표기법이란?
사이더(CIDR: Classless Inter-Domain Routing) 표기법이란 192.0.2.7/24와 같이 네트워크 마스크로 사용하는 비트의 개수를 IP 주소와 함께 적어 주는 방식을 말한다.
서브넷 마스크와 브로드캐스트 도메인
이더넷 환경에서 컴퓨터는 통신할 상대방의 IP 주소를 보고 게이트웨이를 사용해야 하는지 판단한다. 만약 나와 상대방이 같은 네트워크에 있다면 게이트웨이를 통하지 않고 직접 통신할 수 있으며, 그렇지 않다면 게이트웨이로 데이터를 보내 외부 네트워크로 전송해야 한다. 이때 판단의 기준으로 삼는 것이 서브넷 마스크(Subnet Mask)다. 네트워크 마스크(Network Mask)라고 부르기도 한다. 본 글에서는 이 둘을 혼용해서 사용한다.
IPv4 주소는 총 32개의 비트로 표현하며, 일반적으로 8비트씩 네 부분으로 나누어 192.168.0.1과 같은 십진수 형태로 표시한다. 서브넷 마스크도 같은 방식으로 255.255.255.0과 같이 나타낸다.
11111111.11111111.11111111.11111111 : 255.255.255.255
만약 내 IP 주소가 192.168.100.100이고, 네트워크 마스크가 255.255.255.0, 상대방의 IP 주소가 192.168.100.123이라고 한다면 각각 아래와 같이 표현할 수 있다.
192.168.100.100 = 11000000.10101000.01100100.01100100
255.255.255.000 = 11111111.11111111.11111111.00000000
192.168.100.123 = 11000000.10101000.01100100.01111011
호스트는 내 IP 주소와 상대방의 IP 주소에서 네트워크 마스크 비트가 0인 부분을 무시하고 1인 부분만 비교한다. 위의 예에서는 마스크 비트의 1이 24개 있으므로 앞의 24비트를 비교한다.
마스크 비트에 해당하는 부분이 서로 같다면 두 주소가 같은 네트워크에 존재한다고 판단한다. 위의 예에서 192.168.100.100과 192.168.100.123은 앞의 192.168.100 부분이 같다. 따라서 컴퓨터는 두 주소가 같은 네트워크에 존재하는 것으로 인식한다. 이것이 컴퓨터가 동일한 네트워크에 있는지를 판단하는 기본적인 방법이다.
CIDR 표기
위의 예에서 네트워크 마스크로 사용되는 비트의 수는 24개다. 이 24라는 숫자를 IP 주소와 함께 적어 주는 방식이 CIDR 표기법이다. 예를 들면 다음과 같다.
| IP 주소 | 서브넷 마스크 | CIDR 표기 |
|---|---|---|
192.168.1.1 |
255.255.255.0 |
192.168.1.1/24 |
172.27.10.1 |
255.255.0.0 |
172.27.10.1/16 |
10.0.0.1 |
255.0.0.0 |
10.0.0.1/8 |
왜 사용하는가?
아주 먼 옛날, 본 필자가 처음 널 모뎀으로 통신을 공부하던 시절에는 작은 C 클래스 네트워크를 여럿 묶어 하나의 큰 네트워크로 표현하는 슈퍼넷팅(Supernetting)이라는 개념이 있었다. 예를 들어 192.168.0.0/24부터 192.168.3.0/24까지 연속된 네 개의 네트워크를 하나의 192.168.0.0/22 네트워크로 묶는 식이다.
이처럼 여러 네트워크를 하나의 경로로 집약하는 슈퍼넷팅의 개념을 포함해, 클래스의 경계와 관계없이 접두사 길이로 네트워크를 분할하거나 집약할 수 있도록 발전된 체계가 CIDR이다. CIDR을 사용하면 주소 공간을 필요한 크기에 맞게 할당할 수 있으며, 여러 네트워크의 경로를 하나로 묶어 라우팅 테이블의 크기도 줄일 수 있다.
여러 서적이나 인터넷상에서는 CIDR에 여러 기술적인 장점이 있다고 설명하고 있다. 하지만 본 필자가 생각하는 가장 큰 이유는 ‘적을 숫자가 적어진다.’ 정도 되겠다. IP 주소와 네트워크 마스크를 모두 적는 것보다 여러모로 간편하다. (일단 적어야 하는 글자가 확 줄어든다!) 물론 여러 기술적인 장점들도 있기는 하다. 하지만 일반적인 서버나 네트워크 엔지니어라면 그다지 크게 와닿지 않는 것이 사실이긴 하다.
네트워크 마스크와 마스크 비트
사실 인터넷을 조금만 찾아보거나 네트워크 주소 계산기를 사용하면 금방 계산할 수 있는 내용이긴 하다. 하지만 귀찮고 시간 가고 번거롭다. (물론 몇 번 하다 보면 외워진다.) 서브넷 마스크별로 사용되는 마스크 비트의 수와 일반적인 IPv4 서브넷에서 사용할 수 있는 호스트 수를 정리해 보았다. 사이더 표현을 보고 나서 헷갈릴 때 참고하시라.
| 마스크 비트 | 서브넷 마스크 | 가능한 호스트 수 | 참고 |
|---|---|---|---|
| 0 | 0.0.0.0 | 4,294,967,294 | 보통 모든 IPv4 주소를 의미 |
| 1 | 128.0.0.0 | 2,147,483,646 | |
| 2 | 192.0.0.0 | 1,073,741,822 | |
| 3 | 224.0.0.0 | 536,870,910 | |
| 4 | 240.0.0.0 | 268,435,454 | |
| 5 | 248.0.0.0 | 134,217,726 | |
| 6 | 252.0.0.0 | 67,108,862 | |
| 7 | 254.0.0.0 | 33,554,430 | |
| 8 | 255.0.0.0 | 16,777,214 | A Class |
| 9 | 255.128.0.0 | 8,388,606 | |
| 10 | 255.192.0.0 | 4,194,302 | |
| 11 | 255.224.0.0 | 2,097,150 | |
| 12 | 255.240.0.0 | 1,048,574 | |
| 13 | 255.248.0.0 | 524,286 | |
| 14 | 255.252.0.0 | 262,142 | |
| 15 | 255.254.0.0 | 131,070 | |
| 16 | 255.255.0.0 | 65,534 | B Class |
| 17 | 255.255.128.0 | 32,766 | |
| 18 | 255.255.192.0 | 16,382 | |
| 19 | 255.255.224.0 | 8,190 | |
| 20 | 255.255.240.0 | 4,094 | |
| 21 | 255.255.248.0 | 2,046 | |
| 22 | 255.255.252.0 | 1,022 | |
| 23 | 255.255.254.0 | 510 | |
| 24 | 255.255.255.0 | 254 | C Class |
| 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 | |
| 31 | 255.255.255.254 | 2 | 지점 간 링크에서 사용 |
| 32 | 255.255.255.255 | 1 | 보통 단일 IP 주소를 의미 |
표의 호스트 수는 일반적인 IPv4 서브넷에서 네트워크 주소와 브로드캐스트 주소를 제외해 계산한 이론상의 값이다. 실제로 할당할 수 있는 주소 수는 해당 네트워크에 포함된 예약 주소와 특수 목적 주소에 따라 달라질 수 있다. 또한 /31은 지점 간 링크에서 두 주소를 모두 사용할 수 있으며, /32는 하나의 IP 주소를 지정한다.
여담과 마무리
사이더 표기법은 리눅스 시스템은 물론 여러 운영체제와 네트워크 장비에서 널리 사용되며, IP 네트워크 통신에 대한 기본적인 내용을 함축하고 있다. 사실 본 필자는 사이더 대신 씨아이디알 또는 사이다라고 읽는다. 다행히 다들 알아들으시니 굳이 고칠 마음은 없지만, 이래서 뭐든 독학은 좋지 않다.
어디선가 IP 주소를 받았는데 서브넷 마스크 대신 /와 숫자가 붙어 있다면 이 글을 기억해 주길 바란다.
FAQ
- CIDR 표기법이란?
- CIDR 표기법은 IP 주소와 네트워크 접두사 길이를 함께 나타내는 방법이다.
192.168.0.1/24처럼 IP 주소 뒤에/와 숫자를 붙여 표기하며, 해당 숫자는 네트워크를 구분하는 데 사용하는 비트 수를 의미한다. - IP 주소 뒤에 붙는
/24는 무엇을 의미하는가? /24는 IPv4 주소의 32비트 중 앞의 24비트를 네트워크 부분으로 사용한다는 의미다. 서브넷 마스크로 변환하면255.255.255.0이며, 일반적인 서브넷에서는 네트워크 주소와 브로드캐스트 주소를 제외한 254개의 호스트 주소를 사용할 수 있다.- CIDR 접두사 길이를 서브넷 마스크로 변환하는 방법은?
- 접두사 길이만큼 왼쪽부터 비트를
1로 채우고 나머지를0으로 채운 다음, 8비트씩 십진수로 변환한다. 예를 들어/24는 앞의 24비트가1이므로255.255.255.0이 되고,/26은255.255.255.192가 된다. - 두 IP 주소가 같은 네트워크인지 확인하는 방법은?
- 각 IP 주소에 동일한 서브넷 마스크를 적용해 계산한 네트워크 ID를 비교한다. 두 네트워크 ID가 같으면 같은 IP 네트워크에 속하고, 다르면 일반적으로 게이트웨이를 거쳐 통신해야 한다.
- CIDR 표기법은 어디에서 사용하는가?
- IP 주소와 네트워크 접두사 길이를 함께 나타내야 하는 곳에서 사용한다. 리눅스와 네트워크 장비의 인터페이스 설정, 라우팅 테이블, 방화벽 규칙, 클라우드 네트워크 및 접근 제어 목록 등에서 널리 사용된다.
- CIDR 표기법의 장점은 무엇인가?
- IP 주소와 서브넷 마스크를 간결하게 표현할 수 있고, 클래스의 경계와 관계없이 필요한 크기로 네트워크를 나눌 수 있다. 또한 여러 네트워크 경로를 하나로 집약해 라우팅 테이블의 크기를 줄이는 데에도 사용할 수 있다.
- 서브넷팅과 슈퍼넷팅의 차이는?
- 서브넷팅은 하나의 네트워크를 접두사 길이가 더 긴 여러 개의 작은 네트워크로 나누는 방법이다. 반대로 슈퍼넷팅은 조건에 맞는 여러 개의 연속된 네트워크를 접두사 길이가 더 짧은 하나의 큰 네트워크로 집약하는 방법이다. 예를 들어 네 개의 연속된
/24네트워크를 하나의/22로 집약할 수 있다. - CIDR 환경에서도 A·B·C 클래스를 사용하는가?
- CIDR가 도입된 이후에는 네트워크 크기를 A·B·C 클래스에 맞춰 할당할 필요가 없다. 현재는
/8,/16,/24와 같은 접두사 길이를 기준으로 표현한다. 다만 기존 자료나 네트워크 규모를 설명하는 과정에서는 A·B·C 클래스라는 표현이 여전히 사용되기도 한다. - CIDR 접두사별 호스트 수는 어떻게 계산하는가?
- 일반적인 IPv4 서브넷에서는
2(32−접두사 길이)−2로 계산한다. 마지막 두 주소를 빼는 이유는 네트워크 주소와 브로드캐스트 주소로 사용하기 때문이다. 다만/31과/32에는 이 계산식을 그대로 적용하지 않는다. /31네트워크에서 두 주소를 모두 사용할 수 있는 이유는?/31은 두 장치만 연결되는 지점 간 링크에서 사용할 수 있도록 정의된 접두사다. 이런 링크에서는 네트워크 주소와 브로드캐스트 주소를 별도로 둘 필요가 없으므로 두 주소를 모두 인터페이스에 할당할 수 있다./32는 무엇을 의미하는가?/32는 32비트 전체가 접두사이므로 하나의 IPv4 주소만을 지정한다. 특정 호스트를 나타내는 라우팅 항목, 루프백 주소, 방화벽 규칙 등에서 사용한다.- 표에 나온 호스트 수를 실제로 모두 사용할 수 있는가?
- 표의 값은 일반적인 IPv4 서브넷을 기준으로 계산한 이론상의 호스트 수다. 실제 주소 대역에 예약 주소나 특수 목적 주소가 포함되어 있거나 네트워크 운영 정책에 따라 일부 주소를 따로 확보한 경우에는 실제 할당 가능한 수가 줄어들 수 있다.
- 브로드캐스트 도메인이란?
- 브로드캐스트 도메인은 이더넷 브로드캐스트 프레임이 전달되는 네트워크 범위를 말한다. 일반적으로 라우터나 VLAN을 경계로 나뉜다. 하나의 IP 서브넷과 하나의 브로드캐스트 도메인을 대응시켜 구성하는 경우가 많지만, 두 용어가 완전히 같은 의미는 아니다.
- 기본 게이트웨이란?
- 기본 게이트웨이는 호스트가 로컬 네트워크에 속하지 않는 목적지로 패킷을 보낼 때 사용하는 라우터의 인터페이스 주소다. 별도의 경로가 등록되어 있지 않다면 외부 네트워크로 향하는 패킷을 기본 게이트웨이로 전달한다.
갱신 내역
- — 최초 게시
- — 수정
- — 수정 및 주소 이전 (https://www.EQMaker.kr/)