Portas Bittorrent, por que eu preciso delas?

6

Estou considerando uma distribuição de arquivos entre filiais que usam o Bittorrent. Eu entendo que um cliente Bittorrent precisa de portas no intervalo de 6881-6999 para serem encaminhadas à Internet para fazer a transferência mais rápida.

O que não entendo é: como isso agiliza as coisas? Eu poderia entender se não fornecer meios adequados de comunicação entre os clientes os impediria de falar uns com os outros. Mas em todos os lugares que eu olho apenas vejo o conselho "Basta encaminhar as portas e a transferência irá acelerar".

Desculpe se isso parece fora do assunto, mas me parece relacionado à rede.

    
por keyboardsamurai 01.09.2010 / 16:18

7 respostas

5

O exemplo comum de um protocolo P2P é o Bittorrent. Neste protocolo, as comunicações são frequentemente gerenciadas por um rastreador. Isso significa que, para transferência de dados, são necessários no mínimo três nós:

+-----+               +---------+      +------+      
|     |  1.1.1.1:500  |         |      |      |      
| You |<------------->| Tracker |<---->| Peer |
|     |               |         |      |      |      
+-----+               +---------+      +------+      

A conexão para você começa com informando ao rastreador seu endereço IP e porta em que você está conectável. O rastreador então armazena isso em uma tabela de estados:

+--------------+------------+
| Nodes        | Completion |
| 1.1.1.1:500  | 0%         |
| 2.2.2.2:1000 | 100%       |
+--------------+------------|

Peer estabeleceu que ele é conectável na porta 1000. Voltaremos a isso.

Os endereços 1.1.1.1 e 2.2.2.2 representam os endereços externos dos dispositivos NAT. Esses dispositivos são onipresentes na Internet de hoje, já que quase todos os usuários têm um roteador instalado para fornecer acesso a vários computadores, celulares, consoles de jogos, etc.

Isso significa que, por trás desses endereços, há mais endereços, um para cada um desses dispositivos.

No entanto: como um endereço só pode ser conectado a uma porta no intervalo 1-65535 , como o seu roteador sabe se deve conectar uma solicitação para a porta 500 ao seu computador com o cliente de torrent em execução? Você instrui, fornecendo uma regra chamada encaminhamento de porta para dizer "qualquer conexão recebida na porta 500, eu quero ser encaminhada para mim" - onde me é seu endereço interno (um dos 10.x.x.x , 192.168.x.x ou 172.16.x.x ).

Como você acabou de entrar no 'enxame' anunciando ao rastreador, o rastreador envia a tabela de estados acima. Você sabe que acabou de entrar e tem 0% de conclusão, mas que Peer tem 100% de conclusão, ou seja, se você se conectar a ele, poderá começar a obter os dados.

Se Peer não tiver "encaminhado" sua porta (1000, como informou ao rastreador quando ele anunciou), no entanto, você não poderá se conectar e começar a receber dados. Isso obviamente não é desejável, já que agora você não pode completar o torrent porque ninguém está disponível para compartilhá-lo.

Se Peer não anunciou desde que você se conectou, ele não sabe que você existe ainda. No entanto, se você configurou o encaminhamento de porta corretamente, quando ele anunciar e obter a nova tabela de estado com você, ele poderá iniciar a conexão com você. Isso funcionará desde que sua porta seja encaminhada.

Se ambos de você não tivessem o encaminhamento de porta ativado, apesar do fato de vocês estarem anunciando para o rastreador, porque as portas que você disse ao rastreador não chegam ao computador , todas as conexões de dados possíveis são bloqueadas pelos seus roteadores / dispositivos NAT.

Resumindo: o encaminhamento de porta ajuda com a integridade da troca de dados P2P, facilitando o estabelecimento de conexões - e, a menos que todos os membros habilitem o encaminhamento de portas de algum tipo, é impossível trocar dados de uma maneira P2P.

    
por 07.01.2014 / 14:05
4

Existe uma tonelada de dados ruins nesta questão. O Bittorrent trabalha com um esquema de "olho por olho", no qual os clientes que estão fazendo upload obtêm preferência no download. Para fazer o upload de dados, outros clientes precisam se conectar a você, o que não pode acontecer se você estiver em NAT ou em um firewall desativado. Assim, você abre portas para permitir que outros clientes se conectem, você faz o upload de alguns dados e obtém downloads de prioridade mais alta.

Há algum material de contornar NAT lá se o outro cliente não for firewall / NAT, mas pelo menos um lado precisa ter as portas abertas.

Se for toda a sua rede privada, você pode falsificar o cliente para não fazer esse envio preferencial, mas isso provavelmente é muito mais trabalhoso do que apenas abrir as portas.

Aqui está uma referência trivial para esse comportamento.

Além disso, você não precisa usar essas portas. Qualquer intervalo de portas funcionará, desde que seu cliente saiba o que está aberto para que ele possa informar o rastreador.

    
por 01.09.2010 / 20:10
0

Eu posso estar errado, mas as portas que o bit torrent precisa são mais usadas para compartilhamento do que o lado de download.

    
por 01.09.2010 / 16:25
0

É para conectividade para que outros clientes bittorrent possam "ver" sua máquina. Se eles podem ver você, então pode enviar ou receber dados de você.

Eu não me preocuparia se você estivesse apenas transferindo arquivos privados. Os clientes vão ver um ao outro de alguma forma. Na verdade, você deve desligar o DHT ou a descoberta.

    
por 01.09.2010 / 16:29
0

Eu acredito que ele permite que os rastreadores e clientes pesquisem o servidor Bittorrent (sua máquina) com mais precisão e rapidez, porque ele não depende da conversão de NAT para chegar onde precisa ir.

    
por 01.09.2010 / 16:37
0

Quando você faz o download via bittorrent, pode transferir os dados através de um proxy ou formando conexões diretas com outros usuários. Como os usuários estão conectando a sua máquina, eles precisam que as portas sejam abertas. Caso contrário, ele usará o NAT para resolver conexões com sua máquina - que é mais lenta e não é suportada por todos os clientes. Assim, menos clientes é igual a downloads mais lentos.

    
por 01.09.2010 / 16:54
0

Para que o BitTorrent possa baixar partes, primeiro precisa se conectar a um cliente que tenha as partes que eles precisam. Existem duas maneiras de estabelecer essa conexão

  • Conecte-se ao cliente e peça por blocos
  • Carregue um fragmento para um cliente e, enquanto essa conexão estiver aberta, peça pedaços em troca

Para que o primeiro funcione, o firewall precisa ser configurado para permitir conexões de entrada nas portas que o Bittorrent está escutando. Isso não é diferente se você configurar um servidor web ou FTP.

O segundo é geralmente usado como fallback, já que a maioria dos firewalls é configurada para restringir conexões de entrada, mas permite qualquer conexão de saída e permite conexões que foram estabelecidas entre dois computadores.

    
por 01.09.2010 / 19:45

Tags