Grundlagen der Netzwerkprotokolle: ICMP, TCP, UDP & Routing

Gesendet von Javi und eingeordnet in Informatik

Geschrieben am in Deutsch mit einer Größe von 5,33 KB

ICMP (Internet Control Message Protocol)

Das ICMP-Protokoll ist auf der IP-Ebene für die Fehlerberichterstattung und Statusmeldungen verantwortlich, beispielsweise bei unerreichbaren Routen oder anderen Netzwerkproblemen.

Jede Nachricht enthält einen ICMP-Message-Type, einen Code, eine Prüfsumme sowie den IP-Header, der den Fehler verursacht hat, und spezifische Informationen je nach Meldungstyp.

Verwendung von ICMP

  • Ping: Überprüft die IP-Konnektivität zwischen zwei Rechnern. Die Datenfelder enthalten eine Kennung und eine laufende Nummer zur Zuordnung von Anfragen und Antworten.
  • Destination Unreachable: Ein Router, der die Route zu einem Datagramm nicht kennt, antwortet mit dieser Meldung an die Quelle.
  • Source Quench: Ein überlasteter Router sendet diese Nachricht, wenn er beginnt, ICMP-Datagramme zu verwerfen.
  • TTL Exceeded: Wenn ein Router ein Datagramm erhält, dessen TTL-Wert (Time to Live) auf Null sinkt, verwirft er es und benachrichtigt die Quelle.
  • Traceroute: Zeigt die Route eines IP-Datagramms an. Es basiert auf UDP-Nachrichten mit niedriger TTL und wertet die ICMP-Antworten "TTL überschritten" aus.

UDP (User Datagram Protocol)

UDP ist ein verbindungsloses Protokoll der Transportschicht, das direkt über der IP-Schicht arbeitet. Es ist ein unzuverlässiges Protokoll, da es keine Fehlerbehandlung, keine Paketreihenfolge und keine Flusskontrolle bietet.

Eine Anwendung wird durch das Paar (IP-Adresse, Port) identifiziert.

Klassifizierung von Ports

  • Bekannte Ports: 0–1023 (z. B. FTP, HTTP).
  • Registrierte Ports: 1024–49151 (für normale Anwendungen).
  • Dynamische oder private Ports: Keine Empfehlungen durch die IANA.

TCP (Transmission Control Protocol)

TCP ist ein komplexes, verbindungsorientiertes Transportprotokoll. Es unterstützt bidirektionale Kommunikation, stellt die korrekte Datenlieferung sicher und bietet Fluss- sowie Staukontrolle.

Eine TCP-Verbindung wird durch das Quadrupel (IP-Quelle, Port-Quelle, IP-Ziel, Port-Ziel) identifiziert.

Verbindungsaufbau (3-Way-Handshake)

  1. A → B: SYN-Flag gesetzt, SN (Sequence Number) und MSS (Maximum Segment Size).
  2. B → A: SYN- und ACK-Flag gesetzt, SN und akzeptierte MSS.
  3. A → B: ACK-Flag gesetzt, Bestätigung des nächsten erwarteten Bytes.

Beim Verbindungsabbau sendet jedes Ende ein FIN-Flag; der Abschluss erfordert insgesamt vier Schritte.

Wichtige Mechanismen

  • MSS (Maximum Segment Size): Maximale Größe des Datenfeldes zur Vermeidung von IP-Fragmentierung.
  • Sliding Window: Mechanismus für Fehlerkorrektur, Fluss- und Staukontrolle.

Erweiterungen für Routing

  • Proxy ARP: Ermöglicht es, eine Netzwerkadresse über mehrere physische Netzwerke hinweg zu teilen.
  • Anonymes PPP: Vermeidet die feste Zuweisung von IP-Adressen an Endpunkte, um Adressraum zu sparen.
  • Subnetze: Unterteilung von Netzwerken in Subnetze mit fester oder variabler Größe (VLSM).
  • CIDR (Classless Inter-Domain Routing): Entfernt die klassenbasierte Adressierung. Hierbei wird das Longest Prefix Match-Verfahren angewendet.

Routing-Algorithmen

  • Zentral: Ein Knoten berechnet die Tabellen für das gesamte Netzwerk.
  • Isoliert: Knoten entscheiden unabhängig voneinander.
  • Verteilt: Keine zentrale Instanz (z. B. Distanzvektor- oder Link-State-Protokolle).

Distanzvektor-Protokolle (z. B. RIP)

Jeder Knoten speichert eine Tabelle mit Zielnetz, Gateway und Distanz (Hops). RIP nutzt 16 Hops als "unendlich". Techniken wie Split Horizon und Hold Down Timer verhindern Routing-Schleifen.

Link-State-Algorithmen (z. B. OSPF)

Jeder Knoten sendet Informationen über seine Nachbarn an alle anderen Knoten. Mit dem Dijkstra-Algorithmus berechnet jeder Router den kürzesten Pfad. OSPF ist ein weit verbreitetes Protokoll, das Load-Balancing und Authentifizierung unterstützt.

NAT (Network Address Translation)

NAT übersetzt IP-Adressen, um private Netzwerke mit dem Internet zu verbinden.

  • Statisch: Feste Zuordnung von interner zu externer IP.
  • NAPT (Network Address Port Translation): Nutzt Ports zur Unterscheidung mehrerer interner Geräte hinter einer öffentlichen IP.

PPP (Point-to-Point Protocol)

PPP bietet eine verbindungsorientierte Punkt-zu-Punkt-Verbindung mit Fehlererkennung, Authentifizierung und Kompression.

PPP-Komponenten

  • LCP (Link Control Protocol): Konfiguration der physischen Verbindung.
  • PAP (Password Authentication Protocol): Einfache Authentifizierung (Klartext).
  • CHAP (Challenge-Handshake): Sichere Authentifizierung mittels Hash-Funktion.
  • IPCP (IP Control Protocol): Konfiguration der IP-Parameter.

Verwandte Einträge: