emule.it - Guida eMule
 
eMule.it > Guida Emule > Approfondimenti

 

I.C.H. & A.I.C.H.
Elenco router equivalenti per configurazione. Cliccare per visualizzare.
     
     

eMule scarica ed invia i files in parti da 9.28MB ciascuno. Può capitare che una di esse sia corrotta, ovvero parte dei dati scaricati non siano buoni rendendolo inutilizzabile.
Per ovviare a questo inconveniente, eMule implementa l'I.C.H. (Intelligent Corruption Handling, tradotto "Trattamento intelligente delle corruzioni").
Ogni parte scaricata viene controllato dall'I.C.H. e se risulta corrotta viene eliminata e riscaricata. Il sistema è definito "Intelligent" perchè ogni volta che scarica un blocchetto da 180KB controlla l'hash di tutta la parte da 9MB per vedere se ha corretto l'errore (gli hash parziali delle parti da 9 mega sono la prima cosa che eMule scarica di ogni file).
In media si riscaricano solo 4,5 MB invece di 9 per recuperare il difetto e il sistema riesce nel 99.9% dei casi a recuperare il difetto.
Nel registro di eMule (consultabile dalla finestra "Server" del programma) è possibile leggere quali parti risultano corrotte e quali parti sono state recuperate. Il messaggio in caso di corruzione sarà:

La parte scaricata n. X è corrotta :( [Nome File]

al successivo recupero nel registro sarà possibile leggere:

Recuperata la parte corrotta n. X :) [Nome File]

N.B.: se nel registro si nota che una determinata parte di file risulta essere sempre corrotta (ovvero si hanno diversi messaggi di corruzione per la stessa parte di file), vuol dire che probabilmente non ci sono parti buone in condivisione.
Si consiglia di pazientare inizialmente, ma dopo qualche giorno, se il recupero di quella parte fallisce ancora, eliminare il file.

L'unico reale difetto dell'I.C.H. risiede nel fatto che molto spesso la quantità di dati corrotti in una parte equivale ad una sua piccola percentuale.
Se si verifica una corruzione non è detto che interessi tutti i 9.28MB di cui questo è composto, anzi molto spesso sono pochi bytes difettosi concentrati in un solo punto, ma se esso si trova a 9.2 MB in quella parte, bisogna scaricare tutti e 9.2 MB.
Per ovviare a tale mancanza di efficienza è stato introdotto dalla versione 0.44 l'A.I.C.H. (Advanced Intelligent Corruption Handling).
Questo sistema utilizza un approccio completamente differente. Consiste in un set di hash '"costruiti" a partire da blocchetti di 180KB e raggruppati in una struttura ''ad albero''.
Il programma crea questo albero di hash per tutti i file condivisi e lo memorizza nel file known_64.met che si trova nella cartella eMule\config.

Ora se eMule sta scaricando un file e rileva una parte corrotta, chiederà un "pacchetto di recupero" da un client che sia in possesso di un set hash A.I.C.H. completo di quel file (un sistema di controllo evita che ciò che riceviamo possa essere corrotto).
Usando gli hash contenuti in esso controlla tutti i blocchetti da 180KB e identifica quelli corrotti, chiedendo lo scaricamento solo di questi ultimi.
Questo significa che se in un blocchetto un solo byte è corrotto, eMule conserverà tutti i blocchetti da 180KB ''sani'', ad eccezione dell'unico blocchetto da 180KB contenente il byte corrotto.
Seguendo l'esempio di prima, verrebbe riscaricato solo l'ultimo blocchetto da 9.1 a 9.28 MB invece di tutti e 9.2 MB.

Il vantaggio è palese: tramite l'A.I.C.H. è possibile recuperare parti di file senza dover essere costretti a cestinare interi blocchi corrotti solo in parte.
Si ricordi infine che la funzione A.I.C.H. è addizionale rispetto al classico I.C.H. Per cui se non è possibile recuperare un file tramite questo nuovo metodo, magari perchè non esiste un hash set A.I.C.H. valido per quel file, ci penserà l'I.C.H. a tentare di recuperare la parte corrotta.

Per Utenti Esperti:

E' possibile passare ad un client l'eD2K link di un file contenente l'intero hashing A.I.C.H. Per ottenere un eD2K link A.I.C.H., dalla finestra "File Condivisi" fare tasto destro del mouse sul file interessato e selezionare mostra link eD2K e selezionare l'opzione Inserisci l'HashSet Completo.

aichlink.png

In questo modo chi riceverà il link sarà sicuro di poter contare anche sull'A.I.C.H. per il recupero delle parti corrotte. Ma anche nel caso in cui non si sia ricevuto il link A.I.C.H. è possibile usufruire di tale funzione. In questo caso eMule utilizzerà l'hash ricevuto dagli altri client, ma solo in caso che:

1 - Almeno 10 IP unici ci devono avere inviato questo hash.
2 - Il 92% dei client che ci hanno mandato un hash devono averci inviato lo stesso.

Questo hash verrà posto ad un livello di fiducia più basso e comunque non sarà possibile ricreare un link A.I.C.H. partendo da questo hash.
Si capisce bene come il problema maggiore sia riscontrato per i file rari con pochissime fonti. Per questo è importante che, soprattutto il releaser, invii un link eD2K.
I link AICH sono anche compatibili con i vecchi client eMule (che semplicemente ignoreranno le informazioni aggiuntive).

Copyright eMule.it
2004-2024
Google
 
Web eMule.it
Torna Su