Por que as conexões p2p não precisam de portas abertas?

7

Quero dizer, se alguém está baixando um arquivo meu, isso não significa que eu sou o anfitrião e ele está se conectando a mim?

Ou estou me conectando com ele?

De qualquer forma, um de nós precisa de uma porta aberta, não?

Eu não tenho nenhum roteamento de portas abertas para o meu computador no meu roteador, então como é que estou aceitando conexões?

    
por Zequez 10.09.2011 / 04:40

3 respostas

10

Se o seu roteador suporta UPnP, é possível que o aplicativo p2p que você está usando esteja abrindo portas no roteador sem a necessidade de configurar manualmente as portas abertas.

Wikipedia UPnP

Caso contrário, é possível que seu aplicativo esteja usando um processo chamado NAT traversal, que é comum em aplicativos p2p e aplicativos de área de trabalho remota, como GoToMyPC ou Hamachi. Essa tecnologia é projetada para funcionar através da Tradução de Endereço de Rede, que é considerada um firewall, mas também é um meio de ter uma rede privada compartilhando um único endereço IP na Internet (o que seu roteador usa).

Traversal NAT da Wikipédia

    
por 10.09.2011 / 04:52
7

Em protocolos como o BitTorrent, desde que um dos dois lados da conexão tenha o encaminhamento de porta ativado, o lado aberto sempre atuará como o host. Se ambos os lados estiverem abertos, o final pode ser o "host". Se ambos os lados estão fechados você precisa de um terceiro que tenha uma conexão aberta para negociar a conexão, é assim que coisas como o skype fazem (a terceira parte é chamada de Supernode)

Aqui está uma boa postagem no blog explicando como o Skype usa Supernodes e como o usa para contornar firewalls.

    
por 10.09.2011 / 07:46
4

Eu compararia a porta aberta com um número de telefone.

Imagine que você pode ter um telefone para discar, mas não um número de telefone para receber chamadas.

Para que duas pessoas conversem entre si (ou uma que fala o tempo todo), não importa quem realmente disque. A parte importante é que pelo menos um deles tem um número de telefone, então o outro parceiro apenas o chama.

Se nenhum deles tiver um número de telefone, um supernó é usado em alguns sistemas, o que poderia ser um amigo que recebe duas chamadas, uma de cada uma delas, e as une. Esta é a única maneira de falar se nenhuma das duas partes tiver um número de telefone. O problema é que a conversa é restringida à qualidade da linha telefônica desse amigo supernode.

Espero que esta analogia facilite a compreensão dos 3 cenários possíveis.

    
por 15.10.2012 / 17:20