CIDR

강병철·2022년 12월 1일
0

글은 읽기 싫고 CIDR은 이해하고 싶다면?! https://www.ipaddressguide.com/cidr 이런 사이트에서 직접 입력해보면서 테스트해보는 게 직빵이다.

코드스쿼드 수업 때 호눅스가 CIDR에 대해 열심히 설명해주셨던 게 생각난다.

하지만 그때의 난 이해를 하지 못하고 넘어갔었다 ㅎㅎ

이번에 AWS로 배포를 연습하다보니 CIDR과 또 만나게 되어서, 이번에는 제대로 이해하고 넘어가고자 정리해보았다.

CIDR이란?

최신의 IP 주소 할당 방법 - 위키백과

IPv4 주소를 다르게 표기하는 방법이며, 단일 IP를 나타낼 수도 있고 IP의 범위를 나타낼 수도 있다.

IPv4의 길이는 32비트이다.

.으로 구분되는 한 자리당 8비트가 할당되어, 0 부터 255까지의 값을 할당할 수 있다. (IPv4 전체 범위: 0.0.0.0~255.255.255.255)


CIDR 표기 방법

설명보다는 예시를 보는 게 더 이해하기 쉬운 것 같으니 CIDR로 바로 표기를 해보자.(기본 형태: ip 주소/prefix)


10.0.0.0/32 라고 하면, 전체 32비트 중에 앞에서부터 32비트의 값은 고정이라는 뜻이다. 모든 비트가 고정이라는 뜻이므로 / 좌측에 지정한 한 가지 IP만을 뜻한다.(10.0.0.0)

  • 10.0.0.25/32 → 10.0.0.25
  • 10.0.0.99/32 → 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.25/30 → 10.0.0.24, 10.0.0.25, 10.0.0.26, 10.0.0.27
    흠.. 지정했던 10.0.0.25가 포함되기는 하는데 어떤 기준으로 범위가 결정되는지는 모르겠다.
    애초에 이렇게 애매한 범위가 나오지 않게 지정하는 게 좋을 것 같다 (ex: 10.0.0.0/24 → 10.0.0.0~10.0.0.255)


급 정리를 하자면 이런 규칙으로 CIDR에서 / 뒤에 오는 숫자(prefix)를 기준으로 IP 주소의 범위를 결정할 수 있다!
공식으로 표현하면 2^(32-prefix)개의 ip를 사용한다는 뜻이다.

끝!

0개의 댓글