Odpowiedzi:
CIDR (Classless Inter-Domain Routing, wymawiane jako „kidder” lub „cydr” - dodaj swój własny lokalny wariant do komentarzy!) To system definiujący część sieciową adresu IP (zwykle ludzie myślą o tym jak o masce podsieci) . Powodem, dla którego jest „bezklasowy”, jest to, że pozwala on na bardziej elastyczne łamanie sieci IP niż ich klasa podstawowa.
Kiedy sieci IP zostały po raz pierwszy zdefiniowane, adresy IP miały klasy oparte na ich binarnym prefiksie:
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
(Zauważ, że jest to źródło osób określających a / 24 jako „klasę C”, chociaż nie jest to ściśle prawdziwe porównanie, ponieważ klasa C musiała mieć określony prefiks)
Te binarne prefiksy były używane do routingu dużych fragmentów przestrzeni IP wokół. Było to nieefektywne, ponieważ skutkowało przydzielaniem dużych bloków organizacjom, które niekoniecznie ich potrzebowały, a także dlatego, że klasy C można przypisywać tylko w przyrostach 24-bitowych, co oznacza, że tabele routingu mogą być niepotrzebnie duże, ponieważ wiele klas C jest kierowanych do ta sama lokalizacja.
Zdefiniowano CIDR, aby umożliwić stosowanie masek podsieci o zmiennej długości (VLSM) do sieci. Jak nazwa ma zastosowanie, grupy adresów lub sieci można podzielić na grupy, które nie mają bezpośredniego związku z naturalną „klasą”, do której należą.
Podstawowym założeniem VLSM jest podanie liczby bitów sieci w sieci. Ponieważ adres IPv4 jest 32-bitową liczbą całkowitą, VLSM zawsze będzie mieć wartość od 0 do 32 (chociaż nie jestem pewien, w którym przypadku możesz mieć maskę o długości 0).
Najprostszym sposobem na rozpoczęcie obliczania VLSM / CIDR w twojej głowie jest zrozumienie „naturalnych” 8-bitowych granic:
CIDR Dotted Quad
/8 255.0.0.0
/16 255.255.0.0
/24 255.255.255.0
/32 255.255.255.255
(Nawiasem mówiąc, korzystanie z maski / 32 jest całkowicie legalne i dość powszechne w listach ACL. Oznacza to po prostu, że masz na myśli pojedynczy adres IP)
Po ich uchwyceniu, prosta arytmetyka binarna przesuwa się w górę lub w dół, aby uzyskać liczbę hostów. Na przykład, jeśli a / 24 ma 256 adresów IP (na razie pomińmy adresy sieciowe i rozgłoszeniowe, to inne pytanie teorii sieci), zwiększenie podsieci o jeden bit (do / 25) zmniejszy przestrzeń hosta o jeden bit (do 7), co oznacza, że będzie 128 adresów IP.
Oto tabela z ostatniego oktetu. Tę tabelę można przesunąć na dowolny oktet, aby uzyskać ekwiwalent kwadratu kropkowanego.
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
Jako przykład przeniesienia ich do innego oktetu, / 18 (czyli / 26 minus 8 bitów, więc przesunięty oktet) to 255.255.192.0.
Każdy oktet jest wart 8.
Możesz więc szybko zawęzić swoją podsieć, a wtedy martwisz się o ostatnie 8 bitów.
128, 192, 224, 240, 248, 252, 254, 255
+1 , +2 , +3 , +4 , +5 , +6 , +7 , +8
Mam nadzieję, że to wystarczająco jasne
Dzień (sic) spóźniony, miejmy nadzieję, że nie za krótki dolar. CIDR to liczba ciągłych jeden bitów w masce IPv4 (32 bity), zaczynając od najbardziej znaczącego bitu.
10000000 00000000 00000000 00000000 gdzie 1 = najbardziej znaczący bit
Typowe maski to / 8, / 16, / 24, które wszystkie leżą na granicy 8 bitów (oktetów).
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
To nie jest naprawdę trudne, gdy nie jest wyrównane oktetem, ale wymaga prostej matematyki i zrozumienia, czym jest oktet.
11111111 11111111 11100000 00000000 = / 19
Pierwsze dwa oktety maski to 255.255 (/ 16 to mniej niż / 19). Ostatni oktet to 0 (/ 19 to mniej niż / 24). Jak dotąd wiemy
11111111 11111111 11100000 00000000 = / 19 = 255,255. 0,0
Patrząc na każdy oktet pamiętaj, że jest to wartość 8-bitowa, 0–255.
0 0 0 0 0 0 0 0
1
2 6 3 1
8 4 2 6 8 4 2 1
Zatem trzeci oktet (?) 11100000 to 128 + 64 + 32 = 224. To znaczy
11111111 11111111 11100000 00000000 = / 19 = 255.255.224.0
Bardzo podatne na błędy jest ręczne obliczanie nietrywialnych sieci. Zamiast tego wypróbuj kalkulator CIDR .
ipcalc
i sipcalc
lepiej wybieram, ale w każdym razie +1
Wręcz przeciwnie, uważam, że dobrze jest w pełni zrozumieć CIDR i być w stanie wykonywać obliczenia w mózgu ... ale czasami chcesz dwukrotnie sprawdzić swoje obliczenia. Lubię korzystać z kalkulatora podsieci PHP : http://share-foo.com/SubnetCalc.php
Innym dobrym dokumentem, który chcesz mieć, jeśli potrzebujesz tylko referencji na biurko, jest RFC 1878 - Tabela podsieci o zmiennej długości dla IPv4 .