🔥 주제
- Go로 서브넷 cidr계산기 만들기
- vpc cidr과 subnet 수를 json으로 넘겨 받으면
→ 내부 처리 후 가능한 subnet cidrs 목록을 반환
😊 내용
개념 및 원리
CIDR
- Classless Inter-Domain Routing → 클래스 없는 도메인 간 라우팅 기법
ex) Ipv4 CIDR 블록

- 10.0.0.0 → Ip address ← 32 bits
- /16 → prefix로 subnet mask를 간단히 표기한 것
- /16의 subnet mask ⇒ 255.255.0.0
⇒ 11111111**
.
11111111.
00000000.
**00000000
- 10.0.0.0
⇒ 00001010**
.
0*8.
0*8.
**0*8
- 밑줄 친 것 ⇒ 네트워크 주소 : 네트워크 식별
- 뒷 부분은 호스트 주소 : 네트워크에서 사용 가능한 개별 IP주소
⇒ 10.0.0~255.0~255의 범위 내에서 호스트 사용이 가능
⇒ vpc 내에 서브넷이 2^n개이다. 그러면 서브넷 마스크는 vpc prefix에 n을 더해 키우면 됨.
알고리즘 작동 방식
- Json으로 vpc cidr(string), subnet count(int)가 넘어온다.