2016-05-21 14 views
5

Conosco NAT traversal e STUN, TURN e ICE e il suo uso. Voglio sapere se questi sono implementati in applicazioni di condivisione di file peer to peer come bittorrent. Sia che i tracker facilitino i peer dietro NATs per comunicare tra loro contribuendo a creare una connessione diretta tramite STUN o relay attraverso TURN. Nel caso di Distributed Hash Table (DHT), un peer potrebbe comunicare con altri peer dietro NAT?Come funziona NAT traversal in caso di protocolli peer to peer come bittorrent.

risposta

9

BitTorrent non ha bisogno di connettersi a nessun membro particolare in uno sciame, non è un protocollo di chat p2p in cui due punti finali specifici vogliono parlare tra loro. Tutto ciò che importa è che il grafico di connessione dello sciame ha un grado di connettività sufficientemente alto.

In altre parole, ottenere i client dietro un NAT per parlare tra loro è in qualche modo desiderabile, ma non al punto in cui risorse importanti, come l'inoltro del traffico, sarebbero spesi per quell'obiettivo. Il fallimento è un'opzione.

Quindi non usa sorso/giro/ecc.

vari client utilizzano una combinazione dei seguenti approcci per migliorare la connettività per i collegamenti di trasporto alla rinfusa:

  • NAT-PMP/negoziazione PCP con il gateway
  • porta opzioni di socket riutilizzo di sfruttare end-point indipendenti (EIM) mappature NAT
  • l'estensione non documentata ut_holepunch che utilizza membri di sciame reciprocamente raggiungibili al posto di server di stordimento.
  • un protocollo di trasporto opzionale basato su UDP (μTP) che può essere utilizzato in combinazione con i punti precedenti. generalmente nat traversal è più facile da ottenere con udp
  • Segnalazione di capacità IPv6, che in linea di principio consente ai client di aggiornare le loro connessioni e quindi di pettegolare sui peer v6 tramite PEX/DHT.

Nel caso del DHT vengono utilizzati solo i primi due punti (negoziazione gateway e riutilizzo porte). Il sovraccarico del tentativo di attraversamento nat per un singolo ciclo di richiesta-risposta sarebbe> 100% e non ne vale la pena.

Problemi correlati