Spricht man heutzutage von "Internet", so fällt unweigerlich auch das Schlagwort "Client/Server". Dahinter verbirgt sich ein grundlegender Ansatz für den Aufbau von Internet-Anwendungen, bei der die Funktionalität in zwei separate Bereiche getrennt werden:
. Einen Client, der durch eine Client-Anwendungssoftware repräsentiert und von Internet-Anwendern genutzt wird, um einen bestimmten Dienst in Anspruch zu nehmen.
. Einen Server, der durch eine Server-Software realisiert wird und die vom Client genutzte Funktionalität zur Verfügung stellt.
Der Informationsaustausch zwischen dem Server- und dem Clientprozeß erfolgt über die TCP/IP - Protokolle. Der Clientprozeß ist meistens mit einem Benutzerinterface verbunden und wird nur bei Bedarf gestartet, während der Server bereits auf Anforderungen "wartet" und falls notwendig auch mehrere Client-Prozesse parallel bedienen kann.
Wenn nun ein Client Dienste eines Servers anfordert, so geschieht dies über Ports. Der Client versucht, den Server auf einem je nach Protokoll unterschiedlich definierten Port anzusprechen. Bei well-known-services (z.B.: ftp) ist dieser Port immer gleich (z.B.: 21 für FTP). Die Port-Zuordnungspaare (Port/Protokoll) werden in einer eigenen Liste, die auf dem Server abgespeichert ist, festgelegt.
Der Server nimmt die Anforderungen eines Clients entgegen und leitet sie vom Standard-Port auf einen freien anderen Port um, über den der Client von einem Child-Prozeß des Serverdaemons dann ungestört bedient werden kann. Die Paare IP-Adresse/PortID müssen vom Serverprozeß verwaltet werden.
|