Erkundung - Simulation eines einfachen Client-Server-Systems
Ein einfacher Echo-Server
Um das Prinzip einer Client-Server-Kommunikation besser verstehen zu können, soll unser Server in Filius kein Dateiserver sein, sondern einen sehr einfachen Dienst zur Verfügung stellen: Jede Anfrage eines Clients an den Server soll an diesen unverändert zurückgeschickt werden. Ein solcher Server heißt "Echo-Server".
Aufgabe 1 (Video)
(a) Öffne in Filius die Datei filius_ClientServer.fls und erstelle und konfiguriere im lokalen Netzwerk unseres Start-Up-Unternehmens einen "Echo-Server". Sende eine Textnachricht von einem Client aus an den Echo-Server.
(b) Experimentiere mit dem Client-Server-System. Kläre dabei u.a. folgende Fragen: Wie verhält sich das Client-Server-System, wenn der Server nicht gestartet ist? Können mehrere Clients den Dienst des Servers in Anspruch nehmen? Kann ein Client mehrfach den Dienst des Servers in Anspruch nehmen, indem er sich wiederholt beim Server an- und wieder abmeldet?
Verbindungsaufbau und Datentransport zwischen Client und Server
Bei der Kommunikation zwischen Client und Server müssen auf Ebene der Transportschicht zwei Grundprobleme gelöst werden: Wie funktioniert der Verbindungsaufbau zwischen zwei Rechnern und wie können Datenpakete anschließend zuverlässig transportiert werden?
Aufgabe 2
(a) Im Kapitel "Datentransport zwischen Anwendungsprozessen" kannst du die beiden genannten Grundprobleme entlang von Rollenspielen erkunden:
(b) Schaue dir in Filius nach einem Echovorgang den Datenaustausch zwischen Client und Server an. Erkennst du den Ablauf, den du bei den Rollenspielen in Aufgabenteil (a) kennengelernt hast, wieder?
Aufgabe 3
Lies dir den folgenden Text durch und ordne den beiden Protokollen Transmission Control Protocol (TCP) und User Datagram Protocol (UDP) die folgenden Begriffe zu: verbindungsorientiert - Beispielanwendung: Videostreaming - verbindungslos - zuverlässig - unzuverlässig - schneller - langsamer - Beispielanwendung: Textnachrichten übertragen
DAS PROTOKOLL UDP - WENN'S MAL RICHTIG SCHNELL GEHEN MUSS
Im Internet ist es meist wichtig, dass Daten sorgfältig übertragen werden. Eine wichtige Rolle spielt dabei das weit verbreitete Transmission Control Protocol (TCP). Es sorgt als zuverlässiges, verbindungsorientiertes Protokoll dafür, dass alle Informationen, die zwischen Client und Server ausgetauscht werden, genau so ankommen, wie sie gesendet wurden. Diese Sorgfalt kostet beim Übertragen natürlich etwas Zeit, was man zum Beispiel beim Aufrufen einer Webseite oder beim Empfangen einer Textnachricht gerne in Kauf nimmt.
Doch wenn es um Videostreaming oder Online-Gaming geht, sieht die Sache ansers aus. Hier geht Geschwindigkeit vor Sorgfalt, denn niemand möchte vor einem ruckelnden Video sitzen. Da ist es schon eher akzeptabel, wenn zwischendurch ein paar Pixel verloren gehen. Hier kommt das User Datagram Protocol (UDP) ins Spiel. Es interessiert sich nicht für den vom TCP bekannten Quittungsbetrieb, über den verlorene Pakete erneut gesendet werden und auch ein Verbindungsaufbau findet nicht statt. Die Daten sollen beim UDP so schnell und unkompliziert wie möglich transportiert werden.