Cette page retrace quelques évolutions techniques qui vous permettront de mieux comprendre comment les logiciels P2P se démarquent les uns des autres.
Un réseau, c'est un ensemble de noeuds qui communiquent entre eux au moyen d'un même protocole de communication.
Détaillons d'abord ces termes.
Le noeud, c'est *vous*, ou tout individu se connectant au réseau au moyen d'un logiciel.
Le protocole, c'est en quelque sorte la langue commune utilisée sur le réseau.
Pour que 2 logiciels puissent communiquer entre eux, il faut donc qu'ils implémentent le même protocole. Ainsi, peu importe si vous avez exactement le même logiciel que Jean-Luc (qui utilise Deluge) ou Bernadette (qui utilise Transmission), tant que ceux-ci utilisent le même protocole (ici, BitTorrent).
On dénomme «clients» d'un réseau P2P un logiciel qui sait parler le protocole de ce réseau P2P. Ainsi, Deluge est un client du réseau BitTorrent.
Un logiciel peut savoir parler plusieurs protocoles, on emploie parfois le terme «multi-protocoles». Mais cette tendance se fait rare pour plusieurs raisons: au fil du temps, l'un des réseaux (et donc l'un des protocoles) finit par réussir et s'imposer. Ainsi, la raison d'en implémenter d'autres se fait moins ressentir. Aussi, la réunion de plusieurs protocoles peut être délicate, en ingénierie informatique on préférera parfois suivre le principe de «faire une chose et le faire bien».
Souvent, un réseau P2P est conçu en même temps que le logiciel qui permet de s'y connecter. En conséquence, le nom du réseau est parfois le même que le nom du logiciel qui sert d'implémentation de référence. C'est le cas avec BitTorrent: il s'agit à la fois du nom du logiciel, et du protocole réseau. Parfois, le réseau est baptisé
Par la suite, d'autres logiciels (développés par d'autres équipes) vont peut-être vouloir implémenter ce même protocole.
Certains protocoles P2P sont ouverts, c'est à dire qu'ils sont publiés dans un document, et que des développeurs peuvent ce servir de ces documents pour programmer leur logiciel, qui implémentera donc ce protocole. Bien que cela soit souhaitable, ça n'est pas toujours été le cas, et certains protocoles réseaux sont fermés. Après tout, le protocole n'est qu'une partie du code d'un logiciel. On retrouve donc la même dualité qu'entre logiciels libres (qui correspondent plutôt à une philosophie d'avoir un protocole ouvert) et logiciels propriétaires (qui auront plutôt tendance à avoir un protocole fermé). Mais protocoles et logiciels sont dissociés, et il existe par exemple bon nombre de logiciels libres qui implémentent un protocole fermé. Ainsi, le protocole du réseau Soulseek est fermé, mais les logiciels Museek+ et nicotineplus, qui implémentent le protocole Soulseek, sont libres.
Notons que la plupart des protocoles utilisés sur internet (pas uniquement ceux utilisés par les P2P, mais ceux utilisés dans tous types de communication comme l'email, le surf sur le web, ou l'échange de fichiers par FTP…) sont ouverts, et que seuls quelques acteurs s'amusent à avoir des protocoles fermés (comme Skype…).