본문 바로가기
재밌는 Tech.

🧮 네트워크 CIDR 표기법, 어떻게 동작하고 어떻게 태어났을까?

by 잡학&단어 2025. 12. 2.
반응형

IP 주소 공부를 시작하면 꼭 마주치는 게 바로 CIDR 표기법(예: 192.168.0.0/24)입니다. 처음 보면 “저 슬래시 뒤 숫자는 뭐야…?” 싶지만, 원리를 이해하면 IP 주소 설계·서브넷팅·방화벽 설정까지 한 번에 정리되는 핵심 개념입니다. 이 글에서는 다음 순서로 정리해 보겠습니다. 아! 그리고 영어로 cider랑 완전히 똑같이 발음해서 /사이더/ 라고 발음 하시면 됩니다. “씨-아이-디-알” 이라고 그냥 읽기도 하고요. 

  1. CIDR가 등장하기 전, 옛날 방식(Classful 주소 체계)
  2. CIDR 표기법이 어떻게 동작하는지
  3. CIDR가 등장한 역사적 배경과 유래
  4. 실무에서 자주 보는 예시 정리

 

1. CIDR 전에 쓰이던 “클래스풀(Classful)” 주소 체계

 

원래 인터넷 초창기 IPv4는 A/B/C 클래스로 나뉘는 “클래스 기반 주소 체계(classful addressing)”를 썼습니다. IP 주소 32비트를 앞부분·뒷부분으로 무조건 잘라서, 네트워크 부분과 호스트 부분을 딱 정해 놓은 방식입니다. 대략 이런 느낌이었습니다.

클래스 네트워크 비트 호스트 비트 주소 개수(이론상) 특징
A 8비트 24비트 약 1,600만 개 엄청 큰 네트워크용
B 16비트 16비트 약 6만 5천 개 기업·학교용 정도
C 24비트 8비트 256개 소규모 네트워크용

 

문제는 현실과 안 맞았다는 겁니다. 어떤 회사는 500개 IP만 필요하지만, 선택지는

  • 클래스 C: 256개 → 너무 적고,
  • 클래스 B: 65,536개 → 너무 많고 낭비

필요보다 훨씬 큰 블록을 배정하다 보니, IPv4 주소가 빠르게 고갈되기 시작했습니다. 라우터 입장에서는, 자잘한 네트워크들을 각각 따로따로 라우팅 테이블에 넣어야 해서 라우팅 테이블이 폭발적으로 커지는 문제도 생겼습니다. 아래 두가지가 인터넷을 위기로 몰고 가기 시작합니다.

📌 “주소 낭비” + “라우팅 테이블 폭발”

 

 

 


 

2. CIDR 표기법의 기본 아이디어

 

이 문제를 해결하기 위해 1993년에 IETF가 내놓은 것이 바로  CIDR(Classless Inter-Domain Routing) 입니다. 이름 그대로 “클래스에 얽매이지 않는 라우팅” 방식입니다.

 

2-1. CIDR 표기법 구조

 

CIDR 표기법은 다음처럼 씁니다.

IP주소/프리픽스길이
예) 192.168.0.0/24

 

  • IP주소: 이 네트워크 블록의 시작 주소(보통 호스트 부분이 0인 주소)
  • /24: 앞에서부터 몇 비트가 네트워크 영역인지를 나타내는 숫자 즉, 네트워크 프리픽스(prefix)의 길이

IPv4는 총 32비트이므로,

  • 네트워크 비트 = /N
  • 호스트 비트 = 32 - N
  • 이론상 호스트 개수 = 2^(32 - N) 개 (전통적인 IPv4에서는 네트워크 주소와 브로드캐스트 주소를 빼서 실제 사용 가능 수는 2개 적습니다)

 

2-2. 예시로 보는 CIDR 동작

예시 1: 192.168.0.0/24

  • /24 → 앞 24비트가 네트워크, 뒤 8비트가 호스트
  • 호스트 비트 수: 8비트 → 2^8 = 256개 주소 (전통 방식 기준 실제 사용 가능: 254개 정도)

전통적인 클래스 C(= /24)와 동일한 크기입니다.

 

예시 2: 192.168.0.0/16

  • /16 → 앞 16비트 네트워크, 뒤 16비트 호스트
  • 호스트 비트 수: 16비트 → 2^16 = 65,536개 주소

클래스 B 사이즈와 비슷한데, 중요한 건 이제 “클래스 B”라는 개념에 묶이지 않고 단순히 “/16 블록”으로 보는 것입니다.

 

예시 3: 192.168.0.0/25

이제 진짜 CIDR의 힘이 나옵니다.

  • /25 → 앞 25비트 네트워크, 뒤 7비트 호스트
  • 호스트 비트 수: 7비트 → 2^7 = 128개 주소

즉, 하나의 /24(256개)를 두 개의 /25(각 128개) 로 나눌 수 있습니다.

  • 192.168.0.0/25  → 192.168.0.0 ~ 192.168.0.127
  • 192.168.0.128/25 → 192.168.0.128 ~ 192.168.0.255

이렇게 필요에 맞게 쪼개 쓰는 것이 VLSM(Variable Length Subnet Mask) 이고, CIDR는 이 아이디어 위에서 발전한 방식입니다.

 


 

3. 서브넷 마스크와의 관계

 

CIDR 이전에는 네트워크/호스트 구분을 주로 서브넷 마스크(subnet mask) 로 표현했습니다. 예를 들어,

  • /24 ⇔ 서브넷마스크 255.255.255.0
  • /16 ⇔ 서브넷마스크 255.255.0.0
  • /25 ⇔ 서브넷마스크 255.255.255.128

서브넷 마스크는 연속된 1 비트 + 연속된 0 비트로 이루어진 32비트 값입니다. CIDR 표기법은 이걸 훨씬 간단히 줄여 쓴 표기법이라고 보면 됩니다.

192.168.0.0 255.255.255.0 192.168.0.0/24 로 요약

 


 

4. CIDR 도입의 역사적 배경 🕰

 

4-1. 언제, 왜 등장했나?

인터넷이 폭발적으로 성장하던 1990년대 초, 두 가지 문제가 현실화됩니다.

  1. IPv4 주소 고갈 위기
    • 클래스 단위로 뭉텅이 배정 → 실제 필요보다 훨씬 많은 주소 낭비
  2. 라우팅 테이블 폭발
    • 인터넷 백본 라우터들이 수많은 개별 네트워크 경로를 저장해야 해서, 메모리·CPU·관리 측면에서 한계에 가까워짐

이 문제를 해결하기 위해 IETF는 1993년에 RFC 1519 – “Classless Inter-Domain Routing (CIDR): an Address Assignment and Aggregation Strategy” 를 발표하고, CIDR를 공식 도입합니다. CIDR의 목표는 크게 두 가지였습니다.

  • 주소를 더 잘게, 유연하게 배정해서 낭비 줄이기
  • 라우팅 경로를 “묶어서(aggregation, supernetting)” 광고해 라우팅 테이블 크기 줄이기

이후 2006년에 RFC 4632가 나오면서, CIDR 개념을 정리·업데이트합니다.

 

 

4-2. “CIDR 표기법” 자체의 유래

 

CIDR 표기법(예: 192.168.0.0/24)은 1980년대에 엔지니어 Phil Karn이 고안한 것으로 알려져 있습니다. 이 간단한 슬래시 + 숫자 표기는 서브넷 마스크를 훨씬 간결하게 표현하고, 문서·구성 파일·라우팅 정책 등에서 사람이 읽고 쓰기 너무 편해서 인터넷 전반에 걸쳐 사실상 표준 표기 방식으로 자리 잡게 됩니다.

 


 

5. CIDR가 가져온 변화 ✨

 

5-1. 주소 낭비 감소

필요에 따라 /28, /27, /26, /25… 이런 식으로 미세하게 크기를 조절해서 주소를 나눌 수 있습니다. 각 조직은 “필요한 만큼만” 주소를 받고, 나머지는 다른 곳에 재사용할 수 있게 되었죠.

 

5-2. 라우팅 테이블 축소 (Supernetting)

CIDR의 또 다른 핵심이 바로 프리픽스 집계(prefix aggregation, supernetting)입니다. 예를 들어, ISP가 내부적으로는

  • 192.168.0.0/24
  • 192.168.1.0/24
  • 192.168.2.0/24
  • 192.168.3.0/24

이런 네 개의 네트워크를 쓰고 있다고 해도, 외부(인터넷 전체)에는

192.168.0.0/22

 

하나만 광고할 수 있습니다.

  • /22 → 호스트 비트 10비트 → 4개의 /24 블록을 하나로 묶은 것
  • 라우팅 테이블에 들어가는 엔트리 수가 4개 → 1개로 줄어듭니다.

전 세계 ISP들이 이런 식으로 경로를 묶어서 광고하기 때문에, 오늘날 같은 규모의 인터넷이 돌아갈 수 있는 것입니다.

 


 

6. IPv6에서도 쓰이는 CIDR

 

CIDR 개념은 IPv4만이 아니라 IPv6에도 그대로 사용됩니다. IPv6 주소는 128비트이지만, 여전히

2001:db8::/32
2001:db8:1234::/48
...

 

와 같은 CIDR 표기법을 사용합니다. 다만 IPv6에서는 관례적으로 인터페이스 ID를 64비트로 잡기 때문에, 실무에서는 /64, /56, /48 같은 프리픽스를 자주 보게 됩니다.

 


 

7. 실무에서 자주 만나는 CIDR 예시 모음 📋

 

마지막으로, 실무·공부에서 자주 보게 되는 몇 가지 CIDR 예시를 정리해보겠습니다.

CIDR 서브넷 마스크 주소 개수(이론상) 전통적 사용 예시
/32 255.255.255.255 1 단일 호스트 지정(방화벽 룰 등)
/24 255.255.255.0 256 소규모 LAN, 사무실 네트워크
/23 255.255.254.0 512 /24 두 개를 하나로 묶은 서브넷
/22 255.255.252.0 1,024 여러 /24를 한 번에 라우팅할 때
/16 255.255.0.0 65,536 대규모 조직 네트워크, ISP 할당 블록

 

참고: IPv4 전통에서는 네트워크/브로드캐스트를 빼야 해서 실제 사용 가능 호스트 수는 2^(호스트비트 수) - 2가 되는 경우가 많습니다.

 


 

마무리 정리 🧵

 

CIDR(Classless Inter-Domain Routing)는 “클래스에 묶이지 않고, 프리픽스 길이로 네트워크를 표현하는 방식”입니다. IP주소/프리픽스길이 형식으로 쓰며, /N은 “앞의 N비트가 네트워크”라는 뜻입니다. CIDR는 IPv4 주소 고갈 문제라우팅 테이블 폭발 문제를 해결하기 위해 1993년 IETF RFC 1519를 통해 도입되었습니다. 표기법 자체는 Phil Karn이 제안한 간결한 방법으로, 오늘날 IPv4·IPv6 모두에서 사실상 표준 표기로 쓰이고 있습니다.

반응형