La communication client/serveur avec le modèle TCP/IP
Présentation des protagonistes
Le client :
Dans une communication client/serveur, on appelle "client" le programme qui a un besoin de service.
Le serveur :
Dans une communication client/serveur, on appelle "serveur" le programme qui est capable de répondre à une demande de service.
L'interaction :
Pour communiquer chaque protagoniste utilise un port de communication qui complète l'adresse réseau de la machine sur lequel le programme s'exécute. Le couple (adresse, port) identifie une extrémité du mode de communication tandis qu'une communication est identifiée par l'ensemble de ses deux extrémités.
Deux modes de communication différents sont proposés. Il y a d'une part la communication par "datagramme" et d'autre part la communication en mode connecté.
Remarques :
- Un même programme peut à la fois être client pour une communication et serveur pour une autre communication. C'est le cas des "proxy", des "serveurs relay". C'est également le cas, lors d'un transfert de fichier par le protocole FTP quand le mode "actif" est utilisé, pour chacun des protagonistes.
- Le fait que l'être humain utilise directement l'un des programmes n'est pas un critère qui défini que ce programme soit le client ou le serveur dans la communication. En effet, on peut trouver deux exemples antagonistes :
- Un navigateur WEB est utilisé, par un être humain, pour visualiser des pages WEB récupérer depuis un serveur WEB. Pour transférer les pages, on utilise le protocole HTTP dans lequel le navigateur est le client, le service général rendu étant "obtenir un fichier WB".
- Un serveur X11 est utilisé, par un être humain, pour voir les fenêtres des applications graphiques. Pour afficher les fenêtres, les programmes utilisent le protocole X11 dans lequel ils sont client, le service général rendu étant "Dessiner les fenêtres de l'application en vu de le présenter à l'être humain".
Communication par datagramme
Le datagramme peut être comparé par analogie à une lettre que l'on envoie par la poste ou bien à un SMS.
Communication en mode connecté
Le mode connecté peut être comparé par analogie à une communication téléphonique. Une fois que l'appelé a décroché, un canal bidirectionnel transporte la voix des deux interlocuteurs.