Mit Subnetting mehr aus Ihrem Netz rausholen
Das Internet ist wie jedes Computernetzwerk eine Verbindung von vielen Rechnern, die miteinander kommunizieren. Längst ist es unumgänglich geworden, das riesige Netz in verschiedene Subnetze zu unterteilen. Um zu verstehen, was Subnetting – also das Unterteilen eines Netzwerks – ist, warum es eingeführt wurde und wie man eine Subnetzmaske berechnet, ist es sinnvoll, zunächst ein paar Grundlagen von Computernetzwerken zu klären.
- Inklusive Wildcard-SSL-Zertifikat
- Inklusive Domain Lock
- Inklusive 2 GB E-Mail-Postfach
Wie wird in einem Netzwerk kommuniziert?
Schon seit 1981 funktioniert das Internet auf Grundlage des sogenannten Internet-Protokolls (IP): ein Netzwerkprotokoll, das die Versandwege der Teilnehmer reguliert. Um ein Datenpaket in einem Netzwerk zu verschicken, muss dem Sender die IP-Adresse des Empfängers bekannt sein.
In der IP-Adresse verstecken sich Net-ID und Host-ID. Damit wird das entsprechende Netzwerk und in diesem der Host, z. B. ein PC oder ein Netzwerkdrucker, identifiziert. Anhand dieser Informationen sind Router in der Lage, Datenpakete an die richtigen Empfänger weiterzuleiten.
Computer verstehen nur Nullen und Einsen, arbeiten also in einem binären Rechensystem. Deshalb sind auch IP-Adressen so aufgebaut. Das derzeit verwendete IPv4-System besteht aus 32 Bit, also 32 Nullen oder Einsen. Damit wir dies leichter erfassen können und um Platz zu sparen, werden IP-Adressen für gewöhnlich in dezimaler Schreibweise und durch Punkte unterteilt dargestellt – die „dotted decimal notation“: 192.168.88.3.
Dezimal | 192 | 168 | 88 | 3 |
Binär | 11000000 | 10101000 | 01011000 | 00000011 |
Jede Position entspricht einer Potenz von Zwei. Ob diese zur Summe addiert wird oder nicht, wird durch 1 oder 0 angezeigt. Das heißt:
1 * 2^7 + 1 * 2^6 + 0 * 2^5 + 0 * 2^4 + 0 * 2^3 + 0 * 2^2 + 0 * 2^1 + 0 * 2^0 = 128 + 64 = 192
Durch dieses Format ist eine endliche Anzahl an möglichen Adressen gegeben. Um genau zu sein: Es können 232 (also 4.294.967.296) Adressen vergeben werden. Das klingt zunächst viel, aber diese Adressen sind schneller verbraucht, als man denkt. Deshalb wurde bereits 1985 das Subnetting eingeführt.
Was ist Subnetting?
Einer einfachen Subnetting-Definition nach ist damit die Unterteilung eines Netzwerks in mehrere Teilnetzwerke gemeint. Subnetting ermöglicht Netzwerkadministratoren beispielsweise, das eigene Firmennetzwerk in Subnetze aufzuteilen, ohne dies im Internet bekannt zu machen. Das heißt, der Router, der schließlich das Netzwerk mit dem Internet verbindet, wird weiterhin als einfache Adresse angegeben. Dahinter können sich aber viele Hosts verstecken. Die möglichen Hosts, die dem Administrator zur Verfügung stehen, werden dabei stark erweitert. Mit der Einführung von IPv6, welches 128 Bit umfasst und die ältere Version in den nächsten Jahren ablösen soll, werden die fehlenden IP-Adressen nicht mehr der Hauptgrund für das Erstellen von Subnetzen sein.
Da IPv6-Adressen mit 128 Bits sogar in dezimaler Schreibweise sehr lang sind, werden sie hexadezimal dargestellt. Zusätzlich bleiben Bit-Blöcke, die nur Nullen enthalten, in der Notation leer: 2001:620::211:24FF:FE80:C12C. Mehr erfahren Sie im Artikel zu Internet Protocol 6.
Aber die Gründe für Subnetting sind noch vielfältiger: Die Subnetze funktionieren unabhängig voneinander und die Datenvermittlung läuft schneller. Warum ist das so? Subnetting macht das Netzwerk überschaubarer. Ein sogenannter Broadcast, bei dem ein Teilnehmer Daten an das gesamte Netz sendet, verläuft ohne Ordnung durch Subnetze relativ unkontrolliert. Durch Subnets werden Datenpakete durch den Router viel gezielter an die Empfänger geleitet. Befinden sich Sender und Empfänger im gleichen Subnetz, können die Informationen direkt zugestellt und müssen nicht umgeleitet werden.
Bei der Einführung des Internet-Protokolls hat die dafür zuständige Internet Engineering Task Force (IETF) fünf Klassen von IP-Adressen unterteilt: A, B, C, D und E. Sie erkennen die Klasse durch den Adressbereich, in dem sie liegen.
Klasse A | Klasse B | Klasse C | Klasse D | Klasse E |
0.0.0.0 - 127.255.255.255 | 128.0.0.0 - 191.255.255.255 | 192.0.0.0 - 223.255.255.255 | 224.0.0.0 - 239.255.255.255 | 240.0.0.0 - 255.255.255.255 |
Die Klasse bestimmt, wie viele Netzwerkadressen verfügbar sind und wie viele Hosts es in den jeweiligen Netzen gibt. In Klasse A ist nur der erste Zahlenblock (manchmal auch Oktett genannt, weil ein Block aus 8 Bits besteht) für die Netzadresse reserviert, die restlichen drei stehen für Host-IDs zur Verfügung. Das heißt: Wenige Netze, aber viele Hosts. In Klasse B sind die ersten zwei Blöcke für die Net-IDs zuständig – also mehr Netze, aber weniger Hosts. In Klasse C bleibt dann nur noch das letzte Oktett für die Host-Adressen übrig. Die Adressbereiche der Klassen D und E sind reserviert und werden nicht vergeben.
Die Klassen für die Größe der Netze haben seit 1993 keine Bedeutung mehr. Da aber Subnetting bereits 1985 eingeführt wurde und als Lösung für das Problem der eingeschränkten Netzwerkgröße erdacht war, ist es sinnvoll, das System zu verstehen. Inzwischen basiert das Internet auf dem Prinzip des Classless Inter-Domain Routings (CIDR). Hierbei erkennt man an der IP-Adresse nicht mehr die Größe eines Netzes.
Wie funktioniert Subnetting?
Beim Subnetting werden Bits aus der Host-ID „ausgeliehen“, um damit ein Subnetz zu erzeugen. Entleihen Sie nur ein Bit, haben Sie die Möglichkeit, genau zwei Subnets zu erzeugen, denn nur 0 oder 1 kommen in Frage. Für weitere Subnets müssen also mehr Bits freigegeben werden, wodurch weniger Stellen für Host-Adressen übrig bleiben. IP-Adressen in einem Subnet und solche ohne sehen genau gleich aus. Auch ein Computer erkennt keinen Unterschied. Deshalb werden sogenannte Subnetmasks erstellt. Werden Datenpakete aus dem Internet in das eigene Netz geschickt, entscheidet der Router anhand dieser Maske, in welches Subnetz er die Daten verteilt.
Genau wie die IPv4-Adressen bestehen Subnetzmasken aus 32 Bits (oder 4 Bytes) und werden wie eine Maske oder eine Schablone auf die Adresse gelegt. Eine typische Subnetmask sieht so aus: 255.255.255.128
Die eigene IP-Adresse und Subnetmask lässt sich bei Windows über die Eingabeaufforderung und den Befehl ipconfig herausfinden.
Auch dies lässt sich wieder binär darstellen: 11111111.11111111.11111111.10000000
Nun stellen wir einen logischen AND-Vergleich her:
IP-Address | 11000000 | 10101000 | 01011000 | 00000011 |
Subnet-Mask | 11111111 | 11111111 | 11111111 | 10000000 |
AND-Vergleich | 11000000 | 10101000 | 01011000 | 00000000 |
Für den Vergleich nimmt man an, dass nur die Kombination von zwei Einsen an der gleichen Stelle wieder eine Eins ergibt. Alle anderen Vergleiche (1/0, 0/1 und 0/0) ergeben 0. (Diesen Vergleich erledigen nicht nur Sie, auch der Router führt diese Rechenschritte durch.)
Der AND-Vergleich ergibt die Netzadresse. Für die Host-Adresse werden alle Stellen berücksichtigt, die in dem rechten Bereich der Nullen auftauchen. In unserem Beispiel also:
IP-Adresse 192.168.88.3
Net-ID: 192.168.88.0
Host-ID: 0.0.0.3
Innerhalb eines Subnets werden die erste und die letzte IP-Adresse nur eingeschränkt verwendet. Die erste IP-Adresse (diese hat im Hostteil nur Nullen) wird als Netzadresse bezeichnet. Die letzte Adresse (255 im Hostteil) wird als Broadcast-Adresse benutzt. Somit ergibt sich, dass es immer zwei Hosts weniger gibt, als Adressen verfügbar sind.
Wie berechnet man eine Subnetzmaske?
Wir haben jetzt geklärt, welche Rückschlüsse man aus IP-Adresse und Subnetzmaske herstellen kann. Netzwerkadministratoren stehen aber regelmäßig vor einem anderen Problem: Gegeben ist die Netzwerkadresse und die Anzahl der Hosts, die im Subnet untergebracht werden müssen. Der Admin muss eine Subnetzmaske berechnen, die genügend Hosts zulässt. Dafür bedient er sich einer Formel: x = 2^n - 2.
Da wir uns immer noch im binären System befinden, rechnen wir in Potenzen von Zwei. n entspricht der Anzahl von Bits, die in der Subnetmask auf Null stehen. Der Wert 2 wird subtrahiert, um Broadcast- und Netzadresse aus dem Ergebnis verschwinden zu lassen. X ergibt damit die möglichen Hosts.
Sagen wir, der Netzwerkadministrator muss 150 PCs in seinem Netzwerk unterbringen. Zunächst sucht er die nächsthöchste Potenz von Zwei. 2^7 kommt nicht in Frage, da 128 zu gering ist. Daher entscheidet er sich für 2^8 - 2, also 254 Hosts. Die letzten 8 Bits der Subnetmask sind demnach 0:
Binär | 11111111 | 11111111 | 11111111 | 00000000 |
Dezimal | 255 | 255 | 255 | 0 |
Mit der Subnetmask 255.255.255.0 können genügend Hosts freigegeben werden.
Zu beachten ist auch, dass Sie Subnetze nur erzeugen dürfen, indem Sie Bits des Hostteils nacheinander von links nach rechts ausleihen. Dadurch ergeben sich die ordentliche Struktur der Subnetzmaske und die Tatsache, dass nur neun unterschiedliche Werte in einem Oktett verwendet werden können:
Binär | Dezimal |
00000000 | 0 |
10000000 | 128 |
11000000 | 192 |
11100000 | 224 |
11110000 | 240 |
11111000 | 248 |
11111100 | 252 |
11111110 | 254 |
11111111 | 255 |
Subnetmasks werden öfters auch über einen Suffix dargestellt: Statt IP-Adresse und Subnetmask einzeln anzuführen, können Sie die Menge der 1er-Bits als Nachtrag zur IP-Adresse angeben. In unserem ursprünglichen Beispiel also: 192.168.88.3 / 25.
Warum ist Subnetting so wichtig?
Die Zahlenreihen, binären Umrechnungen und logischen Vergleiche wirken abschreckend. Besonders im Kontext der nahenden Umstellung auf IPv6 dürften sich einige fragen: Lohnt sich das überhaupt? Die Antwort lautet ganz klar: Ja! Darum bleibt Subnetting auch in Zukunft sinnvoll:
- Erweiterung des Adressbereichs innerhalb eines Netzes: Durch Subnetting kann der Netzwerkadministrator selbst entscheiden, wie groß seine Netzwerke werden.
- Schnelle Verbindung zwischen Hosts eines Subnetzes: Datenpakete gelangen direkt vom Sender zum Empfänger und werden nicht erst über den Router durch das komplette Netz geleitet.
- Bessere logische Organisation der Netzwerkteilnehmer: Um einen besseren Überblick über die Hosts zu behalten, ergibt es Sinn, nach lokalen Kriterien (verschiedene Gebäude oder Etagen) oder nach Abteilungen zu segmentieren.
- Mehr Sicherheit: Wird ein Teilnehmer im Netz von außen angegriffen, ist schnell das komplette Netz bedroht. Durch Subnetting fällt es Netzwerkadministratoren leichter, die Subnetze untereinander abzuschotten.
Das Gegenteil von Subnetting nennt man Supernetting: Netze oder Subnetze werden zusammengefasst und der Netzanteil einer Adresse wird verringert, um mehr Hosts innerhalb eines Netzes zu ermöglichen.
Für mittlere bis größere Netzwerke ist es also mehr als vernünftig, Subnetze anzulegen. Der anfängliche Aufwand ist im Betrieb äußerst hilfreich: Die Gliederung des Unternehmensnetzwerks hilft dabei, den Überblick zu behalten und Probleme schneller zu lokalisieren. Wie so oft im Leben macht sich eine gute Ordnung bezahlt.