Gnutella

Da Wikipedia, l'enciclopedia libera.

Gnutella è una rete Peer to Peer di condivisione di file aperta. L'approccio è di tipo Peer to Peer puro, ovvero non esiste il ruolo di directory (invece presente in programmi quali Napster o eMule); ogni peer (o nodo equivalente) "conosce" alcuni vicini, facendo sì che le richieste vengano propagate all'interno della comunità sfruttando la relazione di vicinanza. Per ovviare al problema che le richieste continuino a girare in circolo, viene normalmente indicato il numero massimo di "salti" (hop), che una richiesta può fare sui peer contigui a partire dal nodo che l'ha generata.

Gnutella è una rete completamente serverless, distribuita. I nodi sono trattati allo stesso modo, indipendemente dalla banda e dal numero di file condivisi. Ogni nodo si occupa sia di fornire i file che di inviare e rispondere alle richieste di routing degli altri nodi, compito riservato ai reserve in una rete centralizzata. Ogni nodo, quindi, è sia un client che un server: è definito a proposito servent.

Ciò consente una forte stabilità della rete, nella quale possono entrare e uscire contnuamente nodi senza modificare le prestazioni.

Reti come Emule hanno invece dei server che contengono una tavola Hash, ossia un elenco dei file e degli indirizzi IP dove sono scaricabili; in mancanza di questo diviene difficoltosa l'identificazione dei nodi di rete e particolarmente onerosa la fase di ricerca dei file. Gnutella invia messaggi a un elevato numero di nodi, a fronte di ogni ricerca effettuata, con un impegno di banda e di CPU nei vari nodi.

Un'estensione del protocollo Gnutella, Gnutella2, ha introdotto una differenziazione nei nodi, fra "peer" e "ultrapeer" o supernodi, utile per distribuire i carichi e ridurre le richieste di file e i continui invii di tavole Hash.

I protocolli di cui è composta sono pubblici ed aperti. La sua funzione principale è la ricerca di file all'interno dei nodi della rete stessa, e il successivo trasferimento degli stessi al richiedente.

La prima implementazione del protocollo è stata il programma Gnutella scritto da Justin Frankel e Tom Pepper per la Nullsoft all'inizio del 2000. Il programma fu distribuito un giorno solo, il 14 marzo 2000 e fu scaricato da migliaia di persone, grazie all'annuncio apparso su Slashdot. Il codice sarebbe stato rilasciato in seguito probabilmente sotto licenza GNU GPL. Il giorno dopo AOL, che aveva da poco acquisito la Nullsoft, bloccò la distribuzione del programma per motivi legali e diffidò la Nullsoft dal continuarne lo sviluppo. Nonostante questo la rete gnutella sopravvisse sostenuta dalle migliaia di copie scaricate il primo giorno che continuavano a distribuire il programma. In pochi giorni poi il protocollo fu reingegnerizzato e nacquero nuovi programmi liberi in grado di accedere a questa rete.

Nonostante il nome contenga la parola GNU, essa non è parte del progetto GNU, per questo motivo la FSF, custode del progetto GNU, ne ha chiesto il cambiamento del nome. La seconda parte del nome deriva da Nutella, nome di una crema gianduia, tipo di crema molto apprezzato dagli sviluppatori di questa rete.

Gnutella è un tipico esempio di overlay network.

[modifica] Applicazioni

Esistono numerose applicazioni che si connettono a questa rete; le più popolari sono (in ordine alfabetico):

[modifica] Voci correlate

[modifica] Collegamenti esterni

  • Telematica Portale Telematica: accedi alle voci di Wikipedia che parlano di reti, telecomunicazioni e protocolli di rete
Strumenti personali