CIDR (Classless Inter-Domain Routing)

클래스 없는 도메인간 라우팅 기법. AWS, GCP, Azure 등 퍼블릭 클라우드 등을 사용할 때 네트워크 설정에서 VPC 및 Subnet을 생성하여 네트워크를 구성하게 된다. 이 때 CIDR블록을 이용하여 10.10.1.0./24 등과 같이 표시하게 된다.


  • 기존 IP주소 할당 방식이었던 클래스를 대체하며 IP주소의 네트워크 영역, 호스트영역을 유연하게 나누어준다.
  • 급격히 부족해지는 IPv4 주소를 보다 효율적으로 사용하게 해준다.

IP class

클래스 없는 도메인이란 무슨 뜻일까? IP class에 대해 알아보자.
IP classs는 각 용도에 맞게 클래스로 나누어 IP 대역을 구분한다.
참고. 서브넷 마스크 : 각 IP 클래스별로 네트워크 영역을 다르게 구분하여 한 네트워크당 호스트 수를 효율적으로 관리할 수 있다.

IP 대역 범위 0.0.0.0 ~ 255.255.255.255 (2^32)


CLASS 대역 서브넷 마스크 호스트 수
A 0.0.0.0 ~ 127.255.255.255 255.0.0.0 (2^24) -2개
B 128.0.0.0 ~ 191.255.255.255 255.255.0.0 (2^16) -2개
C 192.0.0.0 ~ 223.255.255.255 255.255.255.0 (2^8) -2개
D 224.0.0.0 ~ 239.255.255.255 멀티캐스트 용도
E 240.0.0.0 ~ 255.255.255.255 기타 목적, 예약된 클래스

IP class의 경우 서브넷 마스크가 고정이 되어있어 슬래시로 표기할 때 8, 16, 24로 고정이 되어버린다.
이를 더 유연하게 표현하고자 하고자 등장한 것이 CIDR이다.


CIDR는 IP와 서브넷 마스크를 함께 표기하며 /(슬래시)로 이 둘을 구분한다.

  • IP : 210.77.8.155. / 서브넷 마스크 : 255.255.255.192
    • 11111111.11111111.11111111.11000000
    • 210.77.8.155/26 로 표기 (이진수 표현시 1의 개수)

CIDR

각 클래스가 가지는 디폴트 서브넷 마스크에 얽매이지 않고, 네트워크 영역과 호스트 영역을 유연하게 나누는 방법.
이제 이해가 되겠는가? 즉 서브넷 마스크를 직접 정의한다.


  
10.10.1.32 - 00001010.00001010.00000001.00100000
10.10.1.44 - 00001010.00001010.00000001.00101100
  • 각각의 예시들은 10.10.1.0/24 사이더 블록에 포함된다.
  • 앞에서부터 24번째까지 쭉 따라오면 00001010.00001010.00000001 에 해당되기 때문이다. 24번째!

그렇다면 10.10.1.40/29 의 경우에는 어떨까?
위에 작성된 예시들이 10.10.1.40/29에는 속할지 계산해보았다.


  
10.10.1.40 - 00001010.00001010.00000001.00101000 //29번째는 1
10.10.1.32 - 00001010.00001010.00000001.00100000 //29번째는 0
10.10.1.44 - 00001010.00001010.00000001.00101100 //29번째는 1

29번째 위치에서 10.10.1.32는 28번째까지는 동일하지만 29번째가 0이기 때문에 포함되지 않는다.
반면 10.10.1.44는 29번째까지 동일하므로 사이더 그룹에 포함딘다.

'Network' 카테고리의 다른 글

[Network] RPC vs REST 비교하기  (0) 2022.03.17