Internetprotokoll - Internet Protocol

Das Internet Protocol ( IP ) ist das Kommunikationsprotokoll der Netzwerkschicht in der Internetprotokoll-Suite zum Weiterleiten von Datagrammen über Netzwerkgrenzen hinweg. Seine Routing- Funktion ermöglicht das Internetworking und baut im Wesentlichen das Internet auf .

IP hat die Aufgabe, Pakete vom Quell- Host zum Ziel-Host ausschließlich basierend auf den IP-Adressen in den Paket- Headern zuzustellen . Dazu definiert IP Paketstrukturen, die die zu liefernden Daten kapseln . Es definiert auch Adressierungsmethoden, die verwendet werden, um das Datagramm mit Quell- und Zielinformationen zu kennzeichnen.

Historisch gesehen war IP der verbindungslose Datagrammdienst im ursprünglichen Transmission Control Program, das 1974 von Vint Cerf und Bob Kahn eingeführt wurde und durch einen verbindungsorientierten Dienst ergänzt wurde, der die Grundlage für das Transmission Control Protocol (TCP) wurde. Die Internet Protocol Suite wird daher oft als TCP/IP bezeichnet .

Die erste Hauptversion von IP, Internet Protocol Version 4 (IPv4), ist das dominierende Protokoll des Internets. Sein Nachfolger ist Internet Protocol Version 6 (IPv6), die bei der Steigerung war Einsatz im öffentlichen Internet seit c. 2006.

Funktion

Kapselung von Anwendungsdaten, die von UDP in einen Link Protocol Frame übertragen werden

Das Internet Protocol ist verantwortlich für die Adressierung von Host-Schnittstellen , das Einkapseln von Daten in Datagramme (einschließlich Fragmentierung und Reassemblierung ) und das Routing von Datagrammen von einer Quell-Host-Schnittstelle zu einer Ziel-Host-Schnittstelle über ein oder mehrere IP-Netzwerke. Für diese Zwecke definiert das Internetprotokoll das Format von Paketen und stellt ein Adressierungssystem bereit.

Jedes Datagramm besteht aus zwei Komponenten: einem Header und einer Nutzlast . Der IP-Header enthält die Quell-IP-Adresse, die Ziel-IP-Adresse und andere Metadaten, die zum Weiterleiten und Liefern des Datagramms erforderlich sind. Die Nutzlast sind die Daten, die transportiert werden. Diese Methode zum Verschachteln der Nutzdaten in einem Paket mit einem Header wird als Kapselung bezeichnet.

Die IP-Adressierung beinhaltet die Zuweisung von IP-Adressen und zugehörigen Parametern an Host-Schnittstellen. Der Adressraum ist in Subnetze unterteilt , die die Bezeichnung von Netzpräfixen beinhalten. Das IP-Routing wird von allen Hosts sowie von Routern durchgeführt , deren Hauptfunktion darin besteht, Pakete über Netzwerkgrenzen hinweg zu transportieren. Router kommunizieren miteinander über speziell entwickelte Routing-Protokolle , entweder interne Gateway-Protokolle oder externe Gateway-Protokolle , je nach Bedarf für die Topologie des Netzwerks.

Versionsgeschichte

Ein Zeitplan für die Entwicklung des Übertragungskontrollprotokolls TCP und des Internetprotokolls IP.
Erste Internet-Demonstration mit Verbindung von ARPANET , PRNET und SATNET am 22. November 1977

Im Mai 1974 veröffentlichte das Institute of Electrical and Electronics Engineers (IEEE) ein Papier mit dem Titel "A Protocol for Packet Network Intercommunication". Die Autoren des Papiers, Vint Cerf und Bob Kahn , beschrieben ein Internetworking- Protokoll für die gemeinsame Nutzung von Ressourcen unter Verwendung von Paketvermittlung zwischen Netzwerkknoten . Eine zentrale Steuerungskomponente dieses Modells war das „Transmission Control Program“, das sowohl verbindungsorientierte Verbindungen als auch Datagrammdienste zwischen Hosts umfasste. Das monolithische Transmission Control Program wurde später in eine modulare Architektur unterteilt, bestehend aus dem Transmission Control Protocol und User Datagram Protocol auf der Transportschicht und dem Internet Protocol auf der Internetschicht . Das Modell wurde als Internet-Modell und Internetprotokoll-Suite des US-Verteidigungsministeriums (DoD) und informell als TCP/IP bekannt .

Die IP-Versionen 1 bis 3 waren experimentelle Versionen, die zwischen 1973 und 1978 entwickelt wurden. Die folgenden Internet Experiment Note (IEN)-Dokumente beschreiben Version 3 des Internetprotokolls vor der modernen Version von IPv4:

  • IEN 2 ( Comments on Internet Protocol and TCP ), vom August 1977, beschreibt die Notwendigkeit, die TCP- und Internet Protocol-Funktionalitäten (die zuvor kombiniert wurden) zu trennen. Es schlägt die erste Version des IP-Headers vor, wobei 0 für das Versionsfeld verwendet wird.
  • IEN 26 ( A Proposed New Internet Header Format ) vom Februar 1978 beschreibt eine Version des IP-Headers, die ein 1-Bit-Versionsfeld verwendet.
  • IEN 28 ( Entwurf Internetwork Protocol Description Version 2 ) vom Februar 1978 beschreibt IPv2.
  • IEN 41 ( Internetwork Protocol Specification Version 4 ) vom Juni 1978 beschreibt das erste Protokoll mit dem Namen IPv4. Der IP-Header unterscheidet sich vom modernen IPv4-Header.
  • IEN 44 ( Latest Header Formats ) vom Juni 1978 beschreibt eine andere Version von IPv4, ebenfalls mit einem anderen Header als dem modernen IPv4-Header.
  • IEN 54 ( Internetwork Protocol Specification Version 4 ) vom September 1978 ist die erste Beschreibung von IPv4 unter Verwendung des Headers, der in RFC  760 standardisiert würde .

Das vorherrschende Internetworking-Protokoll in der verwendeten Internetschicht ist IPv4 ; die Zahl 4 identifiziert die Protokollversion, die in jedem IP-Datagramm enthalten ist. IPv4 ist in RFC  791 (1981) beschrieben.

Version Nummer 5 wurde vom Internet Stream Protocol verwendet , einem experimentellen Streaming-Protokoll, das nicht übernommen wurde.

Der Nachfolger von IPv4 ist IPv6 . IPv6 war das Ergebnis mehrerer Jahre des Experimentierens und Dialogs, in denen verschiedene Protokollmodelle vorgeschlagen wurden, wie TP/IX ( RFC  1475 ), PIP ( RFC  1621 ) und TUBA (TCP und UDP mit größeren Adressen, RFC  1347 ). Der auffälligste Unterschied zu Version 4 ist die Größe der Adressen. Während IPv4 32 Bit für die Adressierung verwendet, ergibt sich c. 4,3 Milliarden (4,3 × 10 9 ) Adressen, IPv6 verwendet 128-Bit- Adressen, die ca.3,4 × 10 38 Adressen. Obwohl die Einführung von IPv6 langsam war, weisen die meisten Länder der Welt im September 2021 eine signifikante Einführung von IPv6 auf, wobei über 35 % des Google-Datenverkehrs über IPv6-Verbindungen übertragen wird.

Die Zuordnung des neuen Protokolls als IPv6 war ungewiss, bis eine Due Diligence sicherstellte, dass IPv6 zuvor nicht verwendet wurde. Anderen Internet Layer-Protokollen wurden Versionsnummern wie 7 ( IP/TX ), 8 und 9 ( historisch ) zugewiesen . Insbesondere veröffentlichte die IETF am 1. April 1994 einen Aprilscherz über IPv9. IPv9 wurde auch in einer alternativen vorgeschlagenen Adressraumerweiterung namens TUBA verwendet. Ein chinesischer Vorschlag aus dem Jahr 2004 für ein „IPv9“-Protokoll scheint mit all diesen nichts zu tun zu haben und wird von der IETF nicht unterstützt.

Zuverlässigkeit

Das Design der Internet Protocol Suite folgt dem End-to-End-Prinzip , einem Konzept, das aus dem CYCLADES- Projekt übernommen wurde. Nach dem Ende-zu-Ende-Prinzip gilt die Netzinfrastruktur an jedem einzelnen Netzelement oder Übertragungsmedium als inhärent unzuverlässig und ist dynamisch in Bezug auf die Verfügbarkeit von Verbindungen und Knoten. Es gibt keine zentrale Überwachungs- oder Leistungsmessungseinrichtung, die den Zustand des Netzwerks verfolgt oder aufrechterhält. Um die Netzwerkkomplexität zu reduzieren , ist die Intelligenz im Netzwerk bewusst in den Endknoten angesiedelt .

Als Folge dieses Designs bietet das Internetprotokoll nur Best-Effort-Bereitstellung und sein Dienst wird als unzuverlässig bezeichnet . Im Sprachgebrauch der Netzwerkarchitektur ist es ein verbindungsloses Protokoll , im Gegensatz zur verbindungsorientierten Kommunikation . Es können verschiedene Fehlerzustände auftreten, wie z. B. Datenbeschädigung , Paketverlust und Duplizierung. Da das Routing dynamisch ist, d. h. jedes Paket wird unabhängig behandelt, und da das Netzwerk keinen Zustand basierend auf dem Pfad früherer Pakete beibehält, können unterschiedliche Pakete über unterschiedliche Pfade zum selben Ziel geleitet werden, was zu einer nicht in der richtigen Reihenfolge gelieferten Zustellung an die Empfänger.

Alle Fehlerzustände im Netz müssen von den beteiligten Endknoten erkannt und kompensiert werden. Die Protokolle der oberen Schicht der Internetprotokoll-Suite sind für die Lösung von Zuverlässigkeitsproblemen verantwortlich. Zum Beispiel kann ein Host - Puffernetzdaten korrekte Reihenfolge zu gewährleisten , bevor die Daten an eine Anwendung geliefert werden.

IPv4 bietet Sicherheitsvorkehrungen, um sicherzustellen, dass der Header eines IP-Pakets fehlerfrei ist. Ein Routing-Knoten verwirft Pakete, die einen Header- Prüfsummentest nicht bestehen. Obwohl das Internet Control Message Protocol (ICMP) Fehlerbenachrichtigungen bereitstellt, ist ein Routing-Knoten nicht erforderlich, um einen der Endknoten über Fehler zu benachrichtigen. IPv6 hingegen arbeitet ohne Header-Prüfsummen, da von der aktuellen Link-Layer- Technologie ausgegangen wird, dass sie eine ausreichende Fehlererkennung bietet.

Linkkapazität und -fähigkeit

Die Dynamik des Internets und die Vielfalt seiner Komponenten bieten keine Gewähr dafür, dass ein bestimmter Pfad tatsächlich in der Lage oder geeignet ist, die angeforderte Datenübertragung durchzuführen. Eine der technischen Beschränkungen ist die Größe der Datenpakete, die auf einer gegebenen Verbindung möglich sind. Es gibt Einrichtungen, um die maximale Übertragungseinheitsgröße (MTU) der lokalen Verbindung zu untersuchen, und die Pfad-MTU-Erkennung kann für den gesamten beabsichtigten Pfad zum Ziel verwendet werden.

Die IPv4-Internetworking-Schicht fragmentiert ein Datagramm automatisch in kleinere Einheiten zur Übertragung, wenn die Link-MTU überschritten wird. IP ermöglicht die Neuordnung von Fragmenten, die nicht in der richtigen Reihenfolge empfangen wurden. Ein IPv6-Netzwerk führt keine Fragmentierung in Netzwerkelementen durch, erfordert jedoch Endhosts und Protokolle höherer Schichten, um eine Überschreitung der Pfad-MTU zu vermeiden.

Das Transmission Control Protocol (TCP) ist ein Beispiel für ein Protokoll, das seine Segmentgröße so anpasst, dass sie kleiner als die MTU ist. Das User Datagram Protocol (UDP) und ICMP ignorieren die MTU-Größe, wodurch IP gezwungen wird, übergroße Datagramme zu fragmentieren.

Sicherheit

In der Entwurfsphase des ARPANET und des frühen Internets konnten die Sicherheitsaspekte und -bedürfnisse eines öffentlichen, internationalen Netzes nicht ausreichend antizipiert werden. Folglich wiesen viele Internetprotokolle Schwachstellen auf, die durch Netzwerkangriffe und spätere Sicherheitsbewertungen hervorgehoben wurden. 2008 wurden eine gründliche Sicherheitsbewertung und Vorschläge zur Problemminderung veröffentlicht. Die IETF verfolgt weitere Studien.

Siehe auch

Verweise

Externe Links