¿Qué es? Descripción del funcionamiento de DHT. Cómo funciona el protocolo BitTorrent


¿Alguna vez has pensado en buscar métodos “criminales”? Activación de Windows 10? Puedo complacerte, Microsoft se ha encargado de esto. Al parecer, se dieron cuenta de que era inútil y que no había fuerzas para luchar contra los piratas informáticos que constantemente pirateaban los sistemas operativos de la empresa. Por tanto, la empresa tomó un camino diferente. Microsoft empresa en el nuevo Sistema operativo Windows 10 lo ha hecho de uso gratuito, pero por supuesto con algunas limitaciones. La empresa con sede en Redmond permite a cualquiera descargar Windows 10 de forma gratuita e instalar el sistema sin una clave de producto. Quiero decirle cómo hacer esto y darle algunos consejos sobre cómo sortear algunas de las restricciones.

¿Cómo descargar Windows 10 e instalarlo sin clave de activación?

Necesitaremos una imagen ISO del propio Windows 10. Puede descargarla directamente desde Microsoft y ni siquiera necesita una clave de producto para descargar una copia del sistema https://www.microsoft.com/uk-ua. /descarga-de-software/windows10. Utilidad multimedia Herramienta de creación ayudará con esto.

Para crear medios, seleccione "Crear" medios de instalación para otra computadora" y haga clic en "Siguiente".

Elegimos un idioma, por supuesto Windows 10 Pro (camina, camina) y arquitectura, preferiblemente x64.

Luego seleccione el medio en el que se escribirán los archivos de instalación. Si selecciona un archivo ISO, deberá especificar una ubicación para guardarlo, si es una unidad flash, luego seleccione el dispositivo apropiado. Se eliminarán todos los datos de la unidad flash. En unos minutos tendrás descargada la versión oficial imagen de Windows 10.

Si está listo, simplemente inicie el proceso de instalación. Siguiendo las sencillas indicaciones del sistema, instalará Windows 10 como de costumbre. Una de las primeras pantallas que verá es Activar Windows, que le pedirá que ingrese su clave de producto. Sin embargo, simplemente puede hacer clic en la opción "No tengo una clave de producto" en la parte inferior de la ventana y Windows le permitirá continuar con el proceso de instalación. Es posible que se le solicite que ingrese su clave de producto más adelante en el proceso de instalación, pero omitirá este paso.

Un poco más y Windows 10 se instalará exitosamente en su dispositivo.

¿Qué le pasa a este Windows 10?

Una vez que haya instalado Windows 10 sin clave, en realidad no se activará. Sin embargo, no existen restricciones especiales sobre el uso de Windows 10 no activado. Desde los días de Windows XP, Microsoft ha utilizado la famosa herramienta de autenticación de clave de activación Windows Genuine Advantage (WGA). ). Parece que en Windows 10 la empresa abandonó su uso y lo limitó únicamente a métodos cosméticos.

Desde el principio apenas lo notarás. Todo funciona, todo está actualizado, todo está instalado, todo funciona. Con el tiempo, verá una marca de agua de advertencia en la esquina inferior derecha que necesita para activar su versión de Windows 10. No se puede eliminar ni recortar. Pero para muchos, es poco probable que interfiera con su trabajo, y mucho menos los distraiga.

Si decide ir a Configuración, será recibido en la parte inferior con el mensaje “Windows no está activado. Activa Windows."

No creo que mucha gente mire aquí con frecuencia y esta inscripción de alguna manera le molestará. Si hace clic en la inscripción, comprenderá la esencia de la segunda limitación de Windows 10 no activado.

Se trata de la capacidad de cambiar la interfaz y apariencia Escritorio y pantalla de bloqueo. No podrás cambiar el protector de pantalla del escritorio,

seleccione el color principal del sistema y la barra de tareas. Todos los botones están simplemente inactivos.

Tampoco podrá cambiar la imagen de la pantalla de bloqueo, establecer configuraciones de sonido, configuraciones del mouse o colocar íconos arbitrariamente en el escritorio. Es decir, el propio sistema decidirá qué etiqueta se puede colocar y dónde. Algunos ni siquiera se pueden crear, por ejemplo Mi PC.

¿Cómo entonces? Resulta que hay una solución al problema y es muy sencilla. Para evitar estas restricciones, simplemente necesita apagar su conexión de red a Internet. Entonces tendrás acceso a Personalización. Puedes cambiar todo: fondo de pantalla, temas, cargar tu propia imagen en la pantalla de bloqueo, cambiar la configuración de sonido y mouse, incluso colocar accesos directos a tu discreción. Luego enciendes Internet y verás que el sistema no soluciona nada.

Pero habrá una forma más de cambiar. imagen de fondo De oficina. Para hacer esto, seleccione una imagen de su colección en su PC, haga clic con el botón derecho del mouse y verá la conocida función "Crear". imagen de fondo de oficina." Esta función no se bloqueó ni siquiera en Windows 10 no activado.

Más allá de estas limitaciones, su sistema funcionará normalmente. Eso sí, de vez en cuando te pedirá que la actives; no podrás desactivar la configuración de privacidad; Pero no pagarás ni un centavo.

¿Qué pasa si todavía quiero activar mi Windows 10?

Es posible que con el tiempo quieras activar el Windows 10 que te guste. Microsoft se ha encargado de esto. Si miras el punto Activación, encontrará aquí la opción de ingresar su clave de producto si tiene una, o simplemente comprar una versión con licencia de Windows 10 en la Tienda.

Por cierto, la versión con licencia. ventanas profesionales en la Tienda ahora cuesta 4599 UAH. En Ucrania y 13.900 rublos en Rusia.

Parece que el deseo de atraer la máxima atención hacia Windows 10 tiene un lugar especial en la estrategia de Microsoft. Quizás tengan razón, porque si no puedes derrotar al enemigo (hackers), dirígelo. Probablemente sean bastante buenos en eso.

Un nuevo rumor circula por Internet. El de la Sección 7(b) del Acuerdo de Uso servicios de microsoft. Dice:

A veces, para continuar usando los Servicios, necesitará actualizar software. Es posible que verifiquemos automáticamente su versión de software y descarguemos actualizaciones de software o cambios de configuración, incluidos aquellos que le impiden acceder a los Servicios, jugar juegos pirateados o usar dispositivos no autorizados. periféricos. También es posible que deba actualizar su software para continuar utilizando los Servicios. Dichas actualizaciones están sujetas a estos Términos a menos que vayan acompañadas de otros términos. En tal caso, se aplicarán dichos otros términos y condiciones. Microsoft no está obligado a proporcionar actualizaciones y no garantiza soporte para la versión del sistema en el que se licencia el software. Es posible que dichas actualizaciones no sean compatibles con software o servicios de terceros. Puede revocar su consentimiento para recibir futuras actualizaciones de software en cualquier momento desinstalando el software.

La fuente de esta "historia" parece estar en el sitio web de Alphr, que afirma que "Redmond puede desactivar sus juegos pirateados y dispositivos liberados" y que "Microsoft ha integrado DRM directamente en núcleo de Windows 10"
¿Qué quiere decir esto? No, guarden sus sombreros de papel de aluminio. Esto no sirve para una historia, especialmente una nueva.

¿No es esto nuevo?

Bueno, está escrito justo en la parte superior:
Fecha de publicación: 4 de junio de 2015
En vigor: 1 de agosto de 2015

¿Qué tipo de acuerdos, declaraciones, etc.?

Términos del acuerdo de licencia de Microsoft: se aplica específicamente a Windows (10)
Declaración de privacidad de Microsoft: se aplica a todos los productos de Microsoft
Acuerdo de Servicios de Microsoft: Se aplica a aquellos productos cubiertos por el Acuerdo.

¿Se aplica el Acuerdo de servicios de Microsoft a Windows 10?

El Acuerdo de Servicios de Microsoft no se aplica a Windows 10
Esto está escrito en la Sección 1.b(i) - Términos adicionales Acuerdo de licencia con Microsoft que acepta durante Instalaciones de Windows 10:
Algunas aplicaciones de Windows brindan acceso a servicios en línea o dependen de ellos, y el uso de estos servicios en línea a veces está sujeto a términos y políticas de privacidad separados, como el Acuerdo de servicios de Microsoft publicado en el sitio web (aka.ms/msa). Puede revisar estos términos y políticas en los términos de servicio o en la configuración de la aplicación (según corresponda). Es posible que los servicios no estén disponibles en determinadas regiones.

Ahora compare y vea la diferencia con la Declaración de privacidad de Microsoft analizada en la Sección 3: Confidencialidad. Consentimiento para el uso de datos.
Su privacidad es importante para nosotros. Algunos componentes de software le permiten enviar o recibir datos cuando los usa. Muchos de estos componentes se pueden desactivar en interfaz de usuario o no utilizarlos en absoluto. Al aceptar los términos de este acuerdo y utilizar el software, usted acepta que Microsoft pueda recopilar, usar y divulgar información como se describe en la Declaración de privacidad de Microsoft (aka.ms/privacy) y como se puede describir en la interfaz de usuario asociada con los componentes de software. .

El Acuerdo de servicios de Microsoft al final enumera los servicios a los que se aplican los términos de uso. Windows 10 no está en esta lista.
Estos términos y condiciones (“Términos”) rigen el uso que usted haga de los productos, sitios web y servicios de consumo de Microsoft enumerados aquí (“Servicios”). Muchos de estos productos se regían anteriormente por términos separados con diferentes nombres, como "Términos de servicio de Xbox Live" o "Términos de uso". usando skype" Estos Términos reemplazan estos condiciones separadas. Usted acepta estos Términos al crear una cuenta. entrada de microsoft o cuenta de Skype al usar los Servicios o continuar usando los Servicios después de que se le haya notificado un cambio en estos Términos.

¿Qué significa entonces el artículo 7(b)?

Esto es lo que veo en la lista de servicios:

Creo que está claro que la Sección 7(b) habla de "juegos pirateados" y "periféricos no autorizados" porque fue escrita en relación con plataforma de juegos Microsoft y propiedad intelectual relacionada en Xbox y Windows.

Curiosamente, la lista actual de servicios ni siquiera menciona Tienda Windows, aunque así se establece en el artículo 14(b).

DHT en BitTorrent se utiliza para encontrar nuevos participantes para compartir archivos.

Al conectarse a la red DHT BT, el cliente establece conexiones con varios otros clientes (nodos de red) y él mismo se convierte en el siguiente nodo de esta red.

Para buscar pares, el cliente envía el torrent del archivo que necesita a sus vecinos en la red infohash. Preguntan a sus vecinos, y preguntan a sus vecinos, y así, al cabo de un tiempo, si es posible, encuentran otros participantes en la distribución de este torrent.

DHT está disponible en los clientes BitTorrent (oficial), µTorrent, BitSpirit, BitComet y también (incompatible con todos los demás) Azureus.

En un sentido más general, DHT significa Sistema Distribuido Descentralizado para Conectar gran cantidad Nodos que desaparecen y aparecen constantemente y una transmisión eficiente de mensajes entre ellos. Basado en estructuras DHT, puedes construir más sistemas complejos, como el intercambio de archivos P2P, el almacenamiento en caché web cooperativo, servicios DNS etc.

La implementación DHT de BT se basa en una variante de DHT llamada Kademlia y utiliza el protocolo UDP.

PEX

PEX (Peer Exchange) es el intercambio de listas de pares entre participantes de una misma distribución de BT.

Mientras que DHT en realidad forma una red independiente del protocolo BT, PEX es mucho más simple: es mensajes adicionales entre clientes ya conectados mediante el protocolo BT.

PEX sólo puede ser auxiliar recibir pares, aunque solo sea porque no puede ayudar a nuevos participantes a conectarse a la distribución.

PEX está disponible en los clientes Azureus, BitComet, µTorrent y BitTornado, y cada cliente tiene su propia versión, por lo que sólo clientes idénticos utilizan PEX entre sí.

Funciones

    Tanto DHT como PEX realizan la función principal de un rastreador: ayudan a los participantes que comparten archivos a conocerse unos a otros. Ellos:
  • Reduzca la carga en el rastreador: es menos probable que algunos clientes, que reciben pares a través de DHT o PEX, soliciten una lista de pares en el rastreador.
  • mantiene a los participantes juntos durante los períodos en los que el rastreador no está disponible temporalmente

Además, DHT se puede utilizar como única fuente de información sobre otros participantes, si el archivo torrent se creó inmediatamente sin un rastreador (sin rastreador).

DHT/PEX y seguidores cerrados

En los rastreadores abiertos, donde cualquiera puede descargar un torrent y participar en la siembra, las funciones DHT y PEX benefician a todos los participantes.

Para los rastreadores cerrados, es principalmente importante que solo los usuarios registrados puedan participar en las distribuciones y que sigan ciertas reglas.

Cuando un cliente contacta con él por primera vez, el rastreador cerrado tiene la capacidad de impedirle participar en la distribución, simplemente no diciéndole las direcciones de otros clientes participantes. Por lo tanto, es importante para un rastreador cerrado que los clientes no reciban estas direcciones a través de DHT/PEX.

clave privada

DHT y PEX aparecieron en los clientes de Azureus y BitComet alrededor del verano de 2005. Los administradores de muchos rastreadores cerrados no estaban contentos con esta nueva funcionalidad y, por lo tanto, comenzaron a prohibir estas nuevas versiones de clientes en el rastreador.

Entonces los desarrolladores del cliente sugirieron nueva clave dentro del archivo torrent: privado. Si es igual a 1, entonces el cliente está obligado a desactivar automáticamente DHT/PEX para este torrent, independientemente de los deseos del usuario.

Los rastreadores privados correctamente configurados insertan a la fuerza private:1 en todos los torrents publicados en el rastreador y también prohíben varios versiones obsoletas clientes (que tienen DHT o PEX, pero aún no conocen la clave privada).

Los usuarios de Tracker simplemente no pueden usar DHT/PEX en distribuciones y no hay ningún problema.

Concepto erróneo sobre las estadísticas

A veces existe la opinión de que DHT habilitado en el cliente afecta de alguna manera el registro de las estadísticas del cliente, por ejemplo, "distribuidas a través de DHT, lo que significa que las estadísticas pasaron por el rastreador". Esto es incorrecto:

  1. el cliente informa estadísticas solo al rastreador, no se calcula ninguna estadística a través de DHT/PEX
  2. el cliente informa al rastreador datos resumidos sobre los volúmenes de contenido descargado y cargado a todos los compañeros con los que me comuniqué, independientemente de si el cliente conoció a pares individuales a través de un rastreador, DHT o PEX, o si ese par incluso inició la conexión por sí mismo. Es decir, incluso si aparecen usuarios fraudulentos en la distribución debido a DHT/PEX, el cliente seguirá informando al rastreador todo lo que han descargado y regalado.

La contabilidad correcta de las estadísticas depende únicamente del estado del rastreador: el rastreador está funcionando, las estadísticas se tienen en cuenta, si no funciona, no se tienen en cuenta. Sólo si el rastreador no funciona durante mucho tiempo se puede reproducir DHT/PEX. indirecto papel, no permitiendo que el intercambio de archivos desaparezca gradualmente en esa “distribución sin tener en cuenta las estadísticas”.

  1. Además, los usuarios a menudo simplemente olvidan que en su rastreador cerrado todos los torrents son privados y, por lo tanto, en principio, DHT/PEX no se utiliza en las distribuciones.

Si se debe desactivar DHT

Por supuesto, debes desactivar DHT en los dos casos siguientes:

1) Estás descargando desde un rastreador cerrado con un sistema de clave de acceso, donde los administradores no quieren o no saben cómo hacer que todos los torrents sean privados. El hecho es que a través de DHT, los usuarios pueden descubrir la clave de acceso de otros usuarios, y los usuarios deshonestos pueden usar las claves de acceso de otras personas para descargarlas bajo la de otra persona. cuenta.

2) Descargas solo desde los rastreadores cerrados correctos. Si habilita DHT en el cliente, resulta que el cliente se conecta a la red DHT, gasta tráfico en ella, pero no usa DHT para ninguna distribución.

BitTorrent- (literalmente "flujo de bits") es un protocolo P2P diseñado para intercambiar archivos a través de Internet. BitTorrent fue creado por el programador Bram Cohen.

Terminología

Leecher y su enjambre.

  • Anuncio(anuncio): el cliente se pone en contacto con el rastreador. Con cada anuncio, el cliente transmite al rastreador información sobre los volúmenes de contenido descargado y cargado, y el rastreador transmite al cliente una lista de direcciones de otros clientes. El cliente contacta al rastreador en ciertos intervalos de tiempo, que están determinados por la configuración del cliente y del rastreador.
  • semilla web- Un servidor HTTP que se puede utilizar como fuente de datos, actuando como semilla.
  • Disponibilidad(disponibilidad, copias distribuidas - copias distribuidas) - cantidad copias completas archivo, disponible para el cliente. Cada semilla suma 1,0 a este número; Los leechers aumentan la disponibilidad según la cantidad de descargas, algo que otros leechers no tienen. Por ejemplo, si hay una semilla y dos leechers en la distribución, cada uno de los cuales ha descargado el 50% del archivo (las partes descargadas son iguales), entonces la disponibilidad es 1,50.
  • estancado(ahogado - estancado, estrangulado): un cliente cuyo intercambio de datos se ha estancado. O su canal de salida está completamente obstruido y no puede transmitir nada (alcanzó max_uploads), o está semilla y no necesita recibir nada.
  • Interesado(interesado): un participante que desea recibir fragmentos de un archivo que tiene otro participante. Por ejemplo, si el cliente A no tiene algunas piezas que tiene el cliente B, se considera que el cliente A está interesado en comerciar con el cliente B.
  • Índice(índice) es una lista de archivos .torrent (que generalmente incluyen descripciones y otra información) administrados por un sitio web ( indexador) y buscable. El sitio de indexación también puede ser un rastreador.
  • Liche, A veces sanguijuela(sanguijuela - sanguijuela): un par que aún no tiene todos los segmentos, es decir, continúa descargándose. El término se utiliza a menudo en el sentido negativo que tiene en otras redes de intercambio de archivos: un usuario que sube mucho menos de lo que descarga.
  • torrente envenenado- una situación en la que algunos pares distribuyen segmentos dañados.
  • Banquete(compañero - cómplice): un cliente que participa en la distribución.
  • Cruza los dedos, Solicitud de raspado(raspar - raspar, rayar) - un proceso similar anuncio, pero el cliente solo solicita estadísticas de torrent, información sobre los clientes conectados y la posibilidad de contactarlos para realizar intercambios.
  • descuidando(desairado): un cliente conectado al destinatario, pero no le ha enviado datos durante más de 60 segundos.
  • Donar(siembra): el proceso de distribución de un archivo utilizando el protocolo BitTorrent.
  • Clasificación(proporción de participación): la proporción de cargadas y descargadas.
  • roy(enjambre): la colección de todos los pares que participan en la distribución.
  • Segmento, Parte(parte - parte): todos los archivos a transferir se dividen en pequeñas partes, segmentos, que luego se transmiten a través de la red en orden aleatorio para optimizar el intercambio.
  • sid, A veces sidra(sembrador - sembrador): un par que tiene todos los segmentos del archivo distribuido, es decir, el distribuidor inicial del archivo o uno que ya ha descargado el archivo completo y permanece para su distribución.
  • Súper siembra|Súper semilla - modo especial sembrando en algunos clientes BitTorrent, tratando de minimizar la cantidad de datos que el sembrador proporcionará antes de que aparezca el primer descargador. Superseed ofrece a cada par descargar solo un segmento del archivo, que otros pares aún no tienen. Luego, la semilla no le da más segmentos a este par hasta que recibe la confirmación de otros pares de que también han recibido este segmento. Por lo tanto, la superseed intenta evitar regalar los mismos segmentos una y otra vez, y trata de dar segmentos sólo a pares que los están transmitiendo activamente a otros.
  • Picadillo(hash) es una cadena de caracteres alfanuméricos en un archivo .torrent que los clientes utilizan para verificar los datos transmitidos. Cada pieza, al recibirla, primero se verifica para determinar si coincide con el hash. Si la verificación falla, los datos se descartan y se solicitan nuevamente.
  • Llave maestra- autenticador de usuario en rastreadores no anónimos. Contenido en el archivo torrent descargable. De esta manera, si alguien obtiene acceso a un archivo torrent (por ejemplo, un usuario lo compartió sin darse cuenta), podrá trabajar con el rastreador en nombre de ese usuario. El rastreador puede cambiar la clave de acceso a petición del usuario, pero en este caso será necesario descargar todos los archivos torrent anteriores (o editarlos manualmente) para poder continuar distribuyendo los archivos descargados.
  • URL del anuncio(URL de anuncio): la dirección del rastreador al que el cliente realiza un anuncio. En muchos clientes se le llama “URL de seguimiento”. Puede incluir una "clave de acceso": un código único asignado por el rastreador a la cuenta del usuario, que ayuda a identificarlo en el rastreador (agregado a la URL del anuncio en el archivo *.torrent durante la descarga).

Características generales

Sin colas para descargar.
- Los archivos se descargan en pequeños segmentos; Cuanto menos accesible sea un segmento, más a menudo se transmitirá. Así, la presencia de una “sembradora” en la red con archivo completo no es necesario para la descarga: el sistema distribuye segmentos entre "pares" para que posteriormente puedan intercambiar los segmentos faltantes.
- Los clientes (pares) intercambian segmentos directamente entre sí, según el principio "tú - para mí, yo - para ti".
- Los segmentos cargados quedan inmediatamente disponibles para otros clientes.
- Se monitorea la integridad de cada segmento.
- Varios archivos pueden actuar como objeto de descarga (por ejemplo, el contenido de un directorio).

Protocolos y puertos

Los clientes se conectan al rastreador mediante el protocolo TCP.

Los clientes se conectan entre sí mediante el protocolo TCP.

Los números de puerto no están fijos en la especificación del protocolo y se pueden cambiar si es necesario. Además, en en este momento la mayoría de los rastreadores usan regular puerto HTTP 80, y se recomienda que los clientes seleccionen un puerto entrante aleatorio.

La red DHT en los clientes BitTorrent utiliza protocolo UDP.

Más sobre DHT

DHT

DHT (tabla hash distribuida) es un protocolo que permite a los clientes bittorrent encontrarse entre sí sin utilizar un rastreador.

Los clientes con soporte DHT forman una red DHT común y se ayudan mutuamente a encontrar participantes en las mismas distribuciones.

La compatibilidad con DHT está disponible en los clientes Mainline, µTorrent, KTorrent, BitSpirit y BitComet. Azureus tiene su propia implementación DHT, lo que significa que los clientes de Azureus forman su propia red DHT independiente.

PEX

PEX (intercambio entre pares) es una extensión del protocolo BT para intercambiar listas de participantes.

PEX se implementa como mensajes adicionales entre clientes ya conectados para intercambiar segmentos de archivos utilizando el protocolo BT habitual.

A diferencia del rastreador y DHT, PEX solo puede ser un medio auxiliar para obtener pares, ya que no puede ayudar a que nuevos pares se conecten a la distribución.

PEX está disponible en los clientes Azureus, BitComet, µTorrent y BitTornado, y cada cliente lo implementa de forma diferente, por lo que sólo clientes idénticos pueden utilizar PEX. Desde la versión 3, Azureus (Vuze) puede intercambiar PEX con uTorrent y BitTorrent.

Funciones

Tanto DHT como PEX realizan la función principal de un rastreador: ayudan a los participantes que comparten archivos a conocerse unos a otros. Ellos pueden:

1. Ayude a los participantes a encontrarse más rápido

Por ejemplo, hay un par X con puerto inaccesible. El par Z se conecta a la distribución, pero no puede iniciar una conexión con X por sí solo y se ve obligado a esperar hasta que X se entere por sí mismo. X acaba de acceder al rastreador y planea hacerlo la próxima vez en una hora.

Pero el par Y vuelve a recurrir al rastreador y descubre la existencia del nuevo par Z. Al mismo tiempo, el propio Y ha estado conectado durante mucho tiempo y comparte archivos con X, por lo que le dice a X la dirección de este nuevo par a través de PEX. Ahora X puede comenzar a conectarse a Z.

2. Reducir la carga en el rastreador.

Es menos probable que algunos clientes, por ejemplo Azureus, que reciben direcciones de pares a través de DHT o PEX, soliciten una lista de pares en el rastreador.

3. Mantenga a los participantes juntos durante los períodos en que el rastreador no esté disponible.

Se sabe que si el rastreador está la única fuente información sobre sus pares, luego, si no funciona, la distribución se detiene gradualmente. Los clientes ya lo recuerdan listas famosas direcciones de otros pares, pero gradualmente estas listas se vuelven obsoletas: algunos usuarios se desconectan de la distribución, algunos cambian su dirección IP y los nuevos usuarios no pueden conectarse a la distribución en absoluto.

PEX le permite ralentizar un poco el proceso de desintegración del enjambre de participantes, y DHT le permite reemplazar completamente el rastreador, es decir, incluso nuevos participantes pueden conectarse a la distribución.

4. DHT permite la distribución sin ningún rastreador

Esta distribución se llama trackerless. Se crea un torrent sin una dirección de seguimiento y los clientes se encuentran a través de la red DHT.

Al participar en distribuciones BT sin rastreador, los clientes adquieren cierta similitud con eMule, que utiliza la red KAD.

Cómo funciona la DHT

La implementación de red distribuida en clientes BT se basa en una variante de DHT llamada Kademlia. En términos generales, DHT (tabla hash distribuida) significa un sistema distribuido descentralizado para combinar una gran cantidad de nodos que aparecen y desaparecen constantemente y transmitir mensajes de manera eficiente entre ellos. Sobre la base de estructuras DHT, se construyen varios sistemas más complejos, como el intercambio de archivos P2P, el almacenamiento en caché web cooperativo, los servicios DNS, etc.

DHT utiliza el protocolo UDP. Los clientes BT escuchan en el mismo número de puerto UDP que utilizan para las conexiones TCP entrantes. Si está utilizando DHT activamente, entonces es deseable abrir este puerto UDP para acceder desde el exterior, pero no es necesario: DHT funcionará así.

Cada cliente BT conectado es un nodo independiente en la red DHT. Tiene su propio ID (identificador) único, seleccionado aleatoriamente del mismo espacio de 160 bits que los infohashes de torrent.

Cada nodo mantiene una tabla de enrutamiento que contiene Información del contacto sobre muchos nodos "más cercanos" a él y sobre varios más distantes. La "cercanía" de dos nodos se calcula a partir de la "similitud" de sus ID y no tiene nada que ver con su proximidad geográfica. Cuando un nodo quiere encontrar pares para una distribución particular, compara el infohash de esa distribución con los ID de los nodos que conoce y luego envía una solicitud al nodo cuyo ID es más similar a este infohash. Ese nodo le devuelve la dirección del nodo cuyo ID está aún más cerca del infohash del torrent.

Luego nuestro nodo envía una solicitud a ese nuevo nodo y recibe de él la dirección del siguiente nodo, cuyo ID es aún más similar al infohash del torrent.

Por lo tanto, las solicitudes de los clientes que participan en la distribución de un torrent con un determinado infohash acuden gradualmente a los nodos cuyos ID son más similares a este infohash. Estos nodos recuerdan solicitudes anteriores y todos los nodos solicitantes posteriores devolverán las direcciones de pares anteriores de la misma distribución.

clave privada

En los rastreadores públicos (abiertos), donde cualquiera puede descargar un torrent y participar en la distribución, DHT y PEX sirven para beneficio de todos los participantes.

Para los rastreadores privados (cerrados), lo primero que es importante es que sólo los usuarios registrados puedan participar en las distribuciones y que sigan ciertas reglas. Cuando un cliente contacta con él por primera vez, el rastreador privado tiene la capacidad de impedirle participar en la distribución, simplemente no diciéndole las direcciones de otros clientes participantes. Por lo tanto, es importante para un rastreador cerrado que los clientes no reciban estas direcciones a través de DHT/PEX.

DHT y PEX aparecieron en los clientes de Azureus y BitComet alrededor del verano de 2005. Los administradores de muchos rastreadores privados no estaban contentos con esta nueva funcionalidad y, por lo tanto, comenzaron a prohibir estas nuevas versiones de clientes en el rastreador.

Luego, los desarrolladores del cliente propusieron una nueva clave dentro del archivo torrent: privada. Si es igual a 1, entonces el cliente está obligado a desactivar automáticamente DHT/PEX para este torrent, independientemente de los deseos del usuario. Este torrente se llama Secure Torrent.

Casi todos los rastreadores privados modernos fuerzan private:1 en todos los torrents publicados en el rastreador y también prohíben varias versiones obsoletas de clientes que admiten DHT o PEX, pero que aún no conocen la clave privada. Los usuarios de Tracker simplemente no pueden usar DHT/PEX en distribuciones y no hay ningún problema.

Tenga en cuenta que la presencia de una clave privada cambia el infohash del torrent, por lo que eliminarla del archivo torrent es inútil: otros clientes aún no reconocerán el torrent modificado.

¿Debería usarlo?

  • Todos tus torrents son de rastreadores privados.

Si habilita DHT en el cliente, resulta que el cliente se conecta a la red DHT, gasta tráfico en ella, ayuda a otros clientes a encontrar los pares que necesitan, pero no usa DHT para sí mismo en ninguna distribución. Si no quiere desperdiciar tráfico adicional, probablemente sea mejor desactivar DHT en el cliente.

  • Estás descargando una distribución de un rastreador público.

Si el rastreador le devuelve muchos pares y hay suficientes para lograr buenas velocidades de descarga, entonces probablemente no necesite DHT/PEX. Si no, entonces vale la pena intentar habilitarlos (tanto en el cliente como en las propiedades de distribución), esto puede ayudarlo a encontrar más fuentes.

  • Descargas la distribución desde un rastreador privado sin una clave privada forzada

De los principales rastreadores en ruso a finales de 2006, este es torrents.ru. La capacidad de utilizar DHT/PEX en distribuciones en estos rastreadores se deja en manos de la distribución (creador de torrent).

En general, esta situación no puede considerarse normal, especialmente en rastreadores con sistema de clave de acceso. El hecho es que en los clientes BitComet y Azureus, a través de DHT, los usuarios pueden encontrar la clave de acceso de otros usuarios, y los usuarios deshonestos pueden usar la clave de acceso de otra persona para descargar con la cuenta de otra persona. Por lo tanto, al menos en estos clientes con dichos rastreadores, se recomienda desactivar DHT.

DHT y estadísticas

Esta sección se refiere solo a los rastreadores privados en los que la clave privada no se inserta a la fuerza en los torrents, y en algunas distribuciones (dependiendo de si el propio distribuidor insertó la clave privada en el torrent) puede usar DHT y PEX.

A menudo existe la opinión de que DHT habilitado en el cliente afecta el seguimiento de las estadísticas del cliente por parte del rastreador, por ejemplo, "distribuidas a través de DHT, lo que significa que las estadísticas pasaron por el rastreador". Esto no es cierto.

En primer lugar, DHT/PEX sólo se utiliza para obtener direcciones de pares. No se comparten archivos ni se contabilizan estadísticas sobre ellos. El cliente informa estadísticas de los datos descargados y cargados únicamente al rastreador.

Es decir, "distribuido a través de DHT" en realidad significa "Recibí información sobre algunos (o todos) mis pares a través de DHT, y probablemente algunos de mis pares también me encontraron a través de DHT".

En segundo lugar, aunque los clientes normalmente saben de dónde recibieron las direcciones de pares, ningún cliente separa el tráfico en “recibido/enviado a pares DHT” y “recibido/enviado a pares recibido del rastreador”. Incluso si el cliente quisiera hacer esto, sería difícil para el cliente hacerlo: algunos pares se pueden recibir tanto desde el rastreador como a través de DHT o PEX y, a menudo, el cliente no sabe cómo el par recibió su dirección. eso es iniciar la conexión con él.

El cliente informa al rastreador los datos totales sobre los volúmenes de lo que descargó y transfirió a todos los pares con los que se comunicó, independientemente de si el cliente conoció a pares individuales a través del rastreador, DHT o PEX, o si ese par incluso inició el conexión misma. Es decir, incluso si, debido a DHT/PEX, aparecen usuarios "izquierdos" (que no acceden al rastreador) en la distribución, el cliente seguirá informando al rastreador todo lo que han descargado y regalado.

La contabilidad correcta de las estadísticas depende únicamente del estado del rastreador: el rastreador está funcionando, las estadísticas se tienen en cuenta, si no funciona, no se tienen en cuenta. Sólo en el caso de un rastreador que no funciona durante mucho tiempo, DHT/PEX puede desempeñar un papel indirecto, evitando que el intercambio de archivos desaparezca gradualmente en dicha "distribución sin tener en cuenta las estadísticas".

Archivo de metadatos

Para cada archivo distribuido, se crea un archivo de metadatos con la extensión .torrent, que contiene la siguiente información:

  • URL del rastreador;
  • información general sobre el archivo cargado (nombre, longitud, etc.);
  • sumas de comprobación (más precisamente, sumas hash SHA1) de los segmentos del archivo descargado.

Los archivos de metadatos se pueden distribuir a través de cualquier canal de comunicación; por ejemplo, ellos (o los enlaces a ellos) pueden publicarse en servidores web, colocarse en las páginas de inicio de los usuarios de Internet, enviarse por correo electrónico, publicarse en blogs o fuentes de noticias RSS.

El cliente comienza la descarga al recibir de alguna manera un archivo con metadatos que contiene un enlace al rastreador.

Rastreador

Tracker (rastreador en inglés) es un servidor especializado que se ejecuta en protocolo HTTP. El rastreador es necesario para que los clientes puedan encontrarse entre sí. De hecho, el rastreador almacena direcciones IP, puertos entrantes del cliente y hashes que identifican de forma única los objetos involucrados en las descargas. Según el estándar, los nombres de los archivos no se almacenan en el rastreador y no se pueden descubrir mediante sumas hash. Sin embargo, en la práctica, un rastreador a menudo, además de su función principal, también realiza la función de un pequeño servidor web. Un servidor de este tipo almacena archivos de metadatos y descripciones de archivos distribuidos, proporciona estadísticas de descarga mediante diferentes archivos, muestra el número actual de pares conectados, etc.

Más sobre el rastreador

Rastreador de BitTorrent

BitTorrent tracker es un servidor web que coordina a los clientes BitTorrent.
Coordinación del cliente: la función principal del rastreador BitTorrent es procesar las solicitudes de los clientes.
Cada cliente contacta periódicamente al rastreador con una solicitud, que incluye:

  • info_hash: hash único del archivo torrent
  • puerto - puerto TCP, donde el cliente espera conexiones de otros clientes
  • la cantidad de datos que el cliente logró intercambiar con otros clientes
  • y alguna otra información.

Esta solicitud es un GET normal. solicitud HTTP, en el que la información se codifica mediante un protocolo especial Bencode.

Si hay varios archivos torrent activos abiertos en el cliente BitTorrent, entonces para cada uno solicitud separada, no conectado de ninguna manera con otros. Los intervalos entre solicitudes de cada torrent individual dependen de la configuración del cliente y suelen oscilar entre 30 y 60 minutos.

El rastreador BitTorrent, utilizando info_hash, compila listas de direcciones IP y puertos de clientes que participan en cada distribución individual. El rastreador devuelve dicha lista a cada cliente en respuesta a la siguiente solicitud, y el cliente la usa para establecer conexiones con otros clientes.

Papel del rastreador

Por lo tanto, el rastreador "conecta" a los clientes entre sí, pero no participa directamente en el intercambio de datos de archivos distribuidos. Además, en principio, el rastreador puede funcionar sin tener ninguna información sobre estos archivos, ya que los clientes sólo le dicen el info_hash.

El rastreador se considera un punto "débil" del sistema BitTorrent, ya que cuando está deshabilitado, los nuevos clientes simplemente no pueden "encontrarse" entre sí. Al mismo tiempo, los clientes que ya participan en la distribución pueden continuar compartiendo archivos durante algún tiempo, perdiendo gradualmente aquellos que se desconectaron o cuya dirección IP dinámica cambió.

Para resolver este problema, se pueden utilizar rastreadores de respaldo o un protocolo DHT especial sin rastreadores.

Funciones adicionales

La mayoría de las implementaciones de rastreadores, además de la coordinación con el cliente, también tienen funciones adicionales, disponible para los usuarios con navegadores a través de un servidor web normal, a menudo con una dirección o puerto diferente a la interfaz para las solicitudes de los clientes.

Por lo tanto, casi todos los rastreadores muestran estadísticas de distribución, es decir, el número de semillas y pares en cada distribución, el volumen total de datos transferidos entre clientes y otra información disponible para ellos.

Los rastreadores se utilizan a menudo para almacenar archivos torrent y sus descripciones.

Rastreadores privados

Un rastreador privado es un rastreador que restringe el acceso a los usuarios, generalmente exigiendo el registro de una cuenta.

Una de las razones de la aparición de rastreadores privados es la asimetría de los canales de acceso a Internet de los usuarios. Durante el tiempo de descarga de un torrent, el usuario medio consigue ceder a otros usuarios una pequeña parte de los datos, mientras que muchos usuarios, tras recibir el archivo deseado cierre inmediatamente el cliente torrent. Como resultado, la disponibilidad del torrent se reduce y se impone una carga excesivamente grande a los distribuidores originales del archivo.

Como regla general, los rastreadores privados registran estadísticas de cada usuario sobre la cantidad de datos "descargados" y "compartidos" por otros usuarios, y requieren mantener una proporción mínima de estas dos cantidades. Como resultado, la disponibilidad y la velocidad de descarga de torrents en un rastreador privado suele ser mayor que en uno público.

Para identificar las solicitudes del cliente (programa) del usuario, el rastreador utiliza la dirección IP del usuario o una clave de acceso única para cada usuario, que el rastreador agrega a la URL de anuncio del archivo torrent cuando el usuario lo descarga.

Implementaciones de rastreadores

Existen diferentes implementaciones de rastreadores, por ejemplo como servidor web independiente o como módulo para un tercero. Servidores HTTP(por ejemplo Apache), o en forma de motor de sitio web, escrito por ejemplo en PHP o JSP.

Trabajar sin rastreador

En nuevas versiones del protocolo se han desarrollado sistemas trackerless que solucionan algunos de los problemas anteriores. El fallo de un rastreador en estos sistemas no provoca automáticamente el fallo de toda la red.

A partir de la versión 4.2.0 del cliente oficial se ha implementado una función trackerless basada en el protocolo Kademlia. En tales sistemas, el rastreador está disponible de forma descentralizada, en los clientes, en forma de una tabla hash distribuida.

Por el momento, no todos los clientes utilizan un protocolo compatible entre sí. Compatible con BitComet, µTorrent, KTorrent y cliente oficial BitTorrent. Azureus también tiene un modo trackerless, pero su implementación difiere de la oficial, por lo que no puede funcionar vía DHT con los clientes anteriores.

Cómo funciona el protocolo BitTorrent

Antes de iniciar la descarga, el cliente se conecta al rastreador, le dice su dirección y la cantidad de hash del archivo solicitado, en respuesta, el cliente recibe las direcciones de otros clientes que descargan o distribuyen el mismo archivo. A continuación, el cliente informa periódicamente al rastreador sobre su progreso y recibe una lista actualizada de direcciones.

Los clientes se conectan entre sí e intercambian segmentos de archivos sin la participación directa del rastreador. Para trabajo eficiente La red BitTorrent necesita tantos clientes como sea posible para poder aceptar conexiones entrantes. La configuración incorrecta de NAT o firewall puede impedir esto.

Al conectarse, los clientes intercambian inmediatamente información sobre los segmentos que tienen. El cliente que quiere descargar el segmento envía una solicitud y, si el segundo cliente está listo para descargar, recibe este segmento. Después de esto el cliente comprueba suma de control segmento y notifica a todos los pares conectados sobre la presencia de este segmento.

Cada cliente tiene la posibilidad de bloquear temporalmente la devolución a otro cliente (estrangulamiento inglés). Esto se hace por más uso efectivo canal de retorno. Además, al elegir a quién desbloquear, se da preferencia a los pares que hayan transferido muchos segmentos a este cliente. Así, los compañeros con buenas velocidades los otorgamientos se animan mutuamente según el principio “tú - para mí, yo - para ti”.

Súper siembra

Súper semilla súper siembra) - un método implementado en aquellos clientes BitTorrent cuyos autores intentan minimizar la cantidad de datos antes de que se complete la primera descarga de un par. El método fue concebido por John Hoffman y se implementó por primera vez en el cliente BitTornado a mediados de 2003.

Una súper semilla es un cambio en el comportamiento de la sembradora y no se puede realizar sin romper el protocolo BitTorrent. Sin embargo, esto no lo afirma el desarrollador del protocolo, Bram Cohen, ni en el cliente oficial.

La súper semilla funciona cuando solo hay una semilla disponible. De hecho, obliga a los usuarios a compartir los datos descargados. Un cliente que ha entregado cualquier parte de un archivo a un participante deja de transferir datos hasta que encuentra una segunda copia de esta parte en la red. Dado que muchos participantes no pueden o no quieren poner los datos descargados a disposición de otros, la tasa de carga general cae. EN modo normal sin embargo, a diferencia de la súper semilla, todos siempre reciben la información solicitada, si está disponible, por lo que velocidad promedio transferencia de datos arriba.

La súper semilla es efectiva en distribuciones con un gran número balanceo. Con un grupo pequeño de personas (2-3 personas), sus clientes, por diversas razones, pueden negarse a establecer contacto entre sí. En este caso, la súper semilla habilitada obligará a los clientes a esperar hasta que los datos estén disponibles. Cuando el número de descargadores es grande (10-20 personas), basta con entregar cada parte del archivo solo una vez, luego los clientes podrán intercambiarlo entre ellos y cada uno de ellos recibirá el archivo completo.

Programas de cliente

Multiplataforma:

  • aria2: admite HTTP, FTP, BitTorrent; Archivos Metalink 3.0
  • Azureus - escrito en lenguaje java, por tanto es multiplataforma;
  • BitTornado es un cliente multiplataforma escrito en lenguaje pitón;
  • FoxTorrent - extensión del navegador Mozilla Firefox, que implementa las funciones de un cliente BitTorrent;
  • mlDonkey - cliente multiplataforma;
  • El navegador Opera admite la descarga de torrents a partir de la versión 9.0, pero su cliente de torrents es incompatible con muchos rastreadores.
  • TorrentFlux: escrito en PHP, se ejecuta en un servidor web remoto como un script PHP, lo que le permite no mantener su computadora encendida todo el tiempo, pero al mismo tiempo descargar y distribuir torrents.

Para sistemas tipo UNIX:

  • BTPD- cliente de consola para Unix/GNU+Linux, escrito en C++; funciona en modo demonio;
  • CTorrent es un cliente de consola para Unix/GNU+Linux, que dejó de desarrollarse en 2004;
  • Deluge es un cliente GNU/Linux escrito en Python; utiliza GTK;
  • KTorrent: utiliza la biblioteca Qt; funciona en el entorno KDE;
  • rTorrent - cliente de consola para UNIX/GNU+Linux, escrito en C++; utiliza bibliotecas ncurses y libTorrent;
  • Transmission es un cliente para Mac OS X, FreeBSD, OpenBSD, NetBSD, GNU/Linux y BeOS, utilizando GTK.

Para Windows y Windows NT:

  • BitComet;
  • FlashGet;
  • Hazlo bien.
  • Shareaza: admite el trabajo con varias redes para compartir archivos, incluido BitTorrent
  • XTorrent;
  • BitRocket

") es una clase de sistemas distribuidos descentralizados que proporcionan servicio de búsqueda, similar en principio a una tabla hash, y tiene una estructura: (nombre, valor), almacenada en el DHT, y cada nodo participante puede buscar racionalmente el valor asociado con un nombre determinado. La responsabilidad de mantener la asociación entre nombre y valor se comparte entre los nodos, por lo que cambiar el conjunto de participantes causa una interrupción mínima. Esto permite a DHT escalar fácilmente y monitorear constantemente la adición/eliminación de nodos y errores en su operación.

DHT es un marco que se puede utilizar para crear muchos servicios complejos, como servicios distribuidos. sistemas de archivos, sistemas de distribución de contenidos y de archivos peer-to-peer, caché web cooperativa, entrega de multidifusión, anycast, servicio y sistema de nombres de dominio mensajes instantáneos. Las principales redes distribuidas que utilizan DHT incluyen BitTorrent, la red eDonkey, YaCy y Coral Content Distribution Network.

Historia

La investigación en el campo de la DHT estuvo inicialmente motivada, en particular, por sistemas peer-to-peer como Napster, Gnutella, Freenet, que utilizaban recursos distribuidos en Internet para crear una única aplicación. En particular, utilizaron tecnología avanzada rendimiento y volumen disco duro para proporcionar un servicio de distribución de archivos. Estos sistemas difieren en cómo encontraron los datos de sus pares:

  • Napster tenía un servidor de índice central: cada nodo, después de unirse, debe enviar una lista de archivos almacenados localmente al servidor, que debe buscar y enviar una consulta a los nodos que contienen los resultados. Este componente central hizo que el sistema fuera vulnerable a ataques y riesgos.
  • Gnutella y redes similares avanzó hacia un modelo de consultas por inundación: básicamente, cada búsqueda daría como resultado el envío de un mensaje a cualquier máquina de la red. Si bien evitó fallas centralizadas, este método fue significativamente menos efectivo que Napster.
  • Finalmente, Freenet también se distribuyó completamente, pero el enrutamiento funciona según una clave heurística, en la que cada archivo tiene una clave asociada y los archivos con claves similares tienden a agruparse en un conjunto similar de nodos. Es probable que la solicitud se dirigiera a dichos grupos sin necesidad de sondear a todos los pares. Sin embargo, Freenet no puede garantizar que se encuentren los datos.

Los DHT utilizan un enrutamiento basado en claves más estructurado para lograr la descentralización de Gnutella y Freenet, así como la eficiencia y resultados garantizados de Napster. Una desventaja es que, al igual que Freenet, DHT solo admite búsquedas de concordancia exacta, no búsquedas de palabras clave, aunque estas capacidades se pueden superponer a DHT.

Propiedades

DHT se caracteriza por las siguientes propiedades:

  • descentralización: una forma de sistema de nodos colectivos sin coordinación;
  • capacidad de ampliación: el sistema funcionará con la misma eficacia con miles o millones de nodos;
  • Tolerancia a fallas: el sistema será igualmente confiable (en cierto sentido) con nodos conectándose, desconectándose y arrojando errores constantemente.

La técnica clave para lograr el objetivo es que cualquier nodo debe coordinarse con sólo unos pocos nodos en el sistema, típicamente O(log norte), Dónde norte- número de participantes (ver más abajo) - de modo que solo se realice una cantidad limitada de trabajo por cada cambio en el número de participantes.

Algunos proyectos DHT se esfuerzan por brindar protección contra usuarios malintencionados y permitir que los participantes permanezcan en el anonimato, aunque esto es menos común que muchos otros sistemas P2P (especialmente cuando se comparten archivos); ver P2P anónimo.

Finalmente, DHT tiene que lidiar con sistemas distribuidos más tradicionales, como el equilibrio de carga, la integridad de los datos y el rendimiento (en particular, garantizando que operaciones como el enrutamiento y el almacenamiento de datos o las búsquedas se completen rápidamente).

Estructura

La estructura de DHT se puede dividir en varios componentes principales. Se basa en un espacio de claves abstracto, como un conjunto de cadenas de 160 bits (el número de bits puede variar). Un esquema de partición del espacio de claves distribuye la propiedad de las claves entre los nodos participantes. Luego, la red superpuesta conecta los nodos para ayudar a encontrar al propietario de cualquier clave en el espacio de claves.

Cuando todos los componentes estén en su lugar, uso típico DHT para almacenar y recuperar información ocurre de la siguiente manera: Supongamos que el espacio de claves son cadenas de 160 bits. Para almacenar un archivo con un nombre e información determinados en el DHT, se encuentra un hash SHA1 del nombre del archivo, a partir del cual se genera una clave k de 160 bits, después de lo cual se genera un mensaje put(k, data) y se envía a cualquier nodo participante en el DHT. El mensaje va de un nodo a otro a través de la red superpuesta hasta llegar al único nodo responsable de la clave k, de acuerdo con el esquema de partición del espacio de claves, donde se almacena el par (k, datos). Cualquier otro cliente puede obtener el contenido del archivo generando una clave (k), recibiendo un hash del nombre del archivo, para encontrar los datos asociados a la clave enviando un mensaje get(k). El mensaje pasará nuevamente a través de la superposición hasta el nodo responsable de la clave, quien responderá que los datos necesarios están disponibles.

Los componentes clave de partición del espacio y red superpuesta se describen a continuación para presentar las ideas básicas comunes a la mayoría de los sistemas DHT. Muchos desarrollos difieren en detalles.

Partición del espacio de claves

Muchos DHT utilizan alguna variación de hash persistente para asignar claves a nodos. Este método incluye la función δ( k 1 ,k 2) que define el concepto abstracto de distancia entre claves k 1 y k 2, que no se aplica a la distancia geográfica ni a la latencia de la red. Cada nodo representa una única clave llamada identificador (ID). El nodo con ID j posee todas las claves para las cuales i es el ID más cercano, medido con δ.

Ejemplo." Chord DHT trata las teclas como puntos en un círculo y δ( k 1 ,k 2) hay una distancia que se recorre en el sentido de las agujas del reloj en un círculo desde la llave k 1k k 2. De esta forma, el círculo del espacio de claves se divide en segmentos contiguos, cuyos extremos son identificadores de nodos. Si i 1 y i 2 ID adyacentes, luego el nodo con ID i 2 contiene todas las claves que están entre i 1 y i 2 .

El hash consistente tiene la propiedad básica de que eliminar o agregar solo un conjunto de claves que pertenecen a nodos de ID adyacentes no afecta a otros nodos.

DHT y BitTorrent

Tanto DHT como PEX realizan la función principal de un rastreador BitTorrent: ayudan a los participantes que comparten archivos a conocerse unos a otros. Ellos pueden:

  • Ayude a los participantes a encontrarse más rápido
    Por ejemplo, hay un par X en distribución con un puerto no disponible. El par Z se une a la distribución, pero no puede iniciar una conexión con X por sí solo y se ve obligado a esperar hasta que X se entere. X acaba de acceder al rastreador y planea hacerlo la próxima vez en una hora.
    Pero el par Y vuelve a recurrir al rastreador y descubre la existencia del nuevo par Z. Al mismo tiempo, el propio Y ha estado conectado durante mucho tiempo y comparte archivos con X, por lo que le dice a X la dirección de este nuevo par a través de PEX. Ahora X puede comenzar a conectarse a Z.
  • Reducir la carga en el rastreador.
    Al recibir direcciones de pares a través de DHT o PEX, los clientes acceden al rastreador con menos frecuencia, lo que reduce la carga.
  • Apoyar la distribución durante los períodos de indisponibilidad del rastreador.
    Si el rastreador es la única fuente de información sobre los pares, si no funciona, la distribución se detendrá gradualmente. Al utilizar PEX, los clientes pueden intercambiar información entre sí sobre los pares con los que han tenido sesiones, lo que ralentiza el proceso de detener la semilla. DHT le permite reemplazar completamente el rastreador.
  • DHT permite la distribución sin rastreador
    Esta distribución se llama sin rastreador. Se crea un torrent sin una dirección de seguimiento y los clientes se encuentran a través de DHT. Al participar en distribuciones trackerless, los clientes BitTorrent adquieren cierta similitud con eMule, que utiliza la red Kad.

clave privada

En los rastreadores públicos (abiertos), donde cualquiera puede descargar un torrent y participar en la distribución, DHT y PEX sirven para beneficio de todos los participantes.

Para los rastreadores privados (cerrados), lo primero que es importante es que sólo los usuarios registrados puedan participar en las distribuciones y que sigan ciertas reglas. Cuando un cliente contacta con él por primera vez, el rastreador privado tiene la capacidad de impedirle participar en la distribución, simplemente no diciéndole las direcciones de otros clientes participantes. Por lo tanto, es importante para un rastreador cerrado que los clientes no reciban estas direcciones a través de DHT/PEX.

DHT y PEX aparecieron en los clientes de Azureus y BitComet alrededor del verano de 2005. Los administradores de muchos rastreadores privados no estaban contentos con esta nueva funcionalidad y, por lo tanto, comenzaron a prohibir estas nuevas versiones de clientes en el rastreador.

Luego, los desarrolladores del cliente propusieron una nueva clave dentro del archivo torrent: privado. Si es igual a 1, entonces el cliente está obligado a desactivar automáticamente DHT/PEX para este torrent, independientemente de los deseos del usuario. Este torrente se llama Secure Torrent.

Casi todos los rastreadores privados modernos insertan a la fuerza privado:1 a todos los torrents publicados en el rastreador y también prohíbe varias versiones obsoletas de clientes que admiten DHT o PEX, pero que aún no conocen clave privada. Los usuarios de Tracker simplemente no pueden usar DHT/PEX en distribuciones y no hay ningún problema.

Tenga en cuenta que la presencia clave privada cambia el infohash del torrent, por lo que eliminarlo del archivo torrent es inútil: otros clientes aún no reconocerán el torrent modificado.

También vale la pena señalar que antes, cuando los rastreadores comerciales también hacían que sus torrents estuvieran disponibles para su descarga, pero la autorización del anuncio requería PassKey, la red DHT se usaba para robar PassKey a los usuarios. Este fenómeno no afecta en absoluto las vulnerabilidades en DHT, sólo los resultados del generador de claves de acceso (ataque de fuerza bruta - fuerza bruta) se comprobaron mediante rastreo mediante DHT. El robo directo de contraseñas no se lleva a cabo a través de DHT y, hoy en día, cuando todos los rastreadores comerciales requieren invitaciones, etc., terceros no tienen acceso al archivo torrent, y en los rastreadores con registro ordinario, cada uno tiene su propia clave de acceso y puede realizar la validación. con solicitudes al rastreador, a través de HTTP en lugar de DHT.

DHT y estadísticas

Esta sección se refiere sólo rastreadores cerrados en los que clave privada no se inserta a la fuerza en torrents, y en algunas distribuciones (dependiendo de si el propio distribuidor insertó en el torrent clave privada) Se pueden utilizar DHT y PEX.

A menudo existe la opinión de que DHT habilitado en el cliente afecta el seguimiento de las estadísticas del cliente por parte del rastreador, por ejemplo, "distribuidas a través de DHT, lo que significa que las estadísticas pasaron por el rastreador". Esto no es cierto.

En primer lugar, DHT/PEX sólo se utiliza para obtener direcciones de pares. No se comparten archivos ni se contabilizan estadísticas sobre ellos. El cliente informa estadísticas de los datos descargados y cargados únicamente al rastreador.

Es decir, "distribuido a través de DHT" en realidad significa "Recibí información sobre algunos (o todos) mis pares a través de DHT, y probablemente algunos de mis pares también me encontraron a través de DHT".

En segundo lugar, aunque los clientes normalmente saben de dónde recibieron las direcciones de pares, ningún cliente separa el tráfico en “recibido/enviado a pares DHT” y “recibido/enviado a pares recibido del rastreador”. Incluso si el cliente quisiera hacer esto, sería difícil para el cliente hacerlo: algunos pares se pueden recibir tanto desde el rastreador como a través de DHT o PEX y, a menudo, el cliente no sabe cómo el par recibió su dirección. eso es iniciar la conexión con él.

El cliente informa al rastreador los datos totales sobre los volúmenes de lo que descargó y transfirió a todos los pares con los que se comunicó, independientemente de si el cliente conoció a pares individuales a través del rastreador, DHT o PEX, o si ese par incluso inició el conexión misma. Es decir, incluso si, debido a DHT/PEX, aparecen usuarios "izquierdos" (que no acceden al rastreador) en la distribución, el cliente seguirá informando al rastreador todo lo que han descargado y regalado.

La contabilidad correcta de las estadísticas depende únicamente del estado del rastreador: el rastreador está funcionando, las estadísticas se tienen en cuenta, si no funciona, no se tienen en cuenta. Sólo en el caso de un rastreador que no funciona durante mucho tiempo, DHT/PEX puede desempeñar un papel indirecto, evitando que el intercambio de archivos desaparezca gradualmente en dicha "distribución sin tener en cuenta las estadísticas".

Cómo funciona la DHT

Implementación red distribuida en los clientes BitTorrent se basa en una variante de DHT llamada Kademlia. En términos generales, DHT (tabla hash distribuida) significa un sistema distribuido descentralizado para combinar una gran cantidad de nodos que aparecen y desaparecen constantemente y transmitir mensajes de manera eficiente entre ellos. Sobre la base de estructuras DHT, se construyen varios sistemas más complejos, como el intercambio de archivos P2P, el almacenamiento en caché web cooperativo, servicios DNS etc.

DHT utiliza el protocolo UDP. Los clientes BitTorrent "escuchan" el mismo número Puerto UDP, que utilizan para las conexiones TCP entrantes. Si utiliza activamente DHT, entonces es deseable abrir este puerto UDP para acceder desde el exterior, pero no es necesario: DHT funcionará así.

Cada cliente conectado es un nodo separado en la red DHT. Tiene su propio ID (identificador) único, seleccionado aleatoriamente del mismo espacio de 160 bits que el infohash de los torrents.

Cada nodo mantiene una tabla de enrutamiento que contiene información de contacto sobre muchos nodos "más cercanos" a él y sobre varios más distantes. La "cercanía" de dos nodos se calcula a partir de la "similitud" de sus ID y no tiene nada que ver con su proximidad geográfica.

Cuando un nodo quiere encontrar pares para una semilla, compara el infohash de la semilla con los ID de los nodos que conoce y luego envía una solicitud al par cuyo ID es más similar a ese infohash. Ese nodo le devuelve la dirección del nodo cuyo ID está aún más cerca del infohash del torrent.

Luego nuestro nodo envía una solicitud a ese nuevo nodo y recibe de él la dirección del siguiente nodo, cuyo ID es aún más similar al infohash del torrent.

Por lo tanto, las solicitudes de los clientes que participan en la distribución de un torrent con un determinado infohash acuden gradualmente a los nodos cuyos ID son más similares a este infohash. Estos nodos recuerdan solicitudes anteriores y todos los nodos solicitantes posteriores devolverán las direcciones de pares anteriores de la misma distribución.

Defectos

  1. Existen varios protocolos incompatibles que sirven a diferentes redes.
  2. La operación del cliente como nodo DHT crea carga pesada al enrutador.

Campo de golf

  • Descripción del protocolo DHT (Traducción) (ruso)
  • Descripción del protocolo DHT en el sitio web Bittorrent.org (inglés)



Arriba