Heute diskutieren wir die Mechanismen von Internetprotokollen, wie Feedback Loops, Checksums, Flow Control und Sequenznummern.
| Anfang | 2-msc-ain-internet-proto-design-160510 – Seite 20 |
|---|---|
| Ende | 2-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

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)
| Geschwindigkeit | Dauer 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