글은 읽기 싫고 CIDR은 이해하고 싶다면?! https://www.ipaddressguide.com/cidr 이런 사이트에서 직접 입력해보면서 테스트해보는 게 직빵이다.
코드스쿼드 수업 때 호눅스가 CIDR에 대해 열심히 설명해주셨던 게 생각난다.
하지만 그때의 난 이해를 하지 못하고 넘어갔었다 ㅎㅎ
이번에 AWS로 배포를 연습하다보니 CIDR과 또 만나게 되어서, 이번에는 제대로 이해하고 넘어가고자 정리해보았다.
최신의 IP 주소 할당 방법 - 위키백과
IPv4 주소를 다르게 표기하는 방법이며, 단일 IP를 나타낼 수도 있고 IP의 범위를 나타낼 수도 있다.
IPv4의 길이는 32비트이다.
.
으로 구분되는 한 자리당 8비트가 할당되어, 0 부터 255까지의 값을 할당할 수 있다. (IPv4 전체 범위: 0.0.0.0
~255.255.255.255
)
설명보다는 예시를 보는 게 더 이해하기 쉬운 것 같으니 CIDR로 바로 표기를 해보자.(기본 형태: ip 주소/prefix
)
10.0.0.0/32
라고 하면, 전체 32비트 중에 앞에서부터 32비트의 값은 고정이라는 뜻이다. 모든 비트가 고정이라는 뜻이므로 /
좌측에 지정한 한 가지 IP만을 뜻한다.(10.0.0.0
)
10.0.0.25
10.0.0.99
10.0.0.0/31
은 어떨까? 앞에서부터 31비트는 고정된다. 그럼 마지막 1비트는 자유롭게 바꿀 수 있는데 0,1만 가능하므로 연달아 붙어있는 2가지 IP주소를 뜻한다.
10.0.0.0/31 → 10.0.0.0
, 10.0.0.1
10.0.0.25/31 처럼 마지막 자리 값을 지정했을 때는? → 10.0.0.25
, 10.0.0.26
엥 그러면 10.0.0.255/31 처럼 마지막 자리값을 최대 값인 255로 지정하면? →10.0.0.254
, 10.0.0.255
음..기준이 일정하지가 않다. 일단 넘어가자
10.0.0.0/30
는 앞 30비트가 고정이니 2자리를 마음대로 바꿀 수 있다.
그럼 가능한 옵션은 00,01,10,11 총 4가지가 된다. 10진수로 바꾸면 0,1,2,3이 되므로 연달아 붙어있는 4개의 IP를 뜻한다.
10.0.0.24
, 10.0.0.25
, 10.0.0.26
, 10.0.0.27
10.0.0.25
가 포함되기는 하는데 어떤 기준으로 범위가 결정되는지는 모르겠다.10.0.0.0
~10.0.0.255
)
급 정리를 하자면 이런 규칙으로 CIDR에서 /
뒤에 오는 숫자(prefix)를 기준으로 IP 주소의 범위를 결정할 수 있다!
공식으로 표현하면 2^(32-prefix)
개의 ip를 사용한다는 뜻이다.
끝!