BitTorrent: differenze tra le versioni

Contenuto cancellato Contenuto aggiunto
+spazio
Etichette: Modifica da mobile Modifica da applicazione mobile Modifica da applicazione iOS
LametinoWiki (discussione | contributi)
Nessun oggetto della modifica
Riga 10:
== Funzionamento ==
[[File:Torrentcomp small.gif|thumb|upright=2.7|Animazione del protocollo: i punti colorati sotto ogni computer rappresentano le differenti parti del file che viene condiviso. Con il passare del tempo viene completata la copia di ognuna di queste parti nel computer di destinazione.]]
A differenza dei tradizionali sistemi di ''[[file sharing]]'', l'obiettivo di BitTorrent è di realizzare e fornire un sistema efficiente per distribuire lo stesso [[file]] verso il maggior numero di utenti disponibili, che possono sia prelevarlo scaricandolo sul proprio terminale ([[downloadscaricamento]]) sia inviarlo ad altri ([[uploadcaricamento (informatica)|caricamento]]).
 
BitTorrent impone di fatto un meccanismo di coordinamento del lavoro di numerosi computer, ottenendo il massimo beneficio possibile per tutti. Grazie a questo sistema ogni nodo contribuisce alla diffusione del file. Maggiore è l'ampiezza di banda in uscita su quel nodo, maggiori sono le probabilità che il file venga diffuso verso altri nodi. Questo metodo ha anche il pregio di ridurre l'impatto della cosiddetta '''"''leech resistance''"''' (vedere in proposito la sezione [[#Leechers|''Leechers'']]).
Riga 29:
 
=== Web seed ===
Il Web seeding è la capacità del client BitTorrent di scaricare parti di torrent da una fonte HTTP, oltre che dallo ''Swarm''. Il vantaggio di questa caratteristica è che si può usare un sito web per distribuire un torrent rendendo disponibili i file per illo downloadscaricamento da questo stesso server web. Utilizzando un Web seed è dunque possibile pubblicare i file di un torrent senza l'obbligo di avere almeno un ''client seed'' nella rete: non si ha dunque l'obbligo di avere un ''releaser'' iniziale in quanto questo compito è svolto da un sito web. Questa tecnica permette di mantenere sempre alte le velocità di downloadscaricamento dei file: quando una release è poco diffusa il trasferimento usa principalmente l'HTTP, quando il file è molto richiesto il carico sul server web viene alleggerito dal seeding effettuato dai singoli ''peer''.
 
== Nodi ==
Riga 35:
 
===''Seed''===
I '''''seed''''' (in italiano ''semi'') o '''''seeder''''' sono quei nodi della rete costituiti da coloro che hanno già scaricato il file (o i file) associato al ''.torrent'' e ora lo stanno solo inviando ad altri. Questa fase di solo invio (uploadcaricamento) prende il nome di ''seeding'' ed è la fase in cui si trova il file dopo che è stato scaricato. Il primo ''seed'' di un torrent è il ''releaser'' che trasmette parti ai ''[[peer]]'' fino a quando almeno uno di loro completa illo downloadscaricamento del torrent, diventando a sua volta un seed.
 
=== Peer ===
I '''peer''' sono nodi che non sono ancora in possesso del file completo e fungono contemporaneamente sia da [[client]] rispetto ai seed, sia da [[server]] verso gli altri peer. Quindi i peer, oltre a ricevere e salvare (''downloadingscaricamento'') parti di file, inviano (''uploadingcaricamento'') le parti di cui sono già in possesso ad altri peer.
 
Un tipo particolare di peer sono i cosiddetti '''''peer'' locali''', ovvero i ''peer'' che condividono lo stesso torrent mediante una [[Local Area Network|rete LAN]]. In molti client è possibile abilitare una funzione di ricerca dei peer locali in modo da connettersi a loro più velocemente.
 
====''Leecher''====
Il rapporto tra dati inviati e scaricati è detto ''share ratio'', cioè ''"rapporto di condivisione"''. Coloro che inviano solo pochi dati rispetto a quanti ne scaricano, quindi che hanno un pessimo share ratio, vengono detti leecher, ovvero ''sanguisughe''. Questo comportamento è altamente disapprovato dalla comunità di BitTorrent in quanto l'intero protocollo si basa sulla condivisione: chi scarica un file è in grado di farlo solo grazie ai ''seed'' e/o ai ''peer'' che gli inviano i dati di cui necessita, se quindi per assurdo tutti gli utenti si comportassero da ''leecher'' si arriverebbe alla "morte" del sistema, ossia non si riuscirebbe a scaricare più nulla. Per questo motivo vengono utilizzate delle contromisure contro i ''leecher'', come per esempio privilegiare i ''peer'' con elevato share ratio che otterranno velocità di downloadscaricamento più elevate, fino al [[Ban (Internet)|ban]] da un ''tracker''.
 
=== Swarm ===
Riga 52:
Con '''''client''''' (in italiano ''cliente'') nel linguaggio informatico si intende una componente, [[hardware]] o [[software]], che accede ai servizi o alle risorse di un altro componente detto [[server]]. Quindi un computer collegato ad un server tramite una rete informatica funge da apparato hardware e come tale è detto per l'appunto '''''client'''''.
 
Un '''''Client BitTorrent''''' si occupa di accedere all'omonima rete ed effettuare illo downloadscaricamento/uploadcaricamento da e verso tutti i nodi ad esso collegati. Il client è quindi lo strumento fondamentale che permette lo scambio dei dati.<br />Il primo client BitTorrent fu creato da Cohen basandosi su quella che lui definisce "Golden Rule": più velocevelocemento un utente farealizza un uploadcaricamento, più velocevelocemente potrà scaricare.<ref name="SCHIESEL">{{Cita web|url=https://www.nytimes.com/2004/02/12/technology/circuits/12shar.html?ex=1391922000&en=da75cefbee224928&ei=5007&partner=USERLAND|titolo=File Sharing's New Face|cognome=Schiesel|nome=Seth|editore=The New York Times Company|accesso=5 ottobre 2008}}</ref> Questo client porta lo stesso nome del protocollo. In seguito sono nati altri numerosissimi client che si adattano alle esigenze dei più svariati utenti.
 
=== Lista dei maggiori Client ===
Riga 122:
* '''left''': bytes rimanenti al completamento del file, codificati in ASCII base-10. Il valore 0 indica un ''seeder''
* ''compact'': indica al tracker di utilizzare il ''Compact Announce'', per l'elenco dei peer. Si veda l'elemento ''peers'' della risposta
* '''event''': può assumere i tre seguenti valori: "started", "stopped", "completed". Il primo viene inviato a inizio sessione e indica al ''tracker'' che si sta iniziando una nuova sessione. Il secondo chiude la connessione con il tracker e chiede di essere rimosso dalla lista dei peer. L'ultimo comunica al tracker il completamento del downloadscaricamento e il passaggio allo status di seeder.
* ''ip'': [[indirizzo IP]] da comunicare agli altri ''peer''. Solitamente utilizzato se si è dietro [[Network address translation|NAT]]/[[router]]
* ''numwant'': numero di fonti massimo che il tracker deve comunicare
Riga 194:
# In BitTorrent gli scambi sono sempre molto veloci per tutti i partecipanti in quanto tutti i nodi si scambiano parti di file a vicenda senza distinzioni di sorta.
# Con eMule ogni nodo di solito condivide e scarica una grande quantità di dati senza alcun bilanciamento fra i nodi presenti. La causa di ciò sono il ''sistema dei crediti'' e il ''sistema delle code'', assenti in BitTorrent.
# Lo standard del protocollo eDonkey/Kad causa una bassa "'''leech resistance'''": non c'è l'obbligo costante di uploadarecaricare come in BitTorrent e, finché non si viene comunque identificati dai sistemi anti-leech dei clients, si può scaricare senza condividere più di tanto usando le comunque disoneste ''leech mod''.
# In BitTorrent l'assenza dei ''crediti'' comporta subito, per chi ha una connessione a banda larga, una buona velocità nelnello downloadscaricamento senza dover prima attendere il conseguimento dei crediti verso gli altri utenti.
# I file su BitTorrent però sono spesso destinati a ''morire'' prima dei file condivisi di [[eMule]].
 
Riga 208:
=== Broadcasters ===
 
* Nel 2008, la [[Canadian Broadcasting Corporation|CBC]] si qualifica come il primo servizio pubblico radiotelevisivo nell'America del Nord a rendere disponibile illo downloadscaricamento con BitTorrent di un intero show (''Canada's Next Great Prime Minister'')<ref>{{Cita web|url=https://web.archive.org/web/20100614220807/http://www.cbc.ca/nextprimeminister/blog/2008/03/canadas_next_great_prime_minis.html|titolo=Canada's Next Great Prime Minister {{!}} CBC Television: CBC to BitTorrent Canada's Next Great Prime Minister|data=14 giugno 2010|accesso=6 giugno 2018}}</ref>.
 
=== Videogiochi ===
Riga 263:
Per capire meglio quanto appena detto, supponiamo che 50 utenti partecipino contemporaneamente in un network.
 
All'inizio tutti i 50 utenti utilizzeranno un grande tracker che farà loro da indice durante illo downloadscaricamento. Durante il "soggiorno" sul network, ogni client (che supporta il sistema DHT) dei 50 utenti, creerà un indice virtuale che punterà al grande tracker. In questo modo se sto scaricando un file di modeste dimensioni ed il grande tracker cade l'indice virtuale mi consentirà di continuare illo downloadscaricamento e cercare nuove fonti.
 
Per il momento il sistema ''DHT'' di [[BitComet]] è compatibile con la versione 4.1.2 di BitTorrent ufficiale, e con [[Ktorrent]] a partire dalla versione 2.2.0 mentre non lo è con [[Azureus]].
 
== Il futuro ==
L'evoluzione del protocollo BitTorrent prevede, tra l'altro, la possibilità di aumentare la velocità di downloadscaricamento dei file utilizzando le parti (byte) in comune dei vari pezzi di file.
 
=== CarTorrent ===