Fragenkatalog zur Internetkommunikation SS 2017 (Leischner, Stand 8. Juli 2017)

Fragen zu Grundlagen (Modul 1 / 2)

  1. Über welche drei grundlegenden Eigenschaften definiert sich ein Kommunikationsprotokoll? Erläutern Sie kurz jede der drei Eigenschaften.
  2. SS17 nicht klausurrelevant: Geben Sie zwei unterschiedliche Methoden an, wie man die Semantik eines Protokolls definieren kann. Erläutern Sie diese Methoden kurz.
  3. SS17 nicht klausurrelevant: Erläutern Sie den typischen Entwicklungsprozess für ein Kommunikationsprotokoll anhand einer sorgfältig erstellten Abbildung.
  4. SS17 nicht klausurrelevant: Definieren Sie die genaue Aufgabenstellung der Protokollverifikation sowie der Protokoll-Leistungsanalyse.
  5. SS17 nicht klausurrelevant: Geben Sie typische Protokolleigenschaften an, die im Rahmen einer Protokollverifikation verifiziert werden.
  6. SS17 nicht klausurrelevant: Welche grundsätzlichen Formen der Protokollverifikation gibt es?
  7. SS17 nicht klausurrelevant: Erläutern Sie die nachfolgenden Protokolleigenschaften und geben Sie für jede der Eigenschaften ein Beispiel an: Deadlock-Freiheit, Livelock-Freiheit, Vollständigkeit, Terminierung, keine Invariantenverletzung, Fairness.
  8. SS17 nicht klausurrelevant: Nennen Sie typische Techniken bzw. Methoden zur Protokollverifikation.
  9. Welche Kommunikationsdienstleistung stellt UDP an seinem Service-Access-Point (UDP-Port) zur Verfügung? Beschreiben Sie möglichst genau diese Dienstleistung.
  10. Welche Kommunikationsdienstleistung stellt TCP an seinem Service-Access-Point  (TCP-Port)zur Verfügung? Beschreiben Sie möglichst genau diese Dienstleistung.
  11. Welche Leistung muss in der UDP-Protokollschicht erbracht werden?
  12. Welche Leistung muss in der TCP-Protokollschicht erbracht werden? Geben Sie einige (drei) Beispiele hierfür?
  13. Für welche Kommunikationsaufgaben ist UDP besonders gut geeignet, für welche weniger und für welcher gar nicht? Erläutern Sie Ihre Antworten an Hand von Kommunikationsbeispielen.
  14. Definieren Sie im Zusammenhang mit Kommunikationsprotokollen den Begriff einer Verbindung und erläutern Sie diese Begriffsbildung an Hand eines gut gewählten Beispiels.

Fragen zur Verbindungsmanagement (Modul 3)

  1. Definieren Sie einen Schlüssel, durch den sich eine bestehende TCP-Verbindung eindeutig identifizieren lässt.
  2. Für was dient bei TCP die Sequenznummer? Warum wird diese bei TCP benötigt?
  3. Wie groß ist bei TCP das Feld für die Sequenznummer? Nach welchen Kriterien ist die Größe des Sequenznummernfeldes zu bestimmen?
  4. Lässt sich über den TCP Three-Way-Handshake ein sicherer Verbindungsaufbau erreichen? Würde auch ein Two-Way-Handshake ausreichen? (Falls nein, bitte eine Begründung bzw. ein Beispiel angeben.)
  5. TCP verbindet zwei Systeme mit einem bidirektionalen Bytestrom. Wie erfolgt bei TCP der Abbau dieser Verbindung (also der Verbindungsabbau)?
  6. Geben Sie für TCP ein Szenario an, bei dem ein einseitiger Verbindungsabbau sinnvoll ist.

Fragen zur TCP-Retransmission (Modul 4)

  1. In einer weltweit agierenden Firma sollen zwei Systeme A und B an zwei verschiedenen Standorten (genauer zwei Applikationen auf diesen Systemen) miteinander über TCP verbunden werden. Sie als Administrator haben die Aufgabe, an System A für TCP den RTO-Timer statisch zu konfigurieren. Statisch konfigurieren heißt, dass Sie den Wert für den RTO-Timer des Systems A fest vorgegeben sollen. Der Wert soll so gewählt werden, dass die Kommunikation zwischen den beiden Systemen A und B möglichst gut läuft. System A ist über Gigabit-Ethernet mit dem Standort-A-Internetgateway und System B ist über Fast-Ethernet mit dem Standort-B-Internetgateway verbunden. Über die Internetverbindung zwischen Standort-A-Internetgateway und Standort-B-Internetgateway haben sie keine Informationen.
    Aufgabe: Beschreiben Sie möglichst genau und konkret eine Vorgehensweise zur Bestimmung eines möglichst gut gewählten statischen RTO-Timerwerts für System A. Begründen Sie jeden Schritt Ihrer Vorgehensweise. Wägen Sie gegebenenfalls alternative Möglichkeiten ab. 
  2. Nennen und erläutern Sie die Motivation, die zum verbesserte Verfahren der RTO-Bestimmung nach Jacobson/Karel von 1988 geführt hat.
  3. Erklären und erläutern Sie das Verfahren zur Bildung des RTO-Timers nach Jacob­son/Karel von 1988.
    Hinweis: Gehen Sie auf die Motivation für dieses verbesserte Verfahren ein und erläu­tern Sie im Detail die verwendeten Algorithmen (inklusive math. Formeln) und die Ideen, die hinter den Algorithmen und Formeln stehen.

Fragen zur Flusskontrolle (Modul 5)

  1. Was ist das Ziel einer Flusskontrolle mit Hilfe von Sliding-Window? Welche Problemstellungen soll hiermit gelöst werden? Wie wird diese Problemstellung gelöst?
  2. Erklären und erläutern Sie die folgenden Begriffe zur Flusskontrolle: "Zero advertised window size", "Small Packet Problem", "Silly Window Syndrome", "Fast Retransmit". Stellen Sie für jeden der Begriffe zunächst die zugrunde liegende Problemstellung vor. Davon ausgehend erläutern und diskutieren Sie die möglichen Lösungsmöglichkeiten.
  3. Erläutern Sie im Zusammenhang von Sliding-Window die Funktion und das Zusammenspiel von Sendefenster und Sendepuffer. Gehen Sie hierbei auf folgende Fragen ein: Welche Daten stehen in welchem Fenster? Wodurch und mit welchem Ziel wird die Größe dieser Fenster festgelegt?
  4. Erläutern Sie die Begriff Sendefenster und Sendepuffer im Zusammenhang von TCP-Flusskontrolle.
  5. Erläutern Sie die Funktion des TCP-Parameters "Advertised Window" (AW). Gehen Sie hierbei auch auf folgende Fragen ein: Wer bestimmt die Größe des AWs? Wie groß ist das AW zu wählen? (Diskutieren Sie hierzu geeignete Szenarien.) Können durch den Mechanismus des Protokollelement AWs Probleme entstehen? (Die Diskussion eines guten Beispiels reicht als Antwort.)

Fragen zur Überlastkontrolle (Modul 6)

  1. Erläutern Sie den Begriff "Equilibrium" im Zusammenhang mit der TCP-Überlastkontrolle. Gehen Sie hierbei insbesondere auf folgende Fragen ein: Was bedeutet eigentlich das Wort "Equilibrium"? Was genau bedeutet "Equilibrium bezüglich TCP-Überlast? Welche Idee bezüglich Überlastkontrolle steht hinter dem Begriff "Equilibrium"?
  2. Erläutern Sie den Begriff "Self-Clocking" im Zusammenhang mit der TCP-Überlastkontrolle. Gehen Sie hierbei insbesondere auf folgende Fragen ein: Wie funktioniert TCP-Self-Clocking. Welche Idee bezüglich Überlastkontrolle steht bei hinter dem Prinzip des Self-Clockings?
  3. Was ist das Ziel des Slow-Start-Algorithmus und warum ist der Slow-Start-Algorithmus in einem Netz notwendig? Wie funktioniert der Slow-Start-Algorithmus? Diskutieren Sie die Probleme, die ohne Verwendung eines Slow-Start-Algorithmus entstehen würden.
  4. Beschreiben Sie den Slow-Start-Algorithmus in Pseudocode und erläutern Sie präzise und nachvollziehbar die Funktionsweise Ihres Algorithmus.
    Hinweis: Benutzen Sie intuitiv verständliche Pseudocode Elemente wie FOR EACH, received(ACK), UNTIL.
  5. Beim Slow-Start-Algorithmus wird für jedes ankommende ACK das Congestion-Window um eine Einheit erhöht. Erläutern Sie, warum hierdurch ein exponentielles und nicht nur lineares Anwachsen des Congestion-Windows erreicht wird.
    Zusatzaufgabe: Skizzieren Sie das Verhalten von TCP-Slow-Start an Hand eines sorgfältig ausgeführten TCP-Slow-Start-Sequenz-Plots.
  6. Im Slow-Start-Algorithmus wird der Zuwachs des Überlastfensters durch die Formel
    cwnd = cwnd + α   beschrieben (α eine Konstante). Erläutern Sie, warum sich durch diese Formel ein exponentielles Ansteigen des Überlastfensters bewirkt wird.
  7. Beschreiben Sie Ziel und Funktion des Congestion Avoidance-Algorithmus.
  8. Im Congestion-Avoidance-Algorithmus wird der Zuwachs des Überlastfensters durch die Formel
    cwnd := cwnd + α/cwnd   beschrieben (α eine Konstante). Erläutern Sie, warum sich durch diese Formel ein lineares Ansteigen des Überlastfensters bewirkt wird.

Fragen zur Browser-Processing-Pipeline (Modul 8)

  1. Was versteht man unter dem DOM (Document Object Model)? Für was wird das DOM benötigt?
  2. Was versteht man unter CSS (Cascading Style Sheets) ? Für was werden Cascading Style Sheets benötigt?
  3. Was versteht man unter XML-Pfadausdrücke gemäß XPath? Für was werden XML-Pfadausdrücke eingesetzt?
  4. Was versteht man im Zusammenhang mit Web-Browsern unter dem Render Tree? Wie ist der Render Tree strukturiert?
  5. Beschreiben Sie schrittweise den Browser-Parsing-Prozess von der Byteübertragung bis zum Aufbau des DOM (Document Object Model).
  6. Warum bieten sich für die Programmierung des Browser-Parsing-Prozesses rekursive Programmiermethoden an?

Fragen zu Web APIs (XHR, SSE, WebSockets)  (Modul 9)

  1. Beschreiben und erläutern Sie die Browser-API XMLHttpRequest. Was ist der besondere Vorteil von XMLHttpRequest im Vergleich zum standardmäßigen Abruf von Web-Seiten?
  2. Was versteht man unter der Browser-API  Server-Sent Events (SSE)? Was sind typische Einsatzszenarien von SSE?
  3. Beschreiben und erläutern Sie das WebSocket-Konzept. Für welche Einsatzszenarien sind WebSocket besonders gut geeignet und für welche weniger? Erläutern Sie Ihre Antwort.

Fragen zu SCTP (Modul 10)

  1. SCTP (Stream Control Transmission Protocol) besitzt im Vergleich zu TCP eine Reihe von zusätzlichen Merkmalen und Eigenschaften. Erläutern Sie die folgenden drei SCTP-Merkmale und stellen Sie jeweils genau dar, welches Problem damit gelöst wird:
    a) Multi-Streaming,
    b) Multi-Homing,
    c) SCTP-Verbindungsaufbau mit 4-Way-Handshake.
  2. Ergänzen Sie den folgenden Satz:
    Während TCP eine Verbindung zwischen zwei Endpunkten erzeugt, baut SCTP eine . . . . . . . . . . . . . . . . . . auf. Die beiden Beziehungen unterscheiden sich in Bezug auf . . . . . . . . . . . . . . . . , . . . . . . . . . . . . . . . . . . . . . sowie . . . . . . . . . . . . . . . . . . . . .   .
  3. Ergänzen Sie den folgenden Satz:
    TCP transportiert Daten in einem einzigen (bidirektionalen) Bytestrom, während SCTP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .   .
  4. Ergänzen Sie den folgenden Satz:
    TCP ist ein strom-orientiertes Protokoll, während SCTP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .   .
  5. Ergänzen Sie den folgenden Satz:
    TCP und SCTP bieten zuverlässigen Datentransport, aber SCTP  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .   .
  6. Ergänzen Sie den folgenden Satz:
    Eine TCP-Verbindung ist an genau ein Interface gebunden, während SCTP  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .   .
  7. Ergänzen Sie den folgenden Satz:
    Der primäre Pfad für eine SCTP-Assoziation wird fest gelegt durch  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .   .

Fragen zu TCP-Optionen (Modul 11)

  1. Das Verhalten von TCP lässt sich durch eine Reihe von Optionen anpassen bzw. steuern. Wählen Sie eine sinnvoll einsetzbare TCP-Option (also nicht 0 = Ende der Optionsliste / 1 = No-Operation) aus. Beschreiben Sie für diese TCP-Option Problemstellung, Ziel und funktionale Umsetzung.

Fragen zu MPTCP (Modul 12)

  1. Erläutern Sie an Hand eines konkreten Beispiels Problemstellung, Ziel und Lösungsansatz für den Einsatz von Multipath-TCP im Vergleich zum üblichen TCP.
    (Falsche Ausführungen führen zu Punkteabzug.)
  2. Interpretieren Sie vor dem Hintergrund der MPTCP-Designzielen für die additive-increase-Überlastkontrolle die (vereinfachte) Formel  Formel  , die den Zuwachs des Überlastfensters für ein ankommendes ACK beschreibt.
    (alpha = eine Konstante, R = Menge der Subflows, cr = Überlastfenster des Subflows r)

 

Fragen zu Übungsblatt 1

  1. Ein Netzapplikationsprogrammierer möchte UDP zur Kommunikation zwischen Netzapplikationen verwenden. Er ist sich unsicher, wie viele Bytes er mit einem UDP Segment versenden kann. Geben Sie dem Programmierer eine begründete Programmierempfehlung, in der Sie verschiedene Lösungsansätze kritisch gegeneinander abwägen.
  2. Sie haben die Aufgabe für ein spezielles File-Transfer-Protokoll einen RFC zu schreiben. Geben Sie für dieses Dokument einen Vorschlag für eine inhaltliche Gliederung an.

Fragen zu Übungsblatt 2

  1. Welche Verbindungsphasen beschreibt der TCP-Zustandsautomat gemäß RFC 793?
  2. Aus welchen Elementen (Bestandteilen) besteht die Definition des TCP-Zustandsautomat gemäß RFC 793? Konkretisieren Sie diese Elemente am Beispiel von TCP.
    Griffiger formuliert: Wie wird der endliche Automat, den Sie aus der theoretischen Informatik kennen, konkret bei TCP umgesetzt?

Fragen zu Übungsblatt 3

Für SS17 nicht klausurrelevant.

Fragen zu Übungsblatt 4

Sender und Empfänger sind über eine 1GB/s-Leitung mit einem bidirektionalen Übertragungskanal miteinander verbunden. Die RTT beträgt konstant ca. 100ms. Die Daten werden in Paketen der Größe von 1KB versandt.

  • Fall 1: Zur Übertragung im obigen Szenario wird das Send-and-Wait-Protokoll verwendet.
    Berechnen Sie nachvollziehbar (und übersichtlich aufgeschrieben) den zu erwartenden maximalen Datendurchsatz.
  •  Fall 2: Zur Übertragung im obigen Szenario wird das TCP-verwendet. Wie groß sollte das Advertised-Window mindestens sein, damit eine optimale Übertragung gewährleistet ist? Wie hoch ist dann der zu erwartenden maximalen Datendurchsatz?

Gehen Sie bei der Lösung der Aufgabe bei Bedarf von idealisierenden Annahmen aus.

Fragen zu Übungsblatt 5

  1. Es soll ein File über eine neu zu öffnende TCP-Verbindung übertragen werden. Unter welchen Bedingungen wirkt sich der TCP-Slow-Start ungünstig auf die relative Übertragungszeit des Files aus. Definieren Sie geeignete Szenarien und diskutieren Sie diese im Bezug auf die Auswirkungen des TCP-Slow-Starts.
  2. Es soll ein File über eine neu zu öffnende TCP-Verbindung übertragen werden. Unter welchen Bedingungen wirkt sich der TCP-Slow-Start kaum auf die relative Übertragungszeit des Files aus. Diskutieren und begründen Sie Ihre Antwort.

Fragen zu Übungsblatt 6

Hier sind die Fragen aus Aufgabe 3 relevant.

 

Hinzu kommen in der Klausur noch Fragen zum praktischen Teil der Lehrveranstaltung (Laborteil).

 

Impressum | Datenschutz | leischner.inf.h-brs.de, last modification: 12.09.2022-10.46