Come funziona BitTorrent con solo connessioni in uscita?


18

Qual è il meccanismo alla base che consente a BitTorrent di funzionare solo con connessioni in uscita?

Cioè, senza port forwarding.

Le domande frequenti e la guida BitTorrent di Brian dicono:

BitTorrent di solito funziona bene in un ambiente NAT (Network Address Translation), poiché può funzionare solo con connessioni in uscita.

In questo caso, altri peer funzionano come server rendezvous?

Risposte:


8

Per quanto ne so, funziona utilizzando connessioni inverse : in sostanza, il client esegue una connessione in uscita che viene mantenuta aperta dalla macchina remota e pompano i dati attraverso quella stessa connessione.

Se tutti lo usassero e nessuno avesse installato le porte, molto probabilmente fallirebbe. Quando ho usato Bittorent con le porte disabilitate, ottengo velocità orrende, ma funziona, motivo per cui penso che funzioni così.


Perché questo metodo dovrebbe comportare velocità inferiori rispetto a quelle inoltrate?
gsingh2011,

@ gsingh2011 ci sono molte ragioni ... la più comune con BT è che potrebbe inoltrarti attraverso altre persone, quindi la tua velocità di download può essere limitata dalla velocità di upload di altre persone.
William Hilsum,

Per tracker questo è giusto e non è un problema. ma per il download questo non è vero. perché il meccanismo di download di bit torrent deve essere scaricato da altri peer. altri colleghi possono essere dietro un NAT (come te). Quindi, come funziona il bit torrent dietro un NAT?
SMMousavi,

4
Questa è una risposta parziale per quanto riguarda le tecniche di attraversamento NAT generali. La vera domanda è: come fai a sapere che qualcuno vuole scaricare alcuni blocchi di file da te, dal momento che non accetti alcuna connessione non richiesta? Quindi ci sono solo possibilità limitate: o il tracker ti avverte o ti connetti attivamente a diversi client di tracker per avviare sessioni di peering (in modo che possano chiedere download in un determinato momento), oppure accetti solo richieste dei peer che stai scaricando attivamente da, o questi pari agiscono come punti Rendez-Vous. Quindi, quale proposta è implementata nel client torrent?
KrisWebDev,

5

BitTorrent funziona utilizzando la connessione P2P. Pertanto, ci deve essere un modo per dirigere la connessione al peer. Come sapete, NAT fa funzionare P2P. Ma c'è qualche soluzione per far funzionare tutto questo. La maggior parte (come so tutto) si basa sul protocollo STUN.

Ogni client ottiene il suo IP pubblico e il numero di porta temporanea (UDP) utilizzando il server STUN. Il server STUN aiuta il client a rilevare la presenza di NAT e il rilevamento di un IP pubblico + numero di porta temporanea (assegnato da NAT). Quindi il client tenta di stabilire una connessione diretta con altri peer usando la tecnica del foro di perforazione (vedi Wikipedia ).

Se hai abilitato UPnP c'è anche un'altra soluzione.

Per ulteriori informazioni, consultare NAT Traversal su wikipedia .



1

Normalmente, le persone si collegheranno a te per chiedere dati da te e ti connetterai alle persone che chiedono dati da loro.

Se le connessioni in entrata sono impossibili, il client uscirà e chiederà attivamente di fornire dati ad altre persone (e potrebbe farlo se sono possibili anche connessioni in entrata).

Non carichi così in questo modo, ma non è un problema per i tracker pubblici.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.