Client-Server-Modell
Was ist das Client-Server-Modell?
Client-Server ist eine Beziehung, in der ein Programm, der Client, einen Dienst oder eine Ressource von einem anderen Programm, dem Server, anfordert. Die Bezeichnung Client-Server wurde früher verwendet, um die verteilte Datenverarbeitung durch PCs von dem monolithischen, zentralisierten Datenverarbeitungsmodell von Großrechnern zu unterscheiden.
Heutzutage sind Computertransaktionen, bei denen der Server eine von einem Client gestellte Anfrage erfüllt, weit verbreitet. Das Client-Server-Modell ist zu einer der zentralen Ideen der Netzwerkinformatik geworden. In diesem Zusammenhang stellt der Client über ein LAN oder WAN wie das Internet eine Verbindung zum Server her.
Sobald der Server die Anfrage des Clients erfüllt hat, wird die Verbindung beendet. Da sich mehrere Clientprogramme die Dienste desselben Serverprogramms teilen, kann ein spezieller Server, ein so genannter Daemon, aktiviert werden, um auf Client-Anfragen zu warten.
In den Anfangszeiten des Internets wurde der meiste Netzverkehr über den so genannten Nord-Süd-Verkehr abgewickelt. Dabei werden Daten zwischen entfernten Clients, die Webinhalte anfordern, und Servern im Rechenzentrum, die die Inhalte bereitstellen, übertragen. Heute, mit der Entwicklung von Virtualisierung und Cloud Computing, fließt der Netzwerkverkehr eher von Server zu Server - ein Muster, das als Ost-West-Verkehr bekannt ist.
Dadurch hat sich der Schwerpunkt der Netzwerkadministration von einem zentralisierten Sicherheitsmodell, das den Netzwerkrand schützt, zu einem dezentralisierten Sicherheitsmodell gewandelt, das den individuellen Benutzerzugriff auf Dienste und Daten kontrolliert. Netzwerkexperten prüfen auch das Netzwerkverhalten, um die Einhaltung von Richtlinien und Vorschriften zu gewährleisten.
Vor- und Nachteile des Client-Server-Modells
Ein wichtiger Vorteil des Client-Server-Modells ist, dass seine zentralisierte Architektur den Schutz von Daten durch Zugriffskontrollen, die durch Sicherheitsrichtlinien erzwungen werden, erleichtert. Es spielt auch keine Rolle, ob die Clients und der Server auf demselben Betriebssystem laufen, da die Daten über plattformunabhängige Client-Server-Protokolle übertragen werden.
Ein großer Nachteil des Client-Server-Modells ist, dass der Server überlastet werden kann, wenn zu viele Clients gleichzeitig Daten anfordern. Dies kann zu einer Überlastung des Netzes oder zu einem Denial-of-Service führen.
Client-Server-Protokolle
Die Kommunikation zwischen Clients und Servern erfolgt in der Regel über die TCP/IP-Protokollsuite. TCP ist ein verbindungsorientiertes Protokoll, das heißt, das Protokoll baut Verbindungen auf und hält sie aufrecht, bis die Anwendungsprogramme auf beiden Seiten den Austausch von Nachrichten beendet haben. TCP-Protokolle helfen bei Folgendem:
- Legt fest, wie die Anwendungsdaten in Pakete aufgeteilt werden sollen.
- Sendet Pakete an die Netzwerkschicht und nimmt Pakete von ihr entgegen.
- Verwaltet die Verkehrsflusskontrolle.
- Behandelt die erneute Übertragung von verworfenen oder fehlerhaften Paketen.
- Bestätigt alle Pakete, die im Netz ankommen.
Im OSI-Kommunikationsmodell (Open Systems Interconnection) deckt TCP Teile der Schicht 4, der Transportschicht, und Teile der Schicht 5, der Sitzungsschicht, ab.
Im Gegensatz dazu ist IP ein verbindungsloses Protokoll, was bedeutet, dass die Endpunkte nach der ersten Übertragung nicht weiter kommunizieren, weil keine Verbindung besteht. Das Internet behandelt jedes Paket, das das Netz durchläuft, als unabhängige Dateneinheit ohne Bezug zu einer anderen Einheit, während TCP die Pakete in der richtigen Reihenfolge organisiert. Im OSI-Kommunikationsmodell befindet sich IP in Schicht 3, der Netzwerkschicht.