Viele halten IP Adressierung für etwas mystisches. Das ist es nicht, im Gegenteil: es ist ein genial einfaches System, das die Funktion des Internets seit vielen Jahren ermöglicht.

Eine IP Adresse besteht mindestens aus der eigentlichen Adresse (z.B. 10.0.0.1) und der dazugehörigen Subnetmaske (z.B. 255.248.0.0). Eine andere Schreibweise für unser Beispiel ist 10.0.0.1/13. Sehr häufig kommt noch ein Standard Gateway dazu, z.B. 10.0.1.254.

Adressen

Adressen sind 4 Byte lange Zahlen (ein Byte sind 8 Bit). Computer rechnen mit einem Zahlensystem, das aus den Werten 0 und 1 (lo und high) besteht, den Binärzahlen. Der theoretische Bereich reicht dabei von 0 (alle 4x8=32 zeichen sind 0) bis 4294967295 (alle Zeichen sind 1). Nicht alle davon sind zulässig.

Die Zahl aus unserem Beispiel entspricht 

Adresse: 00001010 00000000 00000000 00000001

= 167772161

Aus Übersichtlichkeitsgründen habe ich nach jeweils 8 Zeichen einen Abstand gemacht. Diese Adresse ist im Netzwerk von Bedeutung. Die Adressen dienen der Unterscheidung der Maschinen. Für Adressen gilt, daß sie im gesamten Netzwerkverbund einmalig sein müssen, gibt es doppelte Adressen, so können Maschinen nicht identifiziert werden.

Subnetmasken

Größere Netze muß man teilen. Es gibt verschiedene Gründe dafür: Die Netze werden unübersichtlich oder sie bestehen aus verschiedenen Kabelstrukturen (ich meine zum Beispiel schnelles Ethernet oder Token Ring und langsame Wähl oder Standleitungen).

Netze verbindet man immer mit Geräten, die man Router nennt. Ein Router kennt die Wege zu den einzelnen Netzen. Er beurteilt bei jedem Datenpacket, das er erhält, wohin es gehen soll.

Will ein Host mit einem anderen kommunizieren, so muß er wissen, ob sich der andere Host im eigenen LAN oder in einem fremden Netz befindet. Diese Entscheidung wird mittels der Subnetmaske getroffen. Die Subnetmaske gibt an, wie viele Stellen der Computernummer das Netzwerk symbolisieren und wie viele die Nummer des Hosts innerhalb dieses Netzes. Auch die Subnetmaske kann man mit Einsern und Nullen darstellen. Im Internet ist es normal / nötig, von links lückenlos Einser, von rechts lückenlos Nullen zu verwenden.

Ein Host ermittelt zuerst die Adresse seines eigenen Netzes. Dazu wertet er alle die Stellen seiner Adresse aus, an denen in der Subnetmaske Einser stehen.

Die vollständige Adresse unseres Hosts lautet:

Adresse: 00001010 00000000 00000000 00000001

= 167772161 oder 10.0.0.1

Subnetmaske 11111111 11111000 00000000 00000000

= 4294443008 oder 255.248.0.0

Netzwerk: 00001010 00000000 00000000 00000000

= 167772160 oder 10.0.0.0

Bei diesem Vorgang spielt es keine Rolle, an welcher Stelle die Einser enden und die Nullen beginnen.

Ist die Netzwerkadresse des Zielhosts gleich der des sendenden Hosts, so schickt er das Packet direkt zum Empfänger. Falls nicht an das Standardgateway, also den Router, den der Administrator für solche Fälle ausgewählt hat. Natürlich muß das Standardgateway im selben Netz wie der Host liegen, sonst wäre es nicht erreichbar.

Zwei Beispiele:

eigener host 00001010 00000000 00000000 00000001

= 167772161 oder 10.0.0.1

lokales ziel 00001010 00000001 00000000 00000001

= 167837697 oder 10.1.0.1

subnetmaske 11111111 11111000 00000000 00000000

= 4294443008 oder 255.248.0.0

.
eigener host 00001010 00000000 00000000 00000001

= 167772161 oder 10.0.0.1

ziel remote 11000000 10101000 00000010 00000001

= 3232236033 oder 192.168.2.1

subnetmaske 11111111 11111000 00000000 00000000

= 4294443008 oder 255.248.0.0

Für das Verständnis ist wichtig, zu wissen daß jeder Host annimmt, daß der Partner die selbe Subnetmaske wie er selbst hat. Die tatsächliche ist unwichtig (im Beispiel "ziel remote" könnte sie 255.255.255.0 sein)

Routing:

Ein Router ist ein Gerät, das mehrere Netze verbindet und den Datenverkehr von einem Netz ins andere leitet. Genauso wie die IP Adressen im Lan  nicht doppelt vor kommen dürfen, dürfen im gesamten Netzverbund keine doppelten Netzwerkadressen vorkommen. Im oberen Beispiel bei "Ziel remote" müßte unser Gateway (10.1.0.254) ein Weg in das Netz 192.168.2.0 kennen.

Gültige und ungültige IP adressen

Es gibt eine ganze Reihe von ungültigen Host Adressen und Netzwerkadressen.

Regeln für Hostadressen:

Regeln für Netzwerkadressen:

Adressklassen

Im Internet sind 5 Klassen von IP Adressen unterschieden. Ausschlaggebend dafür, welcher Klasse eine Adresse angehört ist die Lage der ersten 0 in den ersten 4 Bits. Zu jeder Adressklasse gehört eine Standard Subnetmaske.

Klasse binär von - bis Netze Hosts Maske privater bereich:
A 0??????? 1.0.0.0
126.0.0.0
126 16.777.214 255.0.0.0 10.0.0.0
B 10?????? 128.0.0.0
191.255.0.0
16.384 65.534 255.255.0.0 172.16.0.0
172.31.0.0
169.254.0.0*
C 110????? 192.0.0.0
233.255.255.0
2.097152 254 255.255.255.0 192.168.?.0
D 1110????? 234.0.0.0
239.255.255.255
       
E 1111???? ab 240.0.0.0        

* von Microsoft zur automatischen Aadressvergabe ab Win98 und Win2000 verwendet

die Klasse D ist für Multicasts (Nachrichten an eine Gruppe von Hosts) vorgesehen, die klasse E für experimentelle Zwecke (das heißt sie dürfen niemals verwendet werden). Hosts dürfen in diesen beiden Klassen nicht definiert werden!