Rechnernetze / Kommunikationssysteme

Aufgaben TCP

  1. Für welche Anwendungen eignet sich das UDP- bzw. TCP-Protokoll?
  2. Ist es möglich, trotz Verwendung des UDP-Protokolls eine zuverlässige Datenübertragung zu realisieren?
  3. Was bedeutet “Network Byte Order”?
  4. Was bedeutet die Maximum Segment Size (MSS)?
  5. Was bedeuten die Nummern SN und ACK?
  6. Welche Bedeutung hat die Empfangsfenstergröße (Receive Window – RWin) im TCP-Header und welche Größe ist möglich?
  7. In welchen Zuständen kann der TCP-Server und der Client jeweils längere Zeit verweilen?
  8. Bei welchen Ereignissen erzeugt der Empfänger eines TCP-Segments ein ACK?
  9. Wie wird bei TCP die Flusskontrolle implementiert?
  10. Wie kann der RTT-Wert ermittelt werden?
  11. Wann wird ein TCP-Reset gesendet?
  12. Angenommen, eine Anwendung erzeugt alle 20 ms 40 Byte große Datenstücke. Jedes Datenstück wird in einem TCP-Segment und dann in einem IP-Paket verkapselt. Wie groß ist der prozentuale Overhead bezogen auf die Gesamtlänge eines IP-Paketes?

Verbindungsaufbau und -abbau

  1. Welche Flags werden beim TCP-Verbindungsaufbau gesetzt?
  2. Was sind bei TCP “Phantom Bytes” und warum sind diese notwendig?
  3. Was sagt das Zwei-Armeen-Problem aus und gibt es eine Lösung für das Problem?
  4. Wie funktioniert das Verbindungsende bei TCP?

Retransmission-Timeout

  1. Wie wird der Retransmission Timeout prinzipiell berechnet?
  2. Was ist der minimale Wert des RTO bei TCP und welche Auswirkungen hat der Wert auf eine zeitkritische Übertragung?

Überlastkontrolle

  1. Vollziehen Sie die Sequenzdiagramme zu “Slow Start” und “Congestion Control” nach und ermitteln Sie, unter welchen Umständen das Sendefenster erhöht wird!
  2. Was ist der Unterschied zwischen den Überlastverfahren TCP-Tahoe und TCP-Reno? Wie funktionieren neuere Verfahren?
  3. Nach welcher Zeit wird der volle Datendurchsatz erreicht, wenn das Überlastverfahren Reno eingesetzt wird?
  4. Was bedeutet “TCP Fast Retransmit” und wie wird es benutzt?
  5. Wie kann die Überlastung eines paketvermittelnden Netzes prinzipiell vermieden werden?
  6. Wie kann die Überlastung des Netzes auf der Transportschicht vermieden werden?

Datendurchsatz

  1. Berechnen Sie das BDP und den mindestens erforderlichen Windows-Scaling-Faktor für folgenden Link: r= 1 Gbps, RTT=150 ms, MSS = 1460!
  2. Wie groß kann das Empfangsfenster maximal werden (mit Skalierungsoption)?
  3. Mittels der Mathis-Formel: r < MSS/RTT * 1/sqrt(p) kann die Datenrate im Falle einer Paketverlustwahrscheinlichkeit p grob abgeschätzt werden. Bestimmen sie diese bei p=10⁻³ bzw. p=10⁻⁶ und den Parametern der obigen Aufgabe!
  4. Kann der Datendurchsatz erhöht werden, wenn gleichzeitig mehrere TCP-Verbindungen genutzt werden?

Sequenznummern

  1. Warum werden SN am Anfang zufällig gewählt?
  2. Angenommen, A sendet zwei aufeinanderfolgende TCP-Segmente an B. Das erste Segment hat Sequenznummer 90 und das zweite 110. Wie viele Daten enthält das erste Segment?
  3. Wenn beispielsweise das erste Segment verloren geht, das zweite aber bei B ankommt, wie lautet dann die Bestätigungsnummer in der Bestätigung, die B an A nach Erhalt des zweiten Segments versendet?
  4. Man betrachte das Telnet-Beispiel aus den Vorlesungsfolien. Ein paar Sekunden nachdem der Benutzer den Buchstaben ”C“ eingegeben hat, tippt er den Buchstaben ”R“. Wieviele Segmente werden gesendet und mit welchen Sequenz- und Bestätigungsnummern? Hinweis: Das Telnet-Protokoll sendet jede Tastatureingabe unmittelbar zum Ziel und der Zielrechner bestätigt den Empfang, indem er die Eingabe zurücksendet (Echo).
    TCP-Daten 1
  5. Gegeben ist nachfolgende Übertragung. Geben Sie die fehlenden Sequenz- und Bestätigungsnummern an!

TCP-Daten 2

Fakultative Aufgaben

  1. Wie wird die “Windows Scale Option” ausgehandelt?
  2. Wie funktioniert TCP SACK?
  3. Mittels sysctl -a | grep ipv4.tcp bzw. cat /proc/sys/net/ipv4/"variable" können Sie für den Linux-Kernel diverse TCP-Variablen anzeigen lassen.
  4. Ermitteln Sie den aktuellen Wert für die Variablen: tcp_keepalive, tcp_rmem und tcp_congestion_control. Was sagen diese Werte aus?
  5. Was ist der Unterschied von TCP-Cubic zu TCP-Reno?
  6. Ermitteln Sie den Wert initial_ssthresh Ihres Betriebsystems. Was sagt dieser Wert aus?
  7. Ermitteln Sie die Konfiguration ihres Rechners mittels: http://www.speedguide.net/analyzer.php

Literatur


Letzte Änderung: 20. January 2025 15:45