Diese Tutorial wurde von MrNiceGuy geschrieben.
------------------------------------------------
IPv4
Eine gültige IPv4-Adresse besteht aus 4 Zahlen zwischen 0 und 255, die durch einen Punkt getrennt werden (z.B. 192.168.0.1). Zusätzlich zu der IP-Adresse benötigt man jedoch noch eine sogenannte Subnet-Mask (z.B. 255.255.255.0), die das Netzwerk identifiziert, in dem sich ein Rechner befindet.
Es gibt verschieden Arten von Netzen:
0.0.0.0 - Wird für das Routing verwendet und stellt keine Netzadresse ansich dar
10.x.x.x/8 - Dies ist eine private Adresse für ein KLasse A-Netz
127.0.0.1/8 - Dies ist IMMER der lokale Rechner und kann deswegen ebenfalls nicht vergeben werden.
172.13.0.0/16 - .172.32.255.255/16 - Wie 10.x.x.x/8, jedoch ein Klasse B-Netz
192.168.x.x/24 - Wie 10.x.x.x/8, jedoch ein Klasse C-Netz
Diese Netze werden durch die Subnet-Mask festgelegt. Die IP-Adresse wird mittels der Subnet-Mask in Netz-Anteil und Rechner-Anteil aufgesplitet. Man muss sich dafür die IP-Adresse als Binärzahl (Zahlensystem mit der Basis 2) vorstellen:
192 . 168 . 0 . 1
entspricht der Binärfolge:
Code:
Da diese Adresse ein Klasse C-Netz ist, ist die Subnet-Mask folgende:
255 . 255 . 255 . 0
und in Binärschreibweise:
Code:
Die Einsen in der Subnet-Mask (Binärform) stellen den Netz-Anteil eines Netzwerkes dar. Die Nullen stehen für den Rechner-Anteil. Da die Subnet-Mask eines Klasse B-Netzes 255.255.0.0 ist, können im Vergleich zum Klasse C-Netz 65534 Rechner angeschlossen werden (beim Klasse C-Netz sind es 254). Warum sind es nicht 256 bzw. 65536 Rechner? Ganz einfach: In einem Netz gibt es eine Netz- und eine Broadcast-Adresse. Die Netz-Adresse ist die Niedrigste und die Broadcast-Adresse die Höchste im Netzwerk. Nehmen wir das Klasse C-Netz von oben als Beispiel, dann ist 192.168.0.0 die Netz- und 192.168.0.255 die Broadcast-Adresse. Diese dürfen nicht für Rechner werwendet werden. Um einmal deutlich zu machen, was es mit der Subnet-Mask direkt auf sich hat, verknüpfen wir die IP-Adresse mit einem logischen UND mit der Subnet-Mask:
Code:
Die Broadcast-Adresse ermittelt man, indem man in der Netz-Adresse alle Bits auf 1 setzt, die in der Subnet-Mask auf Null stehen:
Code:
Recht einfach, oder?
Alle Rechner, die die selbe Netz-Adresse haben können direkt miteinander kommunizieren. Weichen die Netz-Adressen ab, ist ein Router von nöten, der die beiden unterschiedlichen Netze miteinander verbindet.
Nur so am Rande sei erwähnt, dass man IP-Adressen folgendermaßen schreibt:
192.168.0.1/24
Die 24 steht für die Anzahl der Bits, die für die Subnet-Mask auf 1 gesetzt werden. Man erspart sich dadurch die Subnet-Mask direkt aufschreiben zu müssen (Informatiker sind faul ).
Die Bezeichnung und Festlegung auf Klasse A-, B- und C-Netze ist rein "formell". Man kann natürlich beliebige Subnet-Masks nutzen. So kann man Sub- oder Supernetze erstellen, indem man in der Subnet-Mask entweder weniger Bits für den Netz-Anteil verwendet (Supernetz) oder mehr (Subnetz). Die Anzahl der möglichen Hosts ändert sich logischerweise dadurch, sonst hätte es auch keinen Sinn ein solches Unterfangen zu realisieren
Als kleines Beispiel wollen wir einmal ein Klasse C-Netz nutzen, in dem wir 500 PCs anschließen wollen. Ein Klasse B-Netz wäre unsinnig, da es viel zu viele mögliche Adressen geben würde, wir wollen das kleinsmögliche Netzwerk nutzen. Wir brauchen also mehr Adressen, da wir so nur 254 zur Verfügung haben. Sinnvoll wären 510 (512 - 2 Adressen für Netz- und Broadcast-Adresse). Hierzu ziehen wir ein Bit aus der Subnet-Mask aus dem Netz-Anteil ab:
Code:
Nun haben wir folgende Netz- und Broadcast-Adressen:
Code:
Man kann deutlich erkennen, dass wir die Adressbereiche von 192.168.0.0/24 und 192.168.1.0/24 mittels 192.168.0.0/23 zusammengelegt haben. Ein Rechner aus dem Netz 192.168.0.0/24 kann nun jedoch nicht mehr auf unser Netzwerk zugreifen, da die Subnet-Mask nicht korrekt ist.
Wir haben soeben ein Supernetz erstellt. Ein Subnetz kann man auf die gleiche Weise in anderer Richtung erstellen, man nimmt einfach eni Bit zum Netz-Anteil hinzu, anstatt eins abzuziehen. Die Anzahl der möglichen Rechner im Netz verringert sich dadurch logischerweise.
Ich hoffe, dass ich einigermaßen gut darstellen konnte, wie IPv4 eigentlich funktioniert, auch wenn ich auf Inhalte wie z.B. Routing nicht näher eingegangen bin, aber das würde den jetzigen Rahmen definitiv sprengen. Ich werde sehen, ob ich in den nächsten Tagen dazu komme noch ein bisschen was zu Ports zu schreiben und auf einige wichtige Details zu IPv4 einzugehen. Wenn jemand anderes mich korrigieren möchte: Nur zu, nobody is perfect und wenn jemand etwas ergänzen möchte: Ebenfalls gerne gesehen
So far
MNG
-----------
das Tutorial ist schon etwas älter ..
hier der Originalthread:
http://www.phpfriend.de/forum/viewtopic.php?t=14176
------------------------------------------------
IPv4
Eine gültige IPv4-Adresse besteht aus 4 Zahlen zwischen 0 und 255, die durch einen Punkt getrennt werden (z.B. 192.168.0.1). Zusätzlich zu der IP-Adresse benötigt man jedoch noch eine sogenannte Subnet-Mask (z.B. 255.255.255.0), die das Netzwerk identifiziert, in dem sich ein Rechner befindet.
Es gibt verschieden Arten von Netzen:
0.0.0.0 - Wird für das Routing verwendet und stellt keine Netzadresse ansich dar
10.x.x.x/8 - Dies ist eine private Adresse für ein KLasse A-Netz
127.0.0.1/8 - Dies ist IMMER der lokale Rechner und kann deswegen ebenfalls nicht vergeben werden.
172.13.0.0/16 - .172.32.255.255/16 - Wie 10.x.x.x/8, jedoch ein Klasse B-Netz
192.168.x.x/24 - Wie 10.x.x.x/8, jedoch ein Klasse C-Netz
Diese Netze werden durch die Subnet-Mask festgelegt. Die IP-Adresse wird mittels der Subnet-Mask in Netz-Anteil und Rechner-Anteil aufgesplitet. Man muss sich dafür die IP-Adresse als Binärzahl (Zahlensystem mit der Basis 2) vorstellen:
192 . 168 . 0 . 1
entspricht der Binärfolge:
Code:
Code:
1 1 0 0 0 0 0 0 . 1 0 1 0 1 0 0 0 . 0 0 0 0 0 0 0 0 . 0 0 0 0 0 0 0 1
255 . 255 . 255 . 0
und in Binärschreibweise:
Code:
Code:
1 1 1 1 1 1 1 1 . 1 1 1 1 1 1 1 1 . 1 1 1 1 1 1 1 1 . 0 0 0 0 0 0 0 0
Die Einsen in der Subnet-Mask (Binärform) stellen den Netz-Anteil eines Netzwerkes dar. Die Nullen stehen für den Rechner-Anteil. Da die Subnet-Mask eines Klasse B-Netzes 255.255.0.0 ist, können im Vergleich zum Klasse C-Netz 65534 Rechner angeschlossen werden (beim Klasse C-Netz sind es 254). Warum sind es nicht 256 bzw. 65536 Rechner? Ganz einfach: In einem Netz gibt es eine Netz- und eine Broadcast-Adresse. Die Netz-Adresse ist die Niedrigste und die Broadcast-Adresse die Höchste im Netzwerk. Nehmen wir das Klasse C-Netz von oben als Beispiel, dann ist 192.168.0.0 die Netz- und 192.168.0.255 die Broadcast-Adresse. Diese dürfen nicht für Rechner werwendet werden. Um einmal deutlich zu machen, was es mit der Subnet-Mask direkt auf sich hat, verknüpfen wir die IP-Adresse mit einem logischen UND mit der Subnet-Mask:
Code:
Code:
1 1 0 0 0 0 0 0 . 1 0 1 0 1 0 0 0 . 0 0 0 0 0 0 0 0 . 0 0 0 0 0 0 0 1 - IP-Adresse (192.168.0.1) 1 1 1 1 1 1 1 1 . 1 1 1 1 1 1 1 1 . 1 1 1 1 1 1 1 1 . 0 0 0 0 0 0 0 0 - Subnet-Mask (255.255.255.0) 1 1 0 0 0 0 0 0 . 1 0 1 0 1 0 0 0 . 0 0 0 0 0 0 0 0 . 0 0 0 0 0 0 0 0 - Netz-Adresse (192.168.0.0)
Die Broadcast-Adresse ermittelt man, indem man in der Netz-Adresse alle Bits auf 1 setzt, die in der Subnet-Mask auf Null stehen:
Code:
Code:
1 1 0 0 0 0 0 0 . 1 0 1 0 1 0 0 0 . 0 0 0 0 0 0 0 0 . 0 0 0 0 0 0 0 0 - Netz-Adresse (192.168.0.0) 1 1 1 1 1 1 1 1 . 1 1 1 1 1 1 1 1 . 1 1 1 1 1 1 1 1 . 0 0 0 0 0 0 0 0 - Subnet-Mask (255.255.255.0) 1 1 0 0 0 0 0 0 . 1 0 1 0 1 0 0 0 . 0 0 0 0 0 0 0 0 . 1 1 1 1 1 1 1 1 - Broadcast-Adresse (192.168.0.255)
Recht einfach, oder?
Alle Rechner, die die selbe Netz-Adresse haben können direkt miteinander kommunizieren. Weichen die Netz-Adressen ab, ist ein Router von nöten, der die beiden unterschiedlichen Netze miteinander verbindet.
Nur so am Rande sei erwähnt, dass man IP-Adressen folgendermaßen schreibt:
192.168.0.1/24
Die 24 steht für die Anzahl der Bits, die für die Subnet-Mask auf 1 gesetzt werden. Man erspart sich dadurch die Subnet-Mask direkt aufschreiben zu müssen (Informatiker sind faul ).
Die Bezeichnung und Festlegung auf Klasse A-, B- und C-Netze ist rein "formell". Man kann natürlich beliebige Subnet-Masks nutzen. So kann man Sub- oder Supernetze erstellen, indem man in der Subnet-Mask entweder weniger Bits für den Netz-Anteil verwendet (Supernetz) oder mehr (Subnetz). Die Anzahl der möglichen Hosts ändert sich logischerweise dadurch, sonst hätte es auch keinen Sinn ein solches Unterfangen zu realisieren
Als kleines Beispiel wollen wir einmal ein Klasse C-Netz nutzen, in dem wir 500 PCs anschließen wollen. Ein Klasse B-Netz wäre unsinnig, da es viel zu viele mögliche Adressen geben würde, wir wollen das kleinsmögliche Netzwerk nutzen. Wir brauchen also mehr Adressen, da wir so nur 254 zur Verfügung haben. Sinnvoll wären 510 (512 - 2 Adressen für Netz- und Broadcast-Adresse). Hierzu ziehen wir ein Bit aus der Subnet-Mask aus dem Netz-Anteil ab:
Code:
Code:
1 1 1 1 1 1 1 1 . 1 1 1 1 1 1 1 1 . 1 1 1 1 1 1 1 0 . 0 0 0 0 0 0 0 0 - Subnet-Mask (255.255.254.0)
Nun haben wir folgende Netz- und Broadcast-Adressen:
Code:
Code:
1 1 0 0 0 0 0 0 . 1 0 1 0 1 0 0 0 . 0 0 0 0 0 0 0 0 . 0 0 0 0 0 0 0 1 - IP-Adresse (192.168.0.1) 1 1 1 1 1 1 1 1 . 1 1 1 1 1 1 1 1 . 1 1 1 1 1 1 1 0 . 0 0 0 0 0 0 0 0 - Subnet-Mask (255.255.254.0) 1 1 0 0 0 0 0 0 . 1 0 1 0 1 0 0 0 . 0 0 0 0 0 0 0 0 . 0 0 0 0 0 0 0 0 - Netz-Adresse (192.168.0.0) 1 1 1 1 1 1 1 1 . 1 1 1 1 1 1 1 1 . 1 1 1 1 1 1 1 0 . 0 0 0 0 0 0 0 0 - Subnet-Mask (255.255.254.0) 1 1 0 0 0 0 0 0 . 1 0 1 0 1 0 0 0 . 0 0 0 0 0 0 0 1 . 1 1 1 1 1 1 1 1 - Broadcast-Adresse (192.168.1.255)
Man kann deutlich erkennen, dass wir die Adressbereiche von 192.168.0.0/24 und 192.168.1.0/24 mittels 192.168.0.0/23 zusammengelegt haben. Ein Rechner aus dem Netz 192.168.0.0/24 kann nun jedoch nicht mehr auf unser Netzwerk zugreifen, da die Subnet-Mask nicht korrekt ist.
Wir haben soeben ein Supernetz erstellt. Ein Subnetz kann man auf die gleiche Weise in anderer Richtung erstellen, man nimmt einfach eni Bit zum Netz-Anteil hinzu, anstatt eins abzuziehen. Die Anzahl der möglichen Rechner im Netz verringert sich dadurch logischerweise.
Ich hoffe, dass ich einigermaßen gut darstellen konnte, wie IPv4 eigentlich funktioniert, auch wenn ich auf Inhalte wie z.B. Routing nicht näher eingegangen bin, aber das würde den jetzigen Rahmen definitiv sprengen. Ich werde sehen, ob ich in den nächsten Tagen dazu komme noch ein bisschen was zu Ports zu schreiben und auf einige wichtige Details zu IPv4 einzugehen. Wenn jemand anderes mich korrigieren möchte: Nur zu, nobody is perfect und wenn jemand etwas ergänzen möchte: Ebenfalls gerne gesehen
So far
MNG
-----------
das Tutorial ist schon etwas älter ..
hier der Originalthread:

Kommentar