Como o BitTorrent funciona apenas com conexões de saída?

18

Qual é o mecanismo por trás da permissão do BitTorrent para trabalhar apenas com conexões de saída?

Ou seja, sem encaminhamento de porta.

O Guia e Perguntas Frequentes do BitTorrent de Brian diz:

O BitTorrent normalmente funciona bem em um ambiente NAT (tradução de endereços de rede), pois pode funcionar apenas com conexões de saída.

Outros colegas funcionam como servidores de encontro neste caso?

Peter Mortensen
fonte

Respostas:

8

Até onde eu sei, ele funciona usando conexões reversas - basicamente, seu cliente faz uma conexão de saída que é mantida aberta pela máquina remota e eles bombeiam dados através dessa mesma conexão.

Se todos usassem isso e ninguém tivesse a configuração de portas, provavelmente haveria falha. Quando uso o Bittorent com portas desabilitadas, recebo velocidades horrendas, mas funciona e é por isso que acho que funciona assim.

William Hilsum
fonte
Por que esse método resultaria em velocidades mais baixas do que se as portas fossem encaminhadas?
gsingh2011
@ gsingh2011 existem muitas razões ... a mais comum da BT é que ela pode transmitir você a outras pessoas, portanto, sua velocidade de download pode ser limitada pela velocidade de upload de outras pessoas.
William Hilsum 25/05
Para rastreador, isso é certo e não é um problema. mas para baixar isso não é verdade. porque o mecanismo de download bit torrent precisa ser baixado de outros pares. outros colegas podem estar atrás de um NAT (como você). Então, como o bit torrent funciona por trás de um NAT?
SMMousavi
4
Esta é uma resposta parcial em relação às técnicas gerais de travessia de NAT. A verdadeira questão é: como você sabe que alguém deseja fazer o download de alguns blocos de arquivos, pois você não aceita nenhuma conexão não solicitada? Portanto, existem apenas possibilidades limitadas: o rastreador avisa ou você se conecta ativamente a vários clientes rastreadores para iniciar sessões de peering (para que eles possam solicitar downloads em algum momento) ou você aceita apenas solicitações de colegas que você está baixando ativamente de, ou esses pares atuam como pontos de Rendez-Vous. Então, qual proposta é implementada no cliente torrent?
KrisWebDev 27/02
5

BitTorrent funciona usando conexão P2P. Portanto, deve haver uma maneira de conectar diretamente ao ponto. Como você sabe, o NAT interrompe o P2P para funcionar. Mas há alguma solução para isso funcionar. A maioria (como eu sei tudo) é baseada no protocolo STUN.

Cada cliente obtém seu IP público e o número da porta temporária (UDP) usando o servidor STUN. O servidor STUN ajuda o cliente a detectar a presença do NAT e a detectar ip público + número da porta temporário (atribuído pelo NAT). Em seguida, o cliente tenta estabelecer uma conexão direta com outro ponto usando a técnica de perfuração (consulte a Wikipedia ).

Se você ativou o UPnP, também há outra solução.

Para mais informações, consulte NAT Traversal na wikipedia .

SMMousavi
fonte
1

Normalmente, as pessoas se conectam a você para solicitar dados e você se conecta às pessoas que solicitam dados.

Se as conexões de entrada forem impossíveis, seu cliente também sairá e pedirá ativamente para fornecer dados a outras pessoas (e poderá fazer isso se as conexões de entrada também forem possíveis).

Você não carrega muito dessa maneira, mas isso não preocupa muito os rastreadores públicos.

Jeffrey Aylesworth
fonte