2010-08-23 8 views
7

Je me demandais où je pourrais en apprendre davantage sur le partage décentralisé et les réseaux P2P. Idéalement, je voudrais créer quelque chose pour aider les étudiants à partager des fichiers les uns avec les autres sur le réseau de leur université, afin qu'ils puissent partager sans crainte d'entités extérieures.Création d'un réseau de partage de fichiers P2P/décentralisé

Je n'essaie pas de construire le prochain Napster ici, je me demande simplement si cette idée est faisable. Existe-t-il des réseaux P2P open source qui pourraient être modifiés pour faire ce que je veux?

Répondre

3

Fondamentalement, vous avez besoin d'un serveur (bien, vous n'avez pas besoin d'un serveur, mais il serait beaucoup plus simple) qui stocker les adresses IP des utilisateurs entre autres choses comme des listes de hachage de fichiers, etc.
Ce serveur peut être dans tout environnement que vous voulez (ce qui est très confortable). Ensuite, chaque client se connecte au serveur (il doit avoir un DNS, il peut être un DNS gratuit, j'ai utilisé no-ip.com une fois) et envoie d'abord des informations de base (comme son IP, et un fichier hash list), puis envoie quelque chose de temps en temps (dites chaque 5 minutes ou moins) pour signaler qu'il est toujours accessible.

Lorsqu'un client recherche des fichiers/utilisateurs, il demande simplement au serveur.

Il s'agit d'un réseau centralisé, mais le partage de fichiers se ferait dans les connexions client-client p2p.
La raison de faire comme ceci est que vous ne pouvez pas connaître une adresse IP à laquelle se connecter sans référence.

Juste pour effacer cette chose serveur jusqu'à:
- Torrents utiliser trackers.
- L'ED2K d'eMule utilise lugdunum servers.
- "true p2p" d'eMule Kademlia utilise nœuds connus (clients) (la plupart du temps pris des serveurs like this).

0

Qu'est-ce qui ne va pas avec Bit-Torrent? Edit: Il y a aussi un réseau P2P pré-construit sur les systèmes d'exploitation Microsoft qui est assez cool comme base pour construire quelque chose. http://technet.microsoft.com/en-us/network/bb545868.aspx

+1

Je pense qu'il veut dire bit-torrent, mais il veut des références sur la façon de commencer à apprendre le système, comment ça marche, ses protocoles, etc – RobertPitt

+0

Je pense que bit torrent fonctionnerait, j'ai pensé à mettre en place un tracker, mais je Je préfère un système qui ne nécessite pas d'utiliser un serveur – Parker

+0

@Parker: Bittorrent avec DHT et PEX ne nécessite pas de serveur. http://en.wikipedia.org/wiki/BitTorrent_(protocol)#Distributed_trackers –

1

Tribler est ce que vous cherchez!

Il s'agit d'un client BitTorrent entièrement décentralisé de la Delft University of Technology. C'est Open Source et écrit en Python, donc aussi un excellent point de départ pour apprendre.

Questions connexes