Des machines clientes contactent un serveur qui leur fournit des services (des programmes fournissant des données)
Les services sont exploités par des programmes clients, s'exécutant sur les machines clientes : client FTP, client de messagerie, ...
Le modèle client/serveur est particulièrement recommandé pour des réseaux nécessitant un grand niveau de fiabilité, ses principaux atouts sont :
des ressources centralisées
étant donné que le serveur est au centre du réseau, il peut gérer des ressources communes à tous les utilisateurs, comme par exemple une base de données centralisée, afin d'éviter les problèmes de redondance et de contradiction
une meilleure sécurité
car le nombre de points d'entrée permettant l'accès aux données est moins important
une administration au niveau serveur
les clients ayant peu d'importance dans ce modèle, ils ont moins besoin d'être administrés
un réseau évolutif
grâce à cette architecture ont peu supprimer ou rajouter des clients sans perturber le fonctionnement du réseau et sans modifications majeures
L'architecture client/serveur a tout de même quelques lacunes parmi lesquelles :
un coût élevé
dû à la technicité du serveur
un maillon faible
le serveur est le seul maillon faible du réseau client/serveur, étant donné que tout le réseau est architecturé autour de lui! Heureusement, le serveur a une grande tolérance aux pannes (notamment grâce au système RAID)
Un système client/serveur fonctionne selon le schéma suivant:
Le client émet une requête vers le serveur grâce à son adresse et à son port, qui désigne un service particulier du serveur
Le serveur reçoit la demande et répond à l'aide de l'adresse de la machine client (et de son port)