EMule
De Viquipèdia
![]() |
El títol d'aquest article és incorrecte degut a limitacions tècniques. El títol correcte de l'article és eMule. |
---|
eMule és un programa P2P basat en la xarxa eDonkey i que va nèixer al 2002 de mans d'un noi anomenat Merkur (Hendrik Breitkreuz) i altres desenvolupadors. La seva idea era millorar eDonkey, afegint-li funcionalitat i una interfície agradable. Gràcies a la seva política de codi obert són molts els desenvolupadors que s'animen a contribuir en el projecte, fent que la xarxa sigui més eficaç a cada nou llançament.
El nom eMule ve de mula (mule en anglès), que en certa manera s'assembla a un burro (donkey en anglès).
Taula de continguts |
[edita] Funcions claus de l'eMule
- Compartir parts. Els arxius es poden compartir encara que no estiguin completament baixats. Un cop un usuari té una part de 9.28 MB que ha pogut ser verificada, eMule la posa a disposició d'altres nodes.
- Detecció d'errors. eMule utilitza algorismes de detecció d'errors. D'aquesta manera és gairebé impossible baixar arxius malmesos per culpa del propi programa de compartició d'arxius. El sistema AICH (Advanced Intelligent Corruption Handling) utilitza el mètode de hashtree per a individualitzar trossos de fitxer més petits de 9500KB, disminuint molt notablement la quantitat de dades que cal tornar a baixar per a corregir un error de transmissió.
- Independència dels noms d'arxiu. En altres programes, quan es renomena un arxiu, aquest ja no és considerat el mateix. eMule en canvi, permet canviar els noms, doncs utilitza un sistema que reconeix els arxius pels seus continguts i no per la denominació. És possible consultar tots els noms que són assignats al mateix arxiu.
- Sistema de crèdits i cues. Es recompensa als nodes que han pujat més dades donant-los més prioritat a l'hora de progressar dins de la cua d'espera.
- Comentaris per als arxius. eMule permet qualificar la qualitat d'un arxiu i escriure comentaris sobre cada arxiu fent que altres usuaris els puguin llegir. Gràcies a l'ús de la xarxa Kad, aquests comentaris són visibles fins i tot després d'haver-se desconnectat el seu creador.
- Fitxers de Col·lecció. eMule permet crear fitxers en un format especial anomenat col·lecció d'eMule. Aquest fitxer conté un conjunt de vincles d'eMule. És possible baixar i guardar tota la col·lecció de fitxers com un conjunt, tot i que cada baixada es gestiona independentment.
- Filtre d'adreces. eMule té la possibilitat de prohibir qualsevol mena d'accés per part de determinades adreces IP. La llista d'aquestes adreces pot ser mantinguda automàticament per eMule. El propòsit del filtre d'adreces és impedir la descàrrega de fitxers falsos (fakes). L'ús del filtre d'adreces no millora l'anonimat en l'ús de l'eMule.
- Previsualitzar fitxers multimèdia. eMule permet la visualització de diversos tipus de fitxers, com per exemple audio i video, encara que el fitxer no hagi acabat de baixar del tot. El visualitzador de preferència és Videolan, tot i que eMule pot ser configurat per l'usuari per a usar qualsevol altre programa.
- Client IRC. eMule conté un client per a xat a les xarxes IRC.
- Servidor Web. eMule conté un servidor web. Un cop activat per l'usuari es pot controlar les funcions bàsiques de l'eMule des de qualsevol navegador web, des de qualsevol lloc del món.
- Multilingüe. eMule pot funcionar en molts idiomes diferents inclòs el català. La traducció catalana es manté des de la pàgina oficial de l'eMule. Gràcies a la implementacío d'unicode, eMule pot funcionar en qualsevol idioma inclosos el idiomes ideogràfics, i els d'escriptura de dreta a esquerra.
- Obfuscació de protocol. eMule té la capacitat d'ocultar el seu protocol dividint les dades entre dues connexions diferents. Això dificulta la seva identificació i per tant impedeix que els ISP puguin regular l'ample de banda en funció del protocol usat.
eMule ha estat dissenyat per a funcionar millor amb arxius grans. Es considera que un arxiu és gran si ocupa més de 10 Mb i petit si n'ocupa menys de 10. Per aquest motiu és millor agrupar els fitxers petits utilitzant programes empaquetadors com per exemple winzip.
[edita] Funcionament de les xarxes
Actualment, eMule disposa de dues xarxes: la xarxa clàssica basada en servidors eD2k i una xarxa completament nova (Kad) que no fa ús de servidors i està basada en Kademlia. A continuació s'expliquen els conceptes bàsics de funcionament, i posteriorment com aconsegueixen aquests objectius cada una de les dues xarxes.
- Identificació de fitxers. Tots el fitxers tenen associat un valor de hash, una clau alfanumèrica que identifica de forma única un fitxer, encara que aquest tingui diversos noms, de manera que un mateix fitxer que tinguin diferents usuaris, encara que algun d'ells n'hagi modificat el nom, continua sent el mateix fitxer. A més, tot fitxer es separa en blocs de 9,28 MB (9500 KB), i cada una de les parts té el seu valor hash, de manera que el valor hash final de l'arxiu és una combinació dels valors hash de totes les seves parts.
- Identificació d'altres clients. Cada usuari té assignat un valor hash únic i permanent que es troba protegit mitjançant un algorisme d'encriptació de clau pública.
- Descàrrega de dades. Un cop un client ha trobat una font per a la descàrrega d'un cert fitxer, s'hi posa en contacte per a demanar un lloc a la seva cua de descàrregues. La font reserva un lloc a la seva cua, que cal mantenir contactant periòdicament amb la font (es requereix un cop cada mitja hora). Quan la posició a la cua arriba al primer lloc, la font obre una connexió amb el client per a procedir a pujar el fitxer.
[edita] Xarxa de servidors
Per a connectar-se a aquesta xarxa cal conèixer l'adreça IP del servidor. Un cop connectat a un servidor, aquest servidor ens pot informar de l'existència d'altres servidors. Per tal de mantenir actualitzada aquesta llista, els servidors estàn connectats entre sí. Quan un node es connecta a un servidor li comunica els fitxers que vol compartir. Per a cercar un fitxer s'envia la consulta a un o més servidors. Cada servidor respòn amb la llista de fitxers que ell coneix i cumpleix el criteri de cerca. Per a conèixer les fonts d'un determinat fitxer, se li demana aquesta informació a un o més servidors. Cada servidor respòn amb una llista de nodes que comparteixen el fitxer solicitat.
Existeixen servidors falsos que es dediquen a recollir informació sobre qui comparteix quin fitxer. Per aquest motiu es recomana obtenir les llistes de servidors de fonts solvents. La descàrrega d'una llista de servidors es pot fer automàticament.
[edita] Xarxa Kad
La xarxa Kad és una xarxa totalment descentralitzada on tots els nodes són iguals. Ha estat dissenyada per a que eMule pugui sobreviure a una possible caiguda de la xarxa de servidors. Per a connectar-se a aquesta xarxa cal conèixer l'adreça IP d'un altre node, però és possible connectar-se a partir dels nodes obtinguts de la xarxa de servidors. Cada node coneix una petita part de la xarxa, de manera que la mida de la xarxa pot créixer tant com calgui sense afectar al rendiment. Quan un node es connecta, emmagatzema els identificadors dels fitxers que vol compartir a dins d'altres nodes, escollits en funció de l'identificador del fitxer. Quan es vol baixar un fitxer, es localitzen els nodes que l'indexen i aquests nodes retornen la llista de fonts per a aquest fitxer concret. La cerca per nom funciona d'una manera semblant, guardant el nom del fitxer dins d'altres nodes escollits en funció de cada paraula del nom. Una cerca a Kad s'executa sempre contra tota la xarxa.
[edita] Intercanvi de fonts
Quan un node es connecta a un altre node que és font d'un fitxer, li pot demanar la llista d'altres font que ell coneix. Aquesta manera d'obtenir fonts és molt eficient i allibera la càrrega de feina de les xarxes de servidors i Kad.
[edita] El sistema de crèdits
Les xarxes P2P necessiten dels usuaris per funcionar. Si els usuaris no compartissin els seus arxius, no serien possibles. Sovint ens trobem amb usuaris que volen descarregar, però decideixen no compartir els seus arxius. Per evitar aquest tipus de "frau", eMule va incorporar un sistema de crèdits per premiar i donar preferència a aquells usuaris que més descarregaven i penalitzar als usuaris que decidien no compartir. A més, el límit de baixada és proporcional al límit de pujada permès. Cada client que es connecta a tu per algun motiu, és recordat pel seu userhash (no pel seu ID o la seva IP). Si tu descarregues d'aquest client o aquest client descarrega de tu, eMule guarda els bytes transferits en el fitxer clients.met.
Cada cop que un client et demana un fitxer, el valor dels bytes que li has transferit i els que t'has baixat d'ell, són utilitzats per calcular un modificador que afecta a la posició en la cua d'espera.
L'equació que calcula el modificador és la següent:
Modificador = (2*trasferit cap a tu)/descarregat de tu
Així, si per exemple tenim un client X que ha descarregat 2 Mb de tu, i tu has descarregat 3 Mb d'ell, ell té un modificador de (3*2/2)=3.0. Això significa que el client X esperarà a la teva cua 1/3 del que hauria d'esperar un client Y (desconegut). No obstant, el modificador no pot ser més gran de 10 o més petit d'1 (significaria que el client mai no arribaria a descarregar de tu).
Tots els clients amb un modificador més gran que 1 es mostren amb una icona groga a la finestra d'uploads.
Els crèdits són individuals, són entre un usuari concret i un altre. Els teus crèdits es guarden a l'ordinador d'un altre usuari i tu graves en el teu ordinador els crèdits d'altres clients. D'alguna manera guardes a qui li "deus" arxius.
Per tant, realment, si has pujat molt a algú de qui no et vols descarregar res, aquest sistema et posa davant d'altres usuaris en les mateixes condicions que aquell qui no puja mai res.
No es poden veure els crèdits propis, ja que són escampats per tots els usuaris a qui has pujat arxius. En les estadístiques hi ha les relacions de pujada/baixada, que són orientatius de quants crèdits pots tenir (a l'estar relacionats), però no tenen perquè ser així.
Per tal d'evitar que clients fraudulents facin servir l'userhash d'un altre usuari i aprofitar-se així dels crèdits que no els corresponen, l'userhash està protegit per un sistema criptogràfic de clau pública. Això garanteix que quan algú s'ha connectat a un node amb un determinat userhash, ningú que es connecti altre cop a aquest mateix node amb aquest userhash podrà utilitzar els crèdits acumulats sense conèixer la clau criptogràfica corresponent.
[edita] Buscar arxius
Buscar arxius a l'eMule significa normalment que tots els servidors a la llista de servidors són preguntats si coneixen a algún client que tingui un arxiu que coincideixi amb els termes de la cerca. Els propis servidors no emmagatzemen cap arxiu, només generen una llista dels arxius dels usuaris connectats. La funció de cerca avançada de l'eMule permet fer cerques precises per als arxius de la xarxa. Una cerca realitzada amb precisió és millor, ja que les cerques suposen una considerable càrrega per als servidors. Per aquest motiu, eMule només busca un màxim de 201 resultats de qualsevol cerca, o 300 si el servidor i la nostra versió soporten compresió gzip.
eMule ens permet entrar diferents opcions de cerca, tals com la mida màxima o mínima, els tipus d'arxiu, etc. Una de les opcions que podem seleccionar és el mètode de cerca, és a dir, la manera que eMule utilitzarà per fer les cerques. Hi ha quatre mètodes:
- Servidor. Només es buscarà al servidor on el client està actualment connectat.
- Global (Servidor). Tots els servidors de la llista són preguntats. Cada servidor és preguntat individualment.
- Kademlia. Es busca a tota la xarxa Kademlia. Amb aquest mètode no es buscarà a la xarxa eD2k. Si una expressió de cerca popular no retorna resultats, llavors és possible que el port UDP estigui bloquejat per un tallafocs o un router.
- Filedonkey. Motor de cerca basat en web.
El resultat d'una cerca pot ser filtrat per a visualitzar només alguns dels resultats trobats.
Existeixen planes web que contenen vincles en el format ed2k://. Al fer click sobre un d'aquests links, s'afegeix automàticament la descàrrega a l'eMule.
[edita] Vegeu també
- aMule
- eDonkey
- MLDonkey
- BitTorrent
- P2p
[edita] Enllaços externs
- Pàgina oficial del projecte eMule
- eMule a SourceForge (SourceForge)
- KademliaSkins.Net - Skins per eMule.