Zum Inhalt springen

IP/Adresse/Grundlagen: Unterschied zwischen den Versionen

Aus Foxwiki
Keine Bearbeitungszusammenfassung
Zeile 1: Zeile 1:
== Grundlagen ==
== Grundlagen ==
Um eine Kommunikation zwischen zwei technischen Geräten aufzubauen, muss jedes der Geräte in der Lage sein, dem anderen Gerät Daten zu senden.
Um eine Kommunikation zwischen zwei technischen Geräten aufzubauen, muss jedes der Geräte in der Lage sein, dem anderen Gerät Daten zu senden
* Damit diese Daten bei der richtigen Gegenstelle ankommen, muss diese eindeutig benannt (adressiert) werden.
* Damit diese Daten bei der richtigen Gegenstelle ankommen, muss diese eindeutig benannt (adressiert) werden
* Dies geschieht in IP-Netzen mit einer IP-Adresse.
* Dies geschieht in IP-Netzen mit einer IP-Adresse
* So wird zum Beispiel ein [[Webserver]] von einem Webbrowser direkt über seine IP-Adresse angesprochen.
* So wird zum Beispiel ein [[Webserver]] von einem Webbrowser direkt über seine IP-Adresse angesprochen
* Der Browser fragt dazu bei einem [[Nameserver]] die IP-Adresse ab, die einer [[Domain (Internet)|Domain]] (zum Beispiel "www.example.com") zugeordnet ist.
* Der Browser fragt dazu bei einem [[Nameserver]] die IP-Adresse ab, die einer [[Domain (Internet)|Domain]] (zum Beispiel "www.example.com") zugeordnet ist
* Anschließend nutzt er diese IP-Adresse, um Daten an den Webserver zu senden.
* Anschließend nutzt er diese IP-Adresse, um Daten an den Webserver zu senden


=== IP-Adresse in IP-Datenpaketen ===
=== IP-Adresse in IP-Datenpaketen ===
Jedes [[IP-Paket|IP-Datenpaket]] beginnt mit einem Informationsbereich für die Beförderung durch die [[Internet Protocol|IP-Schicht]], dem IP-Header.
Jedes [[IP-Paket|IP-Datenpaket]] beginnt mit einem Informationsbereich für die Beförderung durch die [[Internet Protocol|IP-Schicht]], dem IP-Header
* Dieser Header enthält auch zwei Felder, in welche die IP-Adressen sowohl des Senders als auch des Empfängers eingetragen werden, bevor das Datenpaket verschickt wird.
* Dieser Header enthält auch zwei Felder, in welche die IP-Adressen sowohl des Senders als auch des Empfängers eingetragen werden, bevor das Datenpaket verschickt wird
* Die Vermittlung geschieht auf der Schicht 3 im [[OSI-Modell]], der ''Vermittlungsschicht''.
* Die Vermittlung geschieht auf der Schicht 3 im [[OSI-Modell]], der ''Vermittlungsschicht''


=== Aufbau ===
=== Aufbau ===
==== Frühere Versionen ====
==== Frühere Versionen ====
Das Internet wurde anfangs als Netz konzipiert, um mehrere bestehende Datennetze miteinander zu verbinden
Das Internet wurde anfangs als Netz konzipiert, um mehrere bestehende Datennetze miteinander zu verbinden
* Eine Organisation wie die [[IANA]], die Institutionen IP-Bereiche nach Bedarf zuweist, gab es noch nicht.
* Eine Organisation wie die [[IANA]], die Institutionen IP-Bereiche nach Bedarf zuweist, gab es noch nicht
* In den Headern der früheren Varianten des Internetprotokolls gab es getrennte Felder, in denen eine Netzwerk-Adresse und eine Host-Adresse unabhängig voneinander definiert waren.
* In den Headern der früheren Varianten des Internetprotokolls gab es getrennte Felder, in denen eine Netzwerk-Adresse und eine Host-Adresse unabhängig voneinander definiert waren
* Die Netzwerk-Adresse war eine Netzwerk-Kennziffer in Form eines 8 Bit-Wertes, die Quell- und Zielnetz des jeweiligen Datenpaketes kennzeichnet.
* Die Netzwerk-Adresse war eine Netzwerk-Kennziffer in Form eines 8 Bit-Wertes, die Quell- und Zielnetz des jeweiligen Datenpaketes kennzeichnet
* Die für [[Arpanet]], Cyclades und weitere Netze verwendeten Kennziffern waren festgelegt.
* Die für [[Arpanet]], Cyclades und weitere Netze verwendeten Kennziffern waren festgelegt
* Die Host-Adresse hatte in der ersten Version des Internetprotokolls von 1974 eine Länge von 16 Bit, wurde aber bereits in der ersten Überarbeitung des Internetprotokolls auf 24 Bit erweitert.
* Die Host-Adresse hatte in der ersten Version des Internetprotokolls von 1974 eine Länge von 16 Bit, wurde aber bereits in der ersten Überarbeitung des Internetprotokolls auf 24 Bit erweitert
* So war es theoretisch bereits seit 1975 möglich, im Internet die gleiche Anzahl an Hosts zu adressieren, wie es heute noch auf Basis von IPv4 möglich ist.
* So war es theoretisch bereits seit 1975 möglich, im Internet die gleiche Anzahl an Hosts zu adressieren, wie es heute noch auf Basis von IPv4 möglich ist
* Die Trennung von Netzwerk- und Host-Adresse entfiel, als im Jahre 1981 das IPv4-Protokoll eingeführt wurde und die IANA durch Einführung der [[Netzklasse]]n dann IP-Adressbereiche in unterschiedlichen Größen vergab.
* Die Trennung von Netzwerk- und Host-Adresse entfiel, als im Jahre 1981 das IPv4-Protokoll eingeführt wurde und die IANA durch Einführung der [[Netzklasse]]n dann IP-Adressbereiche in unterschiedlichen Größen vergab
* Durch komplexere Routing-Methoden und die Tatsache, dass es IP-Netze in unterschiedlichen Größen gab, wurde die Trennung von Netz- und Hostadresse obsolet, sodass die Adressen schlichtweg als IP-Adressen bezeichnet wurden, die lediglich abhängig von den jeweiligen Netzwerkgrößen einen individuellen Netz- und Host-Teil haben.<ref>{{Internetquelle |url=https://www.postel.org/ien/pdf/ |titel=Index of /ien/pdf/ |datum=2008-07-20 |abruf=2022-10-16 |archiv-url=https://web.archive.org/web/20080720100627/https://www.postel.org/ien/pdf/ |archiv-datum=2008-07-20 |offline= |archiv-bot=2022-11-17 02:49:22 InternetArchiveBot }}</ref>
* Durch komplexere Routing-Methoden und die Tatsache, dass es IP-Netze in unterschiedlichen Größen gab, wurde die Trennung von Netz- und Hostadresse obsolet, sodass die Adressen schlichtweg als IP-Adressen bezeichnet wurden, die lediglich abhängig von den jeweiligen Netzwerkgrößen einen individuellen Netz- und Host-Teil haben.<ref>{{Internetquelle |url=https://www.postel.org/ien/pdf/ |titel=Index of /ien/pdf/ |datum=2008-07-20 |abruf=2022-10-16 |archiv-url=https://web.archive.org/web/20080720100627/https://www.postel.org/ien/pdf/ |archiv-datum=2008-07-20 |offline= |archiv-bot=2022-11-17 02:49:22 InternetArchiveBot }}</ref>


==== IPv4 ====
==== IPv4 ====
Die seit der Einführung der Version&nbsp;4 des Internetprotokolls überwiegend verwendeten [[IPv4]]-Adressen bestehen aus 32 [[Bit]]s, also 4 [[Oktett (Informatik)|Oktetten (Bytes)]].
Die seit der Einführung der Version&nbsp;4 des Internetprotokolls überwiegend verwendeten [[IPv4]]-Adressen bestehen aus 32 [[Bit]]s, also 4 [[Oktett (Informatik)|Oktetten (Bytes)]]
* Damit sind 2<sup>32</sup>, also 4.294.967.296 Adressen darstellbar.
* Damit sind 2<sup>32</sup>, also 4.294.967.296 Adressen darstellbar
* In der ''dotted decimal notation'' werden die 4 Oktette als vier durch Punkte voneinander getrennte [[Ganze Zahl|ganze Zahlen in Dezimaldarstellung]] im Bereich von 0 bis 255 geschrieben.
* In der ''dotted decimal notation'' werden die 4 Oktette als vier durch Punkte voneinander getrennte [[Ganze Zahl|ganze Zahlen in Dezimaldarstellung]] im Bereich von 0 bis 255 geschrieben


'''Beispiel:''' <code>203.0.113.195</code>
'''Beispiel:''' <code>203.0.113.195</code>
Zeile 34: Zeile 34:


==== IPv6 ====
==== IPv6 ====
Durch den rasch steigenden Bedarf an IP-Adressen ist absehbar, dass der nutzbare Adressraum von IPv4 früher oder später erschöpft sein wird.
Durch den rasch steigenden Bedarf an IP-Adressen ist absehbar, dass der nutzbare Adressraum von IPv4 früher oder später erschöpft sein wird
* Vor allem aus diesem Grund wurde [[IPv6]] entwickelt.
* Vor allem aus diesem Grund wurde [[IPv6]] entwickelt
* Es verwendet 128 Bit zur Speicherung von Adressen, damit sind 2<sup>128</sup> = 256<sup>16</sup> (= 340.282.366.920.938.463.463.374.607.431.768.211.456 ≈ 3,4&nbsp;·&nbsp;10<sup>38</sup>) Adressen darstellbar.
* Es verwendet 128 Bit zur Speicherung von Adressen, damit sind 2<sup>128</sup> = 256<sup>16</sup> (= 340.282.366.920.938.463.463.374.607.431.768.211.456 ≈ 3,4&nbsp;·&nbsp;10<sup>38</sup>) Adressen darstellbar
* Diese Anzahl reicht aus, um für jeden Quadratmillimeter der Erdoberfläche mindestens 665.570.793.348.866.944 (= 6,65&nbsp;·&nbsp;10<sup>17</sup>)<ref>nach:Joseph Davies: ''Understanding IPv6''.
* Diese Anzahl reicht aus, um für jeden Quadratmillimeter der Erdoberfläche mindestens 665.570.793.348.866.944 (= 6,65&nbsp;·&nbsp;10<sup>17</sup>)<ref>nach:Joseph Davies: ''Understanding IPv6''
* Microsoft Press 2002, ISBN 0-7356-1245-5, 2^128 Adressen pro 510 Millionen Quadratkilometer</ref> IP-Adressen bereitzustellen.
* Microsoft Press 2002, ISBN 0-7356-1245-5, 2^128 Adressen pro 510 Millionen Quadratkilometer</ref> IP-Adressen bereitzustellen
* Wenn es in jeder der ca. 2&nbsp;[[Billion]]en [[Galaxie]]n des bekannten [[Universum]]s 100&nbsp;[[Milliarde]]n [[Planetensystem]]e mit je einem bewohnten Planeten gäbe, dann könnte man je Planet 1,7&nbsp;·&nbsp;10<sup>15</sup> IP-Adressen vergeben.
* Wenn es in jeder der ca. 2&nbsp;[[Billion]]en [[Galaxie]]n des bekannten [[Universum]]s 100&nbsp;[[Milliarde]]n [[Planetensystem]]e mit je einem bewohnten Planeten gäbe, dann könnte man je Planet 1,7&nbsp;·&nbsp;10<sup>15</sup> IP-Adressen vergeben
* Wenn die Planeten Erdgröße haben, wären das etwa 3 Adressen je m² der Planetenoberfläche.
* Wenn die Planeten Erdgröße haben, wären das etwa 3 Adressen je m² der Planetenoberfläche


Da die [[Dezimalsystem|Dezimaldarstellung]] <code>ddd.ddd.ddd.ddd.ddd.ddd.ddd.ddd.ddd.ddd.ddd.ddd.ddd.ddd.ddd.ddd</code> unübersichtlich und schlecht handhabbar wäre, stellt man IPv6-Adressen [[hexadezimal]] dar.
Da die [[Dezimalsystem|Dezimaldarstellung]] <code>ddd.ddd.ddd.ddd.ddd.ddd.ddd.ddd.ddd.ddd.ddd.ddd.ddd.ddd.ddd.ddd</code> unübersichtlich und schlecht handhabbar wäre, stellt man IPv6-Adressen [[hexadezimal]] dar
* Um diese Darstellung weiter zu vereinfachen, werden jeweils zwei Oktette der Adresse zusammengefasst und in Gruppen durch Doppelpunkt getrennt dargestellt. <code>XXXX:XXXX:XXXX:XXXX:XXXX:XXXX:XXXX:XXXX</code>.
* Um diese Darstellung weiter zu vereinfachen, werden jeweils zwei Oktette der Adresse zusammengefasst und in Gruppen durch Doppelpunkt getrennt dargestellt. <code>XXXX:XXXX:XXXX:XXXX:XXXX:XXXX:XXXX:XXXX</code>


'''Beispiel:''' <code>2001:0db8:85a3:0000:0000:8a2e:0370:7344</code>
'''Beispiel:''' <code>2001:0db8:85a3:0000:0000:8a2e:0370:7344</code>


Zur weiteren Verkürzung können Nullen am Beginn eines Blocks weggelassen werden.
Zur weiteren Verkürzung können Nullen am Beginn eines Blocks weggelassen werden
* Ein oder mehrere aufeinanderfolgende Blöcke, die nur aus Nullen bestehen, können durch <code>::</code> ersetzt werden - jedoch höchstens einmal in der Adresse, so dass eindeutig auf acht Blöcke aufgefüllt werden kann.
* Ein oder mehrere aufeinanderfolgende Blöcke, die nur aus Nullen bestehen, können durch <code>::</code> ersetzt werden - jedoch höchstens einmal in der Adresse, so dass eindeutig auf acht Blöcke aufgefüllt werden kann


'''Beispiel:''' <code>2001:db8:85a3::8a2e:370:7344</code>
'''Beispiel:''' <code>2001:db8:85a3::8a2e:370:7344</code>
Zeile 55: Zeile 55:


=== Netzwerkteil und Geräteteil ===
=== Netzwerkteil und Geräteteil ===
Jede IPv4-Adresse wird durch eine [[Netzmaske]], jede IPv6-Adresse durch die Angabe der [[Präfixlänge]], in einen Netzwerk- und einen Geräteteil ("Hostteil") getrennt.
Jede IPv4-Adresse wird durch eine [[Netzmaske]], jede IPv6-Adresse durch die Angabe der [[Präfixlänge]], in einen Netzwerk- und einen Geräteteil ("Hostteil") getrennt
* Die Netzmaske, also die Präfixlänge, gibt an, an welchem Bit die Adresse geteilt werden muss.
* Die Netzmaske, also die Präfixlänge, gibt an, an welchem Bit die Adresse geteilt werden muss
* Die von der Netzmaske [[Bitmaske|maskierten]] oder von der Präfixlänge genannten Bit (Netzwerkteil) sind bei allen Hosts (Rechnern) eines Subnetzwerks identisch.
* Die von der Netzmaske [[Bitmaske|maskierten]] oder von der Präfixlänge genannten Bit (Netzwerkteil) sind bei allen Hosts (Rechnern) eines Subnetzwerks identisch
* Die Information, ob ein Gerät im selben Subnetz liegt (d.&nbsp;h.
* Die Information, ob ein Gerät im selben Subnetz liegt (d.&nbsp;h
* gleicher Netzwerkteil in der IP-Adresse), wird von einem Host benötigt, um [[Routing]]-Entscheidungen treffen zu können (siehe folgenden Abschnitt).
* gleicher Netzwerkteil in der IP-Adresse), wird von einem Host benötigt, um [[Routing]]-Entscheidungen treffen zu können (siehe folgenden Abschnitt)


==== Beispiel ====
==== Beispiel ====
Zeile 84: Zeile 84:
|}
|}


Bei einer Netzmaske mit 27 gesetzten Bit ergibt sich eine Netzadresse von <code>203.0.113.192</code>.
Bei einer Netzmaske mit 27 gesetzten Bit ergibt sich eine Netzadresse von <code>203.0.113.192</code>
* Es verbleiben 5 Bit und damit 2<sup>5</sup>&nbsp;=&nbsp;32 Adressen für den Geräteteil.
* Es verbleiben 5 Bit und damit 2<sup>5</sup>&nbsp;=&nbsp;32 Adressen für den Geräteteil
* Hiervon werden noch je eine Adresse für das Netz selbst und für den [[Broadcast]] benötigt, so dass 30 Adressen für Geräte zur Verfügung stehen.
* Hiervon werden noch je eine Adresse für das Netz selbst und für den [[Broadcast]] benötigt, so dass 30 Adressen für Geräte zur Verfügung stehen


=== Routing ===
=== Routing ===
[[Datei:IP-Paket Routing über Netzwerke.svg|mini|500px|Routing eines HTTP-Pakets über drei Netze]]
[[Datei:IP-Paket Routing über Netzwerke.svg|mini|500px|Routing eines HTTP-Pakets über drei Netze]]


Will ein Gerät ein IP-Paket versenden, werden die Netzwerkteile der Quell-IP-Adresse und Ziel-IP-Adresse verglichen.
Will ein Gerät ein IP-Paket versenden, werden die Netzwerkteile der Quell-IP-Adresse und Ziel-IP-Adresse verglichen
* Stimmen sie überein, befindet sich der Ziel-Host im selben Netz, und das Paket wird direkt an den Empfänger gesendet.
* Stimmen sie überein, befindet sich der Ziel-Host im selben Netz, und das Paket wird direkt an den Empfänger gesendet
* Im Falle von [[Ethernet]]-Netzen dient das [[Address Resolution Protocol|ARP]] (Address Resolution Protocol) zum Auffinden der Hardwareadresse.
* Im Falle von [[Ethernet]]-Netzen dient das [[Address Resolution Protocol|ARP]] (Address Resolution Protocol) zum Auffinden der Hardwareadresse
* Das ARP arbeitet auf der zweiten Schicht des OSI-Modells und stellt die Verbindung zur ersten Schicht her.
* Das ARP arbeitet auf der zweiten Schicht des OSI-Modells und stellt die Verbindung zur ersten Schicht her


Stimmen die Netzwerkteile dagegen nicht überein, so wird über eine [[Routingtabelle]] die IP-Adresse eines [[Router]]s (next hop) gesucht und das Paket an diesen Router gesendet.
Stimmen die Netzwerkteile dagegen nicht überein, so wird über eine [[Routingtabelle]] die IP-Adresse eines [[Router]]s (next hop) gesucht und das Paket an diesen Router gesendet
* Dieser hat über eine oder mehrere Schnittstellen Kontakt zu anderen Netzen und ''routet'' das Paket mit demselben Verfahren weiter - er konsultiert dazu seinerseits seine eigene Routingtabelle und sendet das Paket gegebenenfalls an den nächsten Router oder an das Ziel.
* Dieser hat über eine oder mehrere Schnittstellen Kontakt zu anderen Netzen und ''routet'' das Paket mit demselben Verfahren weiter - er konsultiert dazu seinerseits seine eigene Routingtabelle und sendet das Paket gegebenenfalls an den nächsten Router oder an das Ziel
* Bis zum Endgerät kann das Paket viele Netze und Router durchlaufen.
* Bis zum Endgerät kann das Paket viele Netze und Router durchlaufen
* Das Durchlaufen eines Routers wird auch ''Hop'' (Sprung) genannt, das Routingverfahren ''Next Hop Routing''.
* Das Durchlaufen eines Routers wird auch ''Hop'' (Sprung) genannt, das Routingverfahren ''Next Hop Routing''


Ein Router hat dabei für jede seiner Schnittstellen eine eigene IP-Adresse und Netzmaske, die zum jeweiligen Netz gehört.
Ein Router hat dabei für jede seiner Schnittstellen eine eigene IP-Adresse und Netzmaske, die zum jeweiligen Netz gehört
* Jedes IP-Paket wird einzeln geroutet.
* Jedes IP-Paket wird einzeln geroutet
* Die Quell- und Zieladresse im IP-Header werden vom Sender gesetzt und bleiben, wenn keine [[Netzwerkadressübersetzung|Adress-Umsetzung]] stattfindet, während des gesamten Weges unverändert.
* Die Quell- und Zieladresse im IP-Header werden vom Sender gesetzt und bleiben, wenn keine [[Netzwerkadressübersetzung|Adress-Umsetzung]] stattfindet, während des gesamten Weges unverändert


siehe [[Routing]]
siehe [[Routing]]
Zeile 148: Zeile 148:
|}
|}


Nach dieser Liste erfüllen 622.199.809 von rund 4,3 Milliarden IPv4-Adressen bzw.&nbsp;14,5 % aller möglichen IPv4-Adressen einen besonderen Zweck.
Nach dieser Liste erfüllen 622.199.809 von rund 4,3 Milliarden IPv4-Adressen bzw.&nbsp;14,5 % aller möglichen IPv4-Adressen einen besonderen Zweck


# Das Netz 127.0.0.0/8 bezieht sich auf den lokalen Computer (''[[loopback]] address'').
# Das Netz 127.0.0.0/8 bezieht sich auf den lokalen Computer (''[[loopback]] address'')
* Aus diesem Netzbereich ist oftmals die Adresse 127.0.0.1 mit dem [[Hostname]]n ''[[localhost]]'' ansprechbar.
* Aus diesem Netzbereich ist oftmals die Adresse 127.0.0.1 mit dem [[Hostname]]n ''[[localhost]]'' ansprechbar
* Adressen aus diesem Bereich dienen zur Kommunikation eines Client- mit einem Server-Prozess auf demselben Computer.
* Adressen aus diesem Bereich dienen zur Kommunikation eines Client- mit einem Server-Prozess auf demselben Computer
* Mit [[Kommandozeile]]nbefehlen wie <code>[[Secure Shell|ssh]] localhost</code> oder <code>[[File Transfer Protocol|ftp]] 127.0.0.1</code> können die Server auf einem lokalen Rechner angesprochen werden, etwa um ihr Funktionieren zu testen.
* Mit [[Kommandozeile]]nbefehlen wie <code>[[Secure Shell|ssh]] localhost</code> oder <code>[[File Transfer Protocol|ftp]] 127.0.0.1</code> können die Server auf einem lokalen Rechner angesprochen werden, etwa um ihr Funktionieren zu testen
# Die spezielle Adresse 255.255.255.255 kann neben der höchsten Geräteadresse im Netz ebenfalls als Broadcastadresse verwendet werden.
# Die spezielle Adresse 255.255.255.255 kann neben der höchsten Geräteadresse im Netz ebenfalls als Broadcastadresse verwendet werden
* Dadurch ist das Versenden von Broadcasts ohne Kenntnis weiterer Netzwerkparameter möglich.
* Dadurch ist das Versenden von Broadcasts ohne Kenntnis weiterer Netzwerkparameter möglich
* Dies ist für Protokolle wie [[Bootstrap Protocol|BOOTP]] und [[Dynamic Host Configuration Protocol|DHCP]] wichtig.
* Dies ist für Protokolle wie [[Bootstrap Protocol|BOOTP]] und [[Dynamic Host Configuration Protocol|DHCP]] wichtig


Damit gibt es drei IP-Adresstypen:
Damit gibt es drei IP-Adresstypen:
* [[Unicast]]: Senden an einen bestimmten Empfänger im Internet (normale Adressierung).
* [[Unicast]]: Senden an einen bestimmten Empfänger im Internet (normale Adressierung)
* [[Broadcast]]: Senden an alle Geräte im selben Netz ([[Subnetz]]).
* [[Broadcast]]: Senden an alle Geräte im selben Netz ([[Subnetz]])
* Dieses wird bei IPv6 durch Multicast ersetzt.
* Dieses wird bei IPv6 durch Multicast ersetzt
* [[Multicast]]: Senden an einige Geräte im selben Netz (oder Geräte im [[Multicast Backbone|Multicastbackbone-Netz]]).
* [[Multicast]]: Senden an einige Geräte im selben Netz (oder Geräte im [[Multicast Backbone|Multicastbackbone-Netz]])


=== Nicht mehr reservierte IP-Adressen ===
=== Nicht mehr reservierte IP-Adressen ===
Mit dem RFC 5735 wurden ca. 50 Millionen IP-Adressen freigegeben.
Mit dem RFC 5735 wurden ca. 50 Millionen IP-Adressen freigegeben
* Die Reservierung der folgenden Adressbereiche wurde aufgehoben und zur Verteilung freigegeben.
* Die Reservierung der folgenden Adressbereiche wurde aufgehoben und zur Verteilung freigegeben


{| class="wikitable big options"
{| class="wikitable big options"
Zeile 186: Zeile 186:


=== DNS - Übersetzung von Rechnernamen in IP-Adressen ===
=== DNS - Übersetzung von Rechnernamen in IP-Adressen ===
Über das weltweit verfügbare [[Domain Name System|Domain Name System (DNS)]] können Namen in IP-Adressen (und umgekehrt) aufgelöst werden.
Über das weltweit verfügbare [[Domain Name System|Domain Name System (DNS)]] können Namen in IP-Adressen (und umgekehrt) aufgelöst werden
* Der Name ''www.example.com'' wird zum Beispiel in die IPv4-Adresse <code>93.184.216.34</code> und die IPv6-Adresse <code>2606:2800:220:1:248:1893:25c8:1946</code> übersetzt.
* Der Name ''www.example.com'' wird zum Beispiel in die IPv4-Adresse <code>93.184.216.34</code> und die IPv6-Adresse <code>2606:2800:220:1:248:1893:25c8:1946</code> übersetzt




[[Kategorie:IP/Adresse]]
[[Kategorie:IP/Adresse]]

Version vom 19. Juli 2025, 11:03 Uhr

Grundlagen

Um eine Kommunikation zwischen zwei technischen Geräten aufzubauen, muss jedes der Geräte in der Lage sein, dem anderen Gerät Daten zu senden

  • Damit diese Daten bei der richtigen Gegenstelle ankommen, muss diese eindeutig benannt (adressiert) werden
  • Dies geschieht in IP-Netzen mit einer IP-Adresse
  • So wird zum Beispiel ein Webserver von einem Webbrowser direkt über seine IP-Adresse angesprochen
  • Der Browser fragt dazu bei einem Nameserver die IP-Adresse ab, die einer Domain (zum Beispiel "www.example.com") zugeordnet ist
  • Anschließend nutzt er diese IP-Adresse, um Daten an den Webserver zu senden

IP-Adresse in IP-Datenpaketen

Jedes IP-Datenpaket beginnt mit einem Informationsbereich für die Beförderung durch die IP-Schicht, dem IP-Header

  • Dieser Header enthält auch zwei Felder, in welche die IP-Adressen sowohl des Senders als auch des Empfängers eingetragen werden, bevor das Datenpaket verschickt wird
  • Die Vermittlung geschieht auf der Schicht 3 im OSI-Modell, der Vermittlungsschicht

Aufbau

Frühere Versionen

Das Internet wurde anfangs als Netz konzipiert, um mehrere bestehende Datennetze miteinander zu verbinden

  • Eine Organisation wie die IANA, die Institutionen IP-Bereiche nach Bedarf zuweist, gab es noch nicht
  • In den Headern der früheren Varianten des Internetprotokolls gab es getrennte Felder, in denen eine Netzwerk-Adresse und eine Host-Adresse unabhängig voneinander definiert waren
  • Die Netzwerk-Adresse war eine Netzwerk-Kennziffer in Form eines 8 Bit-Wertes, die Quell- und Zielnetz des jeweiligen Datenpaketes kennzeichnet
  • Die für Arpanet, Cyclades und weitere Netze verwendeten Kennziffern waren festgelegt
  • Die Host-Adresse hatte in der ersten Version des Internetprotokolls von 1974 eine Länge von 16 Bit, wurde aber bereits in der ersten Überarbeitung des Internetprotokolls auf 24 Bit erweitert
  • So war es theoretisch bereits seit 1975 möglich, im Internet die gleiche Anzahl an Hosts zu adressieren, wie es heute noch auf Basis von IPv4 möglich ist
  • Die Trennung von Netzwerk- und Host-Adresse entfiel, als im Jahre 1981 das IPv4-Protokoll eingeführt wurde und die IANA durch Einführung der Netzklassen dann IP-Adressbereiche in unterschiedlichen Größen vergab
  • Durch komplexere Routing-Methoden und die Tatsache, dass es IP-Netze in unterschiedlichen Größen gab, wurde die Trennung von Netz- und Hostadresse obsolet, sodass die Adressen schlichtweg als IP-Adressen bezeichnet wurden, die lediglich abhängig von den jeweiligen Netzwerkgrößen einen individuellen Netz- und Host-Teil haben.[1]

IPv4

Die seit der Einführung der Version 4 des Internetprotokolls überwiegend verwendeten IPv4-Adressen bestehen aus 32 Bits, also 4 Oktetten (Bytes)

  • Damit sind 232, also 4.294.967.296 Adressen darstellbar
  • In der dotted decimal notation werden die 4 Oktette als vier durch Punkte voneinander getrennte ganze Zahlen in Dezimaldarstellung im Bereich von 0 bis 255 geschrieben

Beispiel: 203.0.113.195

siehe IPv4

IPv6

Durch den rasch steigenden Bedarf an IP-Adressen ist absehbar, dass der nutzbare Adressraum von IPv4 früher oder später erschöpft sein wird

  • Vor allem aus diesem Grund wurde IPv6 entwickelt
  • Es verwendet 128 Bit zur Speicherung von Adressen, damit sind 2128 = 25616 (= 340.282.366.920.938.463.463.374.607.431.768.211.456 ≈ 3,4 · 1038) Adressen darstellbar
  • Diese Anzahl reicht aus, um für jeden Quadratmillimeter der Erdoberfläche mindestens 665.570.793.348.866.944 (= 6,65 · 1017)[2] IP-Adressen bereitzustellen
  • Wenn es in jeder der ca. 2 Billionen Galaxien des bekannten Universums 100 Milliarden Planetensysteme mit je einem bewohnten Planeten gäbe, dann könnte man je Planet 1,7 · 1015 IP-Adressen vergeben
  • Wenn die Planeten Erdgröße haben, wären das etwa 3 Adressen je m² der Planetenoberfläche

Da die Dezimaldarstellung ddd.ddd.ddd.ddd.ddd.ddd.ddd.ddd.ddd.ddd.ddd.ddd.ddd.ddd.ddd.ddd unübersichtlich und schlecht handhabbar wäre, stellt man IPv6-Adressen hexadezimal dar

  • Um diese Darstellung weiter zu vereinfachen, werden jeweils zwei Oktette der Adresse zusammengefasst und in Gruppen durch Doppelpunkt getrennt dargestellt. XXXX:XXXX:XXXX:XXXX:XXXX:XXXX:XXXX:XXXX

Beispiel: 2001:0db8:85a3:0000:0000:8a2e:0370:7344

Zur weiteren Verkürzung können Nullen am Beginn eines Blocks weggelassen werden

  • Ein oder mehrere aufeinanderfolgende Blöcke, die nur aus Nullen bestehen, können durch :: ersetzt werden - jedoch höchstens einmal in der Adresse, so dass eindeutig auf acht Blöcke aufgefüllt werden kann

Beispiel: 2001:db8:85a3::8a2e:370:7344

siehe IPv6

Netzwerkteil und Geräteteil

Jede IPv4-Adresse wird durch eine Netzmaske, jede IPv6-Adresse durch die Angabe der Präfixlänge, in einen Netzwerk- und einen Geräteteil ("Hostteil") getrennt

  • Die Netzmaske, also die Präfixlänge, gibt an, an welchem Bit die Adresse geteilt werden muss
  • Die von der Netzmaske maskierten oder von der Präfixlänge genannten Bit (Netzwerkteil) sind bei allen Hosts (Rechnern) eines Subnetzwerks identisch
  • Die Information, ob ein Gerät im selben Subnetz liegt (d. h
  • gleicher Netzwerkteil in der IP-Adresse), wird von einem Host benötigt, um Routing-Entscheidungen treffen zu können (siehe folgenden Abschnitt)

Beispiel

(klassenlose) IPv4-Adresse 203.0.113.195/27
Dezimal Binär Berechnung
IP-Adresse 203.000.113.195 11001011 00000000 01110001 11000011 ip-adresse
Netzmaske 255.255.255.224 11111111 11111111 11111111 111 00000 AND netzmaske
Netzwerkadr. 203.000.113.192 11001011 00000000 01110001 110 00000 = netzwerkteil
Dezimal Binär Berechnung
IP-Adresse 203.000.113.195 11001011 00000000 01110001 11000011 ip-adresse
Netzmaske 255.255.255.224 11111111 11111111 11111111 11100000
00000000 00000000 00000000 00011111 || AND (NOT netzmaske)
Geräteteil 000.000.000.003 00000000 00000000 00000000 00000011 geräteteil

Bei einer Netzmaske mit 27 gesetzten Bit ergibt sich eine Netzadresse von 203.0.113.192

  • Es verbleiben 5 Bit und damit 25 = 32 Adressen für den Geräteteil
  • Hiervon werden noch je eine Adresse für das Netz selbst und für den Broadcast benötigt, so dass 30 Adressen für Geräte zur Verfügung stehen

Routing

Routing eines HTTP-Pakets über drei Netze

Will ein Gerät ein IP-Paket versenden, werden die Netzwerkteile der Quell-IP-Adresse und Ziel-IP-Adresse verglichen

  • Stimmen sie überein, befindet sich der Ziel-Host im selben Netz, und das Paket wird direkt an den Empfänger gesendet
  • Im Falle von Ethernet-Netzen dient das ARP (Address Resolution Protocol) zum Auffinden der Hardwareadresse
  • Das ARP arbeitet auf der zweiten Schicht des OSI-Modells und stellt die Verbindung zur ersten Schicht her

Stimmen die Netzwerkteile dagegen nicht überein, so wird über eine Routingtabelle die IP-Adresse eines Routers (next hop) gesucht und das Paket an diesen Router gesendet

  • Dieser hat über eine oder mehrere Schnittstellen Kontakt zu anderen Netzen und routet das Paket mit demselben Verfahren weiter - er konsultiert dazu seinerseits seine eigene Routingtabelle und sendet das Paket gegebenenfalls an den nächsten Router oder an das Ziel
  • Bis zum Endgerät kann das Paket viele Netze und Router durchlaufen
  • Das Durchlaufen eines Routers wird auch Hop (Sprung) genannt, das Routingverfahren Next Hop Routing

Ein Router hat dabei für jede seiner Schnittstellen eine eigene IP-Adresse und Netzmaske, die zum jeweiligen Netz gehört

  • Jedes IP-Paket wird einzeln geroutet
  • Die Quell- und Zieladresse im IP-Header werden vom Sender gesetzt und bleiben, wenn keine Adress-Umsetzung stattfindet, während des gesamten Weges unverändert

siehe Routing

Besondere IP-Adressen

Besondere IPv4-Adressen nach RFC 6890
CIDR-Adressblock Adressbereich Beschreibung RFC
0.0.0.0/8 0.0.0.0 bis 0.255.255.255 aktuelles Netz (nur als Quelladresse gültig) RFC 3232 (ersetzt RFC 1700)
10.0.0.0/8 10.0.0.0 bis 10.255.255.255 Netzwerk für den privaten Gebrauch RFC 1918
100.64.0.0/10 100.64.0.0 bis 100.127.255.255 Mehrfach benutzter Adressbereich für Provider-NAT (siehe Carrier-grade NAT) RFC 6598
127.0.0.0/8(1) 127.0.0.0 bis 127.255.255.255 Localnet RFC 3330
169.254.0.0/16 169.254.0.0 bis 169.254.255.255 Zeroconf RFC 3927
172.16.0.0/12 172.16.0.0 bis 172.31.255.255 Netzwerk für den privaten Gebrauch RFC 1918
192.0.0.0/24 192.0.0.0 bis 192.0.0.255 reserviert, aber zur Vergabe vorgesehen
192.0.0.0/29 192.0.0.0 bis 192.0.0.7 Dual-Stack Lite (DS-Lite), IPv4- und IPv6 Übergangsmechanismus mit globaler IPv6-Adresse und Provider-NAT für IPv4 RFC 6333
192.0.2.0/24 192.0.2.0 bis 192.0.2.255 Dokumentation und Beispielcode (TEST-NET-1) RFC 5737 (ersetzt RFC 3330)
192.88.99.0/24 192.88.99.0 bis 192.88.99.255 6to4-Anycast-Weiterleitungspräfix RFC 3068
192.168.0.0/16 192.168.0.0 bis 192.168.255.255 Netzwerk für den privaten Gebrauch RFC 1918
198.18.0.0/15 198.18.0.0 bis 198.19.255.255 Netz-Benchmark-Tests RFC 2544
198.51.100.0/24 198.51.100.0 bis 198.51.100.255 Dokumentation und Beispielcode (TEST-NET-2) RFC 5737
203.0.113.0/24 203.0.113.0 bis 203.0.113.255 Dokumentation und Beispielcode (TEST-NET-3) RFC 5737
224.0.0.0/4 224.0.0.0 bis 239.255.255.255 Multicasts (früheres Klasse-D-Netz) RFC 3171
240.0.0.0/4 240.0.0.0 bis 255.255.255.255 reserviert (früheres Klasse-E-Netz) RFC 3232 (ersetzt RFC 1700)
255.255.255.2552) 255.255.255.255 Broadcast

Nach dieser Liste erfüllen 622.199.809 von rund 4,3 Milliarden IPv4-Adressen bzw. 14,5 % aller möglichen IPv4-Adressen einen besonderen Zweck

  1. Das Netz 127.0.0.0/8 bezieht sich auf den lokalen Computer (loopback address)
  • Aus diesem Netzbereich ist oftmals die Adresse 127.0.0.1 mit dem Hostnamen localhost ansprechbar
  • Adressen aus diesem Bereich dienen zur Kommunikation eines Client- mit einem Server-Prozess auf demselben Computer
  • Mit Kommandozeilenbefehlen wie ssh localhost oder ftp 127.0.0.1 können die Server auf einem lokalen Rechner angesprochen werden, etwa um ihr Funktionieren zu testen
  1. Die spezielle Adresse 255.255.255.255 kann neben der höchsten Geräteadresse im Netz ebenfalls als Broadcastadresse verwendet werden
  • Dadurch ist das Versenden von Broadcasts ohne Kenntnis weiterer Netzwerkparameter möglich
  • Dies ist für Protokolle wie BOOTP und DHCP wichtig

Damit gibt es drei IP-Adresstypen:

  • Unicast: Senden an einen bestimmten Empfänger im Internet (normale Adressierung)
  • Broadcast: Senden an alle Geräte im selben Netz (Subnetz)
  • Dieses wird bei IPv6 durch Multicast ersetzt
  • Multicast: Senden an einige Geräte im selben Netz (oder Geräte im Multicastbackbone-Netz)

Nicht mehr reservierte IP-Adressen

Mit dem RFC 5735 wurden ca. 50 Millionen IP-Adressen freigegeben

  • Die Reservierung der folgenden Adressbereiche wurde aufgehoben und zur Verteilung freigegeben
CIDR-Adressblock Adressbereich Anzahl Beschreibung RFC
14.0.0.0/8 14.0.0.0 bis 14.255.255.255 16.777.216 Öffentliches Datennetz RFC 3232 (ersetzt RFC 1700)
24.0.0.0/8 24.0.0.0 bis 24.255.255.255 16.777.216 Cable Television Networks
39.0.0.0/8 39.0.0.0 bis 39.255.255.255 16.777.216 im Januar 2011 an das APNIC vergeben RFC 1797
128.0.0.0/16 128.0.0.0 bis 128.0.255.255 65.536 im November 2010 an das RIPE NCC vergeben[3]
191.255.0.0/16 191.255.0.0 bis 191.255.255.255 65.536 reserviert, aber zur Vergabe vorgesehen
223.255.255.0/24 223.255.255.0 bis 223.255.255.255 256 reserviert, aber zur Vergabe vorgesehen RFC 3330

DNS - Übersetzung von Rechnernamen in IP-Adressen

Über das weltweit verfügbare Domain Name System (DNS) können Namen in IP-Adressen (und umgekehrt) aufgelöst werden

  • Der Name www.example.com wird zum Beispiel in die IPv4-Adresse 93.184.216.34 und die IPv6-Adresse 2606:2800:220:1:248:1893:25c8:1946 übersetzt
  1. nach:Joseph Davies: Understanding IPv6
    • Microsoft Press 2002, ISBN 0-7356-1245-5, 2^128 Adressen pro 510 Millionen Quadratkilometer