¿Cómo se enrutan los paquetes recibidos por un nodo de salida Tor a través del circuito de Tor?

2

¿Qué sucede con los paquetes que el nodo de salida envía / recibe del servidor web deseado?

¿Cada paquete de respuesta se enruta nuevamente a través del circuito Tor (cifrado en camino) individualmente? Si es así, ¿debe el cliente enviar un acuse de recibo de estos paquetes al servidor web original (enrutado nuevamente a través del circuito Tor)?

¿O el nodo de salida simplemente completa la comunicación normal con el servidor web deseado y luego envía los datos (completos) recibidos a través del circuito Tor de alguna manera?

Si este es el caso, ¿cada relé recibe todos los datos y luego envía todos esos datos al siguiente nodo solo una vez que ha recibido todo, también?

    
pregunta user54840 02.09.2014 - 18:34
fuente

2 respuestas

1

Tor funciona como una cadena de proxies, donde cada proxy solo conoce el siguiente salto y el salto anterior.

Simplificando mucho, cuando su computadora envíe datos usando Tor, su cliente tor cifrará la carga útil y la enviará a otro nodo. El siguiente nodo hace lo mismo, y después de unas pocas iteraciones, su paquete llega al nodo de salida, se descifra completamente y se envía al servidor web de destino.

El servidor web envía el paquete al nodo de salida, porque el nodo de salida era la computadora que se conectó al servidor web. El nodo de salida usa una tabla (parece la tabla NAT, pero con más información) para decidir dónde enviar la respuesta. Así que volverá a cifrar el paquete y lo enviará al siguiente nodo, que hará lo mismo, hasta que el paquete llegue a su computadora, se descifre localmente y se envíe a la aplicación.

Los nodos intermedios no tienen que esperar todos los datos antes de enviarlos al próximo salto, o descargar archivos de varios MB grandes sería una molestia. En su lugar, tienen un espacio limitado en el búfer, y cada vez que el búfer se llena (o se produce un tiempo de espera), lo cifran y lo envían por delante.

Su aplicación pensará que el servidor remoto es su cliente tor, por lo que solo tiene que reconocer la transferencia de paquetes hasta el primer nodo. El servidor web de destino piensa que el nodo de salida es el cliente, y todos los nodos intermedios reconocerán los paquetes entre ellos, ya que existe una conexión punto a punto entre ellos.

    
respondido por el ThoriumBR 02.09.2014 - 20:22
fuente
0

Recuerde que Tor no no simplemente apunta HTTP; funciona a un nivel inferior y proxies las conexiones TCP arbitrarias, lo que significa que el nodo no puede saber cuando tiene "todos los datos", porque siempre podría haber más.

Incluso HTTP 1.1 permite múltiples solicitudes por conexión, y tiene HTTPS con el protocolo de enlace TLS que incluye varios viajes de ida y vuelta, y luego hay protocolos que están diseñados para múltiples comandos & respuestas (por ejemplo, SMTP o IMAP), y luego hay protocolos donde ambas partes pueden enviar datos en cualquier momento (por ejemplo, SSH o IRC) ...

Por lo tanto, el intercambio continuo de piezas individuales es la única forma que tiene sentido.

    
respondido por el grawity 02.09.2014 - 19:32
fuente

Lea otras preguntas en las etiquetas