sviluppo-web-qa.it

CIDR for Dummies

Capisco cos'è CIDR e a cosa serve, ma non riesco ancora a capire come calcolarlo nella mia testa. Qualcuno può dare una spiegazione di tipo "per manichini" con esempi?

46
Bob

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 lo considera 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ò era inefficiente perché causava 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 (lasciamo fuori gli indirizzi di rete e broadcast per ora, questa è una domanda di teoria della rete diversa), aumentando 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.

78
jj33

Ogni ottetto vale 8.

  • 255.0.0.0/8
  • 255.255.0.0/16
  • 255.255.255.0/24
  • 255.255.255.255/32

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
  • 255.128.0.0 =/9
  • 255.192.0.0 =/10
  • 255.224.0.0 =/11
  • 255.240.0.0 =/12
  • 255.248.0.0 =/13
  • 255.252.0.0 =/14
  • 255.254.0.0 =/15

Spero che sia abbastanza chiaro

8
sclarson

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

6
dbasnett

È molto soggetto a errori calcolare manualmente reti non banali. Prova invece un calcolatore CIDR .

4
hayalci

Al contrario, penso che sia bello capire completamente [~ # ~] cidr [~ # ~] ed essere in grado di fare calcoli nel tuo cervello. .. ma a volte vuoi ricontrollare i tuoi calcoli. Mi piace usare il calcolatore della sottorete PHP : http://share-foo.com/ SubnetCalc.php

alt text

2
l0c0b0x

Un altro buon documento da avere, se si desidera solo un riferimento desk, è RFC 1878 - Tabella della sottorete a lunghezza variabile per IPv4 .

1
Gavin McTaggart