Skip to content

CIDR (Classless Inter-Domain Routing)

네트워크에서 IP 주소를 효율적으로 관리하기 위해 사용하는 개념이 CIDR이다.
클라우드 환경(AWS, GCP, Azure)에서 VPC, Subnet, 보안 그룹 설정할 때 반드시 접하게 된다.

CIDR이란?

  • CIDR(Classless Inter-Domain Routing) 클래스 없는 도메인 간 라우팅
  • IP 주소를 IP주소/비트수 형태로 표현해 효율적으로 네트워크를 나누는 방식
  • 예: 192.168.0.0/24 → 앞 24비트는 네트워크, 뒤 8비트는 호스트.
예시의미
192.168.0.0/16네트워크: 16비트 / 호스트: 16비트 → 약 65,000개 주소
192.168.0.0/24네트워크: 24비트 / 호스트: 8비트 → 256개 주소 (사용 가능: 254)
192.168.0.0/30네트워크: 30비트 / 호스트: 2비트 → 4개 주소 (사용 가능: 2)

💡 규칙: /숫자가 커질수록 네트워크는 세분화되고, 호스트 수는 줄어든다.
💡 IPv6도 /숫자 CIDR 표기를 사용한다. 예: 2001:db8::/32


왜 필요할까?

  • 예전에는 클래스 A/B/C 같은 고정 크기 네트워크를 사용했다.
  • 너무 크거나 너무 작아서 IP 낭비가 심한 문제점이 있었다.
    • 예: PC 300대 회사 → 클래스 B(65,534개) 할당해야 했음 → 대부분 남음.
  • CIDR → 필요한 만큼만 쪼개서 할당 가능.

표기법 & 서브넷 마스크

CIDR과 같은 개념을 다른 방식으로 표현한 것이 서브넷 마스크다.

  • /24255.255.255.0
  • /16255.255.0.0
  • /30255.255.255.252
  • 숫자가 커질수록 더 작은 네트워크 (호스트 수 감소)

즉, CIDR은 간단한 표기법이고, 서브넷 마스크는 실제 비트 단위 표현이다.


IP 블록 쪼개기

CIDR을 사용하면 하나의 큰 네트워크 블록을 여러 개의 작은 서브넷으로 쪼갤 수 있다.

  • /16 → 65,536개 주소 (대규모 네트워크)
  • /24 → 256개 주소 (소규모 네트워크, 일반적으로 많이 사용)
  • /30 → 4개 주소 (라우터 간 연결에 주로 사용)

예시

  • 10.0.0.0/16 → 큰 네트워크 블록
  • 쪼개기 → 10.0.1.0/24, 10.0.2.0/24 → 작은 서브넷 2개 생성

클라우드에서의 활용

1. VPC 생성 시

  • AWS VPC는 CIDR 블록을 지정해야 한다.
  • 예: 10.0.0.0/16 → VPC 전체 범위
  • 이후 10.0.1.0/24, 10.0.2.0/24 등으로 Subnet을 나눔

2. 보안 그룹 / 네트워크 ACL

  • 0.0.0.0/0 → 전 세계 모든 IP 허용 (매우 위험)
  • 192.168.0.0/24 → 내부 사설망만 허용
  • 특정 IP만 → 203.0.113.25/32 (한 개의 IP만 허용)

3. 라우팅 테이블

  • 특정 CIDR 범위를 어떤 게이트웨이로 보낼지 정의
  • 예: 0.0.0.0/0 → Internet Gateway (모든 트래픽 외부로 보냄)

⚠️ 보안 주의

  • 0.0.0.0/0은 전 세계 모든 IP를 허용한다는 뜻이다.
  • 클라우드 보안 그룹에서 이렇게 풀어두면 서버가 곧바로 공격 대상이 될 수 있다.

정리

💡 이해하기

  • IP 주소 = 아파트 단지 전체 주소
  • CIDR = 몇 동 몇 호까지 내 구역인지 정하는 것
    • /16 = 대규모 단지 (수만 세대)
    • /24 = 한 동 (256세대)
    • /30 = 원룸 (2세대)

💡

  • CIDR = IP 범위를 효율적으로 관리하는 방법
  • /숫자가 커질수록 호스트 수 ↓, 네트워크 단위는 세분화 ↑
  • 클라우드에서는 VPC, Subnet, 보안 그룹에서 반드시 사용
  • 0.0.0.0/0은 모든 IP를 의미하므로 보안상 주의 필요