Das Client-Server-Modell ist eines der gän­gigs­ten Ar­chi­tek­tur­kon­zep­te in der Netz­werk­tech­nik. Es regelt das Zu­sam­men­spiel von Client und Server. All­täg­li­che Aufgaben wie das Senden von HTTP-Anfragen an Webserver oder die Über­tra­gung von Dateien via FTP sind typische An­wen­dungs­fäl­le.

Das Client-Server-Modell, das auch unter der Be­zeich­nung „Client-Server-Prinzip“ bekannt ist, ist ein Kom­mu­ni­ka­ti­ons­mo­dell und er­mög­licht die Ver­tei­lung von Aufgaben innerhalb eines Netzwerks.

Unter einem Server versteht man zum einen die Hardware, die die not­wen­di­gen Res­sour­cen für andere Computer oder Programme be­reit­stellt, zum anderen das Com­pu­ter­pro­gramm, das die Kom­mu­ni­ka­ti­on mit den Clients übernimmt. Der Server nimmt die Anfragen des Clients an, be­ar­bei­tet diese und stellt die ge­for­der­te Antwort bereit. Auch Clients liegen in ver­schie­de­nen Arten vor. So kom­mu­ni­ziert entweder ein Computer oder eine Software mit dem Server. Der Client sendet dabei Anfragen und empfängt die Antworten des Servers. Das Zu­sam­men­spiel von Server und Client wird im Client-Server-Modell ab­ge­bil­det.

Tipp

Wenn Sie einen Server mieten möchten, lohnt sich ein Blick auf die IONOS Server-Produkte. Sie erhalten einen Überblick über die ver­schie­de­nen Server in Form von Virtual Private Servern, Cloud Servern und Dedicated Servern.

Welche Merkmale hat das Client-Server-Prinzip?

Das Client-Server-Modell zeichnet sich durch einige cha­rak­te­ris­ti­sche Merkmale aus. Es existiert eine klare Ver­tei­lung von Aufgaben zwischen den Clients und den Servern. Der Server ist für die Be­reit­stel­lung von Diensten ver­ant­wort­lich. Er führt die an­ge­frag­ten Dienste aus und liefert die von ihm erwartete Antwort. Der Client ist in dem Konstrukt der Part, der die be­reit­ge­stell­ten Dienste nutzt und anfragt. Er empfängt somit die Antwort des Servers.

Im Client-Server-Modell bedient ein Server mehrere Clients. Der Server be­ar­bei­tet also die Anfragen un­ter­schied­li­cher Clients. Dazu stellt er den Dienst permanent und passiv bereit. Ein Client fragt die Dienste beim Server aktiv an und initiiert damit die Aufgaben des Servers.

Ein phy­si­scher Computer kann in diesem Konzept sowohl Client als auch Server sein. Aus­schlag­ge­bend ist allein die Rolle im Netzwerk und der Fakt, ob der Computer Anfragen für Dienste und Res­sour­cen sendet oder empfängt.

Die Regeln, nach denen die Kom­mu­ni­ka­ti­on zwischen Clients und Server statt­fin­det, sind in Form von Pro­to­kol­len definiert. Je nach Aufgabe kommen un­ter­schied­li­che Netz­werk­pro­to­kol­le für den Da­ten­aus­tausch zum Einsatz. Zu­sätz­lich gibt es, je nach An­wen­dungs­ge­biet, ver­schie­de­ne Netz­werk­ty­pen.

Welche Vor- und Nachteile hat das Client-Server-Modell?

Das Konzept zur Ver­tei­lung von Aufgaben und Diensten innerhalb eines Netzwerks durch das Client-Server-Modell bietet einige Vor- und Nachteile, die in diesem Zu­sam­men­hang relevant sind.

Vorteile

Nicht ohne Grund gehört das Client-Server-Modell zu einem der am häu­figs­ten an­ge­wand­ten Ar­chi­tek­tur­kon­zep­te in der Netz­werk­tech­nik. Es bietet einige er­heb­li­che Vorteile.

Zentrale Ad­mi­nis­tra­ti­on

Ein großer Vorteil ergibt sich durch die zentrale Ad­mi­nis­tra­ti­on. Der Server steht im Mit­tel­punkt des Netzwerks. Alle An­wen­den­den bzw. Clients nutzen ihn. Wichtige Res­sour­cen wie bei­spiels­wei­se Da­ten­ban­ken sind auf dem Server und damit zentral verfügbar. Dieser Aufbau ver­ein­facht die Ad­mi­nis­tra­ti­on und Wartung wichtiger und schüt­zens­wer­ter Res­sour­cen. Auch das Durch­füh­ren von Updates ist durch die zentrale Stellung des Servers kom­for­ta­bel und mit geringen Risiken verbunden.

Zu­griffs­rech­te global steuerbar

Die zentrale Haltung von wichtigen Res­sour­cen erlaubt zudem ein sicheres und globales Ma­nage­ment von Zu­griffs­rech­ten. Gerade bei sensiblen Daten ist es wichtig zu wissen, wer welche Daten einsehen und wer welche Ma­ni­pu­la­tio­nen vornehmen kann. Um die Daten best­mög­lich zu schützen, gilt hierbei das Prinzip, die Zu­griffs­rech­te so gering wie nötig zu setzen.

Ein Server für eine Vielzahl an Clients

Die Anzahl der Clients ist er­wei­ter­bar. Mehrere Clients arbeiten gleich­zei­tig mit einem Server. Die Clients teilen sich die Res­sour­cen des Servers. Es besteht auch die Mög­lich­keit, dass sich der Server an einem anderen Standort als die Clients befindet. Ent­schei­dend ist, dass Server und Clients über ein Netzwerk mit­ein­an­der verbunden sind. Es ist somit nicht nötig, die Res­sour­cen vor Ort zu haben.

Nachteile

Trotz der um­fang­rei­chen Vorteile sind auch einige Nachteile zu be­trach­ten.

Ser­ver­aus­fall

Nach­tei­lig am Client-Server-Modell ist, dass durch eine zentrale Haltung und Ab­hän­gig­keit der Ausfall des Servers zum Ge­samt­aus­fall des Systems führt. Ist der Server aus­ge­fal­len, können die Clients ihre Arbeit nicht mehr ver­rich­ten, da sie die nötigen Antworten vom Server nicht mehr bekommen.

Res­sour­cen des Servers

Der Server führt die res­sour­cen­in­ten­si­ven Aufgaben aus. Die An­for­de­run­gen an die Res­sour­cen des Clients sind deutlich geringer. Hat der Server zu wenig Res­sour­cen zur Verfügung, schlägt sich dies auf die Arbeit aller Clients nieder. Deshalb ist es wichtig, einen Anbieter zu wählen, der diese Res­sour­cen zu­ver­läs­sig be­reit­stellt.

Zeit­li­cher Aufwand

Nicht zu un­ter­schät­zen ist außerdem die zeitliche Kom­po­nen­te beim Betreiben eines eigenen Servers. Dessen Einsatz erfordert neben dem ent­spre­chen­den Know-how – etwa zur Ab­si­che­rung und Kon­fi­gu­ra­ti­on von Servern – auch nicht un­er­heb­li­che zeitliche Res­sour­cen.

Welche Al­ter­na­ti­ven gibt es zum Client-Server-Modell?

Das Client-Server-Modell findet zwar häufig beim Verteilen von Aufgaben innerhalb von Netz­wer­ken Anwendung, dennoch gibt es auch andere Ar­chi­tek­tu­ren und Konzepte.

Eine Al­ter­na­ti­ve ist bei­spiels­wei­se das Peer-to-Peer Modell. In diesem Modell bildet ein so­ge­nann­tes Peer-Programm Server und Client gleich­zei­tig ab und erfüllt beide Rollen zu gleichen Teilen. Dieses Modell bildet die Grundlage der Block­chain.

Außerdem sei das Primary-Secondary-Modell genannt, das früher als „Master-Slave-Modell“ bekannt war. In diesem Modell führt der primäre Teil die se­kun­dä­ren Teile und ko­or­di­niert diese. Der primäre Teil gibt dabei nutzbare Res­sour­cen für die se­kun­dä­ren Teile frei und ent­schei­det, wann diese welche Aufgaben über­neh­men.

Was sind typische Client Server An­wen­dun­gen und Pro­to­kol­le?

Eine typische Client-Server-Anwendung ist ein Webserver. Hierbei sendet der Client eine Anfrage an den Webserver, eine bestimmte Webseite zu öffnen. Der Server sendet die an­ge­for­der­ten Daten an den Client zurück. Die Webseite wird im Browser des Clients angezeigt. Zum Senden wird das Hypertext Transfer Protocol genutzt – es handelt sich um HTTP-Requests.

Auch ein E-Mail-Server funk­tio­niert nach dem Client-Server-Prinzip. Wenn ein E-Mail-Client mit einem E-Mail-Server kom­mu­ni­ziert, fragt der Client die E-Mails an, die auf dem Server liegen, und ruft diese ab. Der Server stellt dem Client die E-Mails zur Verfügung. Die Pro­to­kol­le, die hierbei zum Einsatz kommen, sind SMTP, IMAP oder POP und TLS.

Eine weitere sehr ver­brei­te­te Anwendung ist der Transfer von Daten zwischen Client und Webserver mittels des File Transfer Protocols (FTP). Dieses Protokoll er­mög­licht den Upload und Download von Dateien.

Zum Hauptmenü