Erkundung - Ein Client-Server-System
Ein einfacher Echo-Server
Im letzten Abschnitt wurde in Aufgabe 1c das Problem angesprochen, dass Dateien, die auf einem Mitarbeiter-Rechner des Unternehmens INF-DESIGNS gespeichert sind, beim Datenaustausch nach dem Peer-to-Peer-Prinzip nicht automatisch zu jeder Zeit allen Kollegen zur Verfügung stehen. Dies kann ein Unternehmen zum Beispiel bei der Abwesenheit eines Mitarbeiters in Schwierigkeiten bringen.
Als mögliche Lösung des Problems ist dir vielleicht schon das Speichern der Dateien an einem für alle stets verfügbaren Ort eingefallen. Diese Idee führt zu einem Client-Server-System: Ein zusätzlicher Rechner - der Server - bietet als Dienstleister Speicherplatz für das zentrale Speichern und Verwalten von Dateien an. Die Mitarbeiter-Rechner - die Clients - nehmen den Dienst des Servers in Anspruch und kommunizieren zum Austauschen von Dateien nur noch mit ihm.
Um das Prinzip einer Client-Server-Kommunikation besser verstehen zu können, soll unser Server in Filius nicht wie im Unternehmen INF-DESIGNS gewünscht zur Bereitstellung von Dateien dienen, 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 von INF-DESIGNS 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?
Server im Internet
Die Aufgaben von Servern gehen heute weit über die hier vorgestellten hinaus. Vor allem im Internet bieten sie heute nicht mehr wegzudenkende Dienste wie den des World Wide Web oder den E-Mail-Dienst an. Mehr dazu findest du im Abschnitt Internet.