Kurzeinführung zu IPv4

Aus revampedia

Aufgrund unserer Schulungen zum Server aufsetzen ist mir aufgefallen, dass nicht alle Kenntnisse über IPv4 verfügen. Also probiere ich eine Kurzeinführung dazu zu machen. Für mehr Details solle man meine Quellen genauer lesen.

If there are still questions open after these instructions, please go to "Views" and then "Discussion" to leave your feedback, so I can add more Details to this page. jr


Eine IP-Adresse besteht aus einer 32-bit Adresse. Angezeigt wird dies in 4 Oktetten. Die Zahlen gehen von 0.0.0.0 bis 255.255.255.255. Dadurch ist es möglich 4'294'967'296 Adressen anzusprechen. Da dies mit der Entwicklung des Internets nicht genug Adressen sind wurde IPv6 entwickelt. Auch wenn schon vor ca. 15 Jahren mit gesagt wurde, dass IPv6 bald eingesetzt wird statt IPv4 hat das zum grössten Teil wohl noch immer nicht der Fall. Persönlich habe ich noch keine grossen Kenntnisse zu IPv6 und somit kann ich dazu nichts schreiben.

Jede IP-Adresse an einem Computer mit Netzverbindung besteht aus zwei Teilen. Der eine Teil ist die Netzwerk-Adresse und der andere Teil ist die Host-Adresse. In der Vergangenheit wurde dies über Klassen bestimmt, doch ist heute nicht mehr der Fall, dass es flexibler ist. Wegen dem Wachstum des Internets wurden auch einige Netzwerkbereiche als Private Netzwerke reserviert. Das heisst diese Netzwerke darf jeder für sich im LAN nutzen doch nicht ins Internet verbreiten.

Die Netzwerke sind:

Adressblock Adressbereich Subnetzmaske Anzahl Adressen
10.0.0.0/8 10.0.0.0 - 10.255.255.255 255.0.0.0 224 = 16.777.216
172.16.0.0/12 172.16.0.0 - 172.31.255.255 255.240.0.0 220 = 1.048.576
192.168.0.0/16 192.168.0.0 - 192.168.255.255 255.255.0.0 216 = 65.536


Gemäss Wikipedia wird ebenfalls das folgende Netz als Privat eingestuft:

Adressblock Adressbereich Subnetzmaske Anzahl Adressen
169.254.0.0/16 169.254.0.0-169.254.255.255 255.255.0.0 216 = 65.536

Persönlich habe ich diesen Netzwerk-Range bislang nur gesehen, wenn ein Computer mit Windows keine IP Adresse beziehen konnte.

Dass ich Die Adress-Ranges mit /xx angegeben habe und anschliessend noch die Subnetzmaske geschrieben habe ist eigentlich redundant, da beides das gleiche aussagt. Schauen wir uns das Anhand eines Beispiels an.

192.168.1.1/24 ist oft die IP Adresse eines Routers den man zuhause betreibt. Der Range für die Adressen ist somit 192.168.1.0 - 192.168.1.255. Da wir eine 32-bit Adresse haben und 24-bit zur Netzwerk-Adresse gehören haben wir somit die letzten 8-bit als Host-Adresse. Daraus folgt, dass die Subnetzmaske 255.255.255.0 ist.
Jeder Adress-Range braucht eine Netzwerk-Adresse und eine Broadcast-Adresse. Die Netzwerk-Adresse ist jeweils die erste Adresse und die Broadcast-Adresse die letzte.

Netzwerk-Adresse 192.168.1.0 11000000.10101000.00000001.00000000
Mögliche Hosts 192.168.1.1 -192.168.1.254
Erste Adresse 192.168.1.1 11000000.10101000.00000001.00000001
Letzte Adresse 192.168.1.254 11000000.10101000.00000001.11111110
Broadcast-Adresse 192.168.1.255 11000000.10101000.00000001.11111111


Weswegen erwähne ich die Broadcast-Adresse? Falls man in seinem privaten Netzwerk einen Hub im Einsatz hat, so ist es die Variante über welches der Hub seine Packete verschickt. Der Hub ist nicht sehr intelligent und schickt Packete die er erhält an alle Anschlüsse raus und nur die Maschine die es betrifft weiss dann was er mit dem Packet anfangen muss. Die Broadcast-Adresse ist also dazu da alle Hosts in einem Netzwerk anzusprechen.

Was ist jetzt das kleinste Netzwerk das möglich ist um zwei Router miteinander zu verbinden? Wir brauchen zwei Adressen welche wir den Interfaces geben können. Dann brauchen wir noch eine Netzwerk-Adresse und eine Broadcast-Adresse. Wir brauchen also ein /30-Netzwerk um dies machen zu können.
Wir können uns auch einen Rechner dazu zur Hilfe nehmen wie man über eine Suche nach "Subnetting" finden kann. Ich habe zufällig diesen Rechner ausgewählt.

Netzteil Hostteil
Netzwerk-Adresse 192.168.0.4 11000000.10101000.00000000.000001 00
Subnetzmaske 255.255.255.252 = 30 11111111.11111111.11111111.111111 00
Host1 192.168.0.5 11000000.10101000.00000000.000001 01
Host2 192.168.0.6 11000000.10101000.00000000.000001 10
BroadcastAdresse 192.168.0.7 11000000.10101000.00000000.000001 11

Im Privatbereich ist dieses Beispiel wohl weniger relevant, doch im WAN Bereich ist dies wichtig, weil man da ja mit öffentlichen IP Adressen gemacht wird und man da so wenig Adressen wie möglich verschwenden will.

Deswegen gibt es auch für fast jeden Kontinent eine eigne Adress-Registrierung.
Für Europa ist es RIPE.
Afrika hat AFRICNIC.
In Asien gibt es APNIC.
Für Nordamerika gibt es ARIN.
Und für Lateinameria und die Karibik gibt es LACNIC.

Es gibt mittlerweile auch Webseiten die für alle IP Adressen die Informationen absuchen. Whois ist ein Beispiel davon. Ich habe nicht geprüft ob es für alle Adressen sauber funktioniert. Diese Seiten werden aber erst wichtig, wenn es darum geht auf ISP Stufe sicherzustellen, dass alles erreichbar wird. Dort wird dann BGP relevant, doch das ist für Privatpersonen wohl kaum von Interesse. Ich werde bei Bedarf versuchen eine Kurzerklärung zu BGP zu machen, falls das Interesse besteht.

Ein Adressbereich den ich bislang noch nicht erwähnt habe und der spezieller ist, ist 127.0.0.1/8. Diese Adresse wird einem auf Linuxmaschinen begegnen, wenn man "ip a" im Command Line Interface eingibt. Es handelt sich dabei um die Loopback-Adresse vom Computer. Theoretisch könnte man den ganzen Range von 127.0.0.1 -127.255.255.254 nutzen, doch es beschränkt sich meisten auf die Adresse 127.0.0.1. Die Loopback-Adresse ermöglicht es Programmen auf dem Computer mit dem Server auf der gleichen Maschine zu kommunizieren.