¿Cómo funciona BitTorrent solo con conexiones salientes?

18

¿Cuál es el mecanismo detrás de permitir que BitTorrent funcione solo con conexiones salientes?

Es decir, sin reenvío de puertos.

Las preguntas frecuentes y la guía de Brian BitTorrent dicen:

BitTorrent generalmente funcionará bien en un entorno NAT (traducción de direcciones de red), ya que puede funcionar solo con conexiones salientes.

¿Otros pares funcionan como servidores de citas en este caso?

Peter Mortensen
fuente

Respuestas:

8

Hasta donde sé, funciona utilizando conexiones inversas , básicamente, su cliente realiza una conexión saliente que la máquina remota mantiene abierta y bombea datos a través de esa misma conexión.

Si todos usaran esto y nadie tuviera la configuración de puertos, lo más probable es que falle. Cuando he usado Bittorent con puertos deshabilitados, obtengo velocidades horrendas, pero funciona, por eso creo que funciona así.

William Hilsum
fuente
¿Por qué este método daría como resultado velocidades más bajas que si se reenviaran los puertos?
gsingh2011
@ gsingh2011 hay muchas razones ... la más común con BT es que puede retransmitirlo a través de otras personas, por lo que su velocidad de descarga puede verse limitada por la velocidad de carga de otras personas.
William Hilsum
Para el rastreador esto es correcto y no es un problema. pero para descargar esto no es cierto. porque el mecanismo de descarga de bit torrent necesita descargarse de otros pares. otros pares pueden estar detrás de un NAT (como usted). Entonces, ¿qué bit torrent funciona detrás de un NAT?
SMMousavi
44
Esta es una respuesta parcial con respecto a las técnicas generales de transversal NAT. La verdadera pregunta es: ¿cómo sabe que alguien quiere descargar algunos bloques de archivos de usted, ya que no acepta ninguna conexión no solicitada? Por lo tanto, solo hay posibilidades limitadas: el rastreador le advierte o se conecta activamente a varios clientes rastreadores para iniciar sesiones de emparejamiento (para que puedan solicitar descargas en algún momento), o solo acepta solicitudes de pares que está descargando activamente de, o estos pares actúan como puntos de Rendez-Vous. Entonces, ¿qué propuesta se implementa en el cliente torrent?
KrisWebDev
5

BitTorrent funciona con conexión P2P. Por lo tanto, debe haber una manera de conectarse directamente con los pares. Como saben, NAT hace que P2P funcione. Pero hay alguna solución para que esto funcione. La mayoría (como sé todo) se basa en el protocolo STUN.

Cada cliente obtiene su IP pública y su número de puerto temporal (UDP) utilizando el servidor STUN. El servidor STUN ayuda al cliente a detectar la presencia de NAT y detectar el número de puerto público ip + temporal (asignado por NAT). Luego, el cliente intenta establecer una conexión directa con otro compañero utilizando la técnica de perforación (ver wikipedia ).

Si habilitó UPnP también hay otra solución también.

Para obtener más información, consulte NAT Traversal en wikipedia .

SMMousavi
fuente
1

Normalmente, las personas se conectarán con usted para solicitarle datos, y usted se conectará con las personas que le soliciten datos.

Si las conexiones entrantes son imposibles, su cliente también saldrá y solicitará activamente que brinde datos a otras personas (y puede hacerlo si las conexiones entrantes también son posibles).

No subes tanto de esta manera, pero no es una gran preocupación para los rastreadores públicos.

Jeffrey Aylesworth
fuente