2010-08-23 15 views
7

Mi chiedevo dove avrei potuto imparare di più sulla condivisione decentralizzata e sulle reti P2P. Idealmente, mi piacerebbe creare qualcosa per aiutare gli studenti a condividere file tra loro attraverso la loro rete universitaria, in modo che potessero condividere senza timore di entità esterne.Creazione di una rete di condivisione file P2P/decentralizzata

Io non sto cercando di costruire la prossima Napster qui, chiedo solo se questa idea è fattibile. Ci sono reti P2P open source là fuori che potrebbero essere ottimizzate per fare ciò che voglio?

risposta

3

In sostanza è necessario un server (beh, non avete bisogno di un server, ma renderebbe molto più semplice), che avrebbe memorizzare indirizzi IP degli utenti tra le altre cose, come le liste hash di file, ecc
Tale server può essere in ogni ambiente che desideri (che è molto comodo).

Quindi, ogni client si connette al server (dovrebbe avere un DNS, può essere uno libero, ho usato no-ip.com una volta) e invia prima le informazioni di base (come il suo IP e un file hash list), quindi invia qualcosa ogni tanto (ad esempio ogni 5 minuti o meno) per segnalare che è ancora raggiungibile.

Quando un client esegue la ricerca di file/utenti, richiede solo il server.

Questa è una rete centralizzata, ma la condivisione dei file avverrebbe nelle connessioni client-client di p2p.
Il motivo per farlo in questo modo è che non è possibile conoscere un IP a cui connettersi senza alcun riferimento.

solo chiarire questa cosa del server fino:
- Torrent utilizzano inseguitori.
- L'ED2K di eMule utilizza i server lugdunum .
- "true p2p" di eMule Kademlia utilizza i nodi noti (client) (la maggior parte del tempo impiegato dai server like this).

0

Cosa c'è di sbagliato in Bit-Torrent?

Edit: C'è anche una rete P2P pre-costruito su sistemi operativi Microsoft è piuttosto fresco come base per costruire qualcosa. http://technet.microsoft.com/en-us/network/bb545868.aspx

+1

penso che significhi bit-torrent, ma vuole alcuni riferimenti su come iniziare ad apprendere il sistema, come funziona, i suoi protocolli ecc. – RobertPitt

+0

Suppongo che bit torrent funzionerebbe, ho pensato di impostare un tracker, ma io preferisco un sistema che non mi richiede di utilizzare un server – Parker

+0

@Parker: BitTorrent con DHT e PEX non richiede un server. http://en.wikipedia.org/wiki/BitTorrent_(protocol)#Distributed_trackers –

1

Tribler è quello che stai cercando!

Si tratta di un client BitTorrent completamente decentralizzato dalla Delft University of Technology. È Open Source e scritto in Python, quindi anche un ottimo punto di partenza per imparare.

Problemi correlati