인프런 커뮤니티 질문&답변

비가싫어요님의 프로필 이미지

작성한 질문수

CloudNet@와 함께하는 AWS 네트워킹 입문

[실습] CloudFormation으로 기본 인프라 배포

IP CIDR 관련해서 질문이 있습니다

해결된 질문

작성

·

453

1

선생님, 기본 VPC 에 있는 기본 서브넷 4개의 IPv4 CIDR를 보면

172.31.0.0/20
172.31.16.0/20
172.31.32.0/20
172.31.48.0/20

이렇게 세번째 옥텟이 16씩 커지는데 이게 왜 16씩 딱딱 커지는걸까요..? 그리고 이렇게 뒤에 서브넷을 8비트 배수로 안 하고 이렇게 하는 경우가 일반적인가요?

어떻게 계산하는지 알려주시면 감사하겠습니다! 이해가 잘 안 되네요ㅠ

 

답변 1

1

Ongja_CloudNet@님의 프로필 이미지
Ongja_CloudNet@
지식공유자

안녕하세요. CloudNet@팀입니다.

 

Default VPC 관련해서 흥미로운 질문을 주셨네요.

AWS Default VPC의 정책 상 정해진 부분이지만 저도 왜 그럴까 잠시 생각을 해 본 시간이였네요.

 

일단 AWS에서 Default VPC의 IPv4 CIDR는 정의되어 있습니다.

1) Default VPC의 IPv4 CIDR는 172.31.0.0 /16입니다. (총 65,536의 프라이빗 IP를 할당 가능)

2) Default VPC의 서브넷은 가용 영역 별로 하나씩 생성됩니다. (서울은 가용 영역이 4개이니 4개의 서브넷이 생성)

3) 서브넷은 IPv4 CIDR는 Default VPC의 범위 내에서 /20으로 순차적으로 쌓여 나갑니다. (총 4,096의 프라이빗 IP를 할당 가능)

예를 들어 버지니아 북부 리전은 가용 영역이 6개로 6개의 서브넷(/20)이 생성됨

172.31.0.0/20
172.31.16.0/20
172.31.32.0/20
172.31.48.0/20
172.31.64.0/20
172.31.80.0/20

여기까지가 AWS에서 정의하는 Default VPC의 IPv4 CIDR 정책입니다.

이 부분은 고정된 형태로 별도의 파라미터 조정이 불가한 것으로 알고있습니다.

아.. 참고로 서브넷에서 5개의 IP는 미리 예약이 되어 있어 실제 할당 가능한 주소는 4,091개 입니다.

 

질문하신 부분을 다시 검토해보자면...

1) 세번째 옥텟이 16씩 커지는데 이게 왜 16씩 딱딱 커지는걸까요..?

이유는 Default VPC의 서브넷이 /20씩 순차적으로 분류되기 때문입니다.

172.31.0.0/20 -> 172.31.0.0 ~ 172.31.15.255 [4,096개]
172.31.16.0/20 -> 172.31.16.0 ~ 172.31.31.255 [4,096개]
172.31.32.0/20 -> 172.31.32.0 ~ 172.31.47.255 [4,096개]
172.31.48.0/20 -> 172.31.48.0 ~ 172.31.63.255 [4,096개]
...

왜? 라는 질문은 Default VPC 정책에 의한 것이겠고... AWS 입장에서 4,096개의 IP 할당 범위가 충분하다 판단해서 아닐까 싶네요. 이건 예측의 영역이라ㅎㅎ
뭐 Default VPC에 충족하지 못하면 Custom VPC를 사용하면 그만이니깐요.

 

2) 서브넷을 8비트 배수로 안 하고 이렇게 하는 경우가 일반적인가요?

8의 배수로 표현하는 것을 Classful 주소라고 합니다. 이 부분은 검색하면 나오겠지만 범위에 따라 클래스를 분류하고 8의 배수로 고정된 주소를 사용하는 것입니다.
그런데 여기서 서브넷팅을 하는 것은 고정된 8 배수가 아니라 대상을 잘게 쪼개서 쓰는 것인데요. 이러한 주소를 Classless 주소라고 합니다.

예를 들어 192.168.16.0/24는 C 클래스 주소로 /24의 Classful 주소로 256개를 사용할 수 있네요.
이를 64개씩 서브넷팅해서 나누는 Classless 주소라면..
192.168.16.0/26 -> 192.168.16.0 ~ 192.168.16.63 [64개]
192.168.16.64/26 -> 192.168.16.64 ~ 192.168.16.127 [64개]
192.168.16.128/26 -> 192.168.16.128 ~ 192.168.16.191 [64개]
192.168.16.192/26 -> 192.168.16.192 ~ 192.168.16.255 [64개]

 

어찌됐든 Classless하게 IPv4 CIDR를 자유롭게 사용하는 것이 일반적이죠.
Classless하게 사용하면 약간의 계산이 필요하지만 이래야 효율적으로 IP 주소를 쪼개서 쓸 수 있습니다.

 

결론적으로 Default VPC의 IP CIDR 정책이니까 이유는 크게 신경쓰지 않으셔도 됩니다.
하지만 IPv4 구조와 서브넷팅 등의 기본 이론은 한 번 살펴보는게 좋을 것 같네요.

(검색해보면 IPv4 관련 좋은 자료가 많을 겁니다 :))

 

감사합니다.

와 친절한 답변 정말 감사드립니다! 이해가 되었습니다. IPv4 구조와 서브넷팅 기본 이론 한 번 더 찾아보고 공부해보겠습니다 :D