Risposte:
CIDR (Classless Inter-Domain Routing, pronunciato "kidder" o "sidro" - aggiungi la tua variante locale ai commenti!) È un sistema per definire la parte di rete di un indirizzo IP (di solito la gente pensa a questo come a una subnet mask) . Il motivo per cui è "senza classi" è che consente di abbattere le reti IP in modo più flessibile rispetto alla loro classe di base.
Quando le reti IP furono definite per la prima volta, gli IP avevano classi basate sul loro prefisso binario:
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
(Si noti che questa è la fonte di persone che si riferiscono a / 24 come "classe C", sebbene non sia un confronto strettamente vero perché una classe C deve avere un prefisso specifico)
Questi prefissi binari sono stati utilizzati per il routing di grossi blocchi di spazio IP in giro. Ciò è stato inefficiente perché ha comportato l'assegnazione di blocchi di grandi dimensioni a organizzazioni che non ne avevano necessariamente bisogno, e anche perché le Class C potevano essere assegnate solo con incrementi di 24 bit, il che significa che le tabelle di routing potevano diventare inutilmente grandi man mano che venivano instradate più Class C la stessa posizione.
Il CIDR è stato definito per consentire alle subnet mask di lunghezza variabile (VLSM) di essere applicate alle reti. A seconda del nome, i gruppi di indirizzi o le reti possono essere suddivisi in gruppi che non hanno relazioni dirette con la "classe" naturale a cui appartengono.
La premessa di base di VLSM è fornire il conteggio del numero di bit di rete in una rete. Poiché un indirizzo IPv4 è un numero intero a 32 bit, VLSM sarà sempre compreso tra 0 e 32 (anche se non sono sicuro in quale caso potresti avere una maschera di lunghezza 0).
Il modo più semplice per iniziare a calcolare VLSM / CIDR nella tua testa è capire i confini "naturali" a 8 bit:
CIDR Dotted Quad
/8 255.0.0.0
/16 255.255.0.0
/24 255.255.255.0
/32 255.255.255.255
(A proposito, è perfettamente legale e abbastanza comune negli ACL, usare una maschera / 32. Significa semplicemente che ti riferisci a un singolo IP)
Una volta afferrati quelli, è semplice aritmetica binaria per spostarsi verso l'alto o verso il basso per ottenere il numero di host. Ad esempio, se un / 24 ha 256 IP (per ora lasciamo fuori gli indirizzi di rete e broadcast, questa è una domanda diversa sulla teoria della rete), aumentare la sottorete di un bit (a / 25) ridurrà lo spazio host di un bit (a 7), il che significa che ci saranno 128 IP.
Ecco una tabella dell'ultimo ottetto. Questa tabella può essere spostata su qualsiasi ottetto per ottenere l'equivalente quad punteggiato.
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
Come esempio di spostamento di questi in un altro ottetto, / 18 (che è / 26 meno 8 bit, quindi spostato un ottetto) sarebbe 255.255.192.0.
Ogni ottetto vale 8.
Quindi puoi restringere rapidamente la tua sottorete e poi sei solo preoccupato per gli ultimi 8 bit.
128, 192, 224, 240, 248, 252, 254, 255
+1 , +2 , +3 , +4 , +5 , +6 , +7 , +8
Spero che sia abbastanza chiaro
Un giorno (sic) in ritardo, si spera non un dollaro in meno. CIDR è il numero di 1 bit contigui nella maschera IPv4 (32 bit) a partire dal bit più significativo.
10000000 00000000 00000000 00000000 dove 1 = bit più significativo
Le maschere comuni sono / 8, / 16, / 24 che cadono tutte su un limite di 8 bit (ottetto).
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
Non è davvero difficile quando non è allineato l'ottetto, ma richiede una semplice matematica e comprensione di cosa sia un ottetto.
11111111 11111111 11100000 00000000 = / 19
I primi due ottetti della maschera sono 255.255 (/ 16 è inferiore a / 19). L'ultimo ottetto è 0 (/ 19 è inferiore a / 24). Finora lo sappiamo
11111111 11111111 11100000 00000000 = / 19 = 255.255.?.0
Quando si osserva ciascun ottetto, ricordare che è un valore di 8 bit, 0 - 255.
0 0 0 0 0 0 0 0
1
2 6 3 1
8 4 2 6 8 4 2 1
Quindi il terzo ottetto (?) 11100000 è 128 + 64 + 32 = 224. Ciò significa
11111111 11111111 11100000 00000000 = / 19 = 255.255.224.0
È molto soggetto a errori calcolare manualmente reti non banali. Prova invece un calcolatore CIDR .
ipcalc
e sipcalc
sono scelte migliori, ma comunque +1
Al contrario, penso che sia bello comprendere completamente il CIDR ed essere in grado di fare calcoli nel tuo cervello ... ma a volte vuoi ricontrollare i tuoi calcoli. Mi piace usare il calcolatore di sottorete PHP : http://share-foo.com/SubnetCalc.php
Un altro buon documento da avere, se si desidera solo un riferimento desk, è RFC 1878 - Tabella della sottorete a lunghezza variabile per IPv4 .