CIDR (Classless Inter-Domain Routing)
네트워크에서 IP 주소를 효율적으로 관리하기 위해 사용하는 개념이 CIDR
이다.
클라우드 환경(AWS, GCP, Azure)에서 VPC
, Subnet
, 보안 그룹
설정할 때 반드시 접하게 된다.
Reference
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과 같은 개념을 다른 방식으로 표현한 것
이 서브넷 마스크다.
/24
↔255.255.255.0
/16
↔255.255.0.0
/30
↔255.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를 의미하므로 보안상 주의 필요