IPv4-Adressen

Die wichtigste Aufgabe von IP (Internet Protocol) ist, dass jeder Host in einem dezentralen TCP/IP-Netzwerk gefunden werden kann. Dazu wird jedem Hardware-Interface (Netzwerkkarte oder -adapter) eine logische IPv4-Adresse zugeteilt.
Die IPv4-Adresse ist mit den Angaben zu Straße, Hausnummer und Ort einer Anschrift vergleichbar.

Aufbau einer IPv4-Adresse

Damit die IPv4-Adresse von Hardware und Software einfach verarbeitet werden kann, liegt sie in einem Bitcode bzw. einer Bitfolge aus Einsen (1) und Nullen (0) vor. Sie ist somit maschinenlesbar. Die Bitfolge hat 32 Stellen bzw. ist 4 Byte (32 Bit) groß.

Schreibweise Beispiel-Adresse
Binär/Dual 0111 1111 0000 0000 0000 0000 0000 0001
Hexadezimal 7F 00 00 01
Dezimal 127 0 0 1

Zur einfacheren Lesbarkeit und auch zur Segmentierung werden die 32 Bit einer IPv4-Adresse in jeweils 8 Bit (1 Byte) aufgeteilt und durch einen Punkt voneinander getrennt. Dabei kann jedes Byte durch die achtstellige 1er- und 0er-Folge einen dezimalen Wert von 0 bis 255 annehmen. Das sind 256 Werte pro Stelle. Die binäre IPv4-Adresse 01111111.00000000.00000000.00000001 ergibt die IPv4-Adresse 127.0.0.1.

Obwohl die dezimale Schreibweise üblich ist, können IPv4-Adressen auch als hexadezimale Zahl oder Oktalzahl angegeben werden. Beides ist in der Praxis unüblich und deshalb wenig sinnvoll. Die Besonderheit bei IPv4-Adressen in oktaler Schreibweise ist die Kennzeichnung mit einer führenden Null. Betriebssysteme wie zum Beispiel ab Windows 8.1, Ubuntu 13.10 und Mac OS X 10.9 halten sich an diese Regel. Das bedeutet, gibt man in die Browser-Adresszeile eine IPv4-Adresse mit führender Null ein, dann wird eine oktale Zahl angenommen und in die dezimale Darstellung umgerechnet. Anschließend wird eine Verbindung zu dieser Adresse aufgebaut. Aus diesem Grund sollte man führende Nullen bei der dezimalen Schreibweise von IPv4-Adressen generell weglassen.

  • Falsche Schreibweise: 127.000.000.001
  • Richtige Schreibweise: 127.0.0.1

Struktur im IPv4-Adressraum

Der IPv4-Adressraum umfasst 32 Bit und reicht von 0.0.0.0 bis 255.255.255.255. Rein rechnerisch ergibt sich aus einer 32-Bit-Adresse eine Anzahl von 2 hoch 32 Adressen. Das entspricht über 4 Milliarden Adressen. Als man den Adressraum definierte, entsprach das damals ungefähr der Weltbevölkerung. Damals war es undenkbar, dass jeder Mensch irgendwann mal eine IPv4-Adresse brauchen, geschweige denn, dass jemand ein persönliches Endgerät (Smartphone) mit einer IPv4-Adresse mit sich herumtrage würde.

Für jede IP-Adresse müsste ein IP-Router wissen, wo sich der entsprechende Host befindet. Das wäre bei 4 Milliarden IPv4-Adressen ein sehr großer Datenbestand, der bei jedem Datenpaket erneut durchlaufen werden müsste, um den Host zu finden. Außerdem müsste jeder Router auf dem Weg zum Host den Vorgang wiederholen. Das würde viel Rechenleistung und Speicherkapazität voraussetzen, die in der Anfangszeit von TCP/IP undenkbar war. Aus diesem Grund hat man dem IPv4-Adressraum eine gewisse Struktur gegeben, um die Routing-Entscheidungen in den Routern einfacher zu machen. Insbesondere vor dem Hintergrund, dass damals die Verfügbarkeit von Rechenleistung und Speicher geringer war.

Im Prinzip hat man sich eine Art Verzeichnis überlegt, wo drin steht, wo sich eine IPv4-Adresse im Netzwerk befindet. Bei Telefonnummern kennen wir die Aufteilung in Ländervorwahl, Ortsvorwahl und Teilnehmerrufnummer. So eine Struktur hatte man sich auch bei IPv4-Adressen vorgestellt. Damit IP-Router möglichst effizient arbeiten können, wurden IPv4-Adressen anfangs hierarchisch zugeteilt. Das hat aber nicht sehr lange funktioniert. Wegen einem zu geringen Adressraum gilt die regionale Zuteilung, wie bei Telefonnummer, nicht mehr.

  Netzadressen Hostadresse Netzklasse Subnetzmaske CIDR-Suffix
IPv4-Adresse xxx .yyy.yyy.yyy A 255.0.0.0 /8
Subnetzmaske 255 .0.0.0
IPv4-Adresse xxx.xxx .yyy.yyy B 255.255.0.0 /16
Subnetzmaske 255.255. .0.0
IPv4-Adresse xxx.xxx.xxx .yyy C 255.255.255.0 /24
Subnetzmaske 255.255.255 .0

Trotzdem bilden IPv4-Adressen eine Hierarchie ab. Jede IPv4-Adresse besteht im Prinzip aus zwei Teilen. Dem Netz (Subnetz) bzw. der Netzadresse (Netz-ID) und dem Host bzw. der Hostadresse (Host-ID). Beide Teile werden in der IP-Adresse abgebildet.
Für das IP-Routing ist nur die Netzadresse wichtig. Und die Hostadresse ist nur für den Router wichtig, in dessen Netz sich der Host befindet.
Bei einer IPv4-Adresse ist der vordere Teil die Netzadresse und der hintere Teil die Hostadresse. Die Teilung findet typischerweise an einem Punkt (".") statt. Aber nicht immer. An welcher Stelle genau die IPv4-Adresse in Netz und Host geteilt wird, dass entscheidet die Netzklasse, die Subnetzmaske oder das CIDR-Suffix.

Durch die Strukturierung entstanden jedoch Lücken im Adressraum, der nicht genutzt wird und der im Prinzip auch nie genutzt werden kann. Das Entstehen von Lücken nennt man Fragmentierung des IPv4-Adressraums. Das hat dazu geführt, dass ein Teil des Adressraums nicht nutzbar ist. Dazu gehört zum Beispiel der Adressbereich von 0.0.0.0 bis 0.255.255.255.
In den nutzbaren Adressbereichen ist die erste und letzte Adresse eines Subnetzes immer durch das ganze Netz (".0") und die Broadcast-Adresse (".255") belegt. Welche das genau sind, hängt von der Aufteilung der Subnetze ab. Beispielsweise sind bei einem /28-Netz mit insgesamt 16 IPv4-Adressen (2 hoch 4 gleich 16) deshalb nur 14 IPv4-Adressen nutzbar. Im kleinsten Netz (/30) mit vier IPv4-Adressen sind sogar nur zwei IPv4-Adressen nutzbar. Die anderen zwei sind durch die Strukturierung (Netz- und Broadcast-Adresse) verschwendet.

Vergabe von IPv4-Adressen

IPv4-Adressen sind begrenzt und müssen offiziell beantragt und zugeteilt werden. Man kann also nicht irgendeine IPv4-Adresse verwenden.
Die Adressvergabe folgte ursprünglich einer regionalen Hierarchie. Das heißt, der IPv4-Adressraum wurde in Regionen aufgeteilt. Man hat dazu Regional Internet Registries (RIR) mit der Aufgabe betraut IPv4-Adressen zu vergeben. In Europa und dem Mittleren Osten ist dafür das RIPE NCC zuständig.
Leider kam es wegen der unbedachten Vergabepraxis von Adressbereichen in den Anfangsjahren und dem unvorhersehbaren Wachstum des Internets dazu, dass wir heute an IPv4-Adressen-Knappheit leiden. Deshalb ist man, in mit IPv4-Adressen unterversorgten Gebieten, auf die Einführung von IPv6 angewiesen.

IPv4-Netzklassen

Das Prinzip der IPv4-Netzklassen oder auch die englische Bezeichnung "classful network" definiert eine feste Unterteilung des IPv4-Adressraums in Teilnetze bzw. Subnetze. Dadurch kann die Größe eines Netzwerks und dessen Adresse aus der IPv4-Adresse abgeleitet werden. Mit der Netzklasse wird aber nicht die tatsächliche Größe eines Netzwerks angegeben, sondern nur wie viele Adressen es maximal umfassen kann.

Die Netzklasse definiert, an welcher Stelle in der IPv4-Adresse die Trennung zwischen Netz- und Hostadresse stattfindet.

  • Class A: 8 Bit Netz (y) und 24 Bit Host (x): yyy.xxx.xxx.xxx
  • Class B: 16 Bit Netz (y) und 16 Bit Host (x): yyy.yyy.xxx.xxx
  • Class C: 24 Bit Netz (y) und 8 Bit Host (x): yyy.yyy.yyy.xxx
  • Class D: für Multicast reserviert, lokal nutzbar
  • Class E: reserviert, nur teilweise benutzt

Dieses starre Netzklassen-Modell ist aber reichlich unpraktisch. Es führt dazu, dass zu große Adressbereiche pauschal vergeben werden (müssen), auch wenn die nutzende Organisation die Anzahl der Adressen gar nicht wirklich braucht. Umgekehrt bekommen kleine Organisationen nur einen kleinen Adressbereich, obwohl sie vielleicht einen größeren bräuchten.
Das Prinzip der Netzklassen wird heute nur noch in Randbereichen angewendet. Maßgeblich ist heute Subnetting und CIDR. Von Netzklassen spricht man heute nur noch in Bildung und Lehre. Das Prinzip der Netzklassen wurde im Jahr 1993 von CIDR (Classless Inter-Domain Routing) ersetzt und spielt deshalb in der Praxis heute keine Rolle mehr.

Subnetting und Supernetting

Durch Subnetting kann man große IPv4-Adressbereiche, die ehemals einer Netzklasse fest zugewiesen gewesen sind (Netzklasse bestimmt die Größe eines Netzwerks), in mehrere kleine IPv4-Adressbereiche aufteilen.
Supernetting macht es genau umgekehrt. Durch Supernetting kann man mehrere kleine IPv4-Adressbereiche, in einen größeren IPv4-Adressbereich umwandeln.

Jede IPv4-Adresse besteht aus zwei Teilen. Jeder Teil hat eine bestimmte Bedeutung. Der vordere Teil ist die Adresse für das Netzwerk, indem sich der Host befindet. Der hintere Teil ist die Adresse für den Host. Wo sich die IPv4-Adresse teilt, wird beim Subnetting von der Subnetzmaske bzw. Subnetmask (engl.) bestimmt. Die Subnetzmaske besteht ebenso wie die IPv4-Adresse aus 32 Bit. Die Darstellung der Subnetzmaske entspricht jedoch einer geschlossenen Kette beginnend mit Einsen und abschließenden Nullen. Ein Beispiel: 11111111 11111111 11111111 00000000. Das entspricht in der Dezimaldarstellung 255.255.255.0. Legt man die Subnetzmaske wie eine Maske über die IP-Adresse ergibt sich die Teilung in Netzadresse und Hostadresse an der Stelle, wo sich der Wechsel von "1" auf "0" befindet.

Beispiele für Subnetzmasken:

  • 11111111 00000000 00000000 00000000 : 255.0.0.0 (Klasse-A-Netzwerk)
  • 11111111 11111111 00000000 00000000 : 255.255.0.0 (Klasse-B-Netzwerk)
  • 11111111 11111111 11111111 00000000 : 255.255.255.0 (Klasse-C-Netzwerk)
  • 11111111 11111111 11111111 10000000 : 255.255.255.128
  • 11111111 11111111 11111111 11111100 : 255.255.255.252

CIDR - Classless Inter-Domain Routing

CIDR (Classless Inter-Domain Routing) ist trotz der Namensgebung kein Routing-Protokoll, sondern ein Verfahren, um den IPv4-Adressraum effizienter zu nutzen. CIDR wurde 1993 eingeführt, um das Konzept der Netzklassen abzulösen. Mit CIDR fällt die feste Zuordnung zwischen IPv4-Adresse und einer bestimmten Netzklasse weg. Vor CIDR hat die Netzklasse definiert, welcher Teil der Netzteil und welcher der Hostteil einer IPv4-Adresse ist. Mit CIDR steckt diese Information in einem Suffix.

Vereinfacht ausgedrückt ist das Suffix eine Schreibweise, die die Subnetzmaske abkürzt. Das Suffix gibt die Anzahl der aufeinander folgenden 1er Bits in der Subnetzmaske an.

Schreibweise mit Subnetzmaske Binäre Schreibweise (Subnetzmaske) Verkürzte Schreibweise mit CIDR-Suffix
10.0.0.1/255.0.0.0 11111111.00000000.00000000.000000 10.0.0.1/8
192.168.0.1/255.255.255.0 11111111.11111111.11111111.00000000 192.168.0.1/24

Reservierte Subnetze und nicht verfügbare IPv4-Adressen (Reserved IP Adresses)

Im theoretisch möglichen Adressbereich von 0.0.0.0 bis 255.255.255.255 sind bestimmte Adressen und Subnetze für spezielle Anwendungen reserviert oder gesperrt. Die Kenntnis über diese Adressen oder Adressbereiche ist deshalb wichtig, um eine fehlerhafte IPv4-Konfiguration zu vermeiden oder zu erkennen.

  • Die erste und letzte IPv4-Adresse eines Subnetzes sind reserviert
    • x.x.x.0: Netz- oder Subnetz-Adresse
    • x.x.x.255: Broadcast-Adresse
  • Nicht routbare IPv4-Adressen
    • 0.0.0.0/8 (0.0.0.0 bis 0.255.255.255): Standard- bzw. Default-Route im Subnetz (Current Network).
    • 127.0.0.0/8 (127.0.0.0 bis 127.255.255.255): Reserviert für den Local Loop bzw. Loopback.
  • Private IPv4-Adressen
    • 10.0.0.0/8 (10.0.0.0 bis 10.255.255.255): Reserviert für die Nutzung in privaten Netzwerken. Nicht im Internet routbar.
    • 172.16.0.0/12 (172.16.0.0 bis 172.31.255.255): Reserviert für die Nutzung in privaten Netzwerken. Nicht im Internet routbar.
    • 192.168.0.0/16 (192.168.0.0 bis 192.168.255.255): Reserviert für die Nutzung in privaten Netzwerken. Nicht im Internet routbar.
    • 169.254.0.0/16 (169.254.0.0 bis 169.254.255.255): Link-local Adresses für IPv4LL.
  • Class D (Multicast)
    • 224.0.0.0 bis 239.255.255.255: Nicht im Internet, sondern nur lokal in den eigenen Netzen routbar.
  • Class E (reservierte Adressen)
    • 240.0.0.0 bis 255.255.255.255: Alte IPv4-Stacks, die nur mit Netzklassen arbeiten, kommen damit nicht klar.

Localhost oder Local Loop

Der gesamte Adressbereich von 127.0.0.0 bis 127.255.255.255 ist für den Local Loop bzw. Loopback reserviert.
Die IPv4-Adresse 127.0.0.1 hat jeder IPv4-Host. Diese IPv4-Adresse wird auch als Localhost (Namensauflösung: localhost) bezeichnet. Es handelt sich dabei um ein virtuelles Interface. Das aber keiner Hardware zugeordnet ist. Dieses virtuelle Interface wird von Anwendungen verwendet, die über das Netzwerk kommunizieren wollen/müssen, dabei aber nicht das lokale Netzwerk in Anspruch nehmen können/wollen.
Wird ein Datenpaket mit der Ziel-Adresse 127.0.0.1 verschickt, so wird sie an den Absender selber verschickt. Diese IPv4-Adresse kann zum Testen verwendet werden. Zum Beispiel, ob TCP/IP oder eine darüber erreichbare Anwendung korrekt installiert und konfiguriert ist.

Local Link Addresses (IPv4LL)

Beim Adressbereich von 169.254.0.0 bis 169.255.255.255 (169.254.0.0/16) handelt es sich um link-lokale IPv4-Adressen. Dieser Adressbereich wird von Rechnern genutzt, bei denen die automatische IPv4-Konfiguration per BOOTP oder DHCP fehlgeschlagen ist. Durch die Selbstzuweisung link-lokaler IPv4-Adressen sind alle Rechner im selben Adressbreich in einem gemeinsamen lokalen Netzwerk in der Lage miteinander zu kommunizieren.

Netz-Adressen und Broadcast-Adressen

Eine IPv4-Adresse, deren letzte Stelle eine "0" ist, ist keine gültige IPv4-Adresse (z. B. 127.0.0.0). Es handelt sich dabei um die Adresse eines ganzen Subnetzes, nicht eines einzelnen Hosts.
Eine IPv4-Adresse, deren letzte Stelle eine "255" ist (z. B. 127.0.0.255), ist ebenso keine gültige IPv4-Adresse. Es ist eine Broadcast-Adresse für das Netz 127.0.0.0. Die Datenpakete mit dieser Zieladresse werden in diesem Netz an alle Hosts geschickt und nicht an einen einzelnen Host.

Eine Broadcast-Adresse innerhalb eines Netzwerkes dient dazu, eine Nachricht an alle Hosts innerhalb des Netzwerks zu schicken. Beispielsweise um Dienste im Netzwerk aufzuspüren. Zum Beispiel DHCP für die IPv4-Konfiguration, Datei- und Druckerfreigaben oder einen Gaming-Server.

Hinweis: Durch die Einschränkung von 0 bis 255 hat ein Klasse-C-Subnetz bzw. 24er CIDR-Suffix zwar 256 Adressen (von .0 bis .255), aber abzüglich der Netz-Adresse x.x.x.0 und der Broadcast-Adresse x.x.x.255 nur maximal 254 adressierbare Host-Adressen.

Private IP-Adressen / Address Allocation for Private Internets (RFC1918)

IPv4-Adressen sind begrenzt und müssen offiziell beantragt und zugeteilt werden. Man kann also nicht irgendeine IPv4-Adresse verwenden. Allerdings gibt es für die private und nicht-öffentliche Nutzung von TCP/IP spezielle Adressräume, die innerhalb von privaten Netzen frei zur Verfügung stehen und nicht im öffentlichen Internet geroutet werden.
Wenn man nun ein privates lokales Netzwerk aufbauen möchte, verwendet man solche privaten IPv4-Adressen, wenn man zu wenige oder keine öffentlichen IPv4-Adressen hat. Die privaten IPv4-Adressen haben aber den Nachteil, dass sie nur im jeweiligen lokalen Netzwerk gültig sind und nicht in öffentliche Netzen geroutet werden. Datenpakete mit privaten IPv4-Adressen verbleiben in den lokalen Netzwerken. Umgekehrt heißt das auch, dass Hosts, die nur eine private IPv4-Adresse haben, nicht direkt aus dem Internet erreichbar sind.

Von Bis Subnetzmaske Hosts (Netzklasse)
10.0.0.0 10.255.255.255 255.0.0.0 16.777.214 Klasse-A-Netz
172.16.0.0 172.31.255.255 255.255.0.0 65.534 Klasse-B-Netze
192.168.0.0 192.168.255.255 255.255.255.0 254 Klasse-C-Netze

Wenn ein lokaler Host mit dem Internet verbunden werden soll, dann benötigt er eine öffentliche IPv4-Adresse. Leider hat die großzügige Zuteilung der öffentlichen IPv4-Adressen dazu geführt, dass es keine öffentlichen IPv4-Adressen für jeden Host gibt. Bei Internet-Zugängen löst man die Problematik mit NAT. Dabei bekommt nur der Internet-Zugangs-Router eine öffentliche IPv4-Adresse und alle anderen Hosts in seinem Netzwerk eine private IPv4-Adresse. Das NAT-Protokoll sorgt nun dafür, dass sich mehrere lokale Hosts eine öffentliche IP-Adresse teilen können.

Sind IP-Adressen personenbezogene Daten?

Die Kommunikation im Internet erfolgt anhand kleiner Datenpakete die unter anderem mit einer Zieladresse versehen sind, um eine Verbindung zu einem beliebigen Kommunikationspartner aufzubauen. Damit die Kommunikation in beide Richtungen erfolgen kann (Ende-zu-Ende), ist es technisch erforderlich jedes Datenpaket neben der Zieladresse auch mit einer Absenderadresse zu versehen.

Die Gesetzgebung (zumindest in Deutschland) fordert allerdings eine anonyme oder zumindest pseudonyme Kommunikation. Das Problem ist, dass es technisch erforderlich ist, dass dem Ziel die IP-Adresse bekannt sein muss, um eine Kommunikation in die andere Richtung zu ermöglichen. Der Absender ist also nie wirklich anonym.
Die Frage ist, wie ist die technisch notwendige Bekanntgabe der eigenen IP-Adresse zum Zwecke der bidirektionalen Kommunikation datenschutzrechtlich zu bewerten?

Ein Streitpunkt unter Juristen ist, ob IP-Adressen personenbezogene Daten sind und ob dafür die datenschutzrechtlichen Vorschriften gelten. Dabei unterscheidet man technisch zwischen dynamischen und statischen IP-Adresse. Also IP-Adressen, die sich ändern können und solchen, die immer gleich bleiben. Die meisten Juristen sind sich darüber einig, dass statische IP-Adressen eindeutig personenbezogen und somit entsprechend juristisch einzuordnen sind.
Aber, es besteht technisch keine Möglichkeit im Rahmen der Kommunikation zwischen diesen beiden Arten zu unterscheiden. Das führt zu dem Streit, dass wegen fehlender Unterscheidung jede IP-Adresse personenbezogen anzusehen ist bzw. dass eine IP-Adresse als nicht personenbezogen anzusehen ist.

Wenn IP-Adressen als personenbezogene Daten anzusehen sind, dann müssen die Anforderungen des Bundesdatenschutzgesetzes (BDSG) und auch anderer Gesetze erfüllt werden. Das bezieht die Speicherung, die Speicherdauer, die Auswertung und die Weitergabe von IP-Adressen mit ein.
Generell gilt die Weitergabe von IP-Adressen an Dritte, im Rahmen von Geolokalisation und Webanalyse als schwierig. Hier gilt es, möglichst mit anonymisierten IP-Adressen zu arbeiten.

Bei IPv6 muss man das noch einmal anders bewerten. Anders als bei IPv4-Adressen unterscheidet man bei der IPv6-Adresse zwischen dem sogenannten Präfix, das Informationen zum globalen Routing und zum Subnetz enthält, und dem Interface Identifier, der ein konkretes Endgerät bzw. Netzwerk-Interface kennzeichnet. Aus Datenschutz-rechtlicher Sicht sind beide Adressbestandteile getrennt voneinander zu betrachten.

Der Grund ist, der Access-Provider kann das Präfix, wie bei einer IPv4-Adresse, statisch oder dynamisch zuteilen. Doch selbst dann, wenn das Präfix sich ändern, bleibt womöglich der Interface Identifier gleich und ermöglicht somit eine Wiedererkennung. Eine dynamische IPv6-Adresse entspricht somit in Teilen einer statischen IPv6-Adresse. IPv6-Adressen sind damit eindeutig personenbezogen bzw. gerätebezogen.

Bei IPv6 ist es aus diesem Grund möglich, den Interface Identifier zufällig generieren zu lassen. In dem Fall wäre sogar erkennbar, ob es sich um eine zufällig generierte IPv6-Adresse handelt (ohne "...ff:fe...") oder mit einem statischen Interface Identifier (mit "...ff:fe..."). Unabhängig davon, ob zufällig oder nicht, die IPv6-Adresse ist zumindest zeitweise geräte- und damit personenbezogen.

Fazit: Die hart umkämpfte datenschutzrechtliche Forderung nach anonymer Kommunikation im Internet ist technisch nicht umsetzbar und alle Anonymisierungsbemühungen damit eine Illusion.

Übersicht: IPv4

Weitere verwandte Themen:

Teilen:

Alles was Sie über IPv6 wissen müssen.

Collection: IPv6

Eine PDF-Datei mit allen Artikeln über das Internet Protocol Version 6 von dieser Webseite. Die Zusammenstellung berücksichtigt die Einführung in die Grundlagen von IPv6 mit detailreichen Beschreibungen und zahlreichen Tabellen und Abbildungen. Erfahren Sie mehr über die Möglichkeiten und Zusammenhänge im IPv6-Netzwerk.

Mehr Informationen und zum Download

Netzwerktechnik-Fibel

Netzwerktechnik-Fibel

Das will ich haben!