Login

Subnetting Schritt für Schritt: So rechnest du Teilnetze sicher aus

Mario ·

Eine typische Prüfungsaufgabe lautet: „Das Netz 172.16.0.0/16 soll in sechs gleich große Subnetze aufgeteilt werden. Geben Sie für jedes Subnetz Netzadresse, Broadcast-Adresse und den Hostbereich an.“ Wer das ohne festen Ablauf angeht, rechnet mal binär, mal im Kopf, vertut sich an irgendeiner Stelle und weiß am Ende nicht, ob das Ergebnis stimmt.

In diesem Beitrag bekommst du einen festen Ablauf, den du bei jeder Aufgabe gleich anwendest. Er stützt sich auf alles, was du in den Beiträgen zu Subnetting, CIDR und Netzwerkadresse und Broadcast gelernt hast. Neu kommt VLSM dazu, also Subnetze unterschiedlicher Größe.

Das Werkzeug: Was du griffbereit haben solltest

Für die Rechnung brauchst du nur zwei Dinge im Kopf oder auf dem Spickzettel. Zuerst die Zweierpotenzen:

n 1 2 3 4 5 6 7 8 9 10 11 12
2n 2 4 8 16 32 64 128 256 512 1.024 2.048 4.096

Dann die Maskenwerte pro Oktett: 128, 192, 224, 240, 248, 252, 254, 255, jeweils für 1 bis 8 Einsen. Mehr brauchst du nicht. Die Formeln aus den vorigen Beiträgen setzen wir nur noch ein:

  • Nutzbare Hosts je Netz: 2h − 2, mit h als Zahl der Hostbits.
  • Präfix = 32 − h.
  • Blockgröße (Zahl der Adressen eines Subnetzes) = 2h.

Typ 1: Gleich große Subnetze

Bei dieser Aufgabe ist die Zahl der Subnetze vorgegeben. Der Ablauf in sieben Schritten:

  1. Subnetzbits bestimmen. Suche das kleinste n mit 2n ≥ Zahl der Subnetze.
  2. Neues Präfix. Altes Präfix + n.
  3. Neue Netzmaske aus dem Präfix ableiten (volle Oktette 255, Rest-Oktett mit der Maskenreihe).
  4. Blockgröße. 2(32 − neues Präfix) Adressen, im maßgebenden Oktett 256 − Maskenwert.
  5. Netzadressen listen. Starte bei der ursprünglichen Netzadresse und zähle jeweils eine Blockgröße weiter.
  6. Pro Subnetz Broadcast und Hostbereich bestimmen. Broadcast = nächste Netzadresse − 1, erste Host = Netzadresse + 1, letzte Host = Broadcast − 1.
  7. Probe. Der Broadcast des letzten Subnetzes (auch der nicht benutzten) muss dem Broadcast des Ursprungsnetzes entsprechen.

Beispiel: 172.16.0.0/16 in sechs gleich große Subnetze

Die Aufgabe von oben. Wir gehen den Ablauf durch:

1. Subnetzbits: 2^2 = 4 (zu wenig), 2^3 = 8 (reicht) → n = 3
2. Neues Präfix: 16 + 3 = /19
3. Maske: 19 = 2 × 8 + 3 → 255.255.224.0
4. Blockgröße im dritten Oktett: 256 − 224 = 32
   Hostbits: 32 − 19 = 13 → 2^13 − 2 = 8.190 Hosts je Subnetz

Weiter mit den Netzadressen. Du startest bei 172.16.0.0 und gehst im dritten Oktett in Schritten von 32. Der Broadcast ist jeweils die nächste Netzadresse minus 1:

Subnetz Netzadresse Erste Host Letzte Host Broadcast
1172.16.0.0/19172.16.0.1172.16.31.254172.16.31.255
2172.16.32.0/19172.16.32.1172.16.63.254172.16.63.255
3172.16.64.0/19172.16.64.1172.16.95.254172.16.95.255
4172.16.96.0/19172.16.96.1172.16.127.254172.16.127.255
5172.16.128.0/19172.16.128.1172.16.159.254172.16.159.255
6172.16.160.0/19172.16.160.1172.16.191.254172.16.191.255

Mit n = 3 gibt es acht Subnetze, sechs werden benutzt. Die beiden übrigen, 172.16.192.0/19 und 172.16.224.0/19, bleiben als Reserve. Der Broadcast des letzten Subnetzes wäre 172.16.255.255, und das ist der Broadcast des Ursprungsnetzes 172.16.0.0/16. Damit ist die Probe bestanden.

Der feste Ablauf für gleich große Subnetze, hier mit dem Beispiel aus dem Text.

Typ 2: Der Hostbedarf ist vorgegeben

Hier lautet die Aufgabe etwa: „Jedes Subnetz soll mindestens 50 Geräte aufnehmen. Wie viele Subnetze gibt es im Netz 192.168.100.0/24?“ Der Ablauf:

  1. Suche das kleinste h mit 2h − 2 ≥ Hostbedarf.
  2. Präfix = 32 − h.
  3. Zahl der Subnetze = 2(neues Präfix − altes Präfix).
h: 2^5 − 2 = 30 (zu wenig), 2^6 − 2 = 62 (reicht) → h = 6
Präfix: 32 − 6 = /26
Subnetze: 2^(26 − 24) = 2^2 = 4

Das Netz liefert vier Subnetze mit je 62 nutzbaren Adressen. Weiter geht es wie in Typ 1 mit den Netzadressen.

Typ 3: VLSM, Subnetze unterschiedlicher Größe

In der Praxis haben die Bereiche eines Unternehmens selten dieselbe Größe. Ein Server-Netz braucht wenige Adressen, ein Bürobereich viele, eine Verbindung zwischen zwei Routern genau zwei. Gleich große Subnetze würden Adressen verschwenden. Die Lösung ist VLSM, Variable Length Subnet Mask: Jedes Subnetz bekommt genau die Größe, die es braucht, also ein eigenes Präfix.

Der Ablauf in sechs Schritten:

  1. Hostbedarf sammeln und pro Subnetz ein Router-Gateway einrechnen. Auch die Schnittstelle des Routers braucht eine Adresse.
  2. Pro Subnetz Hostbits und Präfix bestimmen (wie in Typ 2).
  3. Absteigend nach Größe sortieren. Das größte Subnetz zuerst.
  4. Der Reihe nach vergeben. Das erste Subnetz beginnt bei der Netzadresse. Jedes weitere beginnt direkt hinter dem Broadcast des vorigen.
  5. Je Subnetz Netzadresse, Hostbereich und Broadcast eintragen.
  6. Probe. Nichts überlappt, nichts liegt außerhalb des Ursprungsnetzes, und alle Netzadressen sind Vielfache ihrer Blockgröße.

Beispiel: Ein Neubau mit fünf Bereichen

Die Firma bekommt ein neues Gebäude und erhält dafür den Adressbereich 192.168.20.0/24. Die Bereiche und ihr Bedarf:

Bereich Hosts Hostbits h Nutzbar (2h − 2) Präfix
Verwaltung60662/26
Entwicklung30530/27
Gäste12414/28
Server636/29
Router-Verbindung222/30

Die Tabelle ist bereits absteigend sortiert. Jetzt wird vergeben. Das erste Subnetz beginnt bei .0 und hat 64 Adressen. Das nächste beginnt bei .64, hat 32 Adressen und so weiter:

Bereich Netzadresse Hostbereich Broadcast Adressen
Verwaltung192.168.20.0/26.1 bis .62192.168.20.6364
Entwicklung192.168.20.64/27.65 bis .94192.168.20.9532
Gäste192.168.20.96/28.97 bis .110192.168.20.11116
Server192.168.20.112/29.113 bis .118192.168.20.1198
Router-Verbindung192.168.20.120/30.121 bis .122192.168.20.1234

Die Probe: 64 + 32 + 16 + 8 + 4 = 124 Adressen sind vergeben. Frei bleiben 256 − 124 = 132, nämlich der Bereich von 192.168.20.124 bis .255. Die Netzadressen liegen alle auf passenden Blockgrenzen: 64 ist ein Vielfaches von 32, 96 von 16, 112 von 8 und 120 von 4.

Ein Hinweis aus der Praxis: Das Entwicklungsnetz hat genau 30 nutzbare Adressen bei 30 Geräten. Dazu kommt noch das Gateway, und die Abteilung soll ja wachsen. In echten Projekten würde man hier eine Stufe größer planen. Für die Rechenübung reicht es.

VLSM: Jeder Bereich bekommt genau die Größe, die er braucht. Der Rest bleibt frei.

Warum erst das größte Subnetz?

Die Sortierung ist kein Schönheitsfehler, sie hat einen Grund. Subnetze müssen auf der Blockgrenze ihrer eigenen Größe beginnen. Ein /26-Netz mit 64 Adressen darf nur bei 0, 64, 128 oder 192 starten. Setzt du kleine Subnetze zuerst, entstehen Lücken:

Router-Verbindung /30 zuerst:  192.168.20.0/30  (.0 bis .3)
Verwaltung /26 danach:          darf nicht bei .4 starten,
                                nächste gültige Grenze ist .64
→ Die Adressen .4 bis .63 gehen verloren (60 Adressen)

Wer dagegen vom Großen zum Kleinen vergibt, trifft jede Blockgrenze automatisch, weil die Summe der bisherigen Blöcke immer ein Vielfaches des nächsten kleineren Blocks ist.

Wer mit den kleinen Subnetzen anfängt, verschenkt Adressen durch Lücken.

Das Ganze automatisieren

Für die Kontrolle deiner Handrechnung, und für größere Planungen im Berufsalltag, kannst du den Ablauf in einem kleinen Python-Skript abbilden. Es sortiert den Bedarf absteigend, bestimmt pro Bereich das Präfix und vergibt die Netze nacheinander:

import ipaddress

netz = ipaddress.ip_network("192.168.20.0/24")
bedarf = {"Verwaltung": 60, "Entwicklung": 30, "Gäste": 12, "Server": 6, "WAN-Link": 2}

naechste = int(netz.network_address)
for name, hosts in sorted(bedarf.items(), key=lambda x: -x[1]):
    h = 2
    while 2**h - 2 < hosts:
        h += 1
    praefix = 32 - h
    sub = ipaddress.ip_network((naechste, praefix))
    print(f"{name:12} {sub}  {2**h - 2} Hosts")
    naechste = int(sub.broadcast_address) + 1

Die Schleife bestimmt für jeden Bereich die kleinste Hostbit-Zahl, die ausreicht, und legt das Netz direkt hinter das vorige. Die Ausgabe sieht so aus:

Verwaltung   192.168.20.0/26  62 Hosts
Entwicklung  192.168.20.64/27  30 Hosts
Gäste        192.168.20.96/28  14 Hosts
Server       192.168.20.112/29  6 Hosts
WAN-Link     192.168.20.120/30  2 Hosts

Das entspricht der Tabelle. Das Skript prüft allerdings nicht, ob alles ins Ursprungsnetz passt. Bei sehr großem Bedarf würde es einfach über die Grenze laufen. Für die Prüfung ist die Handrechnung maßgeblich, das Skript ist ein Werkzeug zum Gegenprüfen.

Die Prüf-Checkliste

Bevor du ein Ergebnis abgibst, gehst du diese Fragen durch. Sie fangen die meisten Fehler ab:

  • Beginnt jede Netzadresse auf einer Blockgrenze (Vielfaches der Blockgröße)?
  • Ist der Broadcast jedes Subnetzes die nächste Netzadresse minus 1?
  • Überlappen sich zwei Subnetze? Das darf nie sein.
  • Liegen alle Subnetze innerhalb des Ursprungsnetzes?
  • Reicht die Hostzahl, auch mit Gateway und etwas Reserve?
  • Stimmt die Summe der Blockgrößen? Sie darf die Gesamtgröße des Ursprungsnetzes nicht überschreiten.

Typische Fehler

  • Nicht absteigend sortiert. Bei VLSM führt das zu Lücken und manchmal dazu, dass die Aufgabe nicht mehr aufgeht.
  • Netz- und Broadcast-Adresse vergessen. Der Hostbedarf wird mit 2h − 2 verglichen, nicht mit 2h.
  • Das Gateway nicht eingeplant. Die Router-Schnittstelle braucht eine Adresse und zählt als Host.
  • Blockgrenzen verfehlt. Eine Netzadresse wie 192.168.20.100/27 gibt es nicht. Erlaubt sind .96 und .128.
  • Falsches Oktett. Bei /19 liegt die Grenze im dritten Oktett, nicht im vierten.
  • Keine Reserve eingeplant. Ein Subnetz, das heute genau passt, ist morgen zu klein.
  • Präfix mit Subnetzzahl verwechseln. Die Zahl der Subnetze ist 2n, mit n als Zahl der geliehenen Bits.

Zum Üben

  1. Teile 192.168.5.0/24 in vier gleich große Subnetze. Gib Präfix, Netzadressen und Broadcast an.
  2. Teile 10.10.0.0/16 in acht gleich große Subnetze. Wie lautet das Präfix, und wie viele Hosts hat jedes Subnetz?
  3. Jedes Subnetz in 192.168.1.0/24 soll mindestens 25 Geräte aufnehmen. Welches Präfix, wie viele Subnetze?
  4. Wie viele /29-Subnetze passen in 192.168.0.0/24, und wie viele Hosts hat jedes?
  5. VLSM: Das Netz 172.16.5.0/24 soll vier Bereiche mit 100, 50, 20 und 2 Hosts aufnehmen. Gib für jeden Netzadresse und Präfix an.
  6. Gib alle Netzadressen der /27-Subnetze von 192.168.9.0/24 an.
  7. Du teilst 192.168.30.0/24 in vier /26-Subnetze und gibst jedem Router-Gateway eine Adresse. Wie viele Adressen bleiben je Subnetz für Geräte?
  8. Jemand schreibt für ein /26-Netz die Netzadresse 192.168.10.100/26. Ist das korrekt?

Lösungen:

(1) n = 2, Präfix /26, Blockgröße 64.
    192.168.5.0/26   (Broadcast .63)
    192.168.5.64/26  (Broadcast .127)
    192.168.5.128/26 (Broadcast .191)
    192.168.5.192/26 (Broadcast .255)

(2) n = 3, Präfix /19, Blockgröße 32 im dritten Oktett.
    Netze: 10.10.0.0, 10.10.32.0, 10.10.64.0, 10.10.96.0,
           10.10.128.0, 10.10.160.0, 10.10.192.0, 10.10.224.0 (je /19)
    Hosts: 2^13 − 2 = 8.190

(3) 2^5 − 2 = 30 ≥ 25 → h = 5 → Präfix /27.
    Subnetze: 2^(27 − 24) = 8.

(4) 2^(29 − 24) = 32 Subnetze. Hostbits 3 → 2^3 − 2 = 6 Hosts.

(5) 100 → h = 7 (126) → /25
     50 → h = 6 (62)  → /26
     20 → h = 5 (30)  → /27
      2 → h = 2 (2)   → /30
    172.16.5.0/25   (.0 bis .127)
    172.16.5.128/26 (.128 bis .191)
    172.16.5.192/27 (.192 bis .223)
    172.16.5.224/30 (.224 bis .227)
    Frei: .228 bis .255

(6) 192.168.9.0, .32, .64, .96, .128, .160, .192, .224 (je /27)

(7) Je Subnetz 62 nutzbare Adressen, minus 1 für das Gateway = 61.

(8) Nein. Bei /26 ist die Blockgröße 64. Die Adresse 100 liegt im
    Block 64 bis 127, die Netzadresse ist 192.168.10.64/26.

Das solltest du dir merken

  • Bei gleich großen Subnetzen: Subnetzbits n mit 2n ≥ Zahl der Subnetze bestimmen, neues Präfix = altes Präfix + n, Netzadressen im Abstand der Blockgröße.
  • Bei vorgegebenem Hostbedarf: kleinstes h mit 2h − 2 ≥ Bedarf, Präfix = 32 − h.
  • Bei VLSM: Größte Subnetze zuerst vergeben, jedes beginnt direkt hinter dem Broadcast des vorigen.
  • Plane das Gateway und etwas Reserve in den Hostbedarf ein.
  • Prüfe immer: Blockgrenzen, Broadcast = nächste Netzadresse − 1, keine Überlappungen, alles im Ursprungsnetz.
  • Mit dem Python-Modul ipaddress kontrollierst du deine Rechnung.

Damit hast du den Rechenteil der Netzwerke abgeschlossen. Im nächsten Beitrag geht es wieder um Technik: Wie trennst du Netze auf dem Switch selbst, ohne zusätzliche Hardware? Die Antwort heißt VLAN verstehen.

Weiterlesen