Advanced Internetworking (Vorlesung 7)

Heute diskutieren wir die Mechanismen von Internetprotokollen, wie Feedback Loops, Checksums, Flow Control und Sequenznummern.

Anfang2-msc-ain-internet-proto-design-160510 – Seite 20
Ende2-msc-ain-internet-proto-design-160510 – Seite 35

Design Elemente

Was ist eine Prüfsumme (Checksum)?

  • Ein Wert, mit dem die Integrität von Daten überprüft werden kann
  • Wird aus den Ausgangsdaten berechnet und erlaubt die Erkennung von mindestens einem Bitfehler
  • Der Empfänger berechnet aus den empfangenen Daten die Prüfsumme und vergleicht diese mit der übertragenen Prüfsumme des Senders

Warum macht es Sinn, eine Checksum bereits auf Layer-2 zu verwenden?

  • Wird durch einen Bitfehler die Ziel-IP-Adresse einer Nachricht auf einen anderen, im Netzwerk vorhandenen, Host geändert, so empfängt dieser die Nachricht und entpackt sie fälschlicherweise komplett
  • Dieser Prozess verbraucht unnötig CPU-Zyklen, außer es wird bereits auf dem niedrigeren Layer erkannt, dass die Nachricht fehlerhaft ist

Was ist eine Feedback-Loop?

  • Grundlegend handelt es sich um ein System, bei dem der Output bzw. die Reaktion dazu vom Empfänger oder einem Netzwerkknoten wieder als Input eingespeist wird
  • Dadurch lässt sich validieren, ob die Pfade korrekt funktionieren und die Endpunkte erreichbar sind
  • Beim Real-Time Transport Protocol (RTP) werden Informationen durch das RealTime Transfer Control Protocol (RTCP) zurück geliefert (vgl. Abbildung 1)
  • Anhand dessen, können beispielsweise Anpassungen an der Dienstqualität (Quality of Service) oder Synchronität vorgenommen werden
Feedback-Loop durch das RealTime Transfer Control Protocol (RTCP)

Was ist Flusskontrolle (Flow Control)?

  • Eine Funktion von Kommunikationsprotokollen zur Anpassung der Übertragungsgeschwindigkeit von asynchron arbeitenden Endgeräten
  • Hierbei teilt die empfangende Station dem Sender kontinulierlich ihre Aufnahmefähigkeit (Window Size) mit
  • Der Sender passt daraufhin seine Übertragungsgeschwindigkeit der Aufnahmefähigkeit an

Wie wird die Übertragungsrate bei Telefonie angepasst?

  • Sprache bzw. Telefonie verwendet sogenannte Codecs
  • Diese haben eine jeweils fest definierte Bitrate (G.711 = 80 Kbps)
  • Sind die Kapazitäten ausgeschöpft, wird ein Codec mit niedriger Qualität und geringerer Übertragungsrate gewählt

Was ist die TCP-Sequenznummer?

  • 32 Bit großes Feld im TCP-Header zur Sicherstellung einer vollständigen Übertragung in der richtigen Reihenfolge und ohne Duplikate
  • TCP-Segmente können durch die inkrementierende Sequenznummer sortiert werden, da diese in unterschiedlicher Reihenfolge beim Empfänger ankommen können
  • Die Start-Sequenznummer ist eine zufällig Zahl

Warum wird eine zufällige TCP-Sequenznummer verwendet?

  • Um Sicherheitsrisiken zu vermeiden

Was passiert wenn der komplette Sequenznummernraum durchlaufen ist?

  • Dies findet spätestens dann statt, wenn 4096 MB über das Netzwerk übertragen wurden
  • Sobald dieser Zeitpunkt erreicht ist, findet ein sogenannter wrap around statt und die Zahlen beginnen von Vorne
  • Ab diesem Augenblick kann nicht klar definiert werden, ob eine Nachricht zu den ersten 4096 MB gehört, eine Retransmission ist oder zum nächsten Zyklus gehört
  • Maximum Segment Lifetime (MSL) und TCP Sequence Number Wrapping (PAWS) werden hierfür als Lösung verwendet

Was ist die MSL?

  • Sie gibt die maximale Lebensdauer eines Segmentes im Netz an und liegt üblicherweise bei 2 Minuten
  • Sie dient auch als Timeout für das erneute Senden eines Paketes, wenn keine Quittierung bis zum Ablauf der Zeit erfolgt ist
  • Für eine fehlerfreie Kommunikation muss folgendes Kriterium erfüllt sein: \( \frac{2^{31}}{\text{Byte pro Sekunde}} > MSL (secs) \)
  • Je schneller die Übertragungsgeschwindigkeit ist, desto anfälliger wird dieses Prinzip für Fehler (vgl. Tabelle)
GeschwindigkeitDauer bis zum Wrap
56 kbps~ 3,6 Tage
10 Mbps~ 30 Minuten
100 Mbps~ 170 Sekunden
1 Gbps~ 17 Sekunden

Was ist das PAWS?

  • Für PAWS wird die TCP-Option Timestamp in jedem Segment (SEG.TSval) benötigt
  • Damit der Mechanismus funktioniert, wird ausgenutzt, dass es sich um einen monoton, steigenden Wert handelt
  • Nachrichten werden verworfen, wenn der Zeitstempel (deutlich) geringer ist, als der von kürzlich empfangenen Nachrichten dieser Verbindung
  • Eine Zeitsynchronisierung ist nicht erforderlich, da nur mit dem Zeitstempeln des Absenders gearbeitet wird
Maximilian
Maximilian

Herzlich willkommen! Ich bin Max, ein Informatiker mit über 15 Jahren Berufserfahrung. Hier teile ich meine Leidenschaften, Erlebnisse und Perspektiven. Ich lade dich ein, gemeinsam mit mir auf eine Entdeckungsreise zu gehen.

Schreiben Sie einen Kommentar

Ihre E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert

Diese Website verwendet Akismet, um Spam zu reduzieren. Erfahren Sie, wie Ihre Kommentardaten verarbeitet werden.