LabHub

주소·서브넷·게이트웨이 · 클래스와 CIDR · 이론

클래스는 왜 사라졌나

LabHub 에서 이어서 보기

한 줄 요약

A·B·C 클래스는 1981년의 주소 배분 방식이고 1993년에 CIDR 로 대체됐다. 지금도 이름이 남아 있는 이유는 사설 대역을 설명할 때 편해서일 뿐, 라우터는 클래스를 보지 않는다.

왜 이게 필요했나

초기 인터넷은 주소의 앞 몇 비트로 네트워크 크기를 고정했다.

| 클래스 | 첫 옥텟 | 네트워크 부분 | 호스트 개수 |
|---|---|---|---|
| A | 1~126 | 8비트 | 약 1,678만 |
| B | 128~191 | 16비트 | 약 6만 5천 |
| C | 192~223 | 24비트 | 254 |

문제는 크기가 셋뿐이라는 것이었다. 호스트 300대가 필요한 조직에 C(254개)는 모자라고 B(65,534개)는 65,000개를 낭비한다. 1990년대 초 이 낭비 때문에 IPv4 주소가 곧 고갈될 것이 확실해졌다.

CIDR(Classless Inter-Domain Routing)은 그 고정 경계를 없앴다. 네트워크 부분의 길이를 비트 단위로 정한다. /23 은 호스트 510개, /26 은 62개다. 필요한 만큼만 준다.

어떻게 동작하나

192.168.1.0/24 는 "앞 24비트가 네트워크, 나머지 8비트가 호스트" 라는 뜻이다.

주소      192.168.1.130  = 11000000.10101000.00000001.10000010마스크    /24            = 11111111.11111111.11111111.00000000네트워크                   192.168.1.0브로드캐스트               192.168.1.255쓸 수 있는 주소            192.168.1.1 ~ 192.168.1.254   (254개)

호스트 개수는 2^(32-프리픽스) - 2 다. 2를 빼는 이유는 네트워크 주소(전부 0)와 브로드캐스트 주소(전부 1)를 호스트에 줄 수 없기 때문이다.

/31/32 는 예외다. /31 은 라우터끼리 잇는 링크 전용으로 2개를 다 쓰고(RFC 3021), /32 는 주소 하나를 가리킨다.

흔한 착각

"192.168 로 시작하면 C 클래스" — 사설 대역과 클래스는 다른 이야기다. RFC 1918 이 정한 사설 대역은 셋이다.

| 대역 | CIDR | 크기 |
|---|---|---|
| 10.0.0.0 ~ 10.255.255.255 | 10.0.0.0/8 | 1,678만 |
| 172.16.0.0 ~ 172.31.255.255 | 172.16.0.0/12 | 104만 |
| 192.168.0.0 ~ 192.168.255.255 | 192.168.0.0/16 | 65,536 |

172.16.0.0/12172.16.0.0/16 으로 착각해 172.20.x.x 를 공인 주소로 오해하는 실수가 흔하다. /12 는 172.16 부터 172.31 까지다.

실무에서 진짜 중요한 것

쿠버네티스는 이 계산 위에 서 있다. 파드 CIDR, 서비스 CIDR, 노드 CIDR 세 개가 겹치면 클러스터가 이상하게 동작하는데, 원인을 못 찾고 며칠을 태우기 쉽다. 겹치는지 확인하는 것은 결국 이 비트 계산이다.

또 하나 — 100.64.0.0/10 은 사설도 공인도 아닌 CGNAT 대역(RFC 6598)이다. 통신사가 가입자에게 나눠 주는 주소라, 이 대역을 사내망에 쓰면 통신사 망과 충돌한다. 실습 환경의 네트워크 정책이 이 대역을 따로 막는 것도 그래서다.