cozy-labs / cozy-torrent

First approach of a torrent client with Cozy
1 stars 0 forks source link

Définition du périmètre fonctionnel #2

Open jsilvestre opened 9 years ago

jsilvestre commented 9 years ago

Liste les fonctionnalités

Peltoche commented 9 years ago

Fichier torrent

Un fichier torrent (.torrent) regroupe les données nécessaire au download des fichiers. On y retrouve entre autre:

Le fichier torrent a donc besoin d'un tracker ou d'une DHT pour trouver les peers hébergeant les segments de fichier. Dans le cas du tracker cela entraîne un point de centralisation et donc un point faible. Cela peut être limiter par les fichiers torrent multi-tracker

Fichier torrent multi-tracker

Pratiquement identique au fichier torrent classique a la différence qu'il contient l'adresse de plusieurs trackers ce qui permet une redondance dans le cas ou un des serveurs est indisponible ou tomber. Cela peut apporter des conflits et peut permettre de contourner le private flag.

Peltoche commented 9 years ago

Magnet

Le magnet est un protocole permettant de pointer vers un contenus précis et offrant plusieurs manières d'y accéder le rendant une alternative au ficher torrent car étant beaucoup plus léger et pouvant se passer potentiellement d'un tracker. Un magnet peut être composer des éléments suivant:

Peltoche commented 9 years ago

Distributed Hash Table (DHT) (RFC/protocole)

La DHT est une alternative au tracker pour éviter ce point de centralisation. Un node est un peer ayant une table de hash contenant une liste adresse de peers pour un segment de fichier. Chaque node possède une liste vers d'autres nodes qui ensemble forment un réseau ou les données sont redondant et ou il n'y a pas de points centrales. L'ajout d'un hash a la table demande une propagation entre les nodes pour permettre une redondance et ainsi un meilleur sécurité. Chaque node est responsable que d'une fraction de la table de hash et est capable de rediriger la requête vers un autre node responsable de la bonne partie.

Peltoche commented 9 years ago

Fair trading

Système privilégiant l'upload vers le peers ayant précédemment le plus uploader vers vous. Cela permet un retour de faveur et pousse les peers au seed pour augmenter leur vitesse d'upload. Cela peut poser problème pour les nouveaux arrivants qui ne peuvent pas s’intégrer au swarme (ensemble des peers) car personne ne veut uploader de fichiers vers eux et donc leur empêchant de seeder

Optimistic unchoking

Système visant a permettre au nouveaux dans le swarme (ensemble des peers) de s’intégrer en laissant un taux fixe des upload a des personnes aléatoire permettant ainsi de découvrir de nouveaux peer.

Peltoche commented 9 years ago

Tracker

Un tracker est un serveur possédant une table mettant en relation le hash des segments avec une liste de peers acceptant de les uploader. Il est donc un point de concentration dans le réseau et par conséquent un point faible. Il tend a disparaître au profit d'autres techniques complètement décentralise tel que les magnets et les DHT.