Internet Protocol
Familie:
|
Internetprotokollfamilie
|
Einsatzgebiet:
|
Datenpaketversendung
sowohl lokal als auch
weltweit uber verschiedene
Netzwerke
|
|
Standards:
|
RFC 8200 (IPv6, 2017)
[1]
RFC 791 (IPv4, 1981)
[2]
|
Das
Internet Protocol
(
IP
) ist ein in
Rechnernetzen
weit verbreitetes
Netzwerkprotokoll
und stellt durch seine Funktion die Grundlage des
Internets
dar. Das IP ist die
Implementierung
der Internetschicht des TCP/IP-Modells bzw. der Vermittlungsschicht (
englisch
Network Layer
) des
OSI-Modells
.
[3]
IP ist ein verbindungsloses Protokoll, das heißt bei den Kommunikationspartnern wird kein Zustand etabliert.
Mit
IPv4
und
IPv6
sind zwei verschiedene Versionen des Internet Protocols verbreitet. Beide stellen ein eigenes Netzwerkprotokoll dar, das unabhangig von oder auch parallel zu dem anderen betrieben werden kann. Der Hauptunterschied ist die Große des Adressraums.
Das IP bildet die erste vom
Ubertragungsmedium
unabhangige Schicht der
Internetprotokollfamilie
. Das bedeutet, dass mittels
IP-Adresse
und Sub
netzmaske
(subnet mask)
fur
IPv4
, bzw.
Prafixlange
bei
IPv6
, Computer innerhalb eines Netzwerkes in logische Einheiten, sogenannte
Subnetze
, gruppiert werden konnen. Auf dieser Basis ist es moglich, Computer in großeren Netzwerken zu adressieren und ihnen
IP-Pakete
zu senden, da logische Adressierung die Grundlage fur
Routing
(Wegewahl und Weiterleitung von Netzwerkpaketen) ist.
Offentliche
IP-Adressen
mussen in der Regel weltweit eindeutig zugeordnet werden konnen, daher ist deren Vergabe durch die
Internet Assigned Numbers Authority
(IANA) geregelt. Diese delegiert große Adressblocke an die
Regional Internet Registries
(RIRs), welche dann Subnetze davon an
Local Internet Registries
(LIRs) vergeben. Zu den LIRs gehoren beispielsweise
Internetdienstanbieter
, die aus ihrem Adressbereich kleinere Subnetze oder einzelne Adressen an Kunden vergeben.
Bei IPv4 ist der zu vergebende Adressraum weitgehend aufgebraucht. Die IANA hat im Februar 2011 die letzten Adressblocke an die RIRs vergeben.
Im Mai 1974 veroffentlichten
Vint Cerf
und
Bob Kahn
in einer Forschungsarbeit ein Netzwerkprotokoll zur ubergreifenden Kommunikation zwischen unterschiedlichen paketvermittelten Netzen. In dem Modell fuhren Endgerate (
englisch
hosts
) ein ?Ubertragungskontrollprogramm“ (
englisch
transmission control program
? TCP) aus, das die Ubermittlung eines kontinuierlichen
Datenstroms
zwischen
Prozessen
sicherstellt.
Gateways
ubernehmen die Umformung von Paketen an Netzwerkgrenzen.
[4]
Die erste vollstandige Protokollspezifikation erschien mit RFC 675 im Dezember 1974.
[5]
Das monolithische Ubertragungskontrollprogramm wurde spater in eine Modularchitektur geteilt, die aus dem Internetprotokoll (
englisch
internet protocol
) zur Host-zu-Host-Kommunikation und dem
Ubertragungskontrollprotokoll
(
englisch
transmission control protocol
? TCP) zur Prozess-zu-Prozess-Kommunikation bestand. Das Modell wurde bekannt als TCP/IP-Referenzmodell.
Beide Protokolle wurden mehrfach uberarbeitet, ehe sie zum praktischen Einsatz kamen. Neben der finalen Bezeichnung als ?Internet Protocol“ wurde in Entwurfen auch ?Internetwork Protocol“,
[6]
[7]
?Internet Datagram Protocol“
[8]
oder ?DoD Standard Internet Protocol“
[9]
[10]
verwendet. Bei großeren Anderungen des
IP-Headers
wurde eine im Header enthaltene Versionsnummer hochgezahlt. Bei der Einfuhrung von TCP/IP im
Arpanet
am 1. Januar 1983
[11]
trugen IP-Pakete daher die Versionsnummer 4. Vorherige Versionen waren nicht verbreitet.
Im ersten Protokollentwurf war ein Adressierungsschema variabler Lange vorgesehen, bestehend aus einer mindestens 4 Bit langen Netzadresse, einer 16 Bit langen Hostadresse und einer 24 Bit langen Portnummer.
[5]
Spater wurden IP-Adressen auf 32 Bit festgelegt, bestehend aus 8 Bit Netzadresse und 24 Bit Hostadresse.
[10]
Die Portnummer wurde zu TCP verschoben und auf 16 Bit gekurzt. Mit RFC 791 wurden
Netzklassen
eingefuhrt, um mehr Flexibilitat bei der Aufteilung einer IP-Adresse in Netz- und Hostteil zu haben.
[2]
Subnetz-Segmentierung war zu dem Zeitpunkt noch nicht vorgesehen.
Jon Postel
kummerte sich um die Vergabe von Netzadressen ? eine Rolle, die spater als Internet Assigned Numbers Authority bezeichnet wurde.
Mit der sich abzeichnenden Knappheit von IP-Adressen begann Anfang der 1990er Jahre die Entwicklung eines Nachfolgeprotokolls. Zur Unterscheidung wurde das etablierte Internetprotokoll entsprechend der Versionsnummer im IP-Header als
IPv4
und das neue Internetprotokoll als
IPv6
bezeichnet. Die wichtigste Neuerung ist der erheblich großere Adressraum: gegenuber den 32-Bit-Adressen bei IPv4 (ergibt ca. 4 Milliarden, oder 4,3·10
9
Adressen) verwendet IPv6 128-Bit-Adressen (ergibt ca. 340 Sextillionen, oder 3,4·10
38
Adressen).
Die Versionsnummer 5 war durch das experimentelle
Internet Stream Protocol
belegt,
[12]
das nicht als Nachfolger, sondern als Erganzung parallel zum Internetprotokoll gedacht war. Das Internet Stream Protocol wurde spater aufgegeben ohne eine nennenswerte Verbreitung erlangt zu haben. Die Versionsnummern 7 bis 9 wurden fur verschiedene Vorschlage eines IPv4-Nachfolgers verwendet, die jedoch zugunsten von IPv6 aufgegeben wurden.
[13]
Die
Verbreitung von IPv6
nimmt langsam zu, liegt jedoch hinter der Verbreitung von IPv4. Gangige Betriebssysteme und Standardsoftware unterstutzen beide Protokolle.
Ubergangsmechanismen
ermoglichen den gleichzeitigen Betrieb von IPv4 und IPv6 auf derselben Infrastruktur. Seit dem
World IPv6 Day und World IPv6 Launch Day
2011 und 2012 bieten namhafte
Websites
und Internetdienstanbieter IPv6 an.
Die Designgrundsatze der Internetprotokolle nehmen an, dass die Netzinfrastruktur an jedem einzelnen Netzelement oder Ubertragungsmedium von Natur aus unzuverlassig ist. Auch setzen diese voraus, dass sich die Infrastruktur im Bezug auf Verfugbarkeit von Verbindungen und Knoten dynamisch verhalt. Um jedoch die Netzinfrastruktur aufrechtzuerhalten, wird das Hauptaugenmerk der
Datenubertragung
vorsatzlich großtenteils auf den Endknoten jeder einzelnen
Datenubermittlung
gelegt. Router im Ubertragungspfad schicken Datenpakete nur zu direkt erreichbaren und bekannten Ubergangen, die die fur den Bestimmungsort festgelegten Adressen vom Routenplanungsprafix vergleichen.
Demzufolge stellen diese Internetprotokolle nur beste Ubergange zur Verfugung, wodurch diese Dienste als unzuverlassig charakterisiert werden. Das IP ist verbindungslos, jedes einzelne Datenpaket wird unabhangig behandelt. Da jeder einzelne Ubermittlungsweg eines Datenpaketes neu definiert wird (dynamisch), ist es moglich, dass die Pakete auf verschiedenen Pfaden zu ihrem Bestimmungsort gesendet werden.
Die Internetprotokoll-Version 4 (IPv4) stellt den benotigten Schutz zur Verfugung, um sicherzustellen, dass der Protokollkopf jedes Datenpaketes fehlerfrei ist.
[14]
Ein Routenplanungsknoten berechnet eine
Prufsumme
fur den Paketkopf. Wenn die Prufsumme ungultig ist, verwirft der Routenplanungsknoten das Paket. Der Routenplanungsknoten muss keinen Endknoten bekannt geben, obwohl das
Internetkontrollnachrichtenprotokoll
(ICMP) solche Ankundigungen erlaubt. Im Gegensatz dazu verfugt die Internetprotokoll-Version 6 (IPv6) uber keine Prufsumme,
[14]
was zu einer schnelleren Verarbeitung wahrend der Routenplanung fuhrt.
Alle Fehlerquellen im Ubertragungsnetz mussen entdeckt und mit Hilfe der Ubertragung auf Endknoten ersetzt werden. Die oberen Schicht-Protokolle der Internetprotokoll-Familie sind dafur verantwortlich, Zuverlassigkeitsprobleme aufzulosen. Zum Beispiel kann ein Host Daten zuruckhalten und eine Richtigstellung durchfuhren, bevor die Daten an den jeweiligen Empfanger geliefert werden.
Selbst wenn der Ubermittlungspfad verfugbar und zuverlassig ist, besteht wegen der dynamischen Natur und der Heterogenitat des Internets und seiner Bestandteile keine Garantie, dass auch tatsachlich jeder dieser einzelnen Pfade fahig ist, eine Datenubermittlung wie gefordert durchzufuhren. Zum Beispiel kann die fur einen Ubertragungsabschnitt maximal erlaubte Ubermittlungsgroße fur Datenpakete eine technische Einschrankung darstellen. Daher muss idealerweise jede Anwendung Sorge dafur tragen, korrekte Ubertragungseigenschaften zu verwenden.
Ein Teil dieser Verantwortung kann auch durch Protokolle der oberen Schichten wahrgenommen werden. IPv6 verwendet die Fahigkeit, die maximale Ubertragungseinheitsgroße einer lokalen Verbindung sowie den dafur komplett geplanten Pfad zum Bestimmungsort zu ermitteln und zu nutzen. Die IPv4-Internetschicht besitzt die Fahigkeit, große Datenpakete in kleinere Einheiten fur die Ubertragung wie im Folgenden beschrieben zu zerlegen.
Das
Transmission Control Protocol
(TCP) ist ein Beispiel eines Protokolls, das seine Segmentgroße so regulieren kann, dass die resultierenden Frames (s.
Internetprotokollfamilie
) nicht großer als der maximal erlaubte Durchfluss (
Maximum Transmission Unit
, MTU) sind. Fur
User Datagram Protocol
(UDP) und
Internet Control Message Protocol
(ICMP) spielt jedoch die MTU-Große keine Rolle. Daher wird ggf. auf IP-Ebene erzwungen, dass ubergroße Datenpakete in kleinere Einheiten (entsprechend MTU) zerlegt werden. Dieser Vorgang wird als
IP-Fragmentierung
bezeichnet.
- ↑
RFC
8200
?
Internet Protocol, Version 6
[Errata: RFC
8200
]. Juli 2017 (lost
RFC 2460
ab, englisch).
- ↑
a
b
Jon Postel
:
RFC
791
?
Internet Protocol
. September 1981 (englisch).
- ↑
Optische Netze ?Systeme Planung Aufbau
. 1. Auflage. dibkom, Straßfurt 2010,
ISBN 978-3-9811630-6-3
,
S.
35
.
- ↑
Vint Cerf, Bob Kahn:
A Protocol for Packet Network Intercommunication
. In:
IEEE Transactions on Communications
.
Band
22
,
Nr.
5
. IEEE, Mai 1974,
ISSN
0090-6778
,
doi
:
10.1109/TCOM.1974.1092259
(englisch,
ieee.org
).
- ↑
a
b
Vinton Cerf, Yogen Dalal, Carl Sunshine:
RFC
675
?
Specification of Internet Transmission Control Program
. Dezember 1974 (englisch).
- ↑
Jonathan B. Postel:
Draft Internetwork Protocol Specification ? Version 2.
(PDF) IEN 28. Februar 1978,
abgerufen am 9. Februar 2020
.
- ↑
Jonathan B. Postel:
Internetwork Protocol Specification ? Version 4.
(PDF) IEN 41. Juni 1978,
abgerufen am 9. Februar 2020
.
- ↑
Internet Datagram Protocol ? Version 4.
(PDF) IEN 80. Jon Postel, Februar 1979,
abgerufen am 9. Februar 2020
.
- ↑
DoD Standard Internet Protocol.
IEN 123. Jon Postel, Dezember 1979,
abgerufen am 9. Februar 2020
.
- ↑
a
b
Jon Postel
:
RFC
760
?
DoD Standard Internet Protocol
. Januar 1980 (englisch).
- ↑
J. Postel:
RFC
801
?
NCP/TCP Transition Plan
. November 1981 (englisch).
- ↑
C. Topolcic (Hrsg.):
RFC
1190
?
Experimental Internet Stream Protocol, Version 2 (ST-II)
. Oktober 1990 (englisch).
- ↑
Version Numbers.
IANA, 6. November 2018,
abgerufen am 9. Februar 2020
.
- ↑
a
b
Paket-basierte Kommunikationsprotokolle, Harald Orlamunder, Huthig