CIDR (Classless Inter-Domain Routing)
CIDR은 1993년에 도입된 IP 주소 할당 및 라우팅 방식으로, 기존의 클래스 기반 주소 체계(Classful Addressing)의 한계를 극복하기 위해 만들어졌다.
인터넷이 급속도로 성장하면서 기존의 고정된 클래스 체계로는 IP 주소를 효율적으로 할당하기 어려워졌고, 이를 해결하기 위해 더 유연한 주소 할당 방식이 필요해지면서 탄생되었다.
네트워크 정보를 여러 개로 나누어진 Sub-Network 들을 모두 나타낼 수 있는 하나의 Network 로 통합해서 보여주는 방법이다.
목적
- IP 주소 자원의 낭비를 줄임
- 라우팅 테이블의 크기를 감소시킴
- 더 유연하고 효율적인 주소 할당을 제공
특징
주소 집약(Route Aggregation)
CIDR의 가장 중요한 특징 중 하나는 라우팅 테이블을 간소화할 수 있는 주소 집약이다.
예를 들어:- 192.168.0.0/24
- 192.168.1.0/24
- 192.168.2.0/24
- 192.168.3.0/24 이 네 개의 네트워크를 192.168.0.0/22로 집약할 수 있다.
유연한 네트워크 설계
CIDR을 사용하면 네트워크 크기를 필요에 따라 정확하게 조절할 수 있다.
이는 다음과 같은 이점을 제공한다:- IP 주소 낭비 최소화
- 효율적인 주소 공간 활용
- 네트워크 구조의 유연한 설계
장점
IP 주소 활용 효율성
- 필요한 만큼의 주소만 할당 가능
- 주소 공간 낭비 최소화
- 미사용 주소의 재할당 용이
라우팅 효율성
- 라우팅 테이블 크기 감소
- 네트워크 성능 향상
- 라우터의 메모리 사용량 감소
네트워크 설계 유연성
- 다양한 크기의 네트워크 수용
- 쉬운 네트워크 확장
- 효율적인 주소 관리
표기법
CIDR은 IP 주소와 슬래시(/) 뒤에 네트워크 프리픽스의 비트 수를 표기하는 방식을 사용한다.
이는 네트워크 주소와 프리픽스 길이로 표현되며, 프리픽스 길이는 네트워크 부분의 비트 수를 나타낸다.
- 점과 숫자로 이루어진 4 부분의 주소와 ‘/’ 뒤의 0 에서 32 까지의 숫자로 이루어진다.
즉,A.B.C.D/N
과 같은 형태 - 점과 숫자로 이루어진 부분은 IPv4 주소와 마찬가지로 4 개의 8 비트 단위 바이트로 이루어진 32 비트 이진 숫자이다.
- ‘/’ 뒤의 숫자는
접두어 길이
라고 하며, 주소의 왼쪽으로부터 세어서 공유하는 초기 비트의 수를 가리킨다.
예를 들어 192.168.1.0/24는 다음을 의미한다:
- IP 주소: 192.168.1.0
- 네트워크 프리픽스: 24비트
- 호스트 비트: 8비트 (32-24) 이는 기존 클래스 체계의 서브넷 마스크 255.255.255.0과 동일한 의미를 가진다.
CIDR 블록
CIDR(Classless Inter-Domain Routing)는 IP 주소를 할당하고 라우팅하는 방식 자체를 의미하는 반면, CIDR 블록은 CIDR 방식을 사용하여 실제로 정의된 특정 주소의 범위를 의미한다.
예를 들어 192.168.1.0/24와 같은 특정 네트워크 주소 범위를 CIDR 블록이라고 한다.
구체적인 예시를 들어보면:
- CIDR은 “/24"나 “/16"과 같은 접두어 길이를 사용하여 네트워크를 유연하게 분할할 수 있게 해주는 방식.
- CIDR 블록은 이 방식을 사용하여 실제로 정의된 “192.168.1.0/24"나 “10.0.0.0/16"과 같은 특정 주소 범위.
예를 들어 192.168.1.0/24라는 CIDR 블록은 192.168.1.0부터 192.168.1.255까지의 256개 연속된 IP 주소를 포함한다.
CIDR 블록이라 불리는 그룹에 포함된 여러 IP 주소는 이진 표기를 하였을 때 동일한 일련의 초기 비트를 가진다.
만약 이진 형태로 변화한 IP 주소의 첫 자리 비트에서 CIDR 접두어 N 비트 길이만큼 일치한다면, 해당 IP 주소는 CIDR 블록의 일부라고 하며, CIDR 접두어와 일치한다고 한다.
IPv6 주소에서도 사용될 수 있으며, 이 경우 긴 주소로 말미암아 접두어 길이는 0~128 까지의 범위를 지닌다.
- CIDR 블록의 할당
- 1990 년대 후반, 208.130.29.33 은
www.fresssoft.org
웹 서버에 할당되어 있었는데, 3 개의 CIDR 접두어를 가진다.- 큰 CIDR 블록인 208.128.0.0/11 이 ARIN(북미 RIR) 에서 MCI 에 할당됨.
- 버지니아주에 있는 재공급업자인 Automation Research Systems 는 MCI 로부터 인터넷 접속을 승인받아 208.130.28.0/22 를 부여받음.
- ARS 는 /24 블록을 공공 서버용으로 할당하였고, 208.130.29.33 은 그 중 하나이다.
- 하나의 주소에 대한 이러한 여러 CIDR 접두어는 네트워크상의 서로 다른 영역에서 각각 사용된다.
- MCI 네트워크 외부에서는 208.128.0.0/11 접두어가 MCI 트래픽 영역으로 접근하기 위해 사용된다.
- MCI 네트워크 내부에서는 208.128.28.0/22 가 사용되며, 패킷을 ARS 로 보내는 역할을 한다.
- 208.130.29.0/24 는 ARS 네트워크 내부에서만 사용된다.
- 1990 년대 후반, 208.130.29.33 은
CIDR의 작동 원리
CIDR은 가변 길이 서브넷 마스킹(VLSM)을 사용하여 네트워크를 더 효율적으로 분할한다.
네트워크 프리픽스 길이를 자유롭게 조절할 수 있어서, 필요한 만큼의 호스트 주소만을 할당할 수 있다.
예를 들어:
- /24 네트워크는 256개의 주소(254개 사용 가능)
- /25 네트워크는 128개의 주소(126개 사용 가능)
- /26 네트워크는 64개의 주소(62개 사용 가능)
CIDR 계산 방법
CIDR 네트워크를 계산할 때는 다음 단계를 따른다:
- 네트워크 크기 결정 필요한 호스트 수를 파악하고, 이를 수용할 수 있는 가장 작은 2의 거듭제곱을 찾는다.
- 프리픽스 길이 계산 32에서 필요한 호스트 비트 수를 뺀 값이 프리픽스 길이가 된다.
- 네트워크 범위 계산 네트워크 주소와 브로드캐스트 주소를 계산하여 사용 가능한 IP 범위를 결정한다.
실제 CIDR 적용 예시
한 회사에서 직원 60명을 수용할 수 있는 네트워크를 설계해야 한다고 가정해보자.
네트워크 크기 결정
- 필요한 호스트 수: 60대
- 네트워크 주소와 브로드캐스트 주소를 위해 추가로 2개 주소 필요
- 따라서 총 필요한 주소 수: 62개
- 이를 수용할 수 있는 가장 작은 2의 거듭제곱을 찾아보면:
- 2⁶ = 64가 62개의 주소를 수용할 수 있는 최소 크기
- 즉, 6비트가 호스트 부분에 필요
프리픽스 길이 계산
- IPv4는 총 32비트
- 필요한 호스트 비트 수는 6비트
- 프리픽스 길이 = 32 - 6 = 26
- 따라서 /26 네트워크가 필요
네트워크 범위 계산
예를 들어 192.168.1.0/26 네트워크를 사용한다고 하면:- 네트워크 주소: 192.168.1.0
- 이진수로 표현: 11000000.10101000.00000001.00000000
- 브로드캐스트 주소: 192.168.1.63
- 이진수로 표현: 11000000.10101000.00000001.00111111
- 사용 가능한 IP 주소 범위:
- 첫 번째 사용 가능 주소: 192.168.1.1
- 마지막 사용 가능 주소: 192.168.1.62
- 총 사용 가능한 호스트 수: 62개 (64 - 2)
- 네트워크 주소: 192.168.1.0
접두어 합침 (Routing Prefix Aggregation, 혹은 summarization)
접두어 합침(Routing Prefix Aggregation 또는 summarization)은 라우팅 테이블의 크기를 줄이고 네트워크 효율성을 높이기 위해 사용되는 중요한 기술이다.
접두어 합침은 여러 개의 연속된 IP 주소 블록을 하나의 더 큰 블록으로 결합하는 과정이다.
이 기술의 주요 목적은:
- 라우팅 테이블 크기 감소
- 네트워크 대역폭 절약
- 라우터의 처리 부하 감소
- 네트워크 안정성 향상
장점:
- 라우팅 테이블 크기 감소: 여러 개의 경로를 하나로 합치면 라우터의 메모리 사용량이 줄어든다.
- 라우팅 효율성 향상: 작은 라우팅 테이블은 더 빠른 경로 검색을 가능하게 한다.
- 네트워크 안정성 개선: 개별 경로의 변동이 전체 네트워크에 미치는 영향을 줄일 수 있다.
주의사항:
접두어 합침을 사용할 때는 주의가 필요하다.
과도한 합침은 라우팅의 정확성을 떨어뜨릴 수 있으며, 특정 상황에서는 비효율적인 라우팅을 초래할 수 있다.
작동 방식:
접두어 합침은 여러 개의 작은 네트워크를 하나의 큰 네트워크로 표현한다.
이는 CIDR(Classless Inter-Domain Routing) 표기법을 사용하여 수행된다.
예시:
다음과 같은 네트워크 주소들이 있다고 가정해 봅시다:
- 172.16.64.0/24 ~ 172.16.71.0/24
이 네 개의 주소는 172.16.64.0/21로 합칠 수 있다.
이렇게 하면 라우팅 테이블에 네 개의 항목 대신 하나의 항목만 필요하게 된다.