오늘의 인기 글
최근 글
최근 댓글
Today
Total
05-01 02:52
관리 메뉴

우노

[Network] CIDR 계산 방법 본문

Network & Security/Concept

[Network] CIDR 계산 방법

운호(Noah) 2023. 3. 25. 15:57

들어가기 앞서,

  • CIDR은 네트워크를 설계하면서 가장 많이 접하게 되는 개념입니다.
    • CIDR의 full name은 Classless Inter-Domain Routing으로, 클래스 없는 도메인간 라우팅 기법이라는 뜻입니다.
    • 클래스가 없다는 뜻은, 네트워크 구분을 Class로 하지 않는다는 것입니다.
    • Class는 사이더가 나오기 전 사용했던 네트워크 구분 체계입니다.
    • 사이더가 나오면서 Class 체계보다 더 유연하게 IP 주소를 여러 네트워크 영역으로 나눌 수 있게 되었습니다.
  • 해당 포스트에선, CIDR 계산 방법에 대해서 다뤄보겠습니다.

IP 표현 방식

  • CIDR을 이해하기 전에, IP 표현 방식을 알아야합니다.

  • IP는 옥텟이라는 단위로 이루어져 있습니다.

  • 하나의 옥텟은 8비트로 이루어져 있으며,

  • 일반적으로 사용하는 IPv4 주소는 4개의 옥텟으로 이루어져 있습니다.

기본적인 CIDR 계산 방법

  • 192.168.10.0/24 와 같이, IP 뒤에 "/24"를 보신 적이 있으신가요?

  • 바로 이것이 사이더 표기법입니다.

  • 해당 IP 대역에서, 앞에서 몇 번째 비트까지가 고정되어 있는지를 의미합니다.

  • 따라서, 사이더는 0~32비트까지 사용 가능합니다.

  • 예를 들어, CIDR이 "/24" 라면, 아래 그림과 같이 앞에서부터 24비트는 고정된 상태에서, 이후 4번째 옥텟(파란색 부분)을 전부 사용할 수 있다는 의미입니다.

  • 하나의 옥텟은 8비트로 2의 8승인 256개이기 때문에,

  • 143.7.65.203/24 일 때, 143.7.65.0 ~ 143.7.65.255까지 사용이 가능하다는 뜻입니다.

  • 이렇게 CIDR 값이 각 자리의 옥텟 전체를 포함하는 /8, /16, /24, /32 일 경우에는 계산하기가 쉽습니다.

  • 해당하는 옥텟 구간을 0부터 255로 표현하면 되기 때문입니다.

  • 간단한 예로, 143.7.65.203/16 이라면 143.7.0.0 ~ 143.7.255.255 가 됩니다.

CIDR 계산 응용 1

  • 그런데, 사이더 값이 23일 경우,

  • 아래와 같이 노란색과 파란색, 두 개의 옥텟에 걸치게 되므로 바로 계산하기가 어려워집니다.

  • 이런 경우에는, 애매하게 걸친 옥텟을 2진수로 표현하고 최솟값과 최댓값을 찾아내야 합니다.

  • 예를 들어, 143.7.65.203/23 일 때, 4번째 옥텟(파란색 부분) 전체와 3번째 옥텟(노란색 부분) 영역의 마지막 1비트가 포함됩니다.

  • 그럼 애매하게 걸친 3번째 옥텟을 2진수로 표현해 보겠습니다.

  • 65는 01000001입니다.

  • 사이더에 의해 마지막 1비트를 0 또는 1을 사용할 수 있게 된다면,

  • 01000000, 01000001 이기 때문에, 10진수로는 64, 65가 됩니다.

  • 즉, 3번째 옥텟에서 사용할 수 있는 최솟값은 64, 최댓값은 65가 됩니다.

  • 나머지 4번째 옥텟(파란색 부분)은 전체를 사용할 수 있기 때문에 최솟값은 0, 최댓값은 255이 됩니다.

  • 따라서, 143.7.65.203/23 는 143.7.64.0 ~ 143.7.65.255 대역을 사용할 수 있는 것입니다.

CIDR 계산 응용 2

  • 그럼 이어서 143.7.65.203/22 를 계산해볼까요?
  • /22일 경우, 3번째 옥텟의 마지막 2 비트를 사용할 수 있습니다.
  • 즉, 01000000, 01000001, 01000010, 01000011 총 4개를 사용할 수 있습니다.
  • 따라서, 3번째 옥텟의 최솟값은 64, 최댓값은 67이 됩니다.
  • 즉, 143.7.65.203/22 는 143.7.64.0 ~ 143.7.67.255 대역을 사용할 수 있습니다.

CIDR 계산 응용 3

  • 그럼 143.7.65.203/25 일 경우는 어떻게 될까요?
  • 4번째 옥텟의 최솟값과 최댓값을 알아내야 합니다.
  • 203은 2진수로 11001011 입니다.
  • 여기서 최솟값은 10000000 인 128이고, 최댓값은 11111111인 255 입니다.
  • 따라서, 143.7.65.203/25 는 143.7.65.128 ~ 143.7.65.255 대역을 사용할 수 있습니다.

정리

  • 계산이 필요한 옥텟 구간을 10진수에서 2진수로 변경한 뒤,
  • 각 구간에서의 최소값과 최대값을 구하면 됩니다.

참고

Comments