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. Warum werden SN am Anfang zufällig gewählt?
  7. Welche Bedeutung hat die Empfangsfenstergröße (Receive Window – RWin) im TCP-Header und welche Größe ist möglich?
  8. Welche Flags werden beim TCP-Verbindungsaufbau gesetzt?
  9. Was sind bei TCP “Phantom Bytes” und warum sind diese notwendig?
  10. Was sagt das Zwei-Armeen-Problem aus und gibt es eine Lösung für das Problem?
  11. Wie funktioniert das Verbindungsende bei TCP?
  12. In welchen Zuständen kann der TCP-Server und der Client jeweils längere Zeit verweilen?
  13. Bei welchen Ereignissen erzeugt der Empfänger eines TCP-Segments ein ACK?
  14. Was bedeutet “TCP Fast Retransmit” und wie wird es benutzt?
  15. Wie wird bei TCP die Flusskontrolle implementiert?
  16. Wie wird der Retransmission Timeout prinzipiell berechnet?
  17. Wie kann der RTT-Wert ermittelt werden?
  18. Was ist der minimale Wert des RTO bei TCP und welche Auswirkungen hat der Wert auf eine zeitkritische Übertragung?
  19. Wie kann die Überlastung eines paketvermittelnden Netzes prinzipiell vermieden werden?
  20. Wie kann die Überlastung des Netzes auf der Transportschicht vermieden werden?
  21. Wann wird ein TCP-Reset gesendet?
  22. 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?
  23. Vollziehen Sie die Sequenzdiagramme zu “Slow Start” und “Congestion Control” nach und ermitteln Sie, unter welchen Umständen das Sendefenster erhöht wird!
  24. Was ist der Unterschied zwischen den Überlastverfahren TCP-Tahoe und TCP-Reno? Wie funktionieren neuere Verfahren?
  25. Berechnen Sie den mindestens erforderlichen Windows-Scaling-Faktor für folgenden Link: r= 1 Gbps, RTT=150 ms, MSS = 1460!
  26. Nach welcher Zeit wird der volle Datendurchsatz erreicht, wenn das Überlastverfahren Reno eingesetzt wird?
  27. Kann der Datendurchsatz erhöht werden, wenn gleichzeitig mehrere TCP-Verbindungen genutzt werden?
  28. Mittels r < MSS/RTT * 1/sqrt(p) kann die Datenrate im Falle einer Paketverlustwahrscheinlichkeit p abgeschätzt werden. Bestimmen sie diese bei p=10⁻⁶ und den Parametern der obigen Aufgabe!

Sequenznummern

  1. 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?
  2. 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?
  3. 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
  4. 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

Letzte Änderung: 24. October 2023 10:17