Este artículo necesita citas adicionales para su verificación . ( junio de 2016 ) |
En informática, los enlaces eD2k ( ed2k: // ) son hipervínculos que se utilizan para indicar archivos almacenados en computadoras conectadas a la red P2P de intercambio de archivos eDonkey .
Muchos programas, como eMule , MLDonkey y el cliente eDonkey2000 original de MetaMachine , que introdujo el tipo de enlace, así como otros que utilizan el protocolo de intercambio de archivos eDonkey, se pueden utilizar para administrar archivos almacenados en la red de intercambio de archivos.
Los enlaces eD2k permiten identificar un archivo a partir de un enlace en un navegador web y, posteriormente, ser descargado por un cliente como eMule, Shareaza o cualquier otro software compatible. Esta función de enlace fue uno de los primeros URI que se introdujo en el intercambio de archivos de igual a igual y tuvo un gran efecto en el desarrollo de la red eDonkey, ya que permitió que los sitios de enlaces externos proporcionaran contenido verificado dentro de la red. Hoy en día, los llamados enlaces Magnet han reemplazado a los enlaces eD2k en la práctica. Tienen una función similar, pero no se limitan al hash eD2k y pueden contener otros hash como SHA-1 o MD5 por ejemplo, lo que hace posible utilizar estos enlaces para apuntar a archivos en varias redes (así como en BitTorrent) a la vez.
Los enlaces eD2k incluyen archivos hash, ya que estos hash se pueden usar como un identificador único para archivos dentro de la red, por lo que incluso si el archivo vinculado tiene un nombre diferente en dos computadoras dentro de la red, el archivo se puede encontrar en ambas , y los fragmentos de archivo se pueden obtener de ambas fuentes. Esto se hace usando una función hash en el archivo para calcular su suma de verificación, dependiendo solo del contenido del archivo, no de su nombre.
Al igual que otros protocolos de URI, los navegadores web se pueden configurar para manejar automáticamente los URI de ed2k. Después de instalar un cliente eD2k , el protocolo eD2k se registra opcionalmente para que al hacer clic en él en el navegador se inicie automáticamente la descarga o pregunte si el usuario desea iniciar la descarga.
Enlaces al archivo son precedidos con el "archivo" token, que indica que se trata de un enlace de archivos, en lugar de una server
, serverlist
, nodelist
o friend
enlace. El enlace de archivo típico de eD2k también incluye el nombre y el tamaño del archivo. A continuación se proporciona un ejemplo (un enlace al avance de 15 MB Purist Edit):
ed2k: // | archivo | The_Two_Towers-The_Purist_Edit-Trailer.avi | 14997504 | 965c013e991ee246d63d45ea71954c4d | /
Los enlaces eD2k también pueden incluir una referencia a la dirección IP y el puerto de clientes específicos que se sabe que comparten el archivo vinculado. Esto se hace agregando una lista de fuentes después de la parte principal del enlace, como se muestra en el siguiente ejemplo:
ed2k: // | archivo | The_Two_Towers-The_Purist_Edit-Trailer.avi | 14997504 | 965c013e991ee246d63d45ea71954c4d | / | fuentes, 202.89.123.6: 4662 | /
En eMule, el enlace a menudo también contiene un hash superior AICH | h = H52BRVWPBBTAED5NXQDH2RJDDAKRUWST | para ayudar a recuperar el archivo en caso de corrupción durante la transferencia del archivo.
La función hash eD2k es un hash raíz de una lista de hash MD4 . Da un resultado diferente al simple uso del algoritmo MD4.
Los datos del archivo se dividen en fragmentos completos de 9500 KiB (9728000 bytes) más un fragmento restante, y se calcula una suma de comprobación MD4 de 128 bits para cada uno. Si el archivo tiene más de 9500 KiB (lo que significa que hay más de un fragmento), el hash eD2k se calcula concatenando las sumas de comprobación MD4 de los fragmentos en orden y aplicando el resultado hash de nuevo utilizando MD4. De lo contrario, el hash MD4 del único fragmento del archivo se utiliza sin más modificaciones. [1]
Este método de hash permite al destinatario verificar que una lista de hash corresponde a un hash de archivo eD2k original, sin la necesidad de tener el archivo presente en el disco.
En el pasado, ha habido cierta ambigüedad para los archivos cuyo tamaño es un múltiplo del tamaño del fragmento (9500 KiB). Las versiones antiguas de algunas herramientas hash de eD2k calculaban archivos hash con un fragmento adicional de 0 bytes al final. Esto se debe a una ambigüedad del término resto del fragmento que se puede interpretar como el último fragmento o como un fragmento no completo al final . Siguiendo la última interpretación, algunas implementaciones agregaron un fragmento de cero bytes en caso de que el último fragmento de un archivo fuera completo. Sin embargo, esta práctica se desaconseja y la primera interpretación se usa como estándar hoy en día para evitar que algunos archivos tengan diferentes hashes dependiendo de la implementación del algoritmo utilizado para calcular su hash. [2]
El AICH (Advanced Intelligent Corruption Handling) es una extensión de emule . Subdivide el trozo de 9500 KiB en bloques de 180 KiB y construye un árbol merkel a partir de los hash SHA1 de los 53 bloques, de modo que el hash raíz de cada bloque se denomina hash de bloque . Los hash de bloque se introducen en un árbol de merkel, cuyo hash de raíz es el hash de raíz de AICH real. El tamaño de bloque más pequeño permite a los clientes de eMule identificar con mayor precisión las ubicaciones de corrupción. [3]
Un enlace de servidor es una referencia a un servidor eDonkey2000; al hacer clic en dicho enlace, normalmente se agrega a la lista de servidores. Los enlaces del servidor están indicados por el server
token al principio del enlace y tienen el siguiente formato:
ed2k: // | servidor | IP | PUERTO | /
Ejemplo:
ed2k: // | servidor | 207.44.222.51 | 4242 | /
CKnownFile::CreateFromFile
.