Definition Was ist das Client-Server-Modell?
Anbieter zum Thema
Das Client-Server-Modell ist ein Architekturkonzept zur Verteilung von Diensten und Aufgaben in einem Netzwerk. Dienste werden von Servern bereitgestellt und können von Clients genutzt werden. Typische Anwendungen des Client-Server-Modells in IP-Netzwerken sind der Zugriff auf Webseiten per HTTP, das Laden von Dateien per FTP oder die Abwicklung des E-Mail-Verkehrs per SNMP.

Das Client-Server-Modell ist eines der am häufigsten angewandten Konzepte zur Verteilung von Aufgaben und Diensten in einem Netzwerk. Auf die von Servern bereitgestellten Dienste greifen ein oder mehrere Clients zu. In TCP/IP-Netzwerken werden viele Anwendungen auf Basis des Client-Server-Modells betrieben.
Typische Anwendungen sind die Abwicklung des E-Mail-Verkehrs, der Zugriff auf Internetseiten eines Webservers, das Transferieren von Dateien oder das Auflösen von Domainnamen im Domain Name System (DNS). Protokolle wie FTP (File Transfer Protokoll), HTTP (Hypertext Transfer Protocol) oder SNMP (Simple Network Management Protocol) regeln den Ablauf der Kommunikation und den Informationsaustausch zwischen dem Client und dem Server.
Neben dem Client-Server-Modell existieren weitere Architekturkonzepte wie das Peer-to-Peer-Modell oder das Master-Slave-Modell. Soll der Dienst eines Servers in Anspruch genommen werden, geht die Initiative für die Anforderung des Services immer vom Client aus. Der Server ist in Bereitschaft und beantwortet die Anfragen der Clients.
Oft sind auf einem Hardware-System mehrere Server-Programme gleichzeitig installiert und aktiv. Deshalb werden die Rechner selbst oft als Server bezeichnet. Rechner wie Desktop-Computer, die hauptsächlich Clientfunktionen ausführen, werden analog dazu Clients genannt. Die Begriffe Server und Client sind nach dem Client-Server-Modell jedoch nicht für physische Hardwaresysteme zu verwenden, sondern beziehen sich auf die logische Funktion eines Programms. Auf einem Rechner können sowohl Client- als auch Server-Programme implementiert sein.
Typische Merkmale des Client-Server-Modells
Typische Merkmale des Client-Server-Modells sind:
- Verteilung unterschiedlicher Aufgaben auf Client und Server
- Server stellen Dienste bereit
- Clients fragen Dienste bei Servern an
- Regelung der Kommunikation und des Informationsaustauschs zwischen Client und Server über Protokolle
- Server bedienen ein oder mehrere Clients
- Server- und Clientfunktionen oder -aufgaben sind nicht an eine physische Hardware gebunden
- physische Rechner können sowohl Client- als auch Serveraufgaben ausführen
- Initiative zur Interaktion geht immer vom Client aus
Definition von Server und Client
Zum besseren Verständnis des Client-Server-Modells im Folgenden genauere Definitionen von Client und Server. Wichtig zu verstehen ist, dass die Begriffe Client und Server keine Hardware, sondern Rollen beschreiben.
Aufgabe der Server-Rolle ist es, einen bestimmten Dienst lokal oder über das Netzwerk bereitzustellen. Der Server nimmt Anfragen von Clients diesen Dienst betreffend entgegen, verarbeitet sie und sendet die Antwort an die Clients zurück. Ein Server kann viele verschiedene Clients bedienen
Der Client fragt einen bestimmten Dienst beim dafür zuständigen Server an. Die Initiative für die Kommunikation geht immer vom Client aus. Er formuliert die Anfrage, sendet sie lokal oder über das Netzwerk an den Server und interpretiert die erhaltene Antwort. Ein Client kann bei Bedarf mit verschiedenen Servern kommunizieren. Client-Programme interagieren häufig über User-Schnittstellen mit den Anwendern.
Typische Client/Server-Anwendungen und -Protokolle
Viele IT-Anwendungen basieren auf dem Client-Server-Modell. Clients nutzen bestimmte Anwendungen oder Daten, die von einem Anwendungsserver oder Datenbankserver zur Verfügung gestellt werden.
Zahlreiche Anwendungen und Protokolle in TCP/IP-Netzwerken wie im Internet nutzen das Client-Server-Modell. Eine der bekanntesten Anwendungen ist das Surfen im World Wide Web (WWW). Clients (Webbrowser) fragen die Inhalte bestimmter Internetseiten bei einem Webserver an. Die Kommunikation findet per HTTP oder HTTPS statt. Der Webbrowser stellt die HTTP- oder HTTPS-Anfragen an einen Webserver, der im Netz über seine IP-Adresse erreichbar ist. Der Webserver nimmt die Anfragen entgegen, verarbeitet sie und liefert die gewünschte Internetseite mit ihren Inhalten aus. Im Webbrowser werden die HTTP- oder HTTPS-Antworten verarbeitet und dem Anwender als grafische Inhalte dargestellt.
Weitere typische Client/Server-Anwendungen und -Protokolle im TCP/IP-Umfeld sind der Dateitransfer per FTP, die Abwicklung des E-Mail-Verkehrs per SMTP, POP3 oder IMAP, das Drucken von Dokumenten über Print-Server, die Auflösung von Domainnamen im DNS, die Abfrage von Verzeichnisdiensten per LDAP (Lightweight Directory Access Protocol), die Anzeige von Nachrichten per NNTP (Network News Transfer Protocol), die Abfrage der Zeit eines Zeitservers per NTP (Network Time Protocol), die Realisierung von VPNs über einen VPN-Server und viele mehr.
Alternative Architekturmodelle
Neben dem Client-Server-Modell existieren zur Verteilung von Aufgaben und Bereitstellung von Services in IT-Umgebungen weitere Architekturmodelle wie das Peer-to-Peer-Modell oder das Master-Slave-Modell. Im Vergleich zum Client-Server-Modell erfüllt ein Peer-Programm im Peer-to-Peer-Modell gleichzeitig Server- und Client-Aufgaben. Die Peers sind untereinander grundsätzlich gleichberechtigt. Im Master-Slave-Modell übernimmt ein Master die führende Rolle für alle Slaves. Der Master erteilt den Slaves das Recht, auf gemeinsame Ressourcen zuzugreifen. Die Initiative für eine Anfrage kann nicht vom Slave ausgehen. Er muss warten, bis er die Erlaubnis zur Kommunikation vom Master erhält.
Vor- und Nachteile des Client-Server-Modells
Vorteile des Client-Server-Modells sind:
- zentrale Verwaltung der Services und Ressourcen sowie zentrale Datenhaltung
- sicheres zentrales Management der Zugriffsrechte
- ein Server kann viele Clients bedienen
- Server lassen sich per Netzwerk standortunabhängig bereitstellen
Als Nachteile lassen sich aufführen:
- der Ausfall eines Servers sorgt für einen generellen Dienstausfall – für kritische Dienste müssen Redundanzen bereitgestellt werden
- Server müssen mit genügend Bandbreite und Ressourcen ausgestattet sein, um alle Clients zu bedienen
- Ressourcenengpässe des Servers verlangsamen die Antworten für alle Clients
- der Betrieb und die Bereitstellung eines Servers ist mit erhöhtem zeitlichen und finanziellen Aufwand verbunden und erfordert spezifisches Know-how
(ID:46652757)