Guida ISP Traversal
Tradotta dalla guida di PLAYSAFE postata sulla board ufficiale di Emule.
Premessa:
Cosa e' ISP Traversal?
David, l'autore di NeoMule, ha pensato questa feature per cercare di ovviare al problema degli ISP (Internet Service Provider) che riducono la banda disponibile per Emule, in inglese di dice "bandwith throttling".
Come funziona? L'idea e' di di rendere piu' difficile e quindi antieconomico per l'ISP identificare il traffico di Emule in mezzo a tutto il resto del traffico che passa sui suoi apparati. NON e' una funzione destinata a garantire il P2P anonimo, perche'con Emule e' impossibile. Si tratta di criptare il traffico dati di Emule in modo che non sia immediatamente riconoscibile e di utilizzare un certo numero di porte "ausiliarie" sulle quali suddividere questo traffico in modo da non avere "colli di bottiglia" ovvii ed evidenti.
La prima connessione tra il vostro client e tutti gli altri avverra' sempre in modalita' "normale", cioe' in chiaro. Questo ovviamente per mantenere la compatibilita' con tutti i client emule. Soltanto se vi risponde un altro client ISP Traversal la feature verra' utilizzata, altrimenti si procede in modalita' standard.
Limitazioni:
Esistono 2 mod con questa feature, Neomule e Sion. Per funzionare richiede la connessione tra due client ISP Traversal, dato per scontato che siano correttamente configurati. Siccome questi client al momento sono una percentuale insignificante sul totale, per un uso pratico non fa nessuna differenza perche' e' improbabile che troviate un altro client ISP Traversal nella lista upload o download. Tuttavia e' possibile verificare il funzionamento di ISP Traversal tramite un file di test perche' tutte le fonti saranno client ISP Traversal.
Fate una ricerca con "isp testfile".
Avvertenza:
Prima di occuparvi di ISP Traversal verificate che le impostazioni alla voce "connessione" relative alla "capacita'" e al "limite di traffico" siano corrette. Esempio: per una linea 640Kb/256Kb le impostazioni saranno capacita':80KB/32KB - limite: 72Kb/24Kb se usate "nessun controllo di velocita'" oppure "USS". Se invece usate "NAFC" il limite sara' piu' alto, 80Kb/28-29Kb. C'e' l'apposito wizard, in ogni caso la capacita' e' la velocita' della linea divisa per 8. Il limite e' circa 80% della capacita' (per NAFC piu' alto).
Attenzione, settate capacita' e limite, sopratutto il limite, in funzione della velocita' REALE della vostra connessione, non quella che lo ISP vi ha promesso sulla carta. Esistono diversi test per verificare la velocita' della connessione e di solito anche il vostro ISP nella voce "assistenza" prevede un test di verifica. Se avete settato una velocita' in upload troppo alta Emule tende a non funzionare correttamente.
Vediamo i settaggi di ISP Traversal:
STEP 1: CONFIGURARE LE PORTE 1. TCP for incoming data (TCP dati in ingresso) es. 25135, default 4662
2. UDP for KAD (UDP per il network KAD) es. 25145, default 4672
3. UDP for servers (UDP per il network eD2K server) es. 25146, default e' random.
Nota: per tutte le mod, ad esempio Sion, che non permettono di definire questa porta nelle opzioni come Neo, la trovate editando il file preference.ini.
E' una buona idea cambiare le porte di default perche' gli ISP possono bloccarle e spesso lo fanno, inoltre alcuni server non consentono la connessione se utilizzato le porte di deafult.
Al momento circa il 60-70% dei client utilizzano le porte di default 4662 e 4672, capite bene che se un ISP si limita a filtrare il traffico su queste porte riduce automaticamente il numero delle fonti accessibili al vostro client di conseguenza. Non ho idea del perche' gli sviluppatori del client ufficiale non abbiano pensato di scegliere porte a caso.
Aggiungo che anche l'idea che gli utenti di un certo ISP utilizzino tutti le stesse porte, come nel caso delle porte consigliate per Libero, e' sciocca perche' gli amministratori di sistema dell'ISP ci mettono veramente poco ad accorgersi del traffico concentrato su quelle porte e ad adattarsi di conseguenza.
reference:
http://www.iana.org/assignments/port-numbers E' vitale che le porte siano raggiungibili dall'esterno, quindi se siete dietro un router e' necessario che configuriate un "port forwarding".
reference:
http://www.portforward.com/ Col modem USB o Ethernet invece non avrete problemi.
In entrambi i casi poi e' necessario autorizzare il firewall per il traffico in entrata su queste porte.
STEP 2: Configurare ISP TRAVERSAL 4. OFF - disabled (disattivato)
GREY/SQUARE - enabled without extra ports ( GRIGIO - attivato senza porte ausiliarie).
ON - enabled with extra ports (BIANCO - attivato con porte ausiliarie)
Lo stato "grey" e' abilitato per default e significa che ISP Trasversal e' attivo ma non vengono usate porte ausiliarie. Si abbina a "unneeded" (cioe' a me non serve ricevere dati criptati ma se vuoi te li mando cosi) oppure "partial" (cioe' voglio ricevere solo i file in modalita' criptata, le altre cose mandamele in chiaro).
Lo stato "on" attiva le porte ausiliarie e si abbina ad "implicit" (cioe' cripta tutto il possibile).
Un utente che non ha problemi con il suo ISP dovrebbe rimanere con "grey" e "uneeded", altrimenti si puo' provare con "grey - partial" e con "on - implicit", considerando che piu' cose si criptano e maggiore e' l'overhead, cioe' le risorse (banda/cpu) consumate.
5. UNNEEDED - no encryption required (non richiede dati criptati)
Come detto, in questa modalita' il vostro client non richiede i dati criptati agli altri client ma quando gli altri li richiedono glieli inviera' in questa modalita'.
PARTIAL - protect file transfer only (proteggi solo il trasferimento file)
In questa modalita' verra' criptato il trasferimento dei file ma non le comunicazione tra il vostro client e gli altri (richieste, scambio fonti, ecc).
IMPLICIT - use AUX port and encryption for all connections, except the first initial connection (usa le porte ausiliarie e cripta tutto tranne la prima connessione)
Questa modalita' attiva tutte le funzioni di ISP Traversal, cripta tutte le informazioni che il vostro client si scambia con gli altri client ISP Trasversal e il trasferimento file, inoltre suddivide il traffico sulle porte ausiliarie.
6. TCP for incoming data (TCP per i dati in ingresso)
Scegliete una lista di porte o un range. La lista consiste in numeri separati da virgole, il range consiste nella porta inizio e porta fine separate da un trattino, es. 12005,12025,12045 (lista), 12005-12010 (range). Non servono molte porte, probabilmente tre o quattro bastano. L'importante e' non scegliere porte ovvie, perche' vogliamo confondere le idee al vostro ISP, ne' porte utilizzate da altri programmi che usate comunemente. Anche queste porte devono essere raggiungibili dall'esterno, quindi stesso discorso delle precedenti, se dietro un router dovete fare "port-forwarding" e in ogni caso autorizzare il firewall al traffico in entrata su queste porte.
Riassumendo avremo:
Porte in ingresso TCP: 1 default + 3 ausiliarie (se utilizzate), tutte con port-forwading se dietro un router e autorizzare il firewall su queste porte in ingresso.
Porte in ingresso UDP: 1 default per KAD, 1 default per server, anche queste vanno autorizzate sul firewall, il router invece non dovrebbe fare storie. Oltre a queste Emule utilizza un'altra porta UDP (a me corrisponde a 0) per le ricerche e la verifica della "esistenza in vita" dei server eD2K, autorizzate il firewall se necessario in ingresso.
Nota: oltre a queste, dovete autorizzare Emule ad usare QUALSIASI porta in uscita.
Fonte:
P2P Forum Italia