Subnetz

Teilnetz eines Netzwerkes beim Internetprotokoll (IP)
Dies ist eine alte Version dieser Seite, zuletzt bearbeitet am 24. Januar 2007 um 19:08 Uhr durch Konstantinopel (Diskussion | Beiträge) (Längenschreibweise: nbsp). Sie kann sich erheblich von der aktuellen Version unterscheiden.

Als Subnetz bezeichnet man die exakte Spezifikation eines Teils des IP-Adressraums. Dabei wird ein zusammenhängender Bereich von IP-Adressen zusammengefasst.

Durch die bitweise Verarbeitung über ein logisches Und entstehen spezielle Semantiken, die eingehalten werden müssen. Dadurch, dass diese Semantiken die möglichen Anfangs- und Endadressen der Adressbereiche stark einschränken, vereinfacht sich gleichzeitig das Ganze jedoch ungemein und erhält eine feste Struktur.

Funktionsweise

Die Absteckung des vom Subnetz erfassten Bereichs erfolgt durch bitweise Maskierung eines bestimmten Teils der IP-Adresse durch die Subnetzmaske. Dadurch erhält man aus einer beliebigen Adresse das Subnetz, zu dem die Adresse unter Annahme dieser Maske gehört.

Beispiele:

Adresse   192.168.1.23  in Binär: 1100'0000 1010'1000 0000'0001 0001'0111
Maske     255.255.255.0 in Binär: 1111'1111 1111'1111 1111'1111 0000'0000
nach logischem Und:               1100'0000 1010'1000 0000'0001 0000'0000  
in Dezimal: 192.168.1.0


Adresse  192.168.1.23  in Binär: 1100'0000 1010'1000 0000'0001 0001'0111
Maske   255.255.252.0  in Binär: 1111'1111 1111'1111 1111'1100 0000'0000
nach logischem Und:              1100'0000 1010'1000 0000'0000 0000'0000  
in Dezimal: 192.168.0.0
Adresse  192.168.2.34  in Binär: 1100'0000 1010'1000 0000'0010 0010'0010
Maske   255.255.255.0  in Binär: 1111'1111 1111'1111 1111'1111 0000'0000
nach logischem Und:              1100'0000 1010'1000 0000'0010 0000'0000  
in Dezimal: 192.168.2.0
Adresse  192.168.2.34  in Binär: 1100'0000 1010'1000 0000'0010 0010'0010
Maske   255.255.252.0  in Binär: 1111'1111 1111'1111 1111'1100 0000'0000
nach logischem Und:              1100'0000 1010'1000 0000'0000 0000'0000  
in Dezimal: 192.168.0.0

Die beiden Adressen 192.168.1.23 und 192.168.2.34 gehören also unter Annahme einer Subnetzmaske von 255.255.252.0 zum selben Subnetz (192.168.0.0), unter Annahme einer Subnetzmaske von 255.255.255.0 jedoch nicht (192.168.1.0 vs. 192.168.2.0). Offenbar ist es wichtig, immer die korrekte Subnetzmaske im Hinterkopf zu behalten.

Es zeigt sich, dass zum selben Subnetz jeweils die Adressen gehören, die sich nur in den binären Stellen unterscheiden, die in der Subnetzmaske Null sind. Damit unterteilt sich die Adresse in einen festen und einen variablen Ziffernteil. Beispiel:

Subnetz   192.168.0.0  in Binär: 1100'0000 1010'1000 0000'00|00 0000'0000
Maske   255.255.252.0  in Binär: 1111'1111 1111'1111 1111'11|00 0000'0000
Hostanteil:                                                 |xx xxxx'xxxx
erste/kleinste Adresse:          1100'0000 1010'1000 0000'00|00 0000'0000  
in Dezimal: 192.168.0.0
letzte/grösste Adresse:          1100'0000 1010'1000 0000'00|11 1111'1111  
in Dezimal: 192.168.3.255
                                         Netzanteil         ^ Hostanteil
                                                          Grenze (siehe nächsten Abschnitt)

Will man ein spezifisches Subnetz bezeichnen, gibt man die erste Adresse in diesem Subnetz zusammen mit der Subnetzmaske an. Beispiele:

  • 192.168.1.0/255.255.255.0
  • 172.16.4.0/255.255.252.0
  • 195.16.85.80/255.255.255.248

Längenschreibweise

Vor der Einführung von CIDR (Classless Inter-Domain Routing) waren für bestimmte Bereiche des IP-Adressraums bestimmte Subnetzmasken festgelegt (s. Netzklasse). So existierten z. B. "Klasse-A Adressen" im Bereich von 0.0.0.0 bis 127.255.255.255. Diese hatten als Maske 255.0.0.0. Andere feste Masken waren 255.255.0.0 und 255.255.255.0.

CIDR hebt diese feste Zuordnung von Subnetzmasken zu IP-Bereichen auf. Statt der vorgegebenen, festen Masken werden nun Masken mit einer bestimmten Länge verwendet. Diese bestehen aus einer Anzahl von zusammenhängenden binären Einsen, gefolgt von binären Nullen zur Auffüllung auf 32 bit. Somit existieren 33 mögliche Masken.

Da die Maskenschreibweise mit 4 Dezimalzahlen dadurch redundante Informationen beinhaltet, notiert man stattdessen die Anzahl der Einsen.

Volle Schreibweise Maskenschreibweise
192.168.1.0/255.255.255.0 192.168.1.0/24
172.16.4.0/255.255.252.0 172.16.4.0/22
195.16.85.80/255.255.255.248 195.16.85.80/29

Da eine IP-Adresse aus 32 bit besteht, ist der variable Teil 32 - Maskenlänge bit lang. Die Anzahl der Adressen im Subnetz berechnet sich dadurch zu 232 - Maskenlänge.

Die Masken /0 und /32 sind speziell in der Hinsicht, dass sie das ganze Internet respektive einen einzelnen Host abdecken.

Die alten Klassen A, B und C entsprechen den Masken /8, /16 und /24. Jedoch kann man anhand der Maskenangabe aber nicht unweigerlich auf eine Klasse eines Netzes zurückschließen, da die Definition der Netzklassen in den ersten drei Bits der IP-Adresse verankert ist.

Zuteilung

Verschiebt man die Grenze zwischen festem (Masken-Einsen) und variablem (Masken-Nullen) Teil, können nun Unter-Subnetze aus einem Subnetz erzeugt werden. Dadurch dass der feste Teil um einige Stellen verlängert wird, kann man mehrere Unter-Subnetze über diese "neugewonnenen" festen Stellen unterscheiden. Da der variable Bereich damit automatisch kleiner wird, sind diese Subnetze jedoch kleiner.

                                                                 Adressen
123.45.64.0/18 - Provider   01111011 00101101 01000000 00000000  16384
  123.45.64.0/20 - Kunde A  01111011 00101101 01000000 00000000  4096
    123.45.64.0/28  - A1    01111011 00101101 01000000 00000000  16
    123.45.64.16/28 - A2    01111011 00101101 01000000 00010000  16
  123.45.80.0/20 - Kunde B  01111011 00101101 01010000 00000000  4096
  123.45.96.0/19 - Kunde C  01111011 00101101 01100000 00000000  8192

(der unterstrichene Teil ist jeweils der feste.)

Verwendung auf Netzwerksegmenten

Ein häufiger Verwendungszweck von Subnetzen ist die Zuweisung eines Adressbereichs an ein Netzwerksegment. Computern an diesem Netzwerksegment werden dabei Adressen aus dem Bereich des jeweiligen Subnetzes zugewiesen.

Aus historischen Gründen sind zwei der Adressen eingeschränkt verwendbar. Dies sind:

  • Die erste IP-Adresse im Subnetz (Hostanteil nur Nullen) – diese Adresse ist die Netzadresse des Subnetzes und diese Adresse wurde auch von Windows 95 als Broadcast-Adresse verwendet. Falls sich keine Windows-95-Computer im Netzwerksegment befinden, kann diese Adresse frei verwendet werden.
  • Die letzte IP-Adresse im Subnetz wird standardmäßig ebenfalls als Broadcast-Adresse verwendet. Viele Systeme unterstützen mittlerweile jedoch auch die Verwendung eines Netzwerks ohne Broadcastadresse. Falls alle Systeme im Netzwerksegment dies unterstützen, kann sie überall deaktiviert und dann normal verwendet werden.

Die Computer am Netzwerksegment verwenden die Subnet-Angabe, um festzustellen, ob sich eine bestimmte IP-Adresse im selben Segment befindet. Dabei wird der am Anfang dieses Artikels beschriebene Test durchgeführt. Je nach Ergebnis wird dann versucht, die Adresse lokal (über ARP) oder entfernt (über einen Router) zu erreichen.

Einfache Möglichkeit um Subnetze zu berechnen

Es gibt eine einfache Möglichkeit, die Aufteilung in Subnetze ohne Hilfsmittel zu berechnen. Dies wird hier an einem Beispiel gezeigt:

Nehmen Sie an, Sie haben das Netz 192.168.10.0 mit der Subnetzmaske 255.255.255.0. Sie möchten dieses Class-C Netz in möglichst viele Subnetze spalten. Pro Subnetz soll aber für mindestens 60 Host-Rechner eine IP-Adresse zur Verfügung stehen.

In diesem Fall berechnen Sie einfach eine Potenz von 2, die mindestens 60+2 (2 mehr als Sie benötigen [für Loopback- und Broadcastadresse]) ergibt. Sie versuchen 2^5, das ergibt 32, also zu wenig. 2^6 ergibt 64. Setzen Sie nun die letzten 6 Bits Ihrer neuen Subnetzmaske auf 0. Die letzte der gesetzten Einsen steht bei der Dezimalzahl 64. Dies ist im Beispiel das Inkrement.

1111'1111.1111'1111.1111'1111.1100'0000 = 255.255.255.192

Bei Einsatz dieser Subnetzmaske haben Sie folgende Subnetze zur Verfügung

  • 192.168.10.0 - 192.168.10.63 (1. Subnetz)
  • 192.168.10.64 - 192.168.10.127 (2. Subnetz)
  • 192.168.10.128 - 192.168.10.191 (3. Subnetz)
  • 192.168.10.192 - 192.168.10.255 (4. Subnetz)

Siehe auch

IPv4, IPv6