CIDR- / Subnetzrechner

Ermittelt Netzadresse, Hostbereich, Masken und Adressanzahl jedes IPv4- oder IPv6-Blocks und teilt ihn in gleich große Subnetze.

Präfixlänge/24
Netz
192.168.1.0/24
Netzadresse
192.168.1.0
Broadcast-Adresse
192.168.1.255
Nutzbarer Bereich
192.168.1.1 – 192.168.1.254
Nutzbare Adressen
254
Adressen insgesamt
256
Subnetzmaske
255.255.255.0
Wildcard-Maske
0.0.0.255
Privat192.168.0.0/16
Aufteilen in

Was dieses Werkzeug tut

Ein CIDR-Block wie 192.168.1.0/24 ist eine kompakte Art, einen Adressbereich zu benennen. Dieses Werkzeug nimmt einen solchen und beantwortet die Fragen, die sich daraus ergeben: wo der Bereich beginnt und endet, wie viele Adressen er umfasst, wie viele davon einer Maschine gegeben werden können, wie die Subnetzmaske aussieht, ob eine bestimmte Adresse darin liegt und was herauskommt, wenn man ihn in kleinere Teile schneidet.

Es beherrscht IPv4 und IPv6 und nimmt eine Hostadresse ebenso bereitwillig entgegen wie eine Netzadresse: Fügen Sie 192.168.1.57/24 direkt aus ip addr ein, und es nennt Ihnen den Block, in dem diese Adresse liegt. Alles ist Arithmetik, die in Ihrem Browser abläuft: keine Abfragen, kein Server, und es funktioniert mit ausgestecktem Netzwerk.

Was die Zahl nach dem Schrägstrich bedeutet

Eine IPv4-Adresse hat 32 Bit. Die Zahl nach dem Schrägstrich — die Präfixlänge — sagt, wie viele dieser Bits das Netz bezeichnen; der Rest bezeichnet einen Host darin. Ein /24 legt die ersten 24 Bit fest und lässt 8 frei, weshalb es 2^8 = 256 Adressen umfasst.

192.168.1.0                           # die Adresse
11000000.10101000.00000001.00000000   # ihre 32 Bit
11111111.11111111.11111111.00000000   # die /24-Maske: 24 Einsen, 8 Nullen

Wo die Maske eine Eins trägt, gehört das Bit zum Netz und ist für jede Adresse im Block fest; wo sie eine Null trägt, ist das Bit frei und bezeichnet einen Host. Jedes zusätzliche Präfixbit halbiert den Block. Diese Beziehung ist das ganze Subnetting, und es lohnt sich, sie zu verinnerlichen, statt eine Tabelle auswendig zu lernen:

  • /24 — 256 Adressen, 254 nutzbar. Das klassische kleine Netz.
  • /25 — 128 Adressen, 126 nutzbar. Ein halbes /24.
  • /26 — 64 Adressen, 62 nutzbar.
  • /30 — 4 Adressen, 2 nutzbar. Die traditionelle Punkt-zu-Punkt-Verbindung.
  • /16 — 65 536 Adressen. Ein /24, zweihundertsechsundfünfzigmal.

Warum zwei Adressen fehlen

Ein /24 umfasst 256 Adressen, aber nur 254 nutzbare, weil IPv4 zwei davon ausgibt. Die erste Adresse im Block ist die Netzadresse, die den Block selbst benennt und keiner Schnittstelle zugewiesen wird. Die letzte ist die Broadcast-Adresse, die alle Hosts auf dem Link gleichzeitig erreicht. Daher stammt das bekannte 2^n − 2.

Zwei Präfixe brechen diese Formel, und die meisten Rechner liegen bei mindestens einem davon falsch:

  • Ein /31 hat zwei Adressen, und die Formel sagt null nutzbare. RFC 3021 definiert das /31 für Punkt-zu-Punkt-Verbindungen, wo keine Broadcast-Adresse nötig ist und beide Adressen vergeben werden — eine je Ende. Die richtige Antwort ist 2.
  • Ein /32 ist eine einzelne Adresse, und die Formel sagt −1. Ein /32 benennt genau einen Host; das schreibt man für einen einzelnen Server in einer Firewall-Regel oder einer Route.

Dieses Werkzeug folgt RFC 3021 und meldet in diesen Fällen 2 und 1. Wenn ein anderer Rechner Ihnen sagt, ein /31 habe keine nutzbaren Adressen, ist das die Lehrbuchformel jenseits des Bereichs angewandt, in dem sie gilt.

Die Subnetzmaske und die Wildcard-Maske

Die Subnetzmaske enthält dieselbe Information wie die Präfixlänge, geschrieben als vier Oktette: Die Netzbits sind Einsen, die Hostbits Nullen. /24 ist 255.255.255.0. Ältere Konfigurationsformate wollen die Maske, neuere das Präfix, und beide sind austauschbar.

Die Wildcard-Maske ist die invertierte Subnetzmaske — 0.0.0.255 für ein /24. Cisco-Zugriffslisten und OSPF-network-Anweisungen werden damit geschrieben, und die Umkehrung führt oft genug in die Irre, um sie deutlich zu sagen: In einer Wildcard-Maske bedeutet ein Null-Bit „muss übereinstimmen“ und ein Eins-Bit „egal“ — genau umgekehrt zur Subnetzmaske.

IPv6 ist dieselbe Idee mit weniger Ausnahmen

IPv6-Adressen haben 128 statt 32 Bit, und das Präfix funktioniert identisch — ein /64 legt die ersten 64 Bit fest. Die Arithmetik ist dieselbe; was sich ändert, ist, dass zwei IPv4-Komplikationen verschwinden.

  • Es gibt keine Broadcast-Adresse. IPv6 hat Broadcast durch Multicast ersetzt, also ist am Ende eines Präfixes nichts reserviert.
  • Am Anfang ist ebenfalls nichts reserviert, sodass jede Adresse im Block vergebbar ist und die Zahl der nutzbaren der Gesamtzahl entspricht. (Die Nulladresse eines Subnetzes ist die Subnetz-Router-Anycast-Adresse, eine Routing-Konvention und kein Loch im Bereich.)
  • Es gibt keine gepunktete Subnetzmaske. IPv6 wird immer als Präfixlänge geschrieben; eine 128-Bit-Maske als Text wäre unlesbar, und niemand verlangt sie.

Ein /64 ist die Standardgröße für einen einzelnen Link, weil die zustandslose Adressautokonfiguration 64 Hostbits erwartet. Ein Standort bekommt typischerweise ein /48 oder /56, das dann in /64 aufgeteilt wird — eines je VLAN oder Segment. Deshalb teilt dieses Werkzeug ein /48 bereitwillig in /64 auf und sagt Ihnen, dass es 65 536 davon gibt.

Die Adressanzahlen wachsen schnell, daher werden sie als Zweierpotenz und als volle Zahl gezeigt: Ein /32 umfasst 2^96 Adressen, also 79 228 162 514 264 337 593 543 950 336. Die Potenz ist das Lesbare; die Ziffern sind das, was man kopiert.

IPv6-Adressen kanonisch schreiben

Eine IPv6-Adresse lässt sich auf viele Arten schreiben, was den Vergleich zweier Adressen mit bloßem Auge unzuverlässig macht. RFC 5952 legt eine einzige kanonische Textform fest, und die gibt dieses Werkzeug aus:

  • Kleingeschriebenes Hexadezimal und keine führenden Nullen innerhalb einer Gruppe — aus 2001:0db8 wird 2001:db8.
  • Die längste Folge von Nullgruppen wird durch :: ersetzt, und nur die längste. Bei Gleichstand gewinnt die linke.
  • Eine einzelne Nullgruppe wird nie komprimiert, weil :: nichts sparen und eine zweite Schreibweise schaffen würde.

Die ausgeschriebene Form steht daneben, jede Gruppe auf vier Stellen aufgefüllt. Sie ist nicht kanonisch, aber sie ist die Form, die sich in einer Spalte ausrichtet, wenn man eine Liste von Adressen vergleicht.

Einen Block aufteilen

Ein Netz in mehrere gleich große zu schneiden ist die Aufgabe, für die man üblicherweise zu einem Subnetzrechner greift. Jedes zusätzliche Präfixbit verdoppelt die Zahl der Subnetze und halbiert ihre Größe: Aus einem /24 werden zwei /25, vier /26, acht /27 und so fort.

192.168.1.0/24  ->  /26
192.168.1.0/26      # Adressen   0-63
192.168.1.64/26     # Adressen  64-127
192.168.1.128/26    # Adressen 128-191
192.168.1.192/26    # Adressen 192-255

Die Subnetze kacheln das Elternnetz exakt — ohne Lücke und ohne Überlappung —, eine Eigenschaft, die zu prüfen sich lohnt, wenn man Adressraum von Hand aufteilt. Beachten Sie, dass die Zahlen rasch wachsen: Ein /8 in /24 aufgeteilt sind 65 536 Netze, deshalb ist die Liste hier gedeckelt und die wahre Gesamtzahl steht daneben, statt die Antwort stillschweigend abzuschneiden.

Bereiche mit besonderer Bedeutung

Manche Blöcke sind für einen bestimmten Zweck reserviert, und ein Netz, das in einem davon liegt, wird hier gekennzeichnet. Die häufigsten:

  • Privat (RFC 1918) — 10.0.0.0/8, 172.16.0.0/12 und 192.168.0.0/16. Innerhalb einer Organisation routbar, nie im öffentlichen Internet.
  • Loopback — 127.0.0.0/8 bei IPv4 und ::1 bei IPv6. Verkehr, der den Host nie verlässt.
  • Link-lokal — 169.254.0.0/16 und fe80::/10. Selbst vergeben, nur auf einem Link gültig. Eine IPv4-Adresse in diesem Bereich bedeutet meist, dass DHCP fehlgeschlagen ist.
  • Carrier-Grade-NAT — 100.64.0.0/10. Wird zwischen Anschluss und Provider verwendet; im eigenen Netz ist sie ein Hinweis auf ein NAT auf Providerseite.
  • Dokumentation — 192.0.2.0/24, 198.51.100.0/24, 203.0.113.0/24 und 2001:db8::/32. Für Beispiele reserviert, weshalb sie auf dieser Seite durchgehend auftauchen.
  • Unique Local — fc00::/7. Das IPv6-Gegenstück zum privaten Raum aus RFC 1918.

Die Kennzeichnung wird nur gesetzt, wenn der ganze Block innerhalb des Sonderbereichs liegt, nicht wenn er ihn bloß überlappt. Ein 0.0.0.0/0 deckt jeden existierenden privaten Bereich ab, ist aber selbst nicht privat, und etwas anderes zu behaupten wäre schlimmer, als nichts zu sagen.

Häufig gestellte Fragen

Wie viele nutzbare Hosts hat ein /24?
254. Der Block umfasst 256 Adressen; die erste ist die Netzadresse und die letzte die Broadcast-Adresse, und keine von beiden lässt sich einer Schnittstelle zuweisen. Dieselbe Subtraktion ergibt 126 für ein /25, 62 für ein /26 und 2 für ein /30.
Warum steht hier, ein /31 habe zwei nutzbare Adressen, während andere Rechner keine nennen?
Weil RFC 3021 das /31 für Punkt-zu-Punkt-Verbindungen definiert, wo eine Broadcast-Adresse keinen Zweck erfüllt und beide Adressen vergeben werden — eine je Ende der Verbindung. Rechner, die null melden, wenden die Formel 2^n − 2 jenseits ihres Gültigkeitsbereichs an.
Was ist der Unterschied zwischen Subnetzmaske und Wildcard-Maske?
Sie sind zueinander invers. Eine Subnetzmaske hat Einsen auf den Netzbits (255.255.255.0 für ein /24); eine Wildcard-Maske hat dort Nullen (0.0.0.255). In einer Wildcard-Maske heißt eine Null, dass das Bit übereinstimmen muss, und eine Eins, dass es ignoriert wird — umgekehrt zu der Intuition, die eine Subnetzmaske aufbaut.
Kann ich eine Adresse einfügen, die nicht die Netzadresse ist?
Ja, und das ist der Normalfall. Geben Sie 192.168.1.57/24 ein, und es zeigt Ihnen, dass das Netz 192.168.1.0/24 ist, und weist darauf hin, dass die eingegebene Adresse ein Host darin ist. Genau das liefern ip addr oder ipconfig, es muss also vorher nichts bearbeitet werden.
Warum zeigt IPv6 weder Broadcast-Adresse noch Subnetzmaske?
Weil es beides nicht gibt. IPv6 hat Broadcast zugunsten von Multicast aufgegeben, also ist am Ende eines Präfixes nichts reserviert, und es wird stets mit einer Präfixlänge statt einer gepunkteten Maske geschrieben. Jede Adresse in einem IPv6-Block ist vergebbar, weshalb die Zahl der nutzbaren der Gesamtzahl entspricht.
Wie groß sollte ein IPv6-Subnetzpräfix sein?
Ein /64, in nahezu allen Fällen. Die zustandslose Adressautokonfiguration setzt 64 Hostbits voraus, sodass ein kleineres Präfix sie auf einem gewöhnlichen Link zerbricht. Standorte erhalten meist ein /48 oder /56 und teilen es in /64 auf, eines je Segment — in einem /48 sind es 65 536, sparen muss man also nicht.
Wird etwas von dem, was ich eingebe, an einen Server gesendet?
Nein. Es ist reine Arithmetik im Browser — nichts wird abgefragt, hochgeladen oder protokolliert. Deshalb funktioniert es auch weiterhin ganz ohne Netzverbindung.