Articles

Modèle client-serveur (architecture client-serveur)

Le client-serveur est une relation dans laquelle un programme (le client) demande un service ou une ressource à un autre programme (le serveur). Au début du siècle dernier, l’étiquette client-serveur était utilisée pour distinguer l’informatique distribuée par les ordinateurs personnels (PC) du modèle informatique monolithique et centralisé utilisé par les ordinateurs centraux.

Aujourd’hui, les transactions informatiques dans lesquelles le serveur répond à une demande formulée par un client sont très courantes et le modèle client-serveur est devenu l’une des idées centrales de l’informatique en réseau. Dans ce contexte, le client établit une connexion avec le serveur via un réseau local (LAN) ou un réseau étendu (WAN), tel qu’Internet. Une fois que le serveur a répondu à la demande du client, la connexion est interrompue. Étant donné que plusieurs programmes clients partagent les services du même programme serveur, un serveur spécial appelé démon peut être activé uniquement pour attendre les demandes des clients.

Au début d’Internet, la majorité du trafic réseau se faisait entre les clients distants qui demandaient du contenu Web et les serveurs des centres de données qui fournissaient le contenu. Ce modèle de trafic est appelé trafic nord-sud. Aujourd’hui, avec la maturité de la virtualisation et du cloud computing, le trafic réseau est plus susceptible de se faire de serveur à serveur, un modèle connu sous le nom de trafic est-ouest. Cela a, à son tour, changé l’orientation des administrateurs, qui sont passés d’un modèle de sécurité centralisé conçu pour protéger le périmètre du réseau à un modèle de sécurité décentralisé qui se concentre davantage sur le contrôle de l’accès des utilisateurs individuels aux services et aux données, et sur l’audit de leur comportement pour garantir la conformité aux politiques et aux réglementations.

Avantages et inconvénients du modèle client-serveur

Un avantage important du modèle client-serveur est que son architecture centralisée permet de faciliter la protection des données avec des contrôles d’accès qui sont appliqués par des politiques de sécurité. De plus, il importe peu que les clients et le serveur soient construits sur le même système d’exploitation, car les données sont transférées par des protocoles client-serveur qui sont indépendants de la plate-forme.

Un inconvénient important du modèle client-serveur est que si trop de clients demandent simultanément des données au serveur, celui-ci peut être surchargé. En plus de provoquer une congestion du réseau, un trop grand nombre de demandes peut entraîner un déni de service.

Protocoles client-serveur

Les clients communiquent généralement avec les serveurs en utilisant la suite de protocoles TCP/IP. TCP est un protocole orienté connexion, ce qui signifie qu’une connexion est établie et maintenue jusqu’à ce que les programmes d’application à chaque extrémité aient fini d’échanger des messages. Il détermine comment décomposer les données d’application en paquets que les réseaux peuvent délivrer, envoie des paquets à la couche réseau et en accepte de celle-ci, gère le contrôle des flux et s’occupe de la retransmission des paquets abandonnés ou brouillés ainsi que de l’accusé de réception de tous les paquets qui arrivent. Dans le modèle de communication Open Systems Interconnection (OSI), le TCP couvre des parties de la couche 4, la couche transport, et des parties de la couche 5, la couche session.

En revanche, IP est un protocole sans connexion, ce qui signifie qu’il n’y a pas de connexion continue entre les points d’extrémité qui communiquent. Chaque paquet qui circule sur Internet est traité comme une unité de données indépendante, sans aucune relation avec une autre unité de données. (La raison pour laquelle les paquets sont mis dans le bon ordre est due à TCP.) Dans le modèle de communication Open Systems Interconnection (OSI), IP se trouve dans la couche 3, la couche de mise en réseau.

Autres modèles de relation entre programmes

Autres modèles de relation entre programmes comprenaient le modèle maître/esclave et le modèle pair-à-pair (P2P). Dans le modèle P2P, chaque nœud du réseau peut fonctionner à la fois comme un serveur et un client. Dans le modèle maître/esclave, un dispositif ou un processus (appelé maître) contrôle un ou plusieurs autres dispositifs ou processus (appelés esclaves). Une fois la relation maître/esclave établie, la direction du contrôle est toujours à sens unique, du maître vers l’esclave.

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *