Vermittlungsschicht (Network Layer)

Auch als Netzwerkschicht bezeichnet, ist diese Schicht für den Aufbau eines virtuellen Kommunikationskanals verantwortlich. Dazu zählen das Auffinden eines Weges zum Zielrechner, die Vermittlung der Nachrichten und Pakete (eine »lange« Nachricht wird ggf. in einzelne Pakete unterteilt).

Verfolgt man den Weg eines Paketes vom eigenen Rechner hin zu einem Rechner »am anderen Ende der Welt«, so stellt man fest, dass die Route durch zahlreiche Teilnetze führt, denen mitunter vollkommen unterschiedliche Technologien (Lichtwellenleiter, Funk, Ethernet, Modem...) zugrunde liegen. Für jeden Übergang in ein neues Teilnetz wird ein Protokollwechsel in den »unteren« Schichten notwendig. An welchen Rechner eines solchen Teilnetzes das Paket als nächstes zu »routen« ist, bleibt Angelegenheit der Vermittlungsschicht.

Den bekanntesten Vertretern dieser Schicht, IP, ICMP und ARP, wenden wir uns nachfolgend zu. Weitere Protokolle sind X.25, Exterior Gateway Protcol EGP, Border Gateway Proctocol BGP, Open Shortest Path First OSPF und Routing Information Protocol RIP.

Das Internet Control Message Protocol (ICMP) tauscht Informations- und Fehlermeldungen über das Internet-Protokoll in der Version 4 (IPv4) in Netzwerken aus. Für IPv6 existiert ein ähnliches Protokoll mit dem Namen ICMPv6.

ICMP ist Bestandteil von IPv4, wird aber wie ein eigenständiges Protokoll behandelt. Jeder Router und jeder Rechner sollte in der Lage sein, das ICMP-Protocol „sprechen“ zu können. Die meisten ICMP-Pakete enthalten Diagnose-Informationen, sie werden vom Router zur Quelle zurückgeschickt, wenn der Router Pakete verwirft, etwa weil das Ziel nicht erreichbar ist, die TTL abgelaufen ist. Dabei gilt der Grundsatz, dass ein ICMP-Paket niemals ein anderes ICMP-Paket auslöst. Des weiteren wird die Tatsache, dass ein ICMP-Paket nicht zugestellt werden konnte, nicht durch ein weiteres ICMP-Paket signalisiert. Allerdings, eine Ausnahme zu diesem Grundsatz bildet die Echo-Funktion. Echo-ICMP-Pakete werden zum Beispiel durch das Programm Ping versendet.

TypCodeBedeutung
00echo reply (ping)
30destination network unreachable (Netzwerk nicht erreichbar)
31destination host unreachable (Host nicht erreichbar)
32destination protocol unreachable (Protokoll nicht verfügbar)
33destination port unreachable (Port nicht erreichbar)
36destination network unknown (Netzwerk unbekannt)
37destination host unknown (Host unbekannt)
40source quench (für Überlastungskontrolle, nicht benutzt)
80echo request (ping)
90route advertisement
100router discovery
110TTL expired (traceroute)
120bad IP header