답변:
CIDR (클래스리스 도메인 간 라우팅, 발음 된 "kidder"또는 "cider"-주석에 고유 한 로컬 변형 추가!)은 IP 주소의 네트워크 부분을 정의하는 시스템입니다 (보통 사람들은 이것을 서브넷 마스크로 생각합니다) . "클래스가없는"이유는 IP 네트워크를 기본 클래스보다 더 유연하게 분류 할 수 있기 때문입니다.
IP 네트워크가 처음 정의되었을 때 IP에는 이진 접두사를 기반으로하는 클래스가있었습니다.
Class Binary Prefix Range Network Bits
A 0* 0.0.0.0-127.255.255.255 8
B 10* 128.0.0.0-191.255.255.255 16
C 110* 192.0.0.0-223.255.255.255 24
D 1110* 224.0.0.0-239.255.255.255
E 1111* 240.0.0.0-255.255.255.255
(이것은 / 24를 "클래스 C"라고 부르는 사람들의 소스입니다. 비록 클래스 C가 특정 접두어를 가져야했기 때문에 엄격하게 비교되는 것은 아닙니다)
이 이진 접두사는 많은 양의 IP 공간을 라우팅하는 데 사용되었습니다. 이는 반드시 필요하지 않은 조직에 큰 블록이 할당되고 클래스 C는 24 비트 단위로만 할당 될 수 있기 때문에 비효율적이었습니다. 이는 여러 클래스 C가 라우팅 될 때 라우팅 테이블이 불필요하게 커질 수 있음을 의미합니다. 같은 위치.
CIDR은 가변 길이 서브넷 마스크 (VLSM)를 네트워크에 적용 할 수 있도록 정의되었습니다. 이름이 적용될 때, 주소 그룹 또는 네트워크는 그들이 속한 "클래스"와 직접적인 관계가없는 그룹으로 나눌 수 있습니다.
VLSM의 기본 전제는 네트워크의 네트워크 비트 수를 제공하는 것입니다. IPv4 주소는 32 비트 정수이므로 VLSM은 항상 0에서 32 사이입니다 (어떤 인스턴스에서 0 길이 마스크가 있는지 확실하지는 않지만).
머리에서 VLSM / CIDR을 계산하는 가장 쉬운 방법은 "자연적인"8 비트 경계를 이해하는 것입니다.
CIDR Dotted Quad
/8 255.0.0.0
/16 255.255.0.0
/24 255.255.255.0
/32 255.255.255.255
(그러면 ACL에서 / 32 마스크를 사용하는 것은 완벽하게 합법적이며 상당히 일반적입니다. 이는 단순히 단일 IP를 참조한다는 의미입니다)
일단 당신이 그것들을 파악하면, 호스트의 수를 얻기 위해 위아래로 움직이는 것은 간단한 이진 산술입니다. 예를 들어, / 24에 256 개의 IP가있는 경우 (지금은 네트워크와 브로드 캐스트 주소를 제외하고 다른 네트워킹 이론 문제입니다) 서브넷을 1 비트 씩 늘리면 (/ 25까지) 호스트 공간이 1 비트 씩 줄어 듭니다 ( 7), 이는 128 개의 IP가 있음을 의미합니다.
다음은 마지막 옥텟의 표입니다. 이 테이블은 점으로 구분 된 쿼드를 얻기 위해 임의의 옥텟으로 이동할 수 있습니다.
CIDR Dotted Quad
/24 255.255.255.0
/25 255.255.255.128
/26 255.255.255.192
/27 255.255.255.224
/28 255.255.255.240
/29 255.255.255.248
/30 255.255.255.252
/31 255.255.255.254
/32 255.255.255.255
이것들을 다른 옥텟으로 이동시키는 예로서, / 18 (/ 26에서 8 비트를 뺀 8 비트이므로 옥텟으로 이동)은 255.255.192.0입니다.
각 옥텟의 가치는 8입니다.
따라서 서브넷을 빠르게 좁힐 수 있으며 마지막 8 비트가 걱정됩니다.
128, 192, 224, 240, 248, 252, 254, 255
+1 , +2 , +3 , +4 , +5 , +6 , +7 , +8
충분히 명확하길 바래
하루 (sic)는 늦었고, 희망적으로 1 달러는 부족하지 않습니다. CIDR은 가장 중요한 비트에서 시작하여 IPv4 마스크 (32 비트)에서 인접한 1 비트의 수입니다.
10000000 00000000 00000000 00000000 여기서 1 = 최상위 비트
공통 마스크는 / 8, / 16, / 24이며 모두 8 비트 (옥텟) 경계에 있습니다.
11111111 00000000 00000000 00000000 = / 8 = 255.0.0.0
11111111 11111111 00000000 00000000 = / 16 = 255.255.0.0
11111111 11111111 11111111 00000000 = / 24 = 255.255.255.0
옥텟 정렬되지 않은 경우 실제로 어렵지는 않지만 옥텟이 무엇인지에 대한 간단한 수학과 이해가 필요합니다.
11111111 11111111 11100000 00000000 = / 19
마스크의 처음 두 옥텟은 255.255입니다 (/ 16은 / 19보다 작음). 마지막 옥텟은 0입니다 (/ 19는 / 24보다 작습니다). 지금까지 우리는 알고있다
11111111 11111111 11100000 00000000 = / 19 = 255.255.?.0
각 옥텟을 볼 때 8 비트 값 0-255임을 기억하십시오.
0 0 0 0 0 0 0 0
1
2 6 3 1
8 4 2 6 8 4 2 1
따라서 세 번째 옥텟 (?) 11100000은 128 + 64 + 32 = 224입니다.
11111111 11111111 11100000 00000000 = / 19 = 255.255.224.0
사소한 네트워크를 손으로 계산하는 것은 오류가 발생하기 쉽습니다. 대신 CIDR 계산기 를 사용해보십시오 .
ipcalc
하고 sipcalc
더 나은 선택이지만 어쨌든 +1
반대로 CIDR 을 완전히 이해 하고 뇌에서 계산을 수행 하는 것이 좋다고 생각 하지만 때로는 계산을 다시 확인하고 싶을 때가 있습니다. PHP 서브넷 계산기 를 사용하고 싶습니다 : http://share-foo.com/SubnetCalc.php
데스크 레퍼런스를 원한다면 RFC 1878- IPv4 용 가변 길이 서브넷 테이블이 있습니다.