logo academy

Peer to Peer ou serveur-client: de l’Arpanet à la blockchain

23 juin, 2022
9 min
Peer to Peer ou serveur-client: de l’Arpanet à la blockchain
débutant
Tu apprendras

    Depuis la naissance d’internet jusqu’à aujourd’hui, le concept de réseau informatique a connu plusieurs évolutions. Parmi les modèles les plus établis, on trouve ceux du Client-Serveur et du Peer-to-Peer (P2P). Découvrons donc ce que sont ces deux modèles de réseau informatique.

    Qu’est-ce qu’un réseau informatique

    Prenons un peu de recul : pour comprendre la signification du Peer-to-Peer (P2P) et le fonctionnement du modèle Client-Serveur, nous devons d’abord aborder les réseaux informatiques en général : que sont-ils et comment fonctionnent-ils ?

    Le premier réseau informatique de l’histoire est d’origine militaire et a vu le jour aux États-Unis, dans les années 1960. Le gouvernement, en pleine guerre froide, devait créer un système garantissant le partage des informations de manière sûre, rapide et fiable dans tout le pays. C’est dans ce but qu’est né Arpanet, le premier réseau informatique interconnecté. Elle a évolué au point de se répandre dans la sphère civile, sous le nom que nous connaissons tous aujourd’hui : Internet.

    Déf : Un réseau informatique relie des dispositifs matériels et logiciels entre eux aux moyens de protocoles de communication, qui permettent l’échange de ressources, de données ou d’informations.

    Le secteur de l’informatique connaît une croissance rapide, offrant des solutions toujours meilleures basées sur des découvertes révolutionnaires, qui deviendront par la suite monnaie courante. Pense au Bitcoin : il a donné naissance à une nouvelle ère technologique, caractérisée par une innovation rapide et une utilité exponentielle. De même, diverses architectures de réseau ont été construites, nous en listons les principales :

    • LAN (Local Area Network) : créé pour les petits environnements, comme dans les ménages, il est généralement utilisé pour partager l’accès aux périphériques matériels, tels que les imprimantes ou les scanners, entre des ordinateurs voisins ;
    • MAN (Metropolitan Area Network) : dans les grands environnements, comme une ville, plusieurs petites infrastructures interconnectées sont nécessaires pour réaliser un MAN ;
    • Wide Area Network (WAN) : l’infrastructure du réseau doit s’adapter à la taille croissante de l’environnement, afin de connecter tous les appareils des deux catégories précédentes. Le réseau étendu (WAN) est suprarégional et relie généralement de grands territoires tels que des nations ou des continents entiers.
    • Global Area Network (GAN) : réseau universel, susceptible de connecter tous les autres réseaux LAN, MAN et WAN existants. Internet en est le meilleur exemple ; toutefois, les organisations qui s’étendent à l’échelle mondiale et qui relient plusieurs réseaux étendus localisés peuvent construire des réseaux étendus privés.
    LAN, MAN, WAN et GAN

    Comment fonctionne un réseau informatique

    Maintenant que tu sais ce qu’est un réseau informatique et dans quelle mesure il existe, l’étape suivante consiste à comprendre comment il fonctionne : comment les informations sont échangées au sein du réseau.

    Imagine une grande ville avec une place centrale : 4 amis veulent échanger des informations (une lettre par exemple) et le seul moyen de le faire est de les transmettre au point commun, la place :

    • Chaque ami représente un ordinateur, appelé hôte (ou host, système final), qui envoie et reçoit des informations des autres ;
    • La place, appelée Nœud, représente le centre de “tri” des lettres que les quatre amis s’échangent.

    Dans l’exemple, les quatre amis n’ont aucun moyen de communiquer directement entre eux, mais ils peuvent le faire par l’intermédiaire du nœud. Ils sont donc essentiellement “connectés” car ils peuvent échanger des informations, mais ne se rencontrent jamais en personne.

    La même chose se produit entre les ordinateurs : ils utilisent des nœuds pour communiquer et échanger des informations avec d’autres appareils connectés au réseau.

    Architecture client-serveur

    En informatique, l’information part d’un appareil, passe par un nœud et atteint finalement le destinataire.

    En cours de route, l’information passe donc entre divers dispositifs, souvent organisés selon une architecture client-serveur :

    • Clients : composants qui accèdent aux ressources ou aux services fournis par un tiers. Il peut s’agir de matériel, comme un smartphone, ou de logiciels, comme des applications.
    • Serveurs : composants matériels et logiciels qui fournissent les informations requises par les tiers.

    La plupart des appareils électroniques sont des appareils clients : chacun d’entre nous en possède certainement plusieurs et les utilise au quotidien, comme un smartphone ou une application de messagerie.

    Une grande différence entre le client et le serveur est que ce dernier doit traiter simultanément une énorme quantité de données et de demandes, ce qui nécessite une grande puissance de calcul, un réseau internet très rapide et une alimentation électrique constante.

    La signification de Peer-to-Peer (P2P) : les avantages et inconvénients

    Une autre architecture de réseau, née autour des années 1970, est le Peer-to-Peer (P2P), basé sur le protocole du même nom. Découvrons ensemble ce qu’est le P2P, comment il fonctionne et ce qui le différencie de l’architecture client-serveur.

    Tout d’abord, la traduction de peer est “pair : chaque ordinateur individuel, connecté au réseau, est à la fois client et serveur, traitant à la fois les demandes et les réponses, ayant ainsi le même rôle que tous les autres nœuds du réseau. Maintenant que tu as compris la signification de Peer-to-Peer, nous pouvons explorer les avantages du P2P, par rapport au modèle client-serveur, mais aussi les inconvénients potentiels.

    Avantages :

    • Décentralisation : la principale caractéristique du réseau Peer-to-Peer, parfaitement appliquée dans les réseaux blockchain. Les nœuds individuels ne sont pas organisés selon une hiérarchie centralisée, mais plutôt selon une structure dynamique dans l’espace virtuel du réseau. Il n’y a pas de serveur central qui contrôle totalement l’information distribuée, c’est pourquoi, dans le P2P, chaque participant stocke ses propres données (serveur) et demande ce dont il a besoin aux autres (clients). En revanche, dans le modèle client-serveur, les données sont stockées dans un seul serveur : cela comporte des risques de perte, d’inaccessibilité ou de censure des informations.
    • Coûts moindres/Évolutivité accrue : un réseau peer-to-peer est extrêmement moins cher et plus rapide à mettre en œuvre qu’une architecture client-serveur. Seuls quelques nœuds connectés les uns aux autres seront nécessaires pour rendre le P2P opérationnel, tout comme il sera facile d’ajouter de nouveaux “pairs” au réseau. En effet, ceux-ci n’auront pas à gérer la totalité de la charge d’information, car celle-ci sera répartie équitablement dans l’écosystème. Au contraire, l’évolutivité d’un serveur est limitée par les ressources de l’organisation qui le contrôle.
    • Redondance des fonctions : en théorie, les nœuds uniques et isolés devraient être plus vulnérables ; cependant, les fonctions étant interchangeables, le réseau peut survivre sans certains pairs, en trouvant des solutions alternatives dans le réseau lui-même. Imagine qu’une architecture client-serveur soit privée d’un nœud central : elle serait terriblement limitée, voire inutilisable.Techniquement, on dit qu’en p2p, il n’y a pas de point de défaillance unique” capable de provoquer une interruption du service.

    Inconvénients :

    • Lenteur : étant donné sa nature décentralisée, plus un réseau Peer-to-Peer est grand et développé, plus il sera lent. En effet, chaque pair possède également des informations uniques et leur diffusion ne sera jamais aussi efficace que pour un réseau centralisé. Envoyer des données à un nœud “distant” en faisant passer l’information par de nombreux autres pairs prend du temps.
    • Logiciels malveillants : bien qu’il existe un cryptage dans la blockchain pour protéger le transfert de données P2P, des fichiers malveillants pourraient être “cachés” parmi les informations téléchargées, se propageant potentiellement dans tout le réseau.
    • Droits d’auteur : en l’absence d’autorité centrale de contrôle, les fichiers protégés par des droits d’auteur peuvent être distribués illégalement. Toutefois, dans le cas des réseaux blockchain, la propriété des informations en ligne peut être préservée en tant que NFT, étant immuablement enregistrée dans un contrat intelligent.
    • Hors ligne : si tous les nœuds d’un réseau P2P venaient à rompre leur connexion à l’internet, les données stockées seraient indisponibles. 
    Client Server vs P2P

    Réseau Peer-to-Peer : comment ça marche ?

    L’architecture P2P a évolué au fil du temps pour s’adapter aux nouvelles exigences technologiques. Elle s’est donc ramifiée en trois macro-types de réseaux :

    1. Pure Peer-to-Peer : complètement décentralisé, chaque nœud du réseau a la même importance hiérarchique et la même fonction.
    2. Peer-to-Peer avec serveur Discovery : Ce modèle Peer-to-Peer est équipé d’un serveur centralisé (Discovery). Lorsqu’un pair entre dans le réseau, il communique son existence au serveur central qui, en réponse, renvoie la liste complète des nœuds déjà connectés à ce réseau, ce qui lui permettra d’ouvrir la communication avec tous les autres.
    3. Peer-to-Peer avec serveur de recherche : il s’agit d’une évolution de l’architecture Discovery. Les nœuds communiquent, périodiquement, à tous les autres leur contenu. Ainsi, lorsqu’un nœud doit effectuer une recherche, il envoie la requête au serveur de découverte qui, connaissant les informations contenues par chaque pair, l’orientera plus efficacement.

    L’avenir du P2P : la blockchain

    L’internet, le grand réseau auquel nous participons tous, est un ensemble de nombreuses technologies, dont les architectures client-serveur et Peer-to-Peer que nous avons explorées. Cependant, l’évolution des protocoles de réseau progresse parallèlement à l’émergence de nouveaux besoins. Le peer-to-peer, en particulier, a trouvé un terrain fertile dans les services blockchain : d’abord avec un modèle de paiement P2P, puis avec le cloud computing P2P, développé par une série de projets sur blockchain qui incitent à la participation à un grand référentiel décentralisé de contenu. Il s’agit de Filecoin, une évolution de IPFS, du stockage décentralisé Storj et du protocole d’indexation The Graph.

    En rapport