IPv4 (Internet Protocol Version 4) ist die vierte Version des Internet Protocols (IP). Es ist dennoch auch die erste Version des IP, welche weltweit verbreitet und eingesetzt wurde, und bildet als Teil der Internetprotokollfamilie eine wichtige technische Grundlage des Internets. Es wurde im Jahre 1981 unter RFC 791 definiert und verwendet 32 Bit lange IP-Adressen. Entsprechend existieren insgesamt ca. 4,3 Milliarden IPv4-Adressen, wobei einige hiervon nicht öffentlich addressierbar sind.
32-Bits in durch je einem Punkt getrennte 4 Octetts aufgeteilt. Bsp. 10.5.20.4 oder auch in binär:
0000 1010 0000 0101 0001 0100 0000 0100
10. 5. 20. 4
Mehr zu Binärzahlen unter: https://asm.donmez.eu/grav-admin/tutorial/binary-numbering
IP-Netze bestehen aus einem Netzanteil und einem Hostanteil. Eine IP Adresse aus dem Netz samt der zugehörigen Netzmaske geben diese Informationen preis. Alternativ wird heutzutage die CIDR-Notation verwendet, aus der all diese Informationen klar ersichtlicht sind. All diese Begriffe werden im Folgenden weitergehend erklärt.
Ein IPv4-Paket sieht nach RFC 791 in etwa wie folgt aus:
0 1 2 3
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|Version| IHL |Type of Service| Total Length |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Identification |Flags| Fragment Offset |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Time to Live | Protocol | Header Checksum |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Source Address |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Destination Address |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Options | Padding |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Bis 1993 wurden IPv4 Adressen in Klassen A - C vergeben. Dieses Schema ist mittlerweile outdated und nicht mehr in Benutzung, kommt jedoch sowohl in der Literatur vor und bleibt bislang prüfungsrelevant. Die Klassen sehen wie folgt aus:
| Klasse | CIDR | 31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 | 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 | 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| A | /8 | 0 | x | x | x | x | x | x | x | ||||||||||||||||||||||||
| B | /16 | 1 | 0 | x | x | x | x | x | x | x | x | x | x | x | x | x | x | ||||||||||||||||
| C | /24 | 1 | 1 | 0 | x | x | x | x | x | x | x | x | x | x | x | x | x | x | x | x | x | x | x | x | x | ||||||||
| D | - | 1 | 1 | 1 | 0 | x | x | x | x | x | x | x | x | x | x | x | x | x | x | x | x | x | x | x | x | x | x | x | x | x | x | x | x |
| E | - | 1 | 1 | 1 | 1 | 0 | x | x | x | x | x | x | x | x | x | x | x | x | x | x | x | x | x | x | x | x | x | x | x | x | x | x | x |
Die entsprechende Klasse des Netzes kann man dabei auch anhand der Werte in den Bits 28 - 31 erkennen (s. Tabelle oben). Hierbei bilden die mit einem Wert bzw. einem 'x' aufgefüllten Teile den Netzanteil und der Rest den Hostanteil. Die Klassen D und E sind reserviert, bzw. Klasse D wird für Multicast verwendet.
Die Netzmaske beschreibt die Größe des Netzes und kommt insbesondere beim Subnetting zu tragen. Sie wird an allen signifikanten bits mit einer 1 beschrieben, bis die Bit-Stelle erreicht wird an der der Host-Adressbereich im Netz startet. Bei einem Klasse C Netz wären somit die höchsten 24-Bits eine 1 und der Rest eine 0, also lautet da die Netzmaske 255.255.255.0.
CIDR (Classless Inter-Domain Routing) wurde 1993 eingeführt und beschreibt ein Verfahren zur effizienteren Nutzung des bestehenden 32-Bit-IP-Adress-Raumes für IPv4. Dies ermöglicht auch filigraneres Subnetting. Hierbei wird ein Netz in der sogenannten CIDR-Notation beschrieben, bspw. 192.168.1.1/24.
Wie oben angerissen, werden Netze in der CIDR-Notation beschrieben. Aus dieser Notation erkennt man auf Anhieb die Netz-ID und die Netz-Maske, somit auch die Netzgröße.
Beispiel:
192.168.1.1/24 hat die signifikanten 24-Bits bereits beschrieben, d.h. 32 - 24 = 8 Bits sind noch beschreibbar. Das bedeutet, dass abzgl. der Gateway- und der Broadcast-Adresse 28 - 2 = 254 Host-Adressen zur Verfügung stehen.
So kann man auch diverse Netzbereiche gut beschreiben. Bspw. die privaten Netzbereiche:
Das Aufteilen eines zusammenhängenden Adressraumes in Teilnetze bzw. Subnets nennt man Subnetting. Durch Subnetting brauchen die einzelnen Router nur über die hierüber grouteten Netze Bescheid wissen. Außerdem kann man so die Subnetze auch physikalisch oder logisch voneinander trennen und somit für erhöhte Sicherheit sorgen.
Ein Subnet kann man in zwei Notationen beschreiben:
Die Netz-ID wird in der Literatur manchmal auch als Netzwerkadresse bezeichnet. Beide Wörter sind hierbei synonym zueinander.
Sei 173.30.10.0/28 ein Subnet. Dieses besteht nun aus der Netz-ID 173.30.10.0 und der Netzmaske 255.255.255.240 (1111 1111. 1111 1111 . 1111 1111. 1111 0000).
Die erste theoretisch nutzbare IP-Adresse ist 173.30.10.1 und die letzte 173.30.10.14. Die Broadcast-Adresse lautet in diesem Fall 173.30.10.15.
Hinweis: Bei dem Subnet 1.0.0.0/X ist die Netzmaskte dadurch zu ermitteln, dass die signifikanten X Bits jeweils 1 und der Rest 0 sind. In dem Beispiel 173.30.10.0/28 oben sind daher die signifikanten 28-Bits des 32-Bit Adressraumes jeweils eine 1 in der Netzmaske.
Innerhalb eines Netzwerks existieren diverse Kommunikationsmöglichkeiten. Nebst der direkten Ansprache eines einzelnen Knoten per IP existieren auch zusätzliche Gültigkeitsbereiche. Diese lauten wie folgt:
localhost oder 127.0.0.1/8 können verwendet werden.