Architecture client / serveur et p2p

Le serveur

Le propre d'un serveur est d'offrir un service. Par exemple si l'on prend le cas d'un serveur web, son rôle est de mettre à disposition des internautes des pages web. Un serveur de messagerie mettra à disposition des adresses mail ainsi qu'un service d'envoi et de réception de mails.

On peut donc en déduire qu'un service est un programme qui est en écoute sur une machine. On peut alors appeler cette machine un serveur.

Mais ce service ne servirait à rien s'il n'était pas utilisé et, pour cela, il faut que des clients viennent se connecter dessus et l'utilisent !

Le client

Le client est simplement un programme qui se connecte à un service pour l'utiliser. Un navigateur est un client web. C'est bien une connexion client/serveur qui est établie entre votre navigateur et un serveur web.

Outlook, Thunderbird sont des clients de messagerie, Filezilla est un client FTP (pour le transfert de fichiers).

Les machines des utilisateurs ordinaires jouent en majeure partie le rôle d'un client et sont donc vues comme des clients et non des serveurs. A contrario les machines serveur ne jouent pas le rôle de client, ou très peu. Elles sont, souvent pour des raisons de sécurité, spécialisées en tant que serveur.

Le pair à pair P2P ou peer to peer

On peut dire qu'Internet est aujourd'hui massivement basé sur un fonctionnement client/serveur.

Mais ce n'est pas l'unique façon de se connecter. En P2P par exemple, chacun peut prendre le rôle de client et de serveur. De même, le service n'est pas assuré par un seul et unique serveur auquel on s'adresse, mais par tout un ensemble de machines qui possèdent la ressource.

L'application la plus répandue du P2P est le partage de fichiers. Chaque internaute est un pair du réseau et les ressources sont des fichiers. Chacun peut donc partager ses fichiers et télécharger les fichiers des autres. Ces systèmes s'avèrent très efficaces y compris quand il s'agit d'échanger de gros volumes de données. Parmi les applications les plus utilisées, on peut distinguer BitTorrent et eMule.

Une seconde application destinée au grand public ou à la recherche mais toutefois moins répandue que le partage de fichier est la possibilité pour les internautes de mettre à disposition une partie de leur puissance de calcul.

(projet BOINC : http://doc.ubuntu-fr.org/boinc)