Deux modèles de service : les réseaux client-serveur et pair-à-pair
Introduction :
Dans ce cours, nous nous intéresserons à la couche « application » du modèle TCP/IP, celle qui donne accès aux différents services proposés par Internet.
Nous verrons comment ces services s’inscrivent dans l’un des deux modes de communication d’Internet : le modèle client-serveur et le modèle pair-à-pair.
Modèle client-serveur
Modèle client-serveur
Les logiciels de la couche « application » font appel aux protocoles TCP/IP pour faire circuler des paquets sur les réseaux physiques qui composent Internet.
Disponibilité du serveur
Disponibilité du serveur
Nous savons que, dans une connexion TCP/IP (c’est-à-dire une connexion sur Internet), on appelle client la machine qui initie la connexion et serveur la machine qui l’accepte.
En ce moment précis, la machine avec laquelle vous vous connectez à Schoolmouv est le client, et celle qui héberge ce cours est le serveur.
Serveur :
Un serveur est une machine spécifiquement dédiée à répondre à des requêtes TCP/IP.
Si vous voulez pouvoir consulter vos cours à tout moment, vous devez donc pouvoir vous connecter à la machine qui héberge le cours à tout moment aussi. Il va donc falloir :
- que cette machine soit allumée à tout instant du jour ou de la nuit ;
- qu’elle ait une adresse IP fixe ;
- qu’elle ait une adresse symbolique entrée dans le système DNS ;
- qu’elle ait toujours un port ouvert en attente qu’un élève s’y connecte.
Le mot « serveur » désigne donc à la fois :
- la machine qui est, ponctuellement, serveur d’une connexion TCP/IP ;
- une machine qui est spécifiquement destinée à être régulièrement en position de serveur dans une connexion TCP/IP.
- Ce mot a encore un troisième sens, que nous découvrirons plus loin.
Nous avons déjà parlé des serveurs racines et des serveurs intermédiaires du système DNS, qui sont bien des machines spécifiques, prêtes à répondre à tout moment à des requêtes DNS.
L’entretien d’un serveur étant exigeant, il est rare que les particuliers en possèdent. En effet, il est plus simple de louer de la place sur un serveur maintenu par un professionnel.
Protocole asymétrique : l’exemple du serveur mail
Protocole asymétrique : l’exemple du serveur mail
La plupart des services applicatifs d’Internet fonctionnent sur cette asymétrie entre :
- les clients (machines qui contactent, mais que l’on ne peut contacter que quand elles se connectent d’elles-mêmes) ;
- et serveurs (machines disponibles à la connexion).
Un mail n’est pas envoyé directement de la machine de l’émetteur à celle du récepteur. Si c’était le cas, alors l’envoi du mail serait un échec si l’ordinateur du récepteur n’était pas allumé.
En fait, un mail transite entre des boîtes mail qui se trouvent sur des serveurs toujours disponibles :
- le nom du serveur est présent dans l’adresse mail, à droite du @ ;
- la partie à gauche du @ identifie la boîte parmi celles hébergées par ce serveur.
- C’est d’ailleurs un bon indice si on veut savoir si une adresse mail est officielle.
- mr.soleil@schoolmouv.com est une adresse hébergée sur le serveur qui se trouve à l’adresse symbolique schoolmouv.com, cela semble donc bien l’adresse d’un employé de Schoolmouv.
- Si quelqu’un vous contacte depuis l’adresse schoolmouv@serveur34.ru, c’est une adresse hébergée sur un serveur inconnu qui n’est donc pas digne de confiance.
Ainsi, quand un utilisateur envoie un mail, il se passe la chose suivante :
- l’utilisateur se connecte à sa boîte mail, lui envoie le mail et lui ordonne de le transmettre à son destinataire ;
- le serveur de mail envoie le mail au serveur du récepteur ;
- Lorsque le récepteur se connectera à sa boîte mail pour relever ses mails, le mail sera envoyé à son ordinateur.
Il existe deux sortes de logiciels pour la gestion des courriers électroniques :
- des logiciels « côté serveur » qui gèrent les boîtes mails ;
- des logiciels « côté client » qui gèrent la connexion des utilisateurs à leurs boîtes mails.
On appelle aussi parfois ces logiciels des « clients » et des « serveurs », c’est le troisième sens de « serveur » en informatique.
Services applicatifs
Services applicatifs
Ces logiciels utilisent leurs propres protocoles.
- Il existe une grande variété de protocoles applicatifs qui se reposent sur TCP/IP.
Protocoles standards
Protocoles standards
Certains de ces protocoles sont des standards définis par la communauté.
C’est le cas des protocoles fournissant des services nécessaires au bon fonctionnement d’Internet, comme :
- le protocole de requêtes DNS ;
- le protocole NTP (Network Time Protocol) qui synchronise finement les heures des ordinateurs et objets connectés sur la planète en tenant compte des fuseaux horaires.
Voici un tableau des protocoles standards les plus fréquemment utilisés.
Usage | Protocoles |
Communication client/serveur pour World Wide Web | HTTP (Hyper Text Transfer Protocol) et HTTPS (sécurisé |
SMTP, POP3, IMAP | |
Transfert de fichiers | FTP (File Transfer Protocol) |
Communication sécurisée | SSH (Secure Shell) |
Salon de discussion (chat) | IRC (Internet Relay Chat) |
Communication instantanée (messages privés) | XMPP |
Voix sur IP | RTTP, SIP |
Le web n’est qu’un des nombreux services proposés par Internet, même si c’est le plus utilisé de nos jours. La confusion vient du fait de nous utilisons le web comme intermédiaire pour accéder à de nombreux services (par exemple, comme client pour accéder à nos mails).
Protocoles propriétaires
Protocoles propriétaires
D’autres protocoles sont propriétaires : ils sont conçus par des entreprises pour les besoins de leurs produits.
La plupart des protocoles utilisés par les jeux multijoueurs en ligne sont, en général, spécifiques à chaque jeu.
La concurrence entre protocoles standards et propriétaires pose souvent des enjeux économiques et techniques, comme celui de l’interopérabilité.
Interopérabilité :
L’interopérabilité de plusieurs systèmes est leur capacité à communiquer ensemble.
- Nous pouvons envoyer des mails à n’importe qui, quels que soient notre serveur mail et celui du destinataire, car ils utilisent tous des protocoles standards. De la même manière, on peut se connecter à sa boîte mail avec un grand nombre de logiciels « côté client ».
- En 2008, Facebook lance un service de discussion par messagerie privée (« mp » ou « chat ») qui utilise le protocole XMPP. Il était donc possible de se connecter à sa messagerie privée Facebook depuis n’importe quel logiciel « côté client » XMPP, sans aller sur le site web de Facebook. C’est devenu impossible depuis 2015, lorsque Facebook a abandonné XMPP au profit d’un protocole privé maintenu secret.
Le modèle pair-à-pair
Le modèle pair-à-pair
Nous avons vu précédemment qu’Internet avait été conçu avec un objectif de décentralisation de la communication. Or, le modèle client-serveur, par sa nature même, recrée une centralisation autour des serveurs.
C’est en opposition à ce modèle que s’est construit le modèle pair-à-pair (peer-to-peer ou P2P), dans lequel chaque machine est à la fois client et serveur de connexions TCP/IP.
Partage de fichiers
Partage de fichiers
Pair-à-pair :
Le pair-à-pair est un idéal d’architecture réseau où toutes les ressources nécessaires pour le faire fonctionner seraient décentralisées.
- Un réseau pair-à-pair est un réseau tendant vers cet idéal.
Il existe des réseaux pair-à-pair pour un grand nombre d’usages (sécurité, jeux vidéo, économie, etc.), mais l’usage le plus célèbre est celui du partage de fichiers à grande échelle.
Le premier réseau de partage de fichiers pair-à-pair à succès est le service américain de partage de fichiers musicaux Napster, créé en 1999. Les utilisateurs se connectaient directement les uns aux autres pour copier les morceaux de musique qu’ils possédaient.
L’architecture de Napster n’était pas complètement décentralisé : un serveur central servait de catalogue des différents morceaux disponibles et d’annuaire des utilisateurs qui possédaient ce morceau.
De nombreux morceaux de musique ainsi partagés étant la propriété intellectuelle de majors de l’industrie du disque, Napster a été fermé par la justice américaine en 2001 – seule la marque a été reprise.
Le contrôle impossible
Le contrôle impossible
De nouvelles générations de réseaux de partage de fichiers pair-à-pair apparaissent après Napster, toujours dans le but de partager librement des fichiers.
Dans ces réseaux totalement pair-à-pair, les catalogues de fichiers disponibles et les annuaires d’utilisateurs sont eux aussi décentralisés, les utilisateurs s’échangeant en permanence des informations sur l’état du réseau.
L’enjeu de la décentralisation est à la fois légal et technique, car, dans un réseau assez décentralisé :
- aucun acteur n’assume la responsabilité légale de l’ensemble des échanges ;
- il n’y a pas de serveur central que les autorités peuvent mettre hors service.
En France, la loi dite Hadopi, est votée en 2009 pour mettre fin au téléchargement illégal. La Hadopi, Haute Autorité pour la diffusion des œuvres et la protection des droits sur Internet, créée par cette loi, surveille les réseaux de partage de fichiers pair-à-pair pour essayer de surprendre des échanges de fichiers soumis à copyright. L’efficacité technique de la méthode est très faible, mais l’effet psychologique s’est révélé dissuasif.
La concurrence du streaming
La concurrence du streaming
Le partage de fichiers illégal via des réseaux pair-à-pair se fait de moins en moins populaire au cours des années 2010, notamment à cause du succès de nouvelles offres légales de streaming, comme YouTube, Netflix ou Spotify, fondées sur le modèle client-serveur.
S’il correspond mieux au modèle économique de la propriété intellectuelle, le streaming est néanmoins plus lourd techniquement que le pair-à-pair :
- comme nous l’avons déjà vu, il est peu adapté aux protocoles TCP/IP, car la vitesse de transmission des informations est la clé d’un streaming efficace ;
- de plus, un film (ou une musique) en streaming n’est pas enregistré sur l’ordinateur client, il est donc téléchargé à chaque visionnage (ou à chaque écoute), ce qui augmente grandement le trafic Internet.
La fin de la neutralité du Net aux États-Unis rend désormais légal pour les fournisseurs d’accès à Internet, de privilégier certains flux par rapport à d’autres (notamment en fonction des protocoles utilisés), ce qui menace à la fois les sites de streaming et les réseaux de partage en pair-à-pair :
- le streaming étant très gourmand en trafic, les fournisseurs d’accès à Internet seront tentés d’en ralentir le service et de négocier des contrats particuliers avec ces différents sites ;
- le ralentissement ou le blocage des flux utilisant des protocoles pair-à-pair fait partie des seules possibilités techniques permettant de menacer ces réseaux.
Conclusion :
La couche « applications » propose une grande variété de protocoles sur laquelle se fondent les services d’Internet.
La volonté initiale de décentralisation d’Internet se heurte à des contraintes techniques et légales qui incitent souvent les acteurs du réseau à privilégier un modèle client-serveur plutôt que pair-à-pair.