Subnetting -- Bildung von "Unternetzen"
Gegeben sei eine Konfiguration, die eigentlich jeder kennt.
Eine Netzadresse 192.168.0.0 mit der Subnetzmaske 255.255.255.0.
In diesem Netz kann man 256 Adressen vergeben, abzüglich der 192.168.0.0
für das Netz, 192.168.0.255 für die Broadcast-Adresse, bleiben 254 Adressen
für die Hosts.
Wie kommen die 256(254) Adressen zustande, bzw. wie erkennt man den Netz-
und den Hostanteil dieser IP-Adresse?
Beispiel:
Host: 192.168.0.1
Mask: 255.255.255.0
Dieses Beispiel tragen wir in eine Tabelle ein.
Erklärung zur Tabelle:
Die erste Zeile repräsentiert die Bitwerte der einzelnen Byte's, um zu veranschaulichen,
wie aus der Dualzahl 11000000 eine 192 wird oder auch umgekehrt, usw.
11000000 in Byte 1 bedeutet, Bit 1, Bit 2 sind gesetzt, Bit 3 bis Bit 8 sind Null. Zählt man
die Bitwerte der gesetzten Bits zusammen, kommt man auf 192.
Eigentlich werden die Bits 8,7,6.....1 "nummeriert", wir bleiben trotzdem bei 1,2,3...8,
um die Lesbarkeit zu vereinfachen.
Das Ganze wiederholt man für jedes Byte.
Zeile 2 ist die IP-Adresse, Zeile 3 ist die Subnetzmaske, welche genau 24 Bit lang ist.
Die Länge der Subnetzmaske bestimmt den Netzanteil, die übriggeblieben Bits stellen
den Hostanteil abzüglich der 2 Knoten für Netz und Broadcast.
Da die ganze IP-Adresse 32 Bit lang ist, bleiben nun 8 Bit zur Adressierung von Netz,
Broadcast und Hosts über, 2^8 ergibt 256.
Wie erkennt man nun, in welchem Netz sich der Host 192.168.0.1 befindet?
Dazu werden alle Bits der Zeile 2, Hostadresse 11000000101010000000000000000001
bitweise "logisch und" mit der dritten Zeile, der Subnetzmaske,verknüpft.
Der Operator "logisch und" erwartet, dass beide Operanden wahr sind.
Heißt, 1 und 0 ist unwahr, 0 und 1 ist unwahr, 0 und 0 ist unwahr, 1 und 1 ist
wahr.
Führt man diese Verknüpfung Bit für Bit durch, so erhält man 192.168.0.0., das
Netz, in dem sich der Host 192.168.0.1 befindet.
Nun zum Subnetting.
Um z.B 2 Netze zu verwirklichen, muß die Netzadresse um genau 1 Bit
verlängert werden, dazu mehr weiter unten. Das erreicht man, indem
man was tut? Genau, die Subnetzmaske wird verlängert, nämlich um genau 1 Bit.
Denn DIE bestimmt ja, wann ist eine Adresse ein Netz, wann ein Host.
Wenn man in der Tabelle 1 die Subnetzmaske um 1 Bit verlängert, setzt man
das erste Bit des vierten Byte's mit dem Wert 128.
Neue Subnetzmaske daher: 255.255.255.128.
Diese Subnetzmaske bewirkt folg.:
Das erste Bit des vierten Bytes gehört nun zur Netzadresse, bleiben 7 Bits
zur Adressierung von Netz, Broadcast und Hosts. 2^7 ergibt 128, abzüglich
Netzadresse und Broadcast PRO Netz.
Der Bitwert dieses Bits, nämlich 128, gibt die "Schrittweite" der Netze vor:
Netz 1: 192.168.0.0
Hosts: 192.168.0.1 – 192.168.0.126
Broadcast: 192.168.0.127
Netz 2: 192.168.0.128
Hosts: 192.168.0.129 – 192.168.0.254
Broadcast: 192.168.0.255
Dazu zwei Hosts als Beispiel:
192.168.0.1
192.168.0.254
Die tragen wir wieder in die Tabelle ein, mit der Maske 255.255.255.128:
Host 1, 192.168.0.1:
Host 2, 192.168.0.254:
Bitweise "logisch und" Verknüpfung der zweiten und dritten Zeile liefert im ersten Fall die
Netzadresse 192.168.0.0, im zweiten Fall die Netzadresse 192.168.0.128.
Hostadresse 192.168.0.254, obwohl im letzten Byte nur Bit 2 bis Bit 8 zur Verfügung
stehen?
Eine Netzwerkkarte bekommt ja schließlich die "komplette" IP, und nicht nur den Anteil
des Hosts. Zieht man von 254 128 ab, so bleiben 126. Den Host gibt's aber im Netz 0
auch. Da durch die bitweise "logisch und" Verknüpfung aber der Hostanteil aus der IP
ausgeblendet wird, können beide Hosts existieren, einer im Subnetz 0, der andere im
Subnetz 128, was mit der Subnetzmaske 255.255.255.0 nicht möglich wäre.
Stichwort Broadcast, oft gefallen, nicht erklärt.
Die Broadcast-Adresse ist die Adresse, über die ein Rechner alle anderen im Netz
erreichen kann. Will der Rechner ein Datenpaket verschicken, so "ruft" er über die
Broadcast-Adresse: "Hallo..., gibt's hier jemand mit der IP 192.168.0.34?"
Ist der gesuchte Rechner im gleichen Netz, so antwortet er, wenn nicht, geht
das Paket zum Standardgateway.
Und diese Broadcast-Adresse läßt sich auch über eine logische Verknüpfung
ermitteln, nämlich mit der bitweisen "logisch oder" Verknüpfung der IP
mit der invertierten Subnetzmaske.
Invertierte Subnetzmaske heißt, alle Bits, die auf 1 gesetzt sind, werden auf 0
gesetzt und umgekehrt.
Dazu das Beispiel Host 1, siehe oben:
Mit Subnetzmaske
Mit invertierter Subnetzmaske:
Oben wurde ja behauptet, der Broadcast in Netz 0 wäre 192.168.0.127.
Die bitweise "logisch oder" Verknüpfung erwartet, im Gegensatz zur bitweisen "logisch
und" Verknüpfung, dass mindestens ein Operand wahr ist.
Also, 0 und 1 ergibt wahr, 1 und 0 ergibt wahr, 1 und 1 ergibt wahr, 0 und 0 ergibt
unwahr.
Verknüpft man nun Zeile 2 (Host) bitweise "logisch oder" mit Zeile 3, so erhält man
192.168.0.127, somit wäre die Broadcast-Adresse für Subnetz 0 bestimmt.
Nun zum oben versprochenen " mehr weiter unten ": Anzahl der Subnetze
Zugrunde liegt immer noch die Konfiguration 192.168.0.0 – 255.255.255.0
Die Anzahl der Subnetze läßt sich natürlich nicht beliebig bestimmen, sondern sie ergibt sich aus der Potenz 2^Anzahl_Bits. Anzahl_Bits ist die Anzahl der Bits, um die die
Subnetzmaske zur Bildung von Subnetzen verlängert wird.
In Tabelle 2 wurde die Subnetzmaske um 1 Bit verlängert.
Der Wert des Bits ist 128, daher die Subnetzmaske 255.255.255.128.
2^1 ergibt 2, daher 2 Subnetze.
Dieses eine Bit kann 2 Zustände annehmen: 0 oder 1.
0 ist 0, Subnetz 192.168.0.0
1 ist 128, Subnetz 192.168.0.128
Das Ergebnis der Potenz 2^Anzahl_Bits muß also >= Anzahl Subnetze sein.
Beispiel 3 Subnetze:
2^1 ergibt 2, reicht nicht.
2^2 ergibt 4, reicht, die Subnetzmaske wird um 2 Bits verlängert, die Bits haben
die Werte 128 und 64, ergibt 192. Neue Subnetzmaske: 255.255.255.192.
Diese 2 Bits können nun 4 Zustände annehmen:
0 und 0 ergibt 0, Subnetz 192.168.0.0
0 und 1 ergibt 64, Subnetz 192.168.64.
1 und 0 ergibt 128, Subnetz 192.168.128.
1 und 1 ergibt 192, Subnetz 192.168.192.
Das Ganze mal ausführlich:
Tragen wir mal einen beliebigen Host, 192.168.111 in eine Tabelle ein:
Verknüpft man nun Zeile 2(Host) bitweise "logisch und" mit Zeile 3(Subnetzmaske), so
erhält man 192.168.0.64, das Subnetz, in dem sich der Host 192.168.0.111 befindet.
Oder auch:
256 – 192 = 64
111 / 64 = 1 Rest 47, Rest kann wegfallen, der Rechner ist im Netz 1.
Zu beachten: Die Netze werden 0,1,2,3..usw. gezählt, daher ist Netz 1 richtig.
________________________________
Mit freundlichen Grüßen
MX-5