Internet Protocol (IP)

Internet Protocol (IP) ist ein Kommunikationsprotokoll, das zwischen allen vernetzten Maschinen zur Weiterleitung von Daten verwendet wird. Sowohl im TCP/IP-Modell als auch im OSI-Modell befindet sich das wichtige Internetprotokoll IP in der Schicht, die Netzwerkschicht genannt wird.

Betrieb

Daten in einem IP-Netzwerk, die in Blöcken gesendet werden, die als Dateien bezeichnet werden (die Begriffe sind im Grunde synonym in IP und werden für Daten an verschiedenen Stellen in den IP-Schichten verwendet). Insbesondere ist bei IP keine Definition erforderlich, bevor der Knoten versucht, Dateien an einen Knoten zu senden, mit dem er zuvor nicht kommuniziert hat.

IP stellt einen unzuverlässigen (auch Best-Effort-) Datagramm-(Paket-)Dienst bereit; Das heißt, das Paket enthält fast keine Garantien. Das Paket kann ungeordnet ankommen (im Vergleich zu anderen Paketen, die zwischen denselben Knoten gesendet werden), es kann auch doppelt ankommen oder es kann vollständig verloren gehen. Wenn die Anwendung eine höhere Zuverlässigkeit erfordert, wird sie auf der Transportschicht hinzugefügt.

Router werden verwendet, um IP-Datagramme über miteinander verbundene Netzwerke auf der zweiten Schicht weiterzuleiten. Durch das Fehlen jeglicher Zustellgarantie wird die Ausgestaltung des Pakettausches weiter vereinfacht. (Beachten Sie, dass die vom Benutzer beobachtete Leistung schlecht sein wird, wenn das Netzwerk eine große Anzahl von Paketen verwirft, neu ordnet oder anderweitig beschädigt. Daher bemühen sich die meisten Netzwerkelemente, so etwas nicht zu tun – nach besten Kräften. Allerdings gelegentlich Fehler wird keine merklichen Auswirkungen haben.)

IP ist das gemeinsame Element im heutigen öffentlichen Internet. Es wird in IETF RFC 791 beschrieben, das erstmals im September 1981 veröffentlicht wurde. Dieses Dokument beschreibt das am weitesten verbreitete Netzwerkschichtprotokoll, das derzeit verwendet wird. Diese Version des Protokolls wird als Version 4 oder IPv4 bezeichnet. IPv6 hat eine 128-Bit-Quell- und Zieladressierung und bietet mehr Adressierung als die 32-Bit-Adressierung von IPv4.

IPv4-Header-Format

Version – Das erste Header-Feld eines IPv4-Datagramms ist das Versionsfeld mit vier Bits.
Header Size (IHL) – das zweite 4-Bit-Feld ist die IHL (Akronym für Internet Header Length) in der Anzahl von 32-Bit-Wörtern (4 Bytes) des IPv4-Headers. Da der IPv4-Header das OPTIONS-Feld bereitstellt, mit dem der IP-Header erweitert werden kann, gibt das IHL-Feld im Wesentlichen an, wo genau der Header endet und die IPv4-Datagrammdaten beginnen. Ein minimaler IPv4-Header ist zwanzig Byte lang, sodass der minimale Dezimalwert im IHL-Feld wie folgt fünf sein würde:

  • Type of Service (ToS)  – In RFC 791 werden die nächsten acht Bits einem Type of Service (ToS)-Feld zugewiesen, jetzt DiffServ und ECN. Die ursprüngliche Absicht war, dass ein Knoten eine Präferenz dafür angibt, wie Datagramme gehandhabt werden können, wenn sie durch das Netzwerk reisen. Beispielsweise kann ein Knoten sein ToS-Wertefeld von IPv4-Datagrammen so einstellen, dass er eine kleine Zeitverzögerung bevorzugt, während andere eine hohe Zuverlässigkeit bevorzugen. In der Praxis ist das ToS-Feld nicht weit verbreitet. Experimentelle Forschungs- und Entwicklungsarbeiten haben sich jedoch darauf konzentriert, wie diese acht Bits verwendet werden können. Diese Bits wurden zurückgesetzt und in jüngerer Zeit durch die DiffServ-Arbeitsgruppe bei der IETF und durch die Codepunkte von Explicit Congestion Notification (ECN) ( RFC 3168. )
  • Länge (Paket)  – Das nächste 16-Bit-IPv4-Feld definiert die Gesamtlänge des Datagramms, einschließlich Header und Daten, in 8-Bit-Bytes. Die Mindestgröße des Datagramms beträgt 20 Bytes und die Höchstgröße 64 KB. Die maximale Datagrammgröße, die ein Knoten verarbeiten muss, beträgt 576 Bytes, aber modernere Knoten verarbeiten viel größere Pakete. Teilweise gibt es Größenbeschränkungen von Subnetzen, in jedem Fall müssen die Datagramme „fragmentiert“ werden. Die Fragmentierung wird bei IPv4 sowohl am Knoten als auch am Paketschalter behandelt, bei IPv6 nur am Knoten.
  • Identifikator  – das nächste 16-Bit-Feld ist ein Identifikationsfeld. Dieses Feld wird hauptsächlich verwendet, um identifizierende Fragmente des ursprünglichen IP-Datagramms zu identifizieren. Einige experimentelle Arbeiten schlagen vor, das IP-Feld für andere Zwecke zu verwenden, wie z. B. das Hinzufügen von Paketen, um die Informationen zum Datagramm zu transportieren, auf eine Weise, die dabei hilft, Datagramme rückwärts mit gefälschten Quelladressen nachzuschlagen.
  • Flags  – das folgende Drei-Bit-Feld wird verwendet, um Fragmente zu steuern oder zu identifizieren.
  • Offset  – Das  Fragment-Offset  -Feld ist dreizehn Bit lang und ermöglicht es einem Empfänger, die Position eines bestimmten Fragments im ursprünglichen IP-Datagramm zu bestimmen.
  • Time to live (TTL)  – ein Acht-Bit-Feld, TTL (  time  to live) hilft zu verhindern, dass Datagramme in einem Netzwerk bestehen bleiben (dh im Kreis laufen). Historisch begrenzt das TTL-Feld die Lebensdauer eines Datagramms auf Sekunden, aber es ist zu einem Feld zum Zählen von durchlaufenen Knoten geworden. Jeder Paketschalter, den ein Datagramm durchläuft, dekrementiert das TTL-Feld um einen Wert. Wenn das TTL-Feld Null erreicht, folgt dem Paket kein Paketschalter und es wird verworfen.
  • Protokoll  – es folgt ein Acht-Bit-Protokollfeld, das das nächste Protokoll definiert, das in einem Datenteil eines IP-Datagramms verwendet wird. Die Internet Assigned Numbers Authority führt eine Liste von Protokollnummern. Zu den gängigen Protokollen und ihren Dezimalwerten gehören ICMP (1), TCP (6).
  • Prüfsumme  – das nächste Feld ist ein Prüfsummenfeld für den IPv4-Datagramm-Header. Ein Paket im Transit wird durch jeden Switch, den es durchquert, geändert. Einer dieser Switches kann das Paket kompromittieren, und die Überprüfung ist eine einfache Möglichkeit, die Header-Konsistenz zu erkennen. Dieser Wert wird unterwegs angepasst und bei jedem neuen Knoten überprüft. Es wird nur der Header überprüft (nicht die Daten).
  • Quelladresse/Zieladresse  – nach dem Kontrollfeld folgen Quell- und Zieladresse, jeweils 32 Bit lang. Beachten Sie, dass die Quell- und Ziel-IPv6-Adressen jeweils 128 Bit lang sind.
  • Optionen  – Zusätzliche Header-Felder können dem Zieladressenfeld folgen, werden aber normalerweise nicht verwendet. Auf Optionsfelder kann ein Pfadfeld folgen, das sicherstellt, dass Benutzerdaten an einer 32-Bit-Wortgrenze ausgerichtet sind. (In IPv6 bewegen sich die Optionen außerhalb des Standard-Headers und werden durch das  Feld „ Nächstes Protokoll “ angegeben  , ähnlich der Funktion des Felds „Protokoll“ in IPv4).

Im Folgenden finden Sie drei Beispiele für Optionen, die auf den meisten Routern implementiert und unterstützt werden:

  • Sicherheit (spezifiziert die Sicherheitsstufe des Datagramms (wird in militärischen Anwendungen verwendet));
  • Zeitstempel (Lässt jeden Router seine Adresse und seinen Zeitstempel (32 Bit) anhängen, was zum Debuggen von Routing-Algorithmen dient); und
  • Route aufzeichnen (lässt jeden Router seine Adresse anhängen).

IPv4-Adressierung und -Weiterleitung [  Bearbeiten  | Quellcode bearbeiten  ]

Die vielleicht komplexesten Aspekte von IP sind die Adressierung und Weiterleitung. Die Adressierung definiert, wie Endknoten-IP-Adressen zugewiesen werden und wie Subnetze von Knoten-IP-Adressen aufgeteilt und gruppiert werden. Die IP-Weiterleitung wird von allen Knoten durchgeführt, häufiger jedoch von Netzwerkroutern, die normalerweise die IGP- oder EGP-Protokolle verwenden, um das Lesen von IP-Datagrammen zu unterstützen, die Entscheidungen über IPs in verbundenen Netzwerken weiterleiten.

Im Internet und in den privaten Netzwerken, die wir heute in Unternehmen oder sogar zu Hause sehen, heißt das von Computern verwendete Kommunikationsprotokoll IP – ein Akronym für Internet Protocol. Das in den späten 1970er Jahren entwickelte IP-Protokoll hat nicht nur die „Mission“, zwei Computer zum „Sprechen“ zu bringen, sondern auch die Verbindung von zwei oder mehr getrennten Netzwerken zu ermöglichen. Mit sehr wenigen Ausnahmen wurden praktisch alle Netzwerke der Welt auf die eine oder andere Weise miteinander verbunden, und es war diese Gemeinschaft von Netzwerken, die schließlich das bildete, was wir heute als Internet kennen (nennen Sie das auf Portugiesisch , kann als „Inter-Netzwerke“ oder „verbundene Netzwerke“ übersetzt werden).

Das IP-Protokoll hat ein ähnliches Adressierungsschema wie Telefonnummern. So wie jedes Telefon auf der Welt einzigartig ist (unter Berücksichtigung der Vorwahl und Landesvorwahl), hat jeder mit dem Internet verbundene Computer eine einzigartige Nummer, die als IP-Adresse oder IP-Nummer bezeichnet wird. Diese Nummer wird verwendet, um den Computer im Internet zu identifizieren. Wenn Sie mit jemandem über das Internet chatten müssen, senden Sie einfach Nachrichten, die an die IP-Adresse des Computers der Person adressiert sind.

Damit beispielsweise eine E-Mail von Alice ihren Computer verlässt und Betos Computer erreicht, müssen die Daten (in diesem Fall der Text der E-Mail) in kleine Pakete (sog. IP-Pakete) aufgeteilt werden, die in der Quell-IP-Adresse markiert sind (d. h. die eindeutige Nummer von Alices Computer) und die Ziel-IP (die eindeutige Nummer von Betos Computer). Das Internet „dreht sich um“, um seinen Weg zwischen Alice und Bob zu finden, ohne dass sich einer von ihnen darum kümmern muss.

Allerdings ist das IP-Protokoll in seiner aktuellen Version (Version vier, bezeichnet als IPv4) schon ziemlich alt und hat viele Probleme. Die schwerwiegendsten sind Sicherheitslücken, die regelmäßig entdeckt werden und für die es keine Lösung gibt. Die meisten Angriffe auf Computer im Internet sind heute nur noch aufgrund von Fehlern im IP-Protokoll möglich. Die neue Generation des IP-Protokolls, IPv6, löst heute die meisten Sicherheitsprobleme des Internets, geerbt vom veralteten Projekt IPv4.

Aber IPv4 hat ein noch drängenderes Problem als seine inhärente Unsicherheit: Es hat seine Skalierbarkeit bereits erschöpft. Jeder mit dem Internet verbundene Computer – sei es ein PC, eine Workstation oder ein Server, der eine Website hostet – benötigt eine eindeutige Adresse, die ihn im Netzwerk identifiziert. IPv4 definiert neben anderen wichtigen Dingen für die Kommunikation zwischen Computern, dass die IP-Nummer eine 32-Bit-Erweiterung hat. Bei 32 Bit hat IPv4 theoretisch rund vier Milliarden IP-Adressen zur Verfügung, aber in der Praxis ist weniger als die Hälfte davon tatsächlich verfügbar. Wenn wir zählen, dass der Planet sechs Milliarden Einwohner hat und jedes mit dem Internet verbundene Gerät (dazu gehören Smartphones, PCs, Notebooks und dergleichen) eine eigene Nummer benötigt, ist es leicht zu erkennen, dass das Konto nicht geschlossen wird. Da diese Zahl endlich ist, endet sie eines Tages.

Darüber hinaus sind IP-Adressen geografisch „eingesperrt“. Zwei benachbarte Adressen befinden sich notwendigerweise in derselben Stadt oder Region. Wenn man bedenkt, dass sich etwa drei Viertel der im Internet verfügbaren IP-Adressen in den Vereinigten Staaten befinden (auch wenn sie nie verwendet werden), bleiben für den Rest der Welt etwas mehr als eine Milliarde Adressen übrig – was das Knappheitsproblem weiter verstärkt.

Der Einzug von Smartphones und anderen mobilen Geräten (die billig und sehr beliebt sind) im Internet hat dazu beigetragen, dass die Zahl der verfügbaren IP-Adressen noch knapper wurde. Tatsächlich waren einige pessimistische Vorhersagen, dass IP-Adressen im Jahr 2012 vollständig ausgehen würden, was das Internet in ein echtes Chaos verwandeln würde.

Das Aufkommen von IPv6 mit 128 Bit würde all diese Probleme lösen. Erstens, weil es praktisch alle bekannten IPv4-Sicherheitslücken eliminiert und die Kommunikation erheblich sicherer macht. IPv6 dürfte kriminellen Hackern massive Kopfschmerzen bereiten.

Zweitens definiert IPv6 128 Bit für die Adressierung und hat daher etwa 3,4 × 10^38 Adressen zur Verfügung (oder 340 gefolgt von 36 Nullen). Für diejenigen, die nicht rechnen wollen, sei dir einfach bewusst, dass viele Milliarden von Billiarden Adressen verfügbar sind, was garantiert, dass es für Menschen über Jahrtausende hinweg keinen Mangel an IP-Nummern geben wird.

Laut dem ersten Entwurf eines Dokuments, das von der IETF – Internet Engineering Task Force, dem für die technologische Entwicklung des Internets verantwortlichen Gremium, vorgeschlagen wurde, sollte die Migration von IPv4 zu IPv6 irgendwann zwischen 2009 und 2010 begonnen haben, mit vollständiger Migration bis zum Ende 2011. Der Zeitplan verzögert sich noch aufgrund der diversen Probleme bei der kompletten Umstellung. Google, Yahoo! und Facebook beginnen bereits mit der Einführung von IPv6.

Kommentar verfassen