Netzwerkadressen im Internet - Teil 2

Subnetze - Die Aufteilung eine großen Netzes in ein oder mehrere Teilnetze

Im ersten Teil wurde auf http://www.schulze-edv.de erläutert, wie die IP V4 Adressen im Internet organisiert wurden. Dabei wurde auch deutlich, daß es Netze mit einer aberwitzig großen Zahl von Hosts gibt (mehr als 16 Millionen Hosts für Klasse-A Netze) während andererseits die Anzahl dieser Netze selbst engeren Schranken unterliegt. Um einer größeren Zahl von Organisationen, Unternehmen etc. eigene Netze zur Verfügung stellen zu können bzw. um Netze (hauptsächlich der Klassen A und B) aus Gründen der Übersichtlichkeit oder Performanz in kleine Teilnetze zu splitten, wurden Teilnetze, sog. Subnetze eingeführt.

Wir haben bereits gesehen, daß eine IP V4 Internet-Adresse immer aus 4 Bytes besteht. Diese 4 Bytes beinhalten jeweils einen Anteil für ein Netz, sowie einen Teil für die dazugehörigen Hosts. Den Teil, der das Netz beschreibt, deckt die sogenannte Netzmaske ab.

Für ein Klasse-A Netz, dessen Netz nur durch das erste Byte beschrieben wird, ist die Standard Netzmaske: 255.0.0.0 d.h. binär 11111111.00000000.00000000.00000000

Für ein Klasse-B Netz, dessen Netz durch die ersten beiden Byte beschrieben werden, ist sie: 255.255.0.0

Für ein Klasse-C Netz, dessen Netzanteil durch die ersten drei Byte repräsentiert werden, ist sie: 255.255.255.0

Der Hostanteil wird also durch den Bereich der Netzmaske definiert, der NULL ist. Der Netzanteil durch den Bereich der Netzmaske, der EINS ist. Solange man also Standard-Internet-Adressen verwendet braucht man sich über die dazugehörige Netzmaske keine größeren Gedanken machen. Anders sieht es jedoch aus, wenn die Standardnetzmaske nicht ausreicht, sondern vergrößert / ausgedehnt wird.

Der Netzanteil einer Internet-Adresse wird immer von links nach rechts definiert.

Für ein Klasse-B Netz läßt sich das folgendermaßen darstellen:

                           Netzanteil ----------> Hostanteil

Adresse dezimal: 185.209.Hostanteil.Hostanteil

Adresse binär:     10111001.11010001.Hostanteil.Hostanteil

Netzmaske:          255.255.0.0

bzw. binär           11111111.11111111.00000000.00000000

In einem Klasse-B Netz hat man in der Standardeinstellung genau 1 Netz zur Verfügung mit ca. 15.000 Hosts. Ein solches Netz wird jedoch schnell unbersichtlich und ist wegen der schieren Menge der Hosts auch noch wahnsinnig langsam. Deshalb soll das Netz in zwei Subnetze aufgeteilt werden. Dazu wird die Netzmaske hier in diesem einführenden Beispiel um ein paar Bit nach rechts verschoben. Im ersten Beispiel sollen dafür 2 Bits genügen. Wir werden später die Netzmaske noch weiter nach rechts schieben und beobachten, was passiert. Für den Anfang reicht jedoch die Aufteilung in zwei unabhängige Netze.

Wir stellen die Erweiterung diesmal zunächst in binärer Form dar:

Netzmaske:          11111111.11111111.11000000.00000000

Im Gegensatz zur Standard-Netzmaske sind jetzt auch das 7. und 6. Bit aus dem dritten Byte auf 1 gesetzt. In dezimaler Form lautet die Netzmaske also nun:

                            255.255.192.0

Das bedeutet, die byte-weise Aufteilung in Netzanteil.Netzanteil.Hostanteil.Hostanteil funktioniert nicht mehr. Die Trennung von Netz und Host findet jetzt nicht mehr auf einer Bytegrenze, sondern mitten in einem Byte statt. In diesem 'angefangenen' Byte verwende ich zunächst für dieses Beispiel nur ein einzelnes Bit. Dieses eine Bit kann zwei Zustände wiedergeben: 0 oder 1. Also kann man damit zwei Netze unterscheiden. Die Unterscheidung erfolgt für unser Verständnis am einfachsten dergestalt, daß man die Subnetzmaske über die Internetadressen (beide in binärer Form) legt. Dann wird eine Logische UND - Operation ausgeführt. Die funktioniert nach folgenden Regeln:

1 + 0 = 0

0 + 1 = 0

0 + 0 = 0

1 + 1 = 1

Man kann sich das funktionieren dieser Berechnung am besten dadurch veranschaulichen, daß den Bitzustand "1" als WAHR und Bitzustand "0" als FALSCH versteht.

WAHR + FALSCH bleibt FALSCH

FALSCH + WAHR bleibt FALSCH

FALSCH + FALSCH ist FALSCH und nur

WAHR + WAHR ist WAHR

Entscheidend ist das Ergebnis der UND - Operation. Nur wenn das entscheidende Bit der Subnetzmaske und das an derselben Stelle stehende Bit der Netzadresse auf 1 stehen ist das Ergebnis ebenfalls 1. In allen anderen Fällen ist das Ergebnis 0. Für unser Beispiel heißt das:

da das 8. Bit die 128 kodiert sieht man in dezimalen Zahlen dargestellt daß Adressen, die im dritten Byte < als 128 sind das eine Subnetz, Adressen, die im dritten Byte >= 128 sind das andere Subnetz darstellen.

1. Beispieladresse: 185.209.113.7

binär:                    10111001.11010001.01110001.00000111

Subnetzmaske:      11111111.11111111.10000000.00000000

log. UND              10111001.11010001.00000000.00000000 (es interessiert uns nur Bit 7 aus dem 3. Byte)

2. Beispieladresse: 185.209.129.7

binäer                    10111001.11010001.10000001.00000111

Subnetzmaske:       11111111.11111111.10000000.00000000

log. UND               10111001.11010001.10000000.00000000 (es interessiert uns nur Bit 7 aus dem 3. Byte)

Die Hosts 185.209.113.7 und 185.209.129.7 befinden sich auf diese Weise in zwei verschiedenen (Sub-)Netzen und sind deshalb nicht mehr in der Lage auf direktem Weg (d.h. ohne Router) miteinander zu kommunizieren, selbst wenn sie an demselben Kabel hängen.

Da jedes Bit zwei Zustände kodieren kann, kann man die Anzahl der Subnetze in Zweier-Potenzen festlegen. Benutzt man nicht nur das Bit Nr. 7, sondern auch Nr. 6 kann man 4 Zustände / Subnetze kodieren. An unserm Beispiel eines Klasse-B Netzes sehen die Subnetzmasken dann so aus:

1.  Zustand von Bit 7 und 6: 00        Subnetzmaske von 255.255.0.0       (0+0=0)

2.  Zustand von Bit 7 und 6: 01        Subnetzmaske von 255.255.64.0     (0+64=64)

3.  Zustand von Bit 7 und 6: 10        Subnetzmaske von 255.255.128.0   (128+0=128)

4.  Zustand von Bit 7 und 6: 11        Subnetzmaske von 255.255.192.0   (128+64=192)

Mit drei Bits sind es 2 hoch 3 = 8 Zustände mit einer maximalen Subnetzmaske von 255.255.224.0 usw. Dabei wird der Netzanteil der Adresse zwangsläufig immer größer, während die Anzahl der Hosts abnimmt.

Auf dieselbe Art und Weise kann man schnell bestimmen, was für eine Netzmaske benötigt wird, wenn man weiß wieviele Netze man einrichten möchte. Wer z.B. 12 Netze braucht rechnet :2 hoch 2 = 4 - zu wenig; 2 hoch 3 = 8 - immer noch zu wenig; 2 hoch 4 = 16 - paßt. Bei der Berechnung muß man jedoch berücksichtigen, daß man immer 2 Netze nicht nutzen kann (alles Null bzw. alles Eins also das erste bzw. das letzte Subnetz). Bei 2 hoch 4 = 16 - 2 = 14 hat man also effektiv 14 Subnetze.

Bei den bisherigen Beispielen haben wir für ein Klasse-B Netz Teile aus dem dritten Byte hinzugenommen. Es ist aber durchaus möglich, ein Klasse-A Netz in kleine Subnetze zu zerlegen, indem man die Subnetzmaske von 255.0.0.0 auf z.B. 255.255.252.0 ausdehnt. Binär sieht die Subnetzmaske so aus:

11111111.11111111.11111100.000000

Dabei präsentieren die Einsen jetzt den Netzanteil, während die Nullen den Hostanteil darstellen. Man kann aber durchaus die Subnetzmaske des Beispiels auf 255.255.255.0 setzen und damit 64516 Netzwerke mit 254 Hosts schaffen:

11111111.11111111.11111111.00000000

Da eine Subnetzmaske, die exakt auf einer Bytegrenze verläuft, aber zu Problemen mit der Rückwärts-Namenauflösung von DNS führen kann, sollte man solche Subnetzmasken nicht verwenden. Obwohl also theoretisch möglich ist eine Subnetzmaske von 255.255.255.0 für ein Klasse-A Netz ist nicht optimal.

Einschränkung

Es gibt Sonderfälle, die nicht nutzbar sind. Wir haben schon an mehreren Stellen gesehen, daß Adressen, bei denen im Hostteil alle Bits auf Null stehen ein komplettes Netz bezeichnen, bzw. wenn alle Bits auf Eins stehen ein Broadcast definiert ist. Diese Adressen dürfen nicht verwendet werden. Dasselbe gilt, wenn alle Bits des Netzwerkteils auf Eins bzw. Null stehen.

(c) Schulze-EDV-Service 2001. http://www.schulze-edv.de

Wer die Info über das Adressierungsschema im Internet noch genauer haben möchte findet hier ein 60-seitiges PDF-Dokument bei 3COM: http://www.3com.com/solutions/en_US/ncs/501302.html

Zurück zu den FAQ

Netzwerkadressen im Internet - Teil 3