Skriptum
Skriptum
Skriptum
Erfolgreiche ePaper selbst erstellen
Machen Sie aus Ihren PDF Publikationen ein blätterbares Flipbook mit unserer einzigartigen Google optimierten e-Paper Software.
KAPITEL 2. PROGRAMMIERSCHNITTSTELLEN UNTER UNIX 31<br />
[Hall 1996]). Comer und Stevens [1996] behandeln das Thema umfassend, in [Comer<br />
und Stevens 1997] wird auf die Socket-Programmierung unter Windows eingegangen.<br />
2.2.1 Einführung in Clients, Server, Daemons und Protokolle<br />
Unter Server versteht man ein Programm, das einen Dienst zur Verfügung stellt.<br />
Ein Server macht Ressourcen, die irgendwo im Netz liegen, für andere Programme<br />
verfügbar. Ressource ist in diesem Zusammenhang ein äußerst weitläufiger Begriff.<br />
Eine Ressource kann sowohl Hardware (Drucker, Faxmodem, . . . ) als auch Software<br />
(Datenbank, Filesystem, Telnet, . . . ) sein. Der Serverprozess läuft auf dem Rechner,<br />
an dem die Ressource angeschlossen ist und wartet darauf, dass der zur Verfügung<br />
gestellte Dienst von einem anderen Host angefordert wird. Serverprozesse werden<br />
meistens schon beim Hochlauf durch Start-up-Skripts gestartet.<br />
Ein Client ist ein Programm, das eine solche Ressource nutzt. Ein wichtiger<br />
Punkt beim Client-Server-Konzept ist die Nutzung von Ressourcen unabhängig<br />
von deren physikalischem Standort. Ein Client muss lediglich über das Netzwerk<br />
eine Verbindung zum Server herstellen.<br />
In der UNIX-Welt wird ein Server meist auch Daemon bezeichnet. Die Verbindung<br />
von Serverprozessen zu Daemons könnte man vielleicht so sehen: Daemons<br />
tauchen plötzlich auf und verschwinden genau so plötzlich wieder. Ein Daemon unter<br />
UNIX wird meist beim Hochlauf gestartet. Anschließend wartet der Daemon<br />
passiv auf eine Anforderung. Fordert nun ein Client einen Dienst an, so wird der<br />
Daemon aktiv und stellt dem Client eine Ressource zur Verfügung. Benötigt nun<br />
der Client diese Ressource nicht mehr, dann geht der Daemon wieder in einen passiven<br />
Wartezustand über. Unter UNIX erkennt man einen Daemon an der Endung<br />
des Filenamens mit d. Beispiele: inetd, telnetd, . . . (vgl. dazu den Output des<br />
Kommandos ps -ef | grep telnetd).<br />
Unter Protokoll versteht man die Beschreibung der Interaktion zwischen Server<br />
und Client. Das Protokoll definiert das genaue Format der Daten, die zwischen den<br />
beiden Prozessen ausgetauscht werden.<br />
2.2.2 Adressierung von Diensten<br />
Um einen Dienst im Netzwerk zu finden, muss der Client erst einmal wissen, mit<br />
welchem Rechner er Kontakt aufnehmen muss. Dies erfolgt meist über eine Internetdomainadresse<br />
(Bsp.: www.fh-hagenberg.at). Diese Domainadresse wird dann<br />
umgewandelt in eine 32-Bit Netzadresse (IP-Adresse) und adressiert einen Rechner<br />
im Netzwerk. Auf diesem Rechner gibt es nun aber mehrere Kommunikationsendpunkte.<br />
Diese Kommunikationsendpunkte, die sogenannten Ports, werden mit einer