Verschaffen Sie sich einen Überblick über den nachfolgenden Fragenkatalog
zur Lehrveranstaltung.
Keine Abgabe über LEA.
Fragen zu Grundlagen (Modul
1 / 2)
- Über welche drei grundlegenden Eigenschaften definiert
sich ein Kommunikationsprotokoll? Erläutern Sie kurz
jede der drei Eigenschaften.
- Geben Sie zwei unterschiedliche Methoden an, wie
man die Semantik eines Protokolls definieren kann. Erläutern
Sie diese Methoden kurz.
- Erläutern Sie den typischen Entwicklungsprozess
für ein Kommunikationsprotokoll anhand einer sorgfältig
erstellten Abbildung.
- Definieren Sie die genaue Aufgabenstellung der Protokollverifikation
sowie der Protokoll-Leistungsanalyse.
- Geben Sie typische Protokolleigenschaften an, die
im Rahmen einer Protokollverifikation verifiziert werden.
- Welche Kommunikationsdienstleistung stellt UDP an
seinem Service-Access-Point (UDP-Port) zur Verfügung?
Beschreiben Sie möglichst genau diese Dienstleistung.
- Welche Kommunikationsdienstleistung stellt TCP an
seinem Service-Access-Point (TCP-Port)zur Verfügung?
Beschreiben Sie möglichst genau diese Dienstleistung.
- Welche Aufgabe muss in der UDP-Protokollschicht
gelöst werden?
- Welche Aufgaben muss in der TCP-Protokollschicht
lösen? Geben Sie einige (drei) Beispiele hierfür?
- 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.
- Definieren Sie im Zusammenhang mit Kommunikationsprotokollen
den Begriff einer Verbindung und erläutern Sie diese
Begriffsbildung an Hand eines gut gewählten Beispiels.
- 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.
- 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 zur TCP-Verbindungsmanagement
(Modul 3)
- Definieren Sie einen Schlüssel, durch den sich eine
bestehende TCP-Verbindung eindeutig identifizieren lässt.
- Für was dient bei TCP die Sequenznummer? Warum wird
diese bei TCP benötigt?
- Wie groß ist bei TCP das Feld für die Sequenznummer?
Nach welchen Kriterien ist die Größe des Sequenznummernfeldes
zu bestimmen?
- Lässt sich über den TCP Three-Way-Handshake ein
zuverlässiger Verbindungsaufbau erreichen? Würde auch
ein Two-Way-Handshake ausreichen? (Falls nein, bitte
eine Begründung bzw. ein Beispiel angeben.)
- TCP verbindet zwei Systeme mit einem bidirektionalen
Bytestrom. Wie erfolgt bei TCP der Abbau dieser Verbindung
(also der Verbindungsabbau)?
- Geben Sie für TCP ein Szenario an, bei dem ein einseitiger
Verbindungsabbau sinnvoll ist.
Fragen zur TCP-Retransmission
(Modul 4)
- 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.
- Nennen und erläutern Sie die Problemstellung, die
zum verbesserte Verfahren der RTO-Bestimmung nach Jacobson/Karel
von 1988 geführt hat.
- Erklären und erläutern Sie das Verfahren zur Bildung
des RTO-Timers nach Jacobson/Karel von 1988.
Hinweis: Gehen Sie auf die
Motivation für dieses verbesserte Verfahren ein und
erläutern Sie im Detail die verwendeten Algorithmen
(inklusive math. Formeln) und die Ideen, die hinter
den Algorithmen und Formeln stehen.
Fragen zur Flusskontrolle
(Modul 5)
- Was ist das Ziel einer Flusskontrolle mit Hilfe
von Sliding-Window? Welche Problemstellungen soll hiermit
gelöst werden? Wie wird diese Problemstellung gelöst?
- 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.
- 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?
- Erläutern Sie die Begriff Sendefenster und Sendepuffer
im Zusammenhang von TCP-Flusskontrolle.
- 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)
- 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"?
- 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?
- 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.
- 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
.
- 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.
- 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.
- Beschreiben Sie Ziel und Funktion des Congestion
Avoidance-Algorithmus.
- Im Congestion-Avoidance-Algorithmus wird der
Zuwachs des Überlastfensters durch die Formel
cwnd
:= cwnd + α/cwnd beschrieben (α eine Konstante).
Erläutern Sie, warum durch diese Formel ein zeitlich
lineares Ansteigen des Überlastfensters bewirkt wird.
Fragen zu SCTP (Modul 7)
- 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.
- Ergänzen Sie den folgenden Satz:
Während TCP
eine Verbindung zwischen zwei Endpunkten erzeugt, baut
SCTP eine . . . . . . . . . . . . . . . . . . auf.
- Ergänzen Sie den folgenden Satz:
TCP transportiert
Daten in einem einzigen (bidirektionalen) Bytestrom,
während SCTP . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . .
- Ergänzen Sie den folgenden Satz:
TCP ist ein
strom-orientiertes Protokoll, während SCTP . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . .
.
- Ergänzen Sie den folgenden Satz:
TCP und SCTP
bieten zuverlässigen Datentransport, aber SCTP .
. . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . .
. . . .
- Ergänzen Sie den folgenden Satz:
Eine TCP-Verbindung
ist an genau ein Interface gebunden, während SCTP .
. . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . .
. . . .
- Ergänzen Sie den folgenden Satz:
Der primäre
Pfad für eine SCTP-Assoziation wird fest gelegt durch .
. . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . .
. . . .
Fragen zu MPTCP (Modul 8)
- 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.)
- Interpretieren Sie vor dem Hintergrund der
MPTCP-Designzielen für die additive-increase-Überlastkontrolle
die (vereinfachte) 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 SSH (Modul 9)
- In welchen OSI-Schichten finden Sie
Sicherheitsfunktionen? Geben Sie hierfür Beispiele
und erläutern Sie diese.
- Was genau wird durch Sicherheitsprotokolle auf
der Schicht 2 bzw. 3 bzw. 4 gesichert?
- Was genau ist ein Zertifikat? Was sind die
wesentlichen Daten in einem Zertifikat?
- Beschreiben Sie im Detail den
SSH-Protokollablauf bei Passwort-Authentifikation.
- Beschreiben Sie im Detail den
SSH-Protokollablauf bei
"Public-Key"-Authentifikation.
- Ist SSH mit Passwort-Authentifikation sicher?
- Geben Sie eine Empfehlung für einen gesicherten
Serverzugriff mit SSH. Konkret: Wie sollte SSH auf
einem Server eingerichtet werden, damit ein sicherer
Zugriff auf den Server erreicht wird.
- Sollte der geheime Schlüssel zusätzlich mit
einem Passwort gesichtert werden? Vor- und
Nachteile?
Fragen zu Uniform Resource
Identifier (URI) (Modul 10)
- Aus welchen typischen Bestandteilen setzt sich
eine URI zusammen?
- Was versteht man im Zusammenhang mit einer URI
unter "Routing zum Service"?
- Steht eine URI für eine Folge von Bytes?
Erläutern Sie Ihre Antwort.
Fragen zu HTTP Grundlagen
(Modul 11)
- Erläutern Sie den Satz "HTTP ist ein
zustandsloses Request/Response-Protokoll."
- Erläutern Sie den Satz "HTTP ist
textorientiert."
- Nennen Sie zwei wichtige Designziele von HTTP.
- Geben Sie ein Beispiel für einen idempotenten
HTTP-Aufruf und ein Beispiel für einen nicht
idempotenten HTTP-Aufruf.
Fragen zu REST (Modul 12)
- Wenn ein Informatiker-Kollege Sie fragt, was ist
eine REST-API ist, was antworten Sie ihm?
- Wie können Funktionen und Operationen auf eine
REST-API abgebildet werden?
- Wie werden Datentypen auf eine REST-API
abgebildet?
- Warum ist die REST-API in der Internetwelt so
beliebt?
- Gibt es Alternativen zur REST-API?
Fragen HTTP Browsing (Modul
13)
- Was versteht man unter dem DOM (Document Object
Model)? Für was wird das DOM benötigt?
- Was versteht man unter CSS (Cascading Style Sheets)
? Für was werden Cascading Style Sheets benötigt?
- Was versteht man unter XML-Pfadausdrücke gemäß XPath?
Für was werden XML-Pfadausdrücke eingesetzt?
- Was versteht man im Zusammenhang mit Web-Browsern
unter dem Render Tree? Wie ist der Render Tree strukturiert?
- Beschreiben Sie schrittweise den Browser-Parsing-Prozess
von der Byteübertragung bis zum Aufbau des DOM (Document
Object Model).
- Warum bieten sich für die Programmierung des Browser-Parsing-Prozesses
rekursive Programmiermethoden an?