Comment une DHT dans un client Bittorrent obtenir « bootstrapped »?
-
19-09-2019 - |
Question
Si j'ai un torrent w / o des trackers en elle, et je viens de commencer un client bittorent donc je n'ai pas encore ... pairs comment puis-je savoir qui d'abord se connecter avec la DHT? Il semble que je devrais savoir au moins un noeud dans la DHT pour commencer ....
La solution
Quand un client BitTorrent se connecte à DHT, il y a un premier lieu qu'il va trouver des pairs. Avec le client BitTorrent original, il y avait une URL pour bitorrent.com qui aiderait choses ont commencé. J'ai essayé de regarder la référence, mais je ne pouvais pas trouver. Une fois que vous avez des connexions avec d'autres clients affermis, alors vous pouvez faire une announce
sur le réseau DHT pour trouver des pairs pour le torrent que vous cherchez.
Voici un lien vers la page specs BitTorrent discuter DHT.
Un traqueur torrent dictionnaire ne pas une clé « annonce ». Au lieu de cela, un torrent traqueur a une touche « nœuds ». Cette clé doit être réglée sur la K les plus proches de noeuds dans le torrent générer la table de routage du client. Sinon, la clé pourrait être réglée sur un bon noeud connu tel que celui qui est exploité par la personne à générer le torrent. S'il vous plaît ne pas ajouter automatiquement "Router.bittorrent.com" au torrent fichiers ou ajouter automatiquement ce noeud aux clients de routage des tables.
Autres conseils
Les noeuds bootstrap ligne principale de DHT sont router.utorrent.com
et un CNAME à elle, router.bittorrent.com
. Port 6881
.
le graphique au bas de le site du projet de surveillance de DHT spectacles
- dht.transmissionbt.com
- router.utorrent.com
- router.bittorrent.com
comme pairs bootstrapping
Dans Bittorrent, vous avez trois options principales:
- Fichier Torrent: certains fichiers torrent peuvent intégrer
nodes
pour vous créer un lien dans la DHT avec (en fait, il est recommandé lors d'un fichier torrent) - Coder en dur: Certains clients torrent coder en dur quelques nœuds bootstrap (comme ceux mentionnés par STK). Ceux-ci sont généralement gérés par des entreprises et des organisations avec des serveurs de longue durée.
- PEX / Conversations pairs . Vous pouvez habituellement demander nœuds DHT du peuple que vous téléchargez d'autres torrents (. Si vos clients comprennent eachothers langue à savoir certaines versions sont incompatibles)
Transmission
utilise un hardcoded noeud bootstrap pour DHT s'il n'y a pas d'autre façon d'obtenir les pairs:
bootstrap_from_name( "dht.transmissionbt.com", 6881, bootstrap_af(session) );
Je suppose que chaque client torrent utilise son propre nœud d'amorçage.
Un client peut en apprendre davantage sur d'autres pairs DHT capable à travers ses interactions avec eux. Le soutien apporté par les pairs pour DHT est annoncé dans elle est Handshake. Une fois qu'un client découvre au moins un bon pair DHT bien connecté, il peut naviguer dans la DHT de trouver de plus en plus étroites pairs de DHT. Il se souviendra de ces pairs, appelés noeuds en DHT-parler, entre le redémarrage du logiciel et maintenir / mettre à jour la liste continue en cours d'exécution. Dans le pire des cas où un client ne connaît pas de bons pairs DHT capable, il vous demandera de télécharger un torrent basé tracker il espère pouvoir communiquer avec quelques bons camarades de DHT capable, il apprend par le tracker.
Mise à jour: Pour sa première liste de pairs DHT, comme @Seppo souligne, un client torrent peut utiliser un ou plusieurs noms DNS codés en dur pour trouver les adresses des pairs bien connus, et il peut également inclure une liste codée en dur de pairs une solution de repli finale aussi. Une limitation de DNS, cependant, aucune des informations port est fourni pour un port par défaut de 6881 est généralement admis alors que d'autres moyens de support pairs opérant sur différents ports.
Pour l'enregistrement, Déluge utilise aussi hardcoded nœuds de bootstrap:
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)