web-dev-qa-db-fra.com

Comment un DHT dans un client Bittorrent est-il "amorcé"?

Si j'ai un torrent sans trackers et que je viens de démarrer un client bittorent, je n'ai pas encore de pairs ... comment savoir avec qui me connecter en premier dans le DHT? Il semble que je devrais connaître au moins UN nœud dans le DHT pour commencer ...

67
puffpio

Lorsqu'un client BitTorrent se connecte à DHT, il y a un endroit initial où il va pour trouver des pairs. Avec le client BitTorrent d'origine, il y avait une URL vers bitorrent.com qui aiderait à démarrer. J'ai essayé de rechercher la référence mais je ne l'ai pas trouvée. Une fois que vous avez établi des connexions avec d'autres clients, vous pouvez faire un announce sur le réseau DHT pour trouver des pairs pour le torrent que vous recherchez.

Voici un lien vers les spécifications BitTorrent qui traitent de DHT.

Un dictionnaire torrent sans tracker n'a pas de touche "annonce". Au lieu de cela, un torrent sans tracker a une clé "nœuds". Cette clé doit être définie sur les K nœuds les plus proches dans la table de routage du client générateur de torrent. Alternativement, la clé pourrait être définie sur un bon nœud connu tel que celui exploité par la personne générant le torrent. Veuillez ne pas ajouter automatiquement "router.bittorrent.com" aux fichiers torrent ou ajouter automatiquement ce nœud aux tables de routage des clients.

35
Chris Thompson

La DHT principale bootstrap sont router.uTorrent.com et un CNAME, router.bittorrent.com. Port 6881.

37
Martin v. Löwis

le graphique au bas de cette projet de surveillance DHT site montre

  • dht.transmissionbt.com
  • router.uTorrent.com
  • router.bittorrent.com

en tant que pairs bootstrapping

23
stk

Dans BiTTorrent, vous avez trois options principales:

  • Fichier Torrent: certains fichiers torrent peuvent intégrer nodes pour que vous puissiez les lier au DHT avec (en fait, il est recommandé lors de la création d'un fichier torrent)
  • Hardcoding: Certains clients torrent codent 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 disposant de serveurs de longue durée.
  • PEX/Conversations entre pairs: Vous pouvez généralement demander des nœuds DHT aux personnes à partir desquelles vous téléchargez d'autres torrents (si vos clients comprennent la langue de l'autre, c'est-à-dire que certaines versions sont incompatibles).
16
gsk

Transmission utilise un hardcoded bootstrap node for dht s'il n'y a pas d'autre moyen d'obtenir des pairs:

bootstrap_from_name( "dht.transmissionbt.com", 6881, bootstrap_af(session) );

Je suppose que chaque client torrent utilise son propre nœud bootstrap.

10
Seppo Erviälä

Pour mémoire, Déluge utilise également nœuds boostrap codés en dur :

        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)
4
MestreLion

Un client peut en apprendre davantage sur d'autres pairs capables de DHT grâce à ses interactions avec eux. Le soutien d'un pair pour DHT est annoncé dans sa poignée de main. Une fois qu'un client découvre au moins un bon pair DHT bien connecté, il peut naviguer dans le DHT pour trouver des pairs DHT plus nombreux et plus proches. Il se souviendra de ces pairs, appelés nœuds en langage DHT, entre les redémarrages du logiciel et maintiendra/mettra à jour la liste en continu pendant son exécution. Dans le pire des cas où un client ne connaît pas de bons pairs capables de DHT, il vous faudra télécharger un torrent basé sur le tracker afin qu'il puisse, espérons-le, contacter quelques bons pairs capables de DHT qu'il apprend via le tracker.

pdate: Pour sa liste initiale de pairs DHT, comme le souligne @Seppo, un client torrent peut utiliser un ou plusieurs noms DNS codés en dur pour trouver les adresses de pairs bien connus, et il peut également inclure également une liste codée en dur de pairs comme solution de rechange finale. Une limitation du DNS, cependant, aucune information de port n'est fournie, donc un port par défaut de 6881 est généralement supposé tandis que d'autres moyens prennent en charge les homologues opérant sur différents ports.

4
penguin359

Vous avez besoin de pairs d'un autre torrent pour parler. Comme vous l'avez dit, vous ne les avez pas, vous n'avez pas grand-chose à faire ...

0
Simeon Pilgrim