Protocoles P2P

Bittorrent est un protocole d’échange de fichiers pair-à-pair (peer-to-peer ou P2P). Le pair-à-pair se distingue de l’architecture client/serveur où un serveur envoie des données à tous les clients. Dans le modèle pair-à-pair, tous les acteurs ont le même rôle : ils sont à la fois downloaders et uploaders. Ce qui explique le terme : pair = du même niveau.

Voir aussi les illustrations de l’article Wikipédia Pair à Pair

Les intérêts de ce genre de protocoles sont :

  1. Le serveur n’a pas besoin d’une bande passante énorme pour servir beaucoup de clients, la bande passante va être répartie
  2. Le réseau va être plus résilient. Dans un modèle client-serveur, il suffit que le serveur tombe en panne pour que personne ne puisse télécharger. Dans un modèle pair-à-pair, la disparition d’un pair n’empêche pas les autres de continuer à partager des données.
  3. La symétrie fait que chaque internaute peut envoyer des fichiers sans passer par des data-centers énergivores.

Bittorrent est, à ma connaissance, le protocole P2P le plus connu et le plus utilisé. Mais il y en a d’autres : eDonkey, Kazaa, Freenet…

Le P2P peut aussi être utilisé pour streamer : Peertube (que j’utilise pour diffuser mes vidéos de cours) est une sorte de youtube où les personnes qui visionnent les vidéos sont en P2P. Acestream est utilisé pour des diffusions live et en P2P (en particulier pour diffuser illicitement des matchs de football en direct).

Bittorrent

Le téléchargement via Bittorrent se fait en 2 temps :

  • on récupère d’abord un fichier .torrent
  • on ouvre le .torrent avec un client Bittorrent (Deluge, Bittorrent, uTorrent, Transmission…)

À noter certains navigateurs web (Opera par exemple) sont aussi des clients Bittorrent.

Le fichier .torrent contient des méta-données sur le fichier, en particulier, l’adresse d’un “tracker” qui va aider les différents pairs à se trouver. Il ne fait normalement que quelques dizaines d’octets.


Début d’un fichier torrent :

d8:announce35:udp://bt2.archive.org:6969/announce10:created by16:buildtorrent/0.813:creation datei1584605553e4:infod6:lengthi56560611e4:name13:m4208ca-1.mp412:p

L’URL “udp://…” est celle du tracker. Il y a ensuite des informations sur le logiciel qui a créé le fichier (buildtorrent). Puis une taille. Puis les noms des fichiers…

Légalité

Le P2P est un outil qui peut avoir des usages illégaux (typiquement le téléchargement sans respect du droit d’auteur). Cependant, il n’est pas illégal. Le téléchargement d’installeur Linux est un des usages licites du P2P. La diffusion de mes vidéos de cours en est un deuxième…