인트로
네트워크를 설계하기 위해서는 CIDR 계산기를 사용해서 CIDR 값을 구해야합니다. 그렇다면 여기서 말하는 CIDR은 무엇일까요?
CIDR은 Classless Inter-Domain Routing의 약자로, 클래스가 없는 도메인간 라우팅 기법을 뜻합니다. 여기서 클래스가 없다는 뜻은 네트워크 구분을 Class로 하지 않는다는 것으로 Class는 사이더가 나오기 전 사용하던 네트워크 구분 체계입니다. 사이더가 새롭게 나오면서 Class 보다 더 유연하게 IP 주소를 여러 네트워크 영역으로 나눌 수 있게 되었습니다.
CIDR 계산기 사이트
아래에서 설명드릴 방식으로 수계산도 가능하지만, 복잡한 주소를 빠르게 계산할 수 있는 사이트 한 곳을 추천드리도록 하겠습니다. 아래 링크를 방문하시면 다음과 같은 화면을 확인하실 수 있는데 원하는 CIDR 값을 입력하시면 간단하게 계산 가능하니 참고하시기 바랍니다.
IP 표현 방식
CIDR을 이해하기 전에 기본적인 IP 표현 방식을 알려드리겠습니다.
IP는 옥텟값으로 이루어지며, 하나의 옥텟은 8비트로 구성되어 있습니다. 우리가 일반적으로 사용하는 IPv4 주소는 4개의 옥텟으로 이루어져 있음을 의미합니다.
CIDR 계산 방법 기초
ex) 192.168.10.0/24 와 같이 IP 주소 마지막에 “/24”를 보신적이 있으실겁니다. 바로 이 부분이 사이더 입니다. 해당 IP 주소 대역에서 몇 번째 비트까지 고정되어 있는지를 의미합니다. 예시 주소는 앞에서 24번째 비트까지 고정되어 있다는 걸 의미하며 위 그림에서 파란색 옥텟을 전부 사용할 수 있음을 의미합니다.
CIDR 계산 예시
예를들어 사이더 값이 23일 경우, 아래와 같이 노란색과 파란색 옥텟값 사이에 걸지게 되므로 계산이 복잡하게 됩니다.
이러한 경우 걸쳐있는 노란색 옥텟을 2진수로 변환하여 최솟값고 최댓값을 구해야합니다. IP주소가 143.7.65.203/23라고 가정했을 때, 파란색 옥텟 전체와 노란색 옥텟 영영의 마지막 1비트가 포함됩니다. 그럼 걸쳐있는 노란색 옥텟을 2진수로 표현하려면 01000001 = 65 임을 알 수 있습니다. 사이더에 의해 마지막 1비트를 0 또는 1을 사용한다면, 01000000과 01000001이므로 10진수로는 64, 65 즉 최솟값 64, 최댓값 65를 의미합니다. 파란색 부분은 전체를 사용할 수 있기 때문에 0~255의 값을 가지게 됩니다. 결론적으로 해당 IP 주소는 143.7.64.0 ~ 143.7.64.255 대역을 사용 가능함을 알 수 있습니다.
마무리
간단하게 정리하자면 계산이 필요한 옥텟 구간을 10진수에서 2진수로 변경한 뒤 예시로 든 그림들 처럼 정렬한 후 사이더 값에 따라 각 구간에서의 최소값과 최대값을 구하시면 됩니다.