17.08.
2009

Subnetting

Wozu überhaupt Subnetting?
Nur in den wenigsten Fällen kann sich ein Netzwerkadministrator mit den Standard-(Sub)Netzmasken und damit mit der Aufteilung seines IP-Bereiches in Netze und Hosts zufrieden geben. So besitzt ein Class-C-Netz 254 Hosts. Dies ist aber oftmals aber gar nicht gewünscht. Daher setzt man das sogenannte Subnetting ein, welches einem die Möglichkeit bietet seinen IP-Bereich weiter zu unterteilen. Im einfachsten Fall kann es die Spaltung des Netzes in zwei gleich große Teile sein. Etwas komplexer wird es, wer sein Netz optimal ausnutzen will und so auch mehrere unterschiedlich große Subnetze erzeugt.

Wann macht so etwas überhaupt Sinn? Hier ein paar mögliche Gründe:

  • kleine Netze = kleinere Broadcast-Domänen
  • optimale Ausnutzung des zu Verfügung stehenden IP-Bereichs
  • logische Trennung zweier Netzbereiche
  • Aufteilung der Netzes in Anlehnung der Firmen-Struktur
  • (es gibt sicher noch mehr)
Hilfstabelle

2n 27 26 25 24 23 22 21 20
Wert 128 64 32 16 8 4 2 1
x 1 2 3 4 5 6 7 8

In 4 Schritte zu neuen Subnetzen

  1. Wie sind die Randbedingungen?
    Nehmen wir mal an unser IP-Bereich ist 192.168.0.0/24 (Subnetzmaske: 255.255.255.0) und wir wollen möglichst viele Netze mit 40 Hosts.

  2. Wie sind die Bits verteilt?
    Zuerst ist einmal herauszufinden wie viele Bits des zu Verfügung stehenden IP-Bereichs zum Netz- und zum Hosts-Bereich gehören. Entscheidend ist hier das /24, sie zeigt uns nämlich das bereits die ersten 24 Bits zum Netz-Bereich gehören und die restlichen 8 Bits zum Host-Bereich.

    Als nächstes muss ermittelt werden wie viele Bits für den neuen Netz- bzw. Hosts-Bereich benötigt werden. Hierzu bedienen wir uns folgender Formel:

    2n - 2 >= Netze/Hosts (RFC 950)

    bzw.

    2n >= Netze (RFC 1878)
    2n - 2 >= Hosts

    Setzen wir nun unsere 40 Hosts in die Formel ein:

    2n - 2 >= 40 Hosts

    Wir suchen also die erste Potenz von zwei, die größer ist als unsere 40 Hosts und das auch noch ist, wenn wir zwei abziehen. Werfen wir mal einen Blick auf unsere Hilfstabelle, dort sehen wir das bei 26 dem Wert 64 entspricht, also auch nach abzug der 2 noch größer ist als 40. n ist also 6.

    Was sagt uns das nun? Ganz einfach: unser Hosts-Bereich ist 6 Bits groß und der Netz-Anteil somit 26 Bits, er vergrößert sich also um 2 Bits.

    Die gleiche Formel kann auch verwendet werden wenn der Netz-Bereich fest steht. n ist dann zu dem Netz-Anteil der bisherigen Subnetzmaske hinzu zu addieren, der Rest der 32 Bits ist Host-Anteil.

  3. Wie sieht die neue Subnetzmaske aus?
    Wie wir bereits ermittelt haben besteht unser neue Subnetzmaske aus Bits Netz-Anteil und Bits Hosts-Anteil. Schreiben wir dieses 32 Bits nun einfach mal in 4 Oktett-Blöcken und mit Punkten getrennt auf:

    NNNNNNNN.NNNNNNNN.NNNNNNNN.NNHHHHHH

    bzw.

    11111111.11111111.11111111.11000000

    Hier wird deutlich das im vierten Oktett einen Netzbereich von 2 Bits entstanden ist, daher merken wir uns x=2 (Wert von x ist gleich die Anzahl der Einsen, die im ersten Oktett (von links aus gesehen) in denen auch Nullen vorkommen)
    Nun muss nur noch jedes Oktett von der Binären in die Dezimale Schreibweise umgerechnet werden. Hier also:

    255.255.255.192

    Und das war’s dann schon.

  4. Wie sehen nun die neuen Subnetze aus?
    Wir erinnern uns: x=2. In der Hilfstabelle ist dies dem Wert 64 zugewiesen. Dies ist unsere Sprungweite d.h. unsere neuen Subnetze beginnen mit (0)*, 64, 128 und (192)*.
    * Laut RFC 950 (Cisco Norm) sollte das erste und letzte Subnetz nicht verwendet werden. Nach RFC 1878 dürfen alle Subnetze verwendet werden.

    Die Subnetze sehen so aus:

    1. Subnetz
    Netz-ID:	192.168.0.0
    Host-Bereich:	192.168.0.1 - 192.168.0.62
    Broadcat:	192.168.0.63
    Subnetzmaske:	255.255.255.192
    
    2. Subnetz
    Netz-ID:	192.168.0.64
    Host-Bereich:	192.168.0.65 - 192.168.0.126
    Broadcat:	192.168.0.127
    Subnetzmaske:	255.255.255.192
    
    3. Subnetz
    Netz-ID:	192.168.0.128
    Host-Bereich:	192.168.0.129 - 192.168.0.190
    Broadcat:	192.168.0.191
    Subnetzmaske:	255.255.255.192
    
    4. Subnetz
    Netz-ID:	192.168.0.192
    Host-Bereich:	192.168.0.193 - 192.168.0.254
    Broadcat:	192.168.0.255
    Subnetzmaske:	255.255.255.192
    

Ein weiteres Beispiel
Jetzt mal ein komplexeres Beispiel des Subnetting:

  1. Randbedingungen
    Unser Kunde besitzt den IP-Bereich 160.230.0.0/22.

    Also:

    Netz-ID:	160.230.0.0
    Host-Bereich:	160.230.0.1 - 160.230.3.254
    Broadcat:	160.230.3.255
    Subnetzmaske:	255.255.252.0
    

    Er wünscht sich mehrere Netz und zwar:

    1. 1 Netz für 300 Hosts
    2. 1 Netz für 100 Hosts
    3. 1 Netz für 50 Hosts

  2. Netz- und Hosts-Bits

    1. 29 – 2 = 510 >= 300 Hosts

      daraus folgen 32 Gesamt-Bits – 9 Host-Bits = 23 Netz-Bits

    2. 27 – 2 = 126 >= 100 Hosts

      daraus folgen 25 Netz-Bits

    3. 26 – 2 = 62 >= 50 Hosts

      daraus folgen 26 Netz-Bits

  3. Neue Subnetzmasken

    1. /23: 255.255.254.0 (x=7, also: Sprungweite=2 im 3. Oktett)
    2. /25: 255.255.255.128 (x=1, also: Sprungweite=128 im 4. Oktett)
    3. /26: 255.255.255.192 (x=2, also: Sprungweite=64 im 4. Oktett)

  4. Subnetze
    Subnetz A
    Netz-ID:	160.230.0.0
    Host-Bereich:	160.230.0.1 - 160.230.1.254
    Broadcat:	160.230.1.255
    Subnetzmaske:	255.255.254.0
    
    Subnetz B
    Netz-ID:	160.230.2.0
    Host-Bereich:	160.120.2.1 - 160.120.2.126
    Broadcat:	160.230.2.127
    Subnetzmaske:	255.255.255.128
    
    Subnetz C
    Netz-ID:	160.230.2.128
    Host-Bereich:	160.230.2.129 - 160.230.2.190
    Broadcat:	160.230.2.191
    Subnetzmaske:	255.255.255.192
    

Und damit nicht genug. In einem Folgeauftrag sollen weitere Subnetze erstellt werden.

  1. Randbedingungen

    1. ein weiteres Netz mit 300 Hosts
    2. ein Netz mit 125 Hosts
    3. möglichst viele Netze mit 32 Hosts

  2. Netz- und Hosts-Bits

    1. s.o., also 23 Netz- und 9 Hosts-Bits
    2. 25 Netz- und 7 Hosts-Bits
    3. 26 – 2 = 62 >= 32 Hosts

      daraus folgen 26 Netz-Bits

  3. Neue Subnetzmasken

    1. 255.255.254.0
    2. 255.255.255.128
    3. 255.255.255.192

  4. Subnetze

    Subnetz D
    Nicht möglich!
    Das Subnetz ist zu groß für den zur Verfügung stehenden IP-Bereich.
    
    Subnetz E
    Netz-ID:	160.230.3.0
    Host-Bereich:	160.230.3.1 - 160.230.3.126
    Broadcat:	160.230.3.127
    Subnetzmaske:	255.255.255.128
    
    Subnetz F1
    Netz-ID:	160.230.2.192
    Host-Bereich:	160.230.2.193 - 160.230.2.254
    Broadcat:	160.230.2.255
    Subnetzmaske:	255.255.255.192
    
    Subnetz F2
    Netz-ID:	160.230.3.128
    Host-Bereich:	160.230.3.129 - 160.230.3.190
    Broadcat:	160.230.3.191
    Subnetzmaske:	255.255.255.192
    
    Subnetz F3
    Netz-ID:	160.230.3.192
    Host-Bereich:	160.230.3.193 - 160.230.3.254
    Broadcat:	160.230.3.255
    Subnetzmaske:	255.255.255.192
    

    Anmerkung: Das Subnetz E kann nicht den IP-Bereich von 160.230.2.192 – 160.230.3.63 belegen, da es sonst zu Überschneidungen mit anderen Subnetzen kommt.

4 comments so far

Kommentieren
  1. Super Erklärung, besten Dank!

  2. Gutes Tut, danke dir dafür!

  3. […] Aber wie berechne ich diese IP Range bei Klasse B und A… Mfg xor Vielleicht hilft Dir das […]

    • Die Netzklassen sind hier erst einmal nicht wichtig, da der „Auftraggeber“ einen Bereich vorgegeben hat. Deine Subnetze werden automatisch zu der Klasse, deren Größe sie entsprechen.

      Hier bekommst du ein Klasse B Netzwerk, was du dann in andere B-Klassen oder A-Klassen aufteilen kannst.

      Diese Netzwerkklassen sind auch nur grobe Grenzen, welche Angeben, wie viele Host -und Netzwerkbits du hast. Im Grunde sind diese eher als abstrakte Richtlinien zu sehen, welche die Größe angeben – Wie Maxi, Normal und Spar-Menü im FastFood-Laden. Dies bedeutet dann also, dass deine Subnetzmaske entscheidet, welche Klasse du verwendest.

      Der Grund der Existenz der Klassen ist der, dass es am Anfang keine Subnetze gab, da hat man durch die ersten Bits (von links gelesen) bestimmt, wie viele Netze oder Hosts es in diesem Bereich gibt.
      __________________________________________________________
      Klasse A: Hatte das erste Bit auf 0, damit war dann der Bereich

      0.0.0.0 – 127.255.255.255 /8

      gegeben. Denn wenn das erste Bit belegt ist bzw. als Auszeichnung gilt, dann kann man mit den restlichen 7 Bits im ersten Oktett noch bis 127 zählen.

      0|0000000.HHHHHHH.HHHHHHHH.HHHHHHHH bis
      0|1111111.HHHHHHH.HHHHHHHH.HHHHHHHH

      Das Klasse B-Netz wird nun damit gekennzeichnet, dass das erste Bit auf 1 und das zweite auf 0 gesetzt ist. (Deren Werte zählt man immer mit, wenn sie gesetzt sind, man darf sie nur nicht ändern.)

      10|000000.HHHHHHHH.HHHHHHH.HHHHHHHH bis
      10|111111.HHHHHHHH.HHHHHHH.HHHHHHHH

      Damit ist nun der Bereich:
      128.0.0.0 – 191.255.255.255 (128-191 = 10000000-10111111 )
      ein Klasse-B Netz.

      Im C-Netz werden diese Anfangs/Auszeichnungs-Bits, welche übrigens Präfix oder MSB(Most significant Bit) genannt werden, so weiter gezählt.

      110… Klasse C
      1110… Klasse D (Multicast)
      1111… Klasse E (unwichtig)

      Deshalb gibt es die Klassen überhaupt, und deswegen sind diese Klassifizierungen auch nicht mehr so wichtig, da die Subnetzmaske mittlerweile vorgibt, wie viele Hosts und Netze mit einem IP-Bereich gebildet werden können.

      Diese Klassen sind nur wichtig, wenn du noch den privaten IP-Bereich berücksichtigst, da diese nicht ins Internet verbinden können – Diesen Bereich also umgehen, der Rest steht dir dann quasi offen. (Selbst da musst halt die Bereiche unabhängig von den Klassen kennen.)

Dein Kommentar

*