Implementierungsaspekte - Protocol Engineering

Werbung
BTU Cottbus, Lehrstuhl Rechnernetze und Kommunikationssysteme
Protocol Engineering
SS 2003
3. Übungsblatt (Implementierungsaspekte)
1. Aufgabe (I/O Multiplexing)
Man denke sich einen Prozess, der von mehr als einem Kanal liest. Dies könnte bspw. eine XDT-Protokollinstanz sein, die einerseits XDT-Dienstprimitive vom XDT-Dienstnutzer
akzeptiert und andererseits mit dem Y-Diensterbringer interagiert. Die XDTProtokollinstanz weiß nicht, wann Interaktionen an den zwei Dienstzugangspunkten auftreten. Deshalb ist es nicht möglich, dass die XDT-Protokollinstanz an einem Dienstzugangspunkt wartet, da während der Wartezeit am anderen Dienstzugangspunkt Anforderungen
ankommen könnten. Diskutieren Sie verschiedene Techniken die dieses Problem lösen.
2. Aufgabe (Timer)
Angenommen Sie sollen Programme für Unix-Betriebssysteme (z.B. Solaris oder Linux)
implementieren, die ein Protokoll umsetzen, das mehrere Timer verwendet. Diskutieren
Sie verschiedenen (programmtechnische) Techniken zur Realisierung von Timern.
3. Aufgabe (Zauberei)
Das Trivial File Transfer Protocol (TFTP) ist eine einfache Methode um Dateien zwischen
zwei Systemen zu übertragen. TFTP ist sehr klein und einfach und wird häufig beim Booten über ein Netzwerk verwendet.
In der ursprünglichen Spezifikation des Protokolls (RFC 783) besteht ein defiziles Problem. Wenn Sender und Empfänger Zeitüberwachung der Übertragung verwenden, kann
eine Situation eintreten, die als Zauberlehrlingssyndrom (Sorcerer’s Apprentice Syndrome)
bezeichnet wird. Im folgenden wird dies als Zeitablaufdiagramm dargestellt. Hierbei wird
davon ausgegangen, dass ACK(n), das der Empfänger sendet, erst nach Ablauf des Timeouts beim Sender eintrifft. Daraus resultiert, dass ab diesem Zeitpunkt jede PDU zwischen Sender und Empfänger doppelt übertragen wird. Diskutieren Sie Änderungen am
Protokoll, die diesen Effekt vermeiden.
DATA(n)
ACK(n)
Timeout, DATA(n)
DATA(n+1)
ACK(n)
DATA(n+1)
ACK(n+1)
DATA(n+2)
ACK(n+1)
DATA(n+2)
ACK(n+2)
DATA(n+3)
ACK(n+2)
DATA(n+3)
ACK(n+3)
...
Abbildung 1: Das Zauberlehrlingssyndrom
Herunterladen