Si tengo un torrente sin ningún rastreador, y acabo de iniciar un cliente de bittorent, por lo que todavía no tengo pares ... ¿cómo sé con quién me conectaré primero en el DHT? Parece que debería saber al menos UN nodo en el DHT para comenzar ....¿Cómo se "arranca" un DHT en un cliente Bittorent?
Respuesta
Cuando un cliente BitTorrent se conecta a DHT, hay un lugar inicial que va a buscar pares. Con el cliente original de BitTorrent, había una url a bitorrent.com que ayudaría a comenzar. Intenté buscar la referencia, pero no pude encontrarla. Una vez que haya establecido las conexiones con otros clientes, puede hacer un announce
en la red DHT para encontrar pares para el torrente que está buscando.
Aquí hay un enlace al BitTorrent specs que habla de DHT.
Un diccionario de torrents sin tracker tiene no tiene una clave de "anunciar". En cambio, un torrent sin seguimiento tiene una clave de "nodos". Esta clave debe establecerse en K nodos más cercanos en el torrente generando la tabla de enrutamiento del cliente. Alternativamente, la clave podría establecerse en un nodo bueno conocido tal como uno operado por la persona que genera el torrente. No agregue automáticamente "router.bittorrent.com" a los archivos torrent o agregue automáticamente este nodo a las tablas de enrutamiento de los clientes.
Usted 'anunciar' en la red DHT? Pensé que hiciste un 'get_peers()' o incluso el resumen 'get()' para encontrar pares? – gsk
Necesita compañeros de algún otro torrent para hablar. Como ha indicado que no tiene estos, no tiene mucho con lo que ir ...
Los nodos de bootstrap DHT mainline son router.utorrent.com
y un CNAME, router.bittorrent.com
. Puerto 6881
.
¡Gracias! Este podría ser el único lugar en la web donde los complementos se muestran en texto sin formato. –
Si mira el DNS, estos se resuelven en la misma ubicación con el enrutador.bittorent.com que es un CNAME a enrutador.utorrent.com. Ellos son el mismo nodo. – anthonyryan1
Un cliente puede aprender sobre otros compañeros habilitados para DHT a través de sus interacciones con ellos. El soporte de un compañero para DHT se anuncia en su Handshake. Una vez que un cliente descubre al menos un par DHT bueno y bien conectado, puede navegar el DHT para encontrar más y más cercanos pares DHT. Recordará a estos pares, llamados nodos en DHT-speak, entre los reinicios del software y mantendrá/actualizará la lista continuamente mientras se está ejecutando. En el peor de los casos en que un cliente no conoce a buenos pares aptos para DHT, se le pedirá que descargue un torrente basado en el rastreador para poder contactar con unos pocos buenos pares aptos para DHT a través del rastreador.
Actualización: por su lista inicial de pares de DHT, como señala @Seppo, un torrente cliente puede utilizar uno o más nombres DNS no modificables para encontrar las direcciones de los compañeros conocidos, y también puede incluir una lista de pares con código fijo como último recurso también. Una limitación de DNS, sin embargo, no se proporciona información de puerto por lo que generalmente se asume un puerto predeterminado de 6881, mientras que otros medios admiten pares que operan en puertos diferentes.
el gráfico en la parte inferior de este sitio DHT monitoring project muestra
- dht.transmissionbt.com
- router.utorrent.com
- router.bittorrent.com
como bootstrapping compañeros
BitTorrent ha publicado el código fuente para que ahora pueda ejecutar su propia máquina de arranque DHT: https://github.com/bittorrent/bootstrap-dht – Encombe
En BitTorrent, usted tiene tres opciones principales:
- de archivos Torrent: algunos archivos torrent se puede incrustar
nodes
para vincular a la DHT con (en de hecho, se recomienda cuando se hace un archivo torrent) - Hardcoding: Algunos clientes de torrent codifican algunos nodos de arranque (como los de los hombres citado por stk). Estos generalmente son administrados por empresas y organizaciones con servidores de larga ejecución.
- PEX/Conversaciones entre pares: Por lo general, puede solicitar nodos DHT a las personas a las que está descargando otros torrents (si sus clientes entienden el idioma de los demás, es decir, algunas versiones son incompatibles).
Transmission
utiliza un hardcoded bootstrap node de DHT si no hay otra manera de conseguir compañeros:
bootstrap_from_name("dht.transmissionbt.com", 6881, bootstrap_af(session));
supongo que cada cliente Torrent utiliza su propio nodo de arranque.
Para el registro, Deluge utiliza también hardcoded boostrap nodes:
self.session.add_dht_router("router.bittorrent.com", 6881)
self.session.add_dht_router("router.utorrent.com", 6881)
self.session.add_dht_router("router.bitcomet.com", 6881)
- 1. ¿Dónde puedo encontrar una lista de bittorent dht bootstrap nodes?
- 2. ¿Cómo se arranca gcc/g ++?
- 3. Git arranca despacio
- 4. ¿Cómo crear un árbol Huffman desde el encabezado FFC4 (DHT) en un archivo jpeg?
- 5. ¿Cómo se configura un cliente WCF en producción?
- 6. ¿Conoce libs de Python para enviar/recibir archivos usando Bittorent?
- 7. Detección de desconexión de un cliente asíncrono en ASP.NET MVC
- 8. Diferencia entre un cliente de aplicación y un cliente independiente
- 9. El DHT más fácil de implementar
- 10. ¿Cómo se acepta un certificado SSL autofirmado en un cliente WCF?
- 11. ¿Cómo cumplir "parcialmente" un pedido de cliente?
- 12. Escribir un cliente telnet
- 13. cómo crear un cliente de jabón?
- 14. ¿Cómo escribo un cliente SSH simple?
- 15. cómo comunicar entre dos instancias node.js, un cliente, un servidor
- 16. ¿Cómo conectar mediante programación un cliente a un servicio WCF?
- 17. Interceptar mensajes en un cliente de WCF
- 18. envíe un archivo al cliente
- 19. ¿Cómo escribir un servidor retorcido que también es un cliente?
- 20. Crear un cliente WCF programáticamente
- 21. ¿Cómo creo un cliente de socket web en Ruby?
- 22. twisted: un cliente, muchos servidores
- 23. Un hilo por cliente. ¿Realizable?
- 24. Se detectó un valor Request.Form potencialmente peligroso desde el cliente
- 25. Se detectó un valor Request.Form potencialmente peligroso desde el cliente
- 26. Cómo desconecto con fuerza un cliente en SignalR
- 27. Limpieza del servidor después de que un cliente se desconecta
- 28. Implemente un cliente SSH en el iPhone
- 29. Explicación básica simple de una tabla hash distribuida (DHT)
- 30. Cómo configurar un cliente WCF usando wsDualHttpBinding en el código?
Todas las respuestas aquí sólo responde a la pregunta PARCIALMENTE. Puede encontrar una respuesta buena y completa de The8472 aquí: http://stackoverflow.com/questions/10999786/how-pex-protocol-magnetic-links-finds-it-first-ip/11089702#11089702 – Encombe