Qual è la migliore app torrent?
Grazie per l'A2A.
Cosa sono i torrent? I torrenti sono un modo per distribuire i file.
Ma cosa sono i seed e i peer?
Per capire tutto questo, diamo prima un'occhiata a un metodo più semplice di condivisione dei file - HTTP.
HTTP è usato quando si scaricano i file da un sito web utilizzando il browser web, o qualcosa come Internet Download Manager. (Per esempio, quando si scarica Adobe Reader, o i driver dal sito del produttore, di solito è via HTTP).
Come funziona HTTP è abbastanza semplice. Diciamo che Microsoft vuole distribuire una prova di 30 giorni di Windows 10. Comprano un computer, lo collegano a internet, mettono una copia dell'immagine di Windows 10 sul suo disco rigido, e configurano alcuni software (come il server web Apache) per permettere alle persone di scaricare l'immagine.
Quando un utente vuole scaricare l'immagine, invia una richiesta al server web di Microsoft. Il server web inizia a rispondere con i dati dell'immagine di Windows 10 tanto velocemente quanto lo permette il collegamento internet tra i due.
Quando l'immagine viene trasferita tra i due (server e utente), due cose stanno accadendo simultaneamente - l'upload dell'immagine dal server e il download dell'immagine sul PC dell'utente. (Pensate all'upload come una persona che parla al telefono, e al download come una persona dall'altra parte che prende appunti).
Questo è un metodo abbastanza semplice e conveniente di condivisione dei file. Ma ha alcuni svantaggi.
- Qualcuno deve impostare un server e comprare una connessione internet molto veloce. Se la connessione internet del server è di 500 kb/s - o un client può scaricare a 500 kb/s, o se due client stanno scaricando, la velocità sarà divisa tra loro - e ognuno di loro avrà 250 kb/s. Se uno dei clienti ha un internet lento - diciamo limitato a 50 kb/s, l'altro cliente può scaricare a 450 kb/s. Allo stesso modo, se 15 client con connessioni internet veloci stanno scaricando, nessuno di loro otterrà una velocità superiore a 33 kb/s (500/15). Basta dire che i server Microsoft'hanno una connessione internet molto veloce.
- E' vulnerabile e facile da bloccare. Se non volete che i vostri utenti scarichino immagini di Windows, dovete solo bloccare i siti Microsoft. Non riesco a pensare al motivo per cui i non programmatori dovrebbero voler bloccare i download di immagini di Windows, ma in caso di contenuti censurati (come i crimini del governo), o contenuti illegali (come i film piratati), o entrambi (leaks della NSA), possiamo capire perché il governo vorrebbe bloccarli.
Ora vediamo come i torrenti risolvono questi problemi.
Diciamo che siete una persona con accesso alla prova di un crimine del governo (1GB di file). Hai cercato di ospitarla su un sito web, ma il governo l'ha bloccata. Ora vuoi condividerlo con il resto del mondo.
Quello che fai è creare un torrent del file. Un torrent è fondamentalmente un file molto piccolo che contiene i dettagli dei file (nomi, dimensioni dei file, hash MD5 ecc.) che sono condivisi utilizzando quel file torrent. Puoi crearlo facilmente usando il tuo client torrent (uTorrent, Azureus, Transmission ecc.). Devi anche aggiungere i dettagli del tracker al file torrent. Un tracker è un server il cui compito è quello di distribuire liste di peer a nuovi peer (ne parleremo in dettaglio).
Hai ospitato questo file torrent molto piccolo su qualche sito di condivisione torrent. Le persone che vogliono scaricare i tuoi proff del crimine governativo vanno sul sito torrent e scaricano il torrent per esso.
Poi dicono al loro client torrent di scaricare i file descritti nel torrent. Dato che non c'è un server (come il server di Microsoft per l'immagine di Windows) da cui scaricare il torrent, il loro client torrent parla con il tracker.
Cliente - "Amico, qualche idea su dove posso trovare questi video sui crimini governativi?"
Tracker - "Idk man, try these people" (dà al cliente una lista di altre persone interessate a scaricare il file)
Cliente - "Btw, add me to your list. Solo nel caso che qualcuno sia interessato" (gli dà il suo indirizzo IP)
Tracker - "Whateva, bruh"
Il tuo client torrent va da ciascuna delle persone nella lista così ottenuta, e chiede loro se sono interessate a condividere i file. Diciamo che delle 48 persone della lista, 4 dicono di avere il file 1, 3 dicono di avere il file 2, e 6 dicono di avere entrambi i file. 9 dicono che non hanno alcun file, ma vorrebbero scaricare qualsiasi file che avete. Il resto non risponde (forse).
Così cominci a scaricare il File 1 da tutte quelle 4 + 6 persone che lo hanno, e il File 2 da tutte quelle 3 + 6 persone che lo hanno. Dato che tu stai scaricando il file, loro lo stanno caricando dall'altra parte della connessione internet. Ora, dato che l'hai scaricato e hai usato internet di altre persone (oltre alla tua), è tua responsabilità morale permettere ad altre persone di scaricarlo da te.
Quindi un torrent è un gruppo di (100 o 1000 o più) persone che collaborano e si danno pezzi del file finché tutti hanno una copia dell'intero file. Inizia con la persona che ha creato il torrente semplicemente caricandolo fino a quando molte persone lo scaricano, e poi lo caricano a loro volta e il torrente si diffonde.
Quindi se il file è grande 1GB, il creatore deve caricare almeno 1GB perché si diffonda. Idealmente, dovrebbe caricare circa 3-4GB, e questo gli darebbe altri 3-4 amici, che aiuterebbero a diffonderlo ulteriormente.
Questo è il motivo per cui il tuo client torrent sta sia scaricando che caricando il file torrent. Scaricandolo - in modo da poterlo usare, e caricandolo in modo che anche altri possano accedere al file.
Tutte le persone impegnate nell'attività di condivisione del torrent sono chiamate peers.
Le persone che caricano sono chiamate seeders.
Le persone che scaricano sono chiamate leechers.
Molte persone, comunque, stanno sia scaricando che caricando allo stesso tempo e possono essere chiamate entrambe (scaricando le parti che non hanno e caricando quelle che hanno).
Se il numero di seeders è maggiore, è probabile che tu scarichi il file più velocemente. Se il numero di leechers è maggiore, è probabile che il download sia lento.
Svantaggi dei torrent:
- I server centrali (cioè il sito dove carichi il torrent e il tracker) non devono condividere molti dati. Sia i file torrent che le liste di peer sono di dimensioni molto piccole, quindi questi server non costano molto da impostare e mantenere.
- Difficile da bloccare - poiché nessun server centrale è coinvolto nell'effettiva distribuzione e condivisione dei file, è difficile da bloccare data la sua natura distribuita.
Quindi puoi capire perché il caricamento (Seeding) è così importante per il concetto di torrent. Sei in grado di scaricare solo perché qualcun altro lo stava caricando per te. Un torrent muore rapidamente se la gente si rifiuta di caricare. (Può anche succedere che nessuno voglia più scaricare il torrente, e le persone che sono disposte a caricare non trovano nessuno, e dopo qualche tempo rinunciano e smettono di caricare quel particolare torrente).