µtorrent - DHT?
Resuelto
kang59
Mensajes publicados
103
Estado
Miembro
-
verdy_p Mensajes publicados 214 Estado Miembro -
verdy_p Mensajes publicados 214 Estado Miembro -
Hola,
soy un recién llegado a este sitio, aunque ya lo conozco gracias a buscar información diversa y (y variada) en la red ^^.
Mi problema (siendo breve) :
he estado utilizando µtorrent desde hace un tiempo.
Hasta hoy no he tenido ningún problema, pero esta mañana, desde que se conectó, me muestra en la parte inferior "DHT en espera de identificación" o "DHT: 0 nodos (identificación)" y mi velocidad de descarga se ha reducido relativamente.
Sin embargo, no he cambiado nada en mi configuración de software y hardware...
(conexión por módem USB, ADSL 2M; Bitdefender 9 professionalplus con firewall integrado, permisos otorgados, puertos abiertos, etc...)
Mis preguntas son:
- ¿qué es DHT? He buscado por todas partes en el sitio y no he podido encontrar una definición o explicación.
- ¿cómo puedo solucionar mi problema?
¡Gracias de antemano por cualquier ayuda!Configuración: Windows XP Firefox 2.0.0.4
soy un recién llegado a este sitio, aunque ya lo conozco gracias a buscar información diversa y (y variada) en la red ^^.
Mi problema (siendo breve) :
he estado utilizando µtorrent desde hace un tiempo.
Hasta hoy no he tenido ningún problema, pero esta mañana, desde que se conectó, me muestra en la parte inferior "DHT en espera de identificación" o "DHT: 0 nodos (identificación)" y mi velocidad de descarga se ha reducido relativamente.
Sin embargo, no he cambiado nada en mi configuración de software y hardware...
(conexión por módem USB, ADSL 2M; Bitdefender 9 professionalplus con firewall integrado, permisos otorgados, puertos abiertos, etc...)
Mis preguntas son:
- ¿qué es DHT? He buscado por todas partes en el sitio y no he podido encontrar una definición o explicación.
- ¿cómo puedo solucionar mi problema?
¡Gracias de antemano por cualquier ayuda!Configuración: Windows XP Firefox 2.0.0.4
4 respuestas
copia del http://ww12.quebectorrent.com
Las tablas de hash distribuidas se utilizan en los protocolos Chord, protocolo P2P CAN, Tapestry, Kademlia (utilizado por eMule), Ares Galaxy. Sistema también utilizado en muchos clientes recientes para el protocolo BitTorrent como Azureus, Bitcomet o µTorrent (pronunciar Micro Torrent). El primer cliente BitTorrent en utilizar DHT fue Azureus, seguido del cliente oficial BitTorrent, eran dos versiones diferentes. La versión oficial fue entonces llamada Mainline DHT. A partir de ahora, la mayoría de los clientes soportan la versión Mainline DHT.
Principio [modificar]
Supongamos un gran número de usuarios (5 millones) que han lanzado su software P2P (Peer-to-Peer) en su ordenador. Cada uno comparte algunos archivos (películas en formato MPEG, imágenes, discos, etc.)
Un usuario (Luc) posee por ejemplo el álbum de música "Les idées saines de Serge Dassault" (disponible bajo licencia Creative Commons).
Supongamos que otro usuario (Pierre) desea descargar este álbum. ¿Cómo puede su software P2P encontrar el ordenador de Luc?
El software de Pierre podría eventualmente preguntar a los 5 millones de ordenadores si por casualidad poseen este álbum. El software de Luc respondería entonces: "Yo lo tengo y puedo empezar a transferirlo".
Sin embargo, sería muy lento preguntar a los 5 millones de ordenadores si tienen este álbum, ya que habría constantemente millones de preguntas: "Estoy buscando tal álbum, ¿lo tienes?", lo que conduciría a millones de respuestas: "No, lo siento".
Un gran directorio que archiva los nombres de los archivos compartidos por todos los usuarios resolvería la cuestión: simplemente habría que preguntar a este "gran directorio" (= la tabla de hash) por el álbum de música "Les idées saines de Serge Dassault" para obtener la respuesta: "está disponible en el ordenador de Luc (y el de Mathieu, de Paul, etc.)".
Las tablas de hash distribuidas se utilizan en los protocolos Chord, protocolo P2P CAN, Tapestry, Kademlia (utilizado por eMule), Ares Galaxy. Sistema también utilizado en muchos clientes recientes para el protocolo BitTorrent como Azureus, Bitcomet o µTorrent (pronunciar Micro Torrent). El primer cliente BitTorrent en utilizar DHT fue Azureus, seguido del cliente oficial BitTorrent, eran dos versiones diferentes. La versión oficial fue entonces llamada Mainline DHT. A partir de ahora, la mayoría de los clientes soportan la versión Mainline DHT.
Principio [modificar]
Supongamos un gran número de usuarios (5 millones) que han lanzado su software P2P (Peer-to-Peer) en su ordenador. Cada uno comparte algunos archivos (películas en formato MPEG, imágenes, discos, etc.)
Un usuario (Luc) posee por ejemplo el álbum de música "Les idées saines de Serge Dassault" (disponible bajo licencia Creative Commons).
Supongamos que otro usuario (Pierre) desea descargar este álbum. ¿Cómo puede su software P2P encontrar el ordenador de Luc?
El software de Pierre podría eventualmente preguntar a los 5 millones de ordenadores si por casualidad poseen este álbum. El software de Luc respondería entonces: "Yo lo tengo y puedo empezar a transferirlo".
Sin embargo, sería muy lento preguntar a los 5 millones de ordenadores si tienen este álbum, ya que habría constantemente millones de preguntas: "Estoy buscando tal álbum, ¿lo tienes?", lo que conduciría a millones de respuestas: "No, lo siento".
Un gran directorio que archiva los nombres de los archivos compartidos por todos los usuarios resolvería la cuestión: simplemente habría que preguntar a este "gran directorio" (= la tabla de hash) por el álbum de música "Les idées saines de Serge Dassault" para obtener la respuesta: "está disponible en el ordenador de Luc (y el de Mathieu, de Paul, etc.)".
Eric
El objetivo entonces es construir un grafo que permita interrogar de cerca en cerca (utilizando el conjunto de pares a los que estamos "conectados" (en general no más de 64) transmitiéndoles nuestras búsquedas de claves: el DHT está diseñado de tal manera que, después de que los pares hayan interrogado a sus propios pares DHT, habremos transmitido lo menos posible de búsquedas en duplicado hacia los mismos miembros del DHT global a través de diferentes caminos. Sin embargo, el DHT permite caminos múltiples (los miembros del DHT pueden desconectarse, volverse inaccesibles o estar sobrecargados). Por ello, crea un grafo global, muy sólido y estable que permite interrogar una red que contiene un montón de datos dispares. Un DHT en sí mismo no permite buscar un archivo específico, solo una huella digital: todos los pares conectados al DHT, finalmente, interrogarán a sus pares inmediatos para saber si conocen una huella: las respuestas serán devueltas directamente a quien la solicitó por el camino inverso (podemos tener una respuesta en duplicado a través de varios caminos, pero generalmente habrá pocas).
De este modo, tenemos una lista de hosts en Internet que conocen una clave y a las que podemos conectar para buscarla explícitamente: aquí se puede verificar, por ejemplo, una identidad real (realizar un intercambio de claves PKI, verificar firmas públicas, claves PGP, etc.), conectarse de manera segura una vez verificada la identidad, y luego pedir lo que realmente queríamos con la huella buscada en el DHT: el host dirá si realmente tiene lo que solicitábamos con esa huella anónima. También se puede utilizar el DHT para buscar un archivo no anónimo (solamente a través de su huella digital conocida y pública de su contenido: esto es lo que se utiliza para compartir archivos, por ejemplo, en Torrents donde generalmente se busca un archivo con una huella SHA1 pública y se verifica que realmente se tiene el archivo que queríamos una vez conectados, pidiendo una clave más larga pero más segura, como otra huella SHA512).
El DHT puede servir para muchas cosas, incluyendo consolidar una blockchain y evitar una toma de control y la fragmentación de la red en varias grandes islas y muchos islotes aislados, ya que sería muy complicado bloquear el 100% de Internet (en el peor de los casos, un país puede bloquear todas las direcciones de Internet de otros países para cortar los puentes y crear un islote, pero en realidad es muy difícil debido a las VPN y a los diversos medios de transmitir una dirección de enrutamiento o un servicio de mantenimiento permitiendo la interconexión, y hay muchos procedimientos de cifrado que impiden ver lo que hacemos en una conexión privada que transita por Internet a través de varios intermediarios dependiendo de la carga de los enrutadores, etc.).
Un DHT es, por lo tanto, bastante genérico. Con él se puede consolidar cualquier protocolo peer-to-peer, e incluso consolidar el enrutamiento de Internet mismo (los enlaces que permiten a varias redes distintas localizar un camino de enrutamiento a través de anuncios, que están ellos mismos firmados digitalmente): de hecho, Internet en sí, ya IPv4 por sí solo, es una red peer-to-peer, al igual que todo el sistema DNS (todo funciona mediante delegaciones de confianza y múltiples caminos posibles, destinados a consolidar la estructura de modo que si uno de los enlaces de la red falla, aún podamos encontrar rutas alternativas, evaluarlas y ver cuáles funcionan mejor, provocan la menor cantidad de duplicados de transmisión a través de los posibles caminos alternativos).
El concepto de DHT es, por lo tanto, muy valioso: es difícil romper la red y aislar partes de ella, ya que se pueden encontrar fácilmente otras rutas posibles. Y la red DHT se optimiza por sí sola (aunque el DHT no es muy rápido en responder: los caminos seguidos en las búsquedas del DHT realizan muchos "saltos", pero de hecho, 64 saltos recorridos cada uno en ~50 ms dan un tiempo de respuesta muy aceptable de poco más de 3 segundos para buscar algo valioso porque único en un conjunto de datos únicos que contienen millones (debería decir miles de millones de millones) de elementos muy diferentes de tipos diferentes conocidos en miles de millones de objetos conectados a la red, y esto requiere muy poco ancho de banda ya que no es necesario interrogar a los miles de millones de hosts de la red conectándose a cada uno, (lo que toma mucho más tiempo).
En principio, el DHT es, por lo tanto, mucho más rápido y fiable y no requiere ninguna sesión permanente (no es necesario TCP para interconectar sus pares: las consultas se realizan con datagramas aislados muy pequeños: los miembros del DHT que reciben un datagrama pueden ignorarlo directamente sin hacer nada más si este datagrama no "coincide" lo suficiente en bits con las claves únicas buscadas, y si responden, no necesitan esperar un acuse de recepción por parte de quien buscaba la clave; sin embargo, pueden responder varias veces a una búsqueda si una respuesta se ha perdido en el camino y si las reiteraciones del mismo par del DHT no son demasiado frecuentes, por ejemplo, con un mínimo de 30 segundos a 1 minuto antes de retransmitir la misma respuesta).
Sobre la base de un DHT, por lo tanto, se puede construir incluso un protocolo tan fiable como TCP, con muy buenas garantías de entrega, incluso a través de una red gigante muy inestable y muy heterogénea en velocidad y capacidad de sus conexiones individuales. El DHT en sí mismo no requiere criptografía, cualquiera puede entrar (incluso un pirata que quiera sabotearlo no lo hará; por el contrario, lo reforzará y no es necesario saber "con quién hablamos" en un DHT; toda mentira termina por aislar y relegar lejos en la red a quien no respete las reglas normales que permiten construir el DHT: el DHT detecta fácilmente el "spoofing", por ejemplo, es decir, ataques de tipo "hombre en el medio" porque obliga a cada miembro a respetar los más altos grados y, si no, se verá relegado a mayor distancia y se volverá rápidamente más inaccesible e inutilizado: el DHT requiere confianza, pero ante todo impone la honestidad, lo cual no es fácil de hacer con un P2P tradicional, incluso con los protocolos de enrutamiento IP y anuncios de posibles enrutamientos donde alguien aún puede desviar fácilmente tráfico y "silenciar" ciertas partes de la red IP).
El DHT es un excelente ladrillo en términos de eficiencia, es muy económico. Se puede hacer un DHT conectado tanto en IPv4 como en IPv6 o cualquier otro protocolo, se encontrará siempre un intermediario que comprenda y adapte los protocolos (aunque el DHT normalmente está diseñado para conectarse en modo "datagrama", generalmente UDP, puede tener ciertos pares utilizando tránsitos fiables como TCP, o un puerto serie, un hub USB, un bus PCI, direcciones de memoria compartida de un host, importa poco, el DHT funciona en una red muy heterogénea).