IP/Adresse/Grundlagen: Unterschied zwischen den Versionen
(8 dazwischenliegende Versionen desselben Benutzers werden nicht angezeigt) | |||
Zeile 1: | Zeile 1: | ||
== | '''IP/Adresse/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 | === Beschreibung === | ||
* Dies geschieht in IP-Netzen mit einer IP-Adresse | 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 | ||
* So wird zum Beispiel ein [[Webserver]] von einem Webbrowser direkt über seine IP-Adresse angesprochen | * Damit diese Daten bei der richtigen Gegenstelle ankommen, muss diese eindeutig benannt (adressiert) werden | ||
* Der Browser fragt dazu bei einem [[Nameserver]] die IP-Adresse ab, die einer [[Domain (Internet)|Domain]] (zum Beispiel "www.example.com") zugeordnet ist | * Dies geschieht in IP-Netzen mit einer IP-Adresse | ||
* Anschließend nutzt er diese IP-Adresse, um Daten an den Webserver zu senden | * 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 | |||
* 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. | * 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. | ||
==== IPv4 ==== | ==== IPv4 ==== | ||
Die seit der Einführung der Version 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 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 36: | ||
==== 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 · 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 · 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 · 10<sup>17</sup>) | * Diese Anzahl reicht aus, um für jeden Quadratmillimeter der Erdoberfläche mindestens 665.570.793.348.866.944 (= 6,65 · 10<sup>17</sup>) IP-Adressen bereitzustellen | ||
* Wenn es in jeder der ca. 2 [[Billion]]en [[Galaxie]]n des bekannten [[Universum]]s 100 [[Milliarde]]n [[Planetensystem]]e mit je einem bewohnten Planeten gäbe, dann könnte man je Planet 1,7 · 10<sup>15</sup> IP-Adressen vergeben | |||
* Wenn es in jeder der ca. 2 [[Billion]]en [[Galaxie]]n des bekannten [[Universum]]s 100 [[Milliarde]]n [[Planetensystem]]e mit je einem bewohnten Planeten gäbe, dann könnte man je Planet 1,7 · 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 56: | ||
=== 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. h | * 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) | * gleicher Netzwerkteil in der IP-Adresse), wird von einem Host benötigt, um [[Routing]]-Entscheidungen treffen zu können (siehe folgenden Abschnitt) | ||
==== Beispiel ==== | ==== Beispiel ==== | ||
; (klassenlose) IPv4-Adresse <code>203.0.113.195/27</code> | ; (klassenlose) IPv4-Adresse <code>203.0.113.195/27</code> | ||
{| class="wikitable options" | {| class="wikitable options big" | ||
! !! Dezimal !! Binär !! Berechnung | ! !! Dezimal !! Binär !! Berechnung | ||
|- | |- | ||
Zeile 73: | Zeile 74: | ||
|} | |} | ||
{| class="wikitable options" | {| class="wikitable options big" | ||
! !! Dezimal !! Binär !! Berechnung | ! !! Dezimal !! Binär !! Berechnung | ||
|- | |- | ||
Zeile 84: | Zeile 85: | ||
|} | |} | ||
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> = 32 Adressen für den Geräteteil | * Es verbleiben 5 Bit und damit 2<sup>5</sup> = 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 149: | ||
|} | |} | ||
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 | 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 | ||
# 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 178: | Zeile 179: | ||
| 39.0.0.0/8 || 39.0.0.0 bis 39.255.255.255 ||style="text-align:right"| 16.777.216 || im Januar 2011 an das [[Asia-Pacific Network Information Centre|APNIC]] vergeben || RFC 1797 | | 39.0.0.0/8 || 39.0.0.0 bis 39.255.255.255 ||style="text-align:right"| 16.777.216 || im Januar 2011 an das [[Asia-Pacific Network Information Centre|APNIC]] vergeben || RFC 1797 | ||
|- | |- | ||
| 128.0.0.0/16 || 128.0.0.0 bis 128.0.255.255 ||style="text-align:right"| 65.536 || im November 2010 an das [[RIPE Network Coordination Centre|RIPE NCC]] vergeben | | 128.0.0.0/16 || 128.0.0.0 bis 128.0.255.255 ||style="text-align:right"| 65.536 || im November 2010 an das [[RIPE Network Coordination Centre|RIPE NCC]] vergeben|| | ||
|- | |- | ||
| 191.255.0.0/16 || 191.255.0.0 bis 191.255.255.255 ||style="text-align:right"| 65.536 || reserviert, aber zur Vergabe vorgesehen || | | 191.255.0.0/16 || 191.255.0.0 bis 191.255.255.255 ||style="text-align:right"| 65.536 || reserviert, aber zur Vergabe vorgesehen || | ||
Zeile 185: | Zeile 186: | ||
|} | |} | ||
=== DNS - Übersetzung von Rechnernamen in IP-Adressen | === [[Domain Name System|Domain Name System (DNS)]] === | ||
Über das weltweit verfügbare [[Domain Name System|Domain Name System (DNS)]] können Namen in IP-Adressen (und umgekehrt) aufgelöst werden | ; DNS - Übersetzung von Rechnernamen in IP-Adressen | ||
* 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 | Ü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 | |||
[[Kategorie:IP/Adresse]] |
Aktuelle Version vom 19. Juli 2025, 11:08 Uhr
IP/Adresse/Grundlagen
Beschreibung
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.
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) 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

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
- 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
oderftp 127.0.0.1
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
- 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 | |
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 |
Domain Name System (DNS)
- 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-Adresse2606:2800:220:1:248:1893:25c8:1946
übersetzt