Antworten:
CIDR (Classless Inter-Domain Routing, ausgesprochen "kidder" oder "cider" - fügen Sie Ihre eigene lokale Variante zu den Kommentaren hinzu!) Ist ein System zum Definieren des Netzwerkteils einer IP-Adresse (normalerweise wird dies als Subnetzmaske betrachtet). . Der Grund, warum es "klassenlos" ist, ist, dass es eine Möglichkeit gibt, IP-Netzwerke flexibler als ihre Basisklasse aufzubrechen.
Bei der ersten Definition von IP-Netzwerken hatten IPs Klassen basierend auf ihrem binären Präfix:
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
(Beachten Sie, dass dies die Quelle von Personen ist, die sich auf a / 24 als "Klasse C" beziehen, obwohl dies kein strikter Vergleich ist, da eine Klasse C ein bestimmtes Präfix haben musste.)
Diese binären Präfixe wurden zum Weiterleiten großer Teile des IP-Speicherplatzes verwendet. Dies war ineffizient, weil große Blöcke Organisationen zugewiesen wurden, die diese nicht unbedingt benötigten, und weil Klasse Cs nur in 24-Bit-Schritten zugewiesen werden konnten, was bedeutete, dass Routingtabellen unnötig groß werden konnten, wenn mehrere Klasse Cs an sie weitergeleitet wurden der gleiche Ort.
CIDR wurde so definiert, dass Subnetzmasken variabler Länge (VLSM) auf Netzwerke angewendet werden können. Je nach Name können Adressgruppen oder Netzwerke in Gruppen unterteilt werden, die keine direkte Beziehung zu der natürlichen "Klasse" haben, zu der sie gehören.
Die Grundvoraussetzung von VLSM besteht darin, die Anzahl der Netzwerkbits in einem Netzwerk anzugeben. Da eine IPv4-Adresse eine 32-Bit-Ganzzahl ist, liegt die VLSM immer zwischen 0 und 32 (obwohl ich nicht sicher bin, in welchem Fall Sie möglicherweise eine 0-Längenmaske haben).
Der einfachste Weg, um mit der Berechnung von VLSM / CIDR in Ihrem Kopf zu beginnen, besteht darin, die "natürlichen" 8-Bit-Grenzen zu verstehen:
CIDR Dotted Quad
/8 255.0.0.0
/16 255.255.0.0
/24 255.255.255.0
/32 255.255.255.255
(Übrigens ist die Verwendung einer / 32-Maske in ACLs vollkommen legal und recht häufig. Dies bedeutet lediglich, dass Sie sich auf eine einzelne IP beziehen.)
Sobald Sie diese verstanden haben, ist es eine einfache Binärarithmetik, sich nach oben oder unten zu bewegen, um die Anzahl der Hosts zu ermitteln. Wenn zum Beispiel ein / 24 256 IPs hat (lassen wir Netzwerk- und Broadcast-Adressen vorerst weg), wird durch Erhöhen des Subnetzes um ein Bit (auf / 25) der Host-Speicherplatz um ein Bit (auf) verringert 7), was bedeutet, dass es 128 IPs geben wird.
Hier ist eine Tabelle des letzten Oktetts. Diese Tabelle kann in ein beliebiges Oktett verschoben werden, um das gepunktete Quad-Äquivalent zu erhalten.
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
Als Beispiel für das Verschieben dieser in ein anderes Oktett würde / 18 (was / 26 minus 8 Bits ist, also ein Oktett verschoben) 255.255.192.0 lauten.
Jedes Oktett ist 8 wert.
So können Sie Ihr Subnetz schnell einschränken und sich dann nur noch Sorgen um die letzten 8 Bits machen.
128, 192, 224, 240, 248, 252, 254, 255
+1 , +2 , +3 , +4 , +5 , +6 , +7 , +8
Hoffe das ist klar genug
Ein Tag zu spät, hoffentlich kein Dollar zu kurz. CIDR ist die Anzahl der zusammenhängenden Ein-Bits in der IPv4-Maske (32 Bits), beginnend mit dem höchstwertigen Bit.
10000000 00000000 00000000 00000000 wobei 1 = höchstwertiges Bit
Die gemeinsamen Masken sind / 8, / 16, / 24, die alle auf eine 8-Bit-Grenze (Oktettgrenze) fallen.
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
Es ist nicht wirklich schwer, wenn es nicht mit einem Oktett ausgerichtet ist, aber es erfordert eine einfache Berechnung und ein Verständnis dessen, was ein Oktett ist.
11111111 11111111 11100000 00000000 = / 19
Die ersten beiden Oktette der Maske sind 255.255 (/ 16 ist kleiner als / 19). Das letzte Oktett ist 0 (/ 19 ist kleiner als / 24). Soweit wir wissen
11111111 11111111 11100000 00000000 = / 19 = 255,255.?.0
Denken Sie beim Betrachten jedes Oktetts daran, dass es sich um einen 8-Bit-Wert von 0 bis 255 handelt.
0 0 0 0 0 0 0 0
1
2 6 3 1
8 4 2 6 8 4 2 1
Das dritte Oktett (?) 11100000 ist also 128 + 64 + 32 = 224. Das bedeutet
11111111 11111111 11100000 00000000 = / 19 = 255.255.224.0
Es ist sehr fehleranfällig, nicht triviale Netzwerke von Hand zu berechnen. Versuchen Sie stattdessen einen CIDR-Rechner .
ipcalc
und bin sipcalc
besser gewählt, aber trotzdem +1
Im Gegenteil, ich denke, es ist gut, CIDR vollständig zu verstehen und Berechnungen in Ihrem Gehirn durchführen zu können ... aber manchmal möchten Sie Ihre Berechnungen noch einmal überprüfen. Ich benutze gerne den PHP Subnet Calculator : http://share-foo.com/SubnetCalc.php
Ein weiteres gutes Dokument, das Sie haben sollten, wenn Sie nur eine Schreibtischreferenz benötigen, ist RFC 1878 - Subnetztabelle mit variabler Länge für IPv4 .