2012-06-12 7 views
17

Sto cercando di capire come può funzionare un collegamento magnetico, come ho letto usano DHT e PEX per ottenere i peer, ma se sono un nuovo nodo nella rete come posso trovare coetanei con solo l'hash del file ?! Non richiede sempre un collegamento a un host conosciuto?Come il protocollo PEX (collegamenti magnetici) trova il primo IP?

Grazie

+0

Il tag 'Pex' è per lo strumento di test white-box di Microsoft, non Peer Exchange. Rimarcato. – shamp00

+1

Una nota !: i collegamenti magnetici (come quelli che si trovano sull'interfaccia dei pirati) di solito contengono degli URL integrati. Quando si utilizzano questi tipi di collegamenti, è sufficiente chiedere al tracker per i peer – gsk

risposta

22

Il DHT BitTorrent può essere bootstrap in molti modi. Ha solo bisogno dell'IP e della porta di qualsiasi altro nodo DHT raggiungibile là fuori.

clienti

attuali usano generalmente più delle seguenti strategie:

  • bootstrap da una cache di nodi longevi da una sessione precedente
  • utilizzare una mappatura di registrazione/AAAA DNS A ad un nodo noto (ad esempio router.bittorrent.com o dht.transmissionbt.com) con una porta conosciuta
  • utilizzare un nodo embedded in a .torrent file
  • recuperare il DHT port from a bittorrent client tramite una connessione bittorrent stabilita attraverso altri mezzi, ad esempio un tracker convenzionale.
  • prossimo scoperta multicast tramite LSD
  • trasversale chatter dalla IPv4 alle DHTs IPv6 e viceversa (se necessario)

Altri modi quali elenchi di bootstrap configurabili dall'utente, record DNS SRV mappatura round-robin per vivere nodi o - tutto il resto dovrebbe fallire - aggiunta l'IP del tuo amico (s) Manua lavoro lly.

Una volta che un nodo si è unito alla rete, la prima strategia menzionata in precedenza sarà avviata ed è improbabile che dovrà riavviare nuovamente.

Così, mentre la maggior parte delle implementazioni si basano su un singolo/pochi punti di ingresso nella rete per comodità, il protocollo stesso è abbastanza flessibile da decentralizzare anche i punti di ingresso.

Solo per l'enfasi: Qualsiasi nodo nel DHT può essere utilizzato per collegarsi alla rete. I nodi di bootstrap dedicati sono un dettaglio di implementazione, non parte del protocollo, e potrebbero essere sostituiti da altri meccanismi di rilevamento, se necessario.

+1

ok, ma se si è un nuovo nodo e si desidera entrare nella rete, non è possibile farlo senza chiedere un peer e il modo usuale è usare un server per questo, quindi ne avrai sempre bisogno uno, o renderà più difficile l'accesso alla rete. –

+3

Sì, il solito modo è usare un server al momento. Ma la tua conclusione che "ne hai sempre avuto bisogno" è errata. Altri modi sono possibili. Il punto centrale della mia risposta era che non hai bisogno di "un server centrale", solo che è un modo conveniente di fare le cose. – the8472

+1

sì, ma per farlo funzionare ogni volta che un server è la scelta giusta, altrimenti il ​​nodo che è dato può essere offline –

Problemi correlati