Impostazioni per Bittorrent
Imposta il tuo sistema al meglio per BitTorrent
- Scopo
- Come funziona BitTorrent ( ed altri p2p )
- Configurazione del Firewall
- Configurazione del client BitTorrent
- Altre Letture
Molta gente nuova all’uso di BitTorrent si limita a installare il client e si aspetta che tutto magicamente funzioni. Si connette quindi ad un torrent con molti seed, si accorgono di avere un download rate orribile, e pensano che BitTorrent faccia schifo. Quello che ignorano è che la maggior parte dei loro problemi è dovuta ad una misconfigurazione del loro sistema e ad una pessima comprensione di come BitTorrent ( ed altri p2p ) funzionino. Lo scopo di questo documento è di educarvi, all’uso di BitTorrent e spiegarvi come tweakare il vostro sistema per avere il massimo da BitTorrent
Networking di base: Indirizzi IP e Numeri di Porte
Quelle che leggerete qui sono delle rudimentali basi di networking. Sentitevi liberi di saltare questa sezione se già conoscete queste cose.
Quando il vostro computer si connette ad Internet ( sia via dialup, DSL, o che altro ), esso possiede un identificatore univoco associato con esso, cosicché tutti gli altri computer nella rete possono comunicare con lui ( qualcosa di simile ad un numero telefonico ). Questo identificatore è chiamato Indirizzo IP. Poiché i computer lavorano al meglio con i numeri, un Indirizzo IP non è null’altro che un numero particolarmente grande. Quando il vostro computer vuole downloadare qualcosa come una pagina web ( o uploadare ) esso fa riferimento all’Indirizzo IP del computer con cui sta comunicando; proprio come nell’esempio del numero telefonico, il computer che risponde alla richiesta si comporta allo stesso modo.
Poiché i computer posono comunicare con più di un altro computer contemporaneamente, e può comunicare diverse cose ( pagine web, files, streaming audio e video.. ), devono avere un modo per differenziare le varie comunicazioni ed il loro tipo. Ancora a proposito di numeri, i computer in Internet, raggruppano tutte le cose correlate assegnando loro un Numero di Porta. Per esempio, le pagine web generalmente vengono servite sulla porta 80, le connessioni https sulla porta 443, le connessioni ftp avvengono sulla 21 e così via. E’ la combinazione di ip e numero di porta che fa in modo che la conversazione tra due computer in rete avvenga.
FileSharing : Client-Server e P2P
Ancora, saltate questa parte se sapete di cosa parla.
Un paio di anni fa Internet era idealmente divisa in due gruppi: i server ed i client ( proprio come in un ristorante ). Non c’erano molti server, ed il loro ruolo principale era fornire contenuti web e file da essere scaricati; non facevano molto altro che aspettare delle richieste e servirle quando ve ne erano.
Voi, come client, probabilmente non avreste condiviso alcun contenuto con alcuno. Questa netta divisione era principalmente dovuta al costo della banda. In un periodo precednete alle DSL, al giorno delle dialup, la maggior parte della gente non aveva banda sufficiente per condividere files.
Questa vecchia architettura veniva chiamato client-server abbastanza appropriatamente ed è attualmente utilizzata per la maggior parte di servizi forniti in Internet.
Con l’avvento delle tecnologie broadband come la DSL che probabilmente state usando, improvvisamente una discreta quantità di banda è diventata disponibile agli utenti, ed è questo probabilmente il motivo della nascita dei p2p. L’acronimo p2p sta per peer-to-peet, che sostanzialmente significa “da client a client”.
P2P
Useremo tre nomi fittizi in questo capitolo per spiegare alcuni concetti: Alice, Bob e Charlie. Per ogni esempio assumete che Alice sia una una newbie, che abbia appena installato il suo primo software p2p, che non abbia nulla da condividere, e che abbia intenzione di downloadare qualcosa.
Bob sta condividendo qualcosa, ma anche lui sta cercando cose da scaricare.
Charlie sta condividendo molte cose ma non spende molto tempo a cercare nuove cose da scaricare.
Per quasi tutti i sistemi p2p la maggior parte della gente segue questi passi fondamentali:
- Cerca qualcosa
- Riceve una lista della gente che sta condividendo quello a cui è interessato
- Segue la lista e chiede ad ognuna persona se può mandargli quel file.
- Una volta che il download è completo, comincia a condividerlo con altre persone con lo stesso sistema.
Così, Alice sta cercando Matrix Reloaded, trova che sia Charlie che Bob lo possiedono, e chiede ad entrambi di mandarglielo. Se non sono troppo impegnati a servire altra gente, presumibilmente i due aiuteranno Alice. Una volta che lei possiederà il film, altra gente potrà riceverlo attraverso lei.
BitTorrent segue questa scaletta abbastanza fedelmente. In molti sistemi ( come Napster, KaZaA, o eDonkey ) la ricerca dei file fa parte del programma stesso. BitTorrent non funziona in questo modo.
Se state cercando un file dovete trovarlo da soli, probabilmente usando Google o chiedendo a vostri amici. Un’altra differenza è il modo in cui lo share funziona
Condivisioni con BitTorrent
La maggiorp arte dei problemi dei p2p è cha alla gente non piace condividere. Aprono i loro programmi, scaricano i files, e poi chiudono quando hanno finito. Si chiama leeching. Morale a parte, se ognuno facesse così, niente sarebbe condiviso in rete! Per combattere questo, BitTorrent è tornato al vecchio modo che probabilmente usavate quando eravate bambini: il baratto. Invece di aspettare di aver scaricato tutto il file prima di condividere, BitTorrent scarica i files in pizzoli pezzi e condivide questi piccoli pezzi dal momento in cui li ha disponibili.
Questo modo di fare rende più semplice scaricare quello che cercate da più di una persona alla volta e quindi aumenta la possibilità di avere una buona velocità di download. Significa anche che le probabilità di successo nello scaricare un file sono probabilmente più alte che in altri network. Se Charlie ha mezzo file e Bob l’altra metà, Alice può prendere le due metà ed unirle come un unico file.
Questo modo di condividere non combatte necessariaemente il problema dei leech. Per evitare leech, BitTorrent si comporta come un bambino: do ut des. In questo modo “se mi dai un pezzo, io ti do un pezzo del mio”. BitTorrent vi darà “gratuitamente” del file per aiutarvi a cominciare, ma dopo quello dovete cominciare a condividere se volete continuare a scaricare.
Per esempio, supponiamo che Alice scarichi qualche pezzo di file da Bob “gratis”. A questo punto può darne qualche pezzo a Charlie, se Charlie non ne ha ancora giusto per motivare Charlie a restituire il favore. Alice può quindi scambiare qualcosa di nuovo con Bob ed il ciclo continua. Perché Charlie e bob non comunicano direttamente? Probabilmente lo fanno, o probabilmente i loro sistemi non sono configurati in modo appropriato e non possono comunicare direttamente uno con l’altro (n.d.t: oppure non sono froci e preferiscono uscire con Alice ).
Come hanno inizio queste cominiczione? Con BitTorrent, si comincia con un tracker. Come suggerisce il nomer, un tracker tiene traccia della gente interessata ad un torrent. Quando scaricate un .torrent il file contiene un link ad un traker ed un id ( un hash ) che è unico. Il vostro client BitTorrent si connette quindi al traker e chiede una lista della gente interessata al torrent. Allo stesso tempo il tracker vi aggiunger alla lista in modo che altra gente possa scaricare da voi. Il vostro client si occupa naturalmente di chiedere anche al tracker periodicamente una lista aggiornata degli altri interessati. Questo è tutto quello che fa un tracker.
Il tracker non sa nulla del torrent, né vi manda il file. Si limita a mostrare dove procurarselo.
Firewalls
Qui le cose diventano pelose. Probabilmente siete dietro un firewall. Molta gente ne usa uno. Un firewall è come una guardia del corpo per Internet. Voi comunicate col vostro firewall, ed il vostro firewall comunica con Internet per voi. In questo modo, non dovete parlare con altri direttamente, ed evitate di conoscere pessima gente in rete. Ma per loro natura, i firewall sono paranoici, e malfidenti. Per la maggior parte dei casi, un firewall non permetterà ad alcuno di comunicare con il vostro computer a meno che voi non gli dite di farlo, e configurare il firewall per farlo spesso è una operazione un pò macchinosa.
Poiché la maggior parte dei firewall assume che che state parlando con un altro compure allora quel computer è permesso di rispondervi, la maggior parte dei p2p proverà entrambi i metodi.
Assumiamo che Bob e Charlie siano dietro firewall, mentre Alice non usa protezioni ( n.d.t: troione ). Alice non può iniziare una connessione con nessuno dei due e non può passare il firewall. Sia Charlie che Bob possono iniziare una connessione con Alice. Tuttavia Bob e Charlie non possono parlarsi l’un l’altro perché sono entrambi dietro firewall e nessuno dei due può iniziare una conversazione. In questo modo:

NAT e Port Forwarding
Ma aspetta, le cose sono anche peggio! Oltre che essere dietro un firewall, porbabilmente il vostro firewall fa qualcosa comunemente chiamato NAT o Network Address Translation. Ricordate quanto sia importante avere un Indirizzo Ip perché gli altri computer comunichino con voi? Quando siete Nattati, non avete un vero indirizzo IP ( non uno pubblico per la precisione ), e questo impedisce agli altri di parlare direttamente con voi, parlano infatti col vostro firewall come foste voi. Il vostro problema è che probabilmente il vostro computer conosce solo il suo IP fasullo ( quello privato ) e prova a darlo al tracker per aggiungerlo alla lista rendendo impossibile scaricare da voi. Quindi invece di dare il vostro IP fasullo dovete fare in modo di comunicare quello pubblico del firewall al resto del modno.
Ancora una cosa: ricordate come i firewall non lascino che altra gente cominci a parlare con voi senza che voi iniziate a parlare con loro per primi? Anche se voi date l’inidirizzo IP del vostro firewall a tutti, quando cominceranno una conversazione con il vostro firewall, il firewall si limiterà ad ignorarli poiché non li conosce e non sa cosa vogliano. Logicamente quindi, avete necessità di spiegare al vostro firewall che in alcuni casi è ok che la gente vi contatti. Qui entrano in gioco i Numeri di Porta. Potete infatti configurare il firewall per permettere agli altri di contattarvi solo attraverso alcune porte. Poiché il vostro firewall vi ridirigerà direttamente tutto quello che gli arriva su alcune porte, questo si chiama port forwarding.
Una volta che avete sistema il problema del vostro IP fasullo e del port forwarding, ognuno sarà in grado di comunicare con voi. Diciamo che Charlie, essendo un nerd, ha configurato il firewall in questo modo. Bob, d’altra parte, essendo amico intimo di Alice, è ancora con la sua configurazione sbagliata. Questo significa che ora Alice e Bob possono parlare direttemente con Charlie, ma né Charlie né Alice posono iniziare una comunicazione con Bob. In questo modo:

Ma che significa tutto questo?!?!?!?
Guardate il diagramma sopra. Ricordate come BitTorrent richieda che scambiate delle parti di file per avere una buona velocità di download? Se Alice e Charlie non possono uploadare parti a Bob, Bob comincerà ad ingorarli.
Poiché Alice e Charlie possono conversare liberamente, probabilmente avranno un buon dowload rate tra loro. In altre parole, più gente può parlare con altra, maggiore velocità si riesce a raggiungere. Configurare il vostro firewall e BitTorrent correttamente è quindi essenziale per avere una buona velocità di download!
Redirigere le Porte di BitTorrent verso il vostro Computer
La maggior parte dei firewall hardware ( come i router/firewall ) hanno la possibilità di fare port forwarding. Se state usando un firewall software ( come ZoneAlarm o BlackIce ), allora il portforwarding è probabilmente chiamato in altro modo. L’applicazione BitTorrent usa normalmente le porte dalla 6881 alla 6889, sicché quando aggiungete le porte al firewall, siate sicuri di coprire l’intero range.
Netgear RT 314 (and possibly other models)
Da Pezko Stenmark:
Accedete all’interfaccia di amministrazione sul web. Quindi clickate su Advanced nel menù a sinistra quindi su Ports. Usate una riga vuota (tutto a zero) e scrivete nella prima colonna (“Start Port”) 6881, 6889 nella seconda, poi inserite l’indirizzo IP della macchina su cui eseguite BitTorrent nella terzo colonna. Clickate sul bottone Apply ed avete finito.
Netgear RP114
Da Adam Johnston:
- Sotto Windows NT, 200, and XP, andate in Start >> Esegui >> scrivete cmd e clickate su OK >>
al prompt scrivete ipconfig e premete Invio. Sotto Windows 95,98 o Me andate su Start >> Esegui >> scrivete
winipcfg e premete Invio.- ‘IP Address’ è l’indirizzo del vostro pc, ‘Default Gateway’ è l’indirizzo IP del vostro router
- In Internet Explorer ( o un altro browser ) scrivete l’indirizzo IP del router nella barra degli indirizzi.
- Scrivete il vostro user e password. (I Default sono ‘Admin’ e ’1234′)
- Andate in ‘Advanced’ >> ‘Ports’
- In “Start Port” e “End Port” inserite il range di porte (da 6881 a 6889), e in “Server IP Address field” inserite l’Indirizzo IP del vostro PC. Selezionate ‘Apply’.
USR Broadband Router
Da Andy Haninger:
Sui router USR, c’è un opzione nel tool di configurazione sul web. L’opzione si chiama “virtual server”, aggiungete la porta e l’ip del pc a cui volete forwardare ( il computer su cui gira BitTorrent ).
Linux IPTables
Da SDE:
iptables -t nat -I PREROUTING -p tcp --dport 6881:6889 -j DNAT --to-destination
… dove è l’indirizzo IP privato is su cui gira il BT client.
Shorewall for Linux
Da Mike808:
Per sistemi che stanno usando masquerading (NAT) ed hanno qualcosa di simile a questo:
In /etc/shorewall/masq:
# All outgoing traffic from 192.168.1.X going out the eth0 interface
# will be NATed/masqueraded to appear to be originating from your external
# internet address A.B.C.D (i.e. SNAT outgoing packets)
eth0 192.168.1.0/24 A.B.C.DAnd in /etc/shorewall/rules:
# Allow net zone traffic on the external interface to be destination NATed (DNAT)
# to your computer's internal IP address (for example, 192.168.1.X)
# Allow BitTorrent traffic through - port 6969 is if you run a tracker
# And ports 6881 through 6889 are for incoming BitTorrent connections.
DNAT net loc:192.168.1.X tcp 6969
DNAT net loc:192.168.1.X tcp 6881:6889
Linux ipmasqadm
Da Andy Haninger:
ipmasqadm portfw -f (flushes all other rules.. optional)
ipmasqadm portfw -a -P tcp -L [firewall IP] 6881 -R [client IP] 6881
Impostare il vostro IP esterno Correttamente
Questo è attualmente un pò macchinoso. Ogni volta che vi disconnettere e vi riconnettete ad Internet, avete buone possibilità che il vostro Indirizzo IP cambi; se siete un utente dialup, è pressoché una granzia. Anche Le DSL cambiano indirizzo meno frequentemente poiché siete connessi praticamente sempre. Se siete dietro un firewall, probabilmente esso gestisce tutto per voi e non dovete preoccuparvi di nulla. Tuttavia, se state per usare un client BitTorrent per comunicare al vostro tracker il vostro corretto indirizzo IP pubblico , dovete essere sicuri di quale sia. Il modo più semplice per farlo è connettersi ad un sito web che ve lo dica ( checkip.dyndns.org, whatismyipaddress.com, bnl.gov, dnsart.com ).
Il client ufficiale per BitTorrent supporta una opzione da linea di comando per dire qual’è il vostro indirizzo ip (--ip 1.2.3.4), ergo se usate questo sostiuite semplicemente l’indirizzo con il vostro e siete a posto. Se cominciate ad avere errori strani dal tracker, o sembra che non riusciate a scaricare nulla, probabilmente il vostro Indirizzo IP è cambiato e dovrete aggiornare la linea di comando.
La linea di comando sarà qualcosa di simile a:
"c:program filesbittorrentdownloadgui.exe" --ip 123.45.67.89 --responsefile "%1"
Questo passo potrebbe essere non necessario, dipende da quanto sia intelligente il tracker che state utilizzando. Dovreste provare le istruzioni per il port forward nella sezione precedente prima, e poi fare questo se non sembra funzionare.
Fonte: Btiteam
