by Skeedo 2001
Damit Computer über ein Netzwerk miteinander kommunizieren können, benötigen
sie eine Addresse. Bei der Verwendung der TCP/IP-Protokolle ist das die
IP-Addresse. Diese Addresse hat eine Länge von 32bit. Zur besseren Lesbarkeit
werden diese Bits zu jeweils vier mal acht Bits zusammengefasst.
Beispielsweise: 189.168.2.19
in Wahrheit steckt dahinter natürlich 10111101.10101000.00000010.00010011
Nun gut, aber verbirgt sich dahinter auch ein System?! Natürlich, natürlich:
Die normale IP-Addresse besteht aus der Netzwerk-Nummer und der Host-Nummer.
Damit die IP-Addressierung möglichst flexibel erfolgen kann, haben die
Entwickler drei Standard-Klassen definiert:
Klasse A:
Die Netzwerk-Nummer ist 8-bit lang. Das erste Bit davon muss auf
0 gesetzt werden um es als Klasse-A-Netzwerk zu identifizieren. Die
Host-Nummer ist hier 24-bit lang.
Die Addressen 0.0.0.0 und 127.0.0.1 sind reserviert.
Daraus ergibt sich eine maximale Anzahl von 126 (= 2E7-2) Netzwerken und
16777214 (= 2E24-2) Hosts.
Geschrieben wird das dann beispielsweise so: 119.57.12.33/8
0111 1111 . 1111 1111 . 1111 1111 . 1111 1111
<--NN---> <----------Host Nummer---------->
Klasse B:
Ok, machen wir's etwas kürzer:
Netzwerk Nummer: 16-bit, die ersten beiden Bits sind 10
--> maximal 16384 Netzwerke (2E14)
Host Nummer: 16-bit
-->maximal 65534 Hosts pro Netzwerk (2E16-2)
Schreibweise: 144.1.1.3/16
1011 1111 . 1111 1111 . 1111 1111 . 1111 1111
<--Netzwerk-Nummer--> <----Host Nummer---->
Klasse C:
Netzwerk Nummer: 24-bit, die ersten drei Bits sind 110
--> maximal 2097152 Netzwerke (2E21)
Host Nummer: 8-bit
--> maximal 254 Hosts pro Netzwerk (2E8-2)
Schreibweise: 211.12.2.14/24
In der dezimalen Schreibweise (die mit der besseren Lesbarkeit...) sieht
das dann in etwa so aus:
Klasse A: | 1.xxx.xxx.xxx | bis | 126.xxx.xxx.xxx |
Klasse B: | 128.xxx.xxx.xxx | bis | 191.255.xxx.xxx |
Klasse C: | 192.0.0.xxx | bis | 223.255.255.xxx |
Subnetze:
OK, jetzt gibt es noch die Möglichkeit s.g. Subnetze zu definieren.
Mit anderen Worten, ein Klasse A, B oder C Netz aufzuspalten.
Die geschieht, indem man einige Bits der Host Nummer zur Adressierung des
Subnetzes verwendet.
Stellen wir uns vor, wir sind ein Internet-Router (seltsame Vorstellung)
wir bekommen jetzt ein Packet für folgende IP-Addresse rein:
211.23.23.15
in binärer Schreibweise:
110 10011.00010111.00010111.00001111
die ersten drei bit sind 110, daraus folgern wir: es ist KLasse C mit
einer 24-bit langen Netzwerkaddresse:
11010011.00010111.00010111
Das Packet soll zum Host Nummer 15, aber das ist das Problem des Routers,
der für das entsprechende Netzwerk zuständig ist. Also schicken wir das
Packet an 211.23.23.0
Dort angekommen steht der "lokale" Router vor einem Problem:
Das Netzwerk ist in mehrere Subnetze aufgespalten. Doch woher soll er wissen
welcher Teil von 00001111 zur Subnetzaddresse gehört und welcher den Host
bestimmt?
Dies geschieht durch das "Extended Network Prefix", also einer erweiterten
Netzwerk Nummer. Das Ausmaß dieser Addresse, die wie wir gesehen haben für
den Internet-Router ohne Bedeutung ist, wird über eine Subnetzmaske
festgelegt.
Für dieses Beispiel könnte das so aussehen:
IP-Addresse: 11010011.00010111.00010111.00001111
Subnetzmaske: 11111111.11111111.11111111.11111100
(bzw.: 255.255.255.252)
Alle Bits die in der Subnetzmaske den Wert 1 haben sind in der IP-Addresse
Bestandteil der Erweiterten Netzwerk-Nummer. Hier also die ersten 30-bit.
Durch das Präfix 110 wissen wir das es sich um ein Klasse C-Netzwerk mit
einer 24-bitigen Netzwerknummer handelt. Daher können wir die Subnetzaddresse
leicht ermitteln: 30 - 24 = 6 . Das bedeuted, daß die letzten 6 gesetzten
Bits der Erweiterten Netzwerk-Nummer das Subnetz bestimmen:
000011 = 3 --> Die Subnetzaddresse ist 3 (dezimal)!!!
Maximal möglich wären 64 (= 2E6) Subnetze.
So, das dürfte für den Anfang ausreichen.
Ich habe nichts dagegen, wenn jemand diesen Text verwenden will. Er darf aber
nicht
abgeändert werden.
Kritik, Verbesserungen, Lobpreisungen an skeedo@hushmail.com