Saltar al contenido principal
Todos los términos

NAT traversal y hole punching

Técnicas que permiten que dos dispositivos detrás de routers distintos (NAT) se conecten directamente, coordinándose a través de un servidor auxiliar y «perforando» una ruta a través de cada firewall.

Por qué estorba el NAT

La mayoría de los equipos están detrás de una traducción de direcciones de red (NAT): un router que comparte una dirección pública entre muchas privadas y solo deja entrar los paquetes que responden a una conexión iniciada desde dentro. Por eso dos equipos en redes domésticas u ofimáticas distintas no pueden abrir sin más una conexión entre sí: cada router descarta el primer paquete del otro lado.

La dificultad depende del router. El RFC 4787 describe cómo los NAT asignan y filtran el tráfico UDP: si un router reutiliza el mismo puerto público para cualquier destino, suele ser fácil encontrar una ruta directa; si elige un puerto nuevo para cada destino (lo que suele llamarse NAT simétrico), es mucho más difícil.

Cómo funciona el hole punching

El NAT traversal es el conjunto de técnicas que encuentran una ruta directa a pesar de todo. Primero, cada lado averigua cómo se ve desde fuera, normalmente preguntando a un servidor STUN. Los dos lados intercambian esas direcciones candidatas a través de un servidor de coordinación y luego se envían paquetes a la vez. Cada router ve primero un paquete saliente y trata la respuesta como parte de ese flujo, así que se abre una ruta en ambos sentidos. El RFC 5128 repasa estas técnicas.

También se puede preguntar directamente al router: UPnP IGD, NAT-PMP y su sucesor, el Port Control Protocol (RFC 6887), permiten a una aplicación pedir una redirección de puerto. Algunos cortafuegos corporativos y el NAT de operador (CGNAT) frustran cualquier técnica. Cuando nada funciona, la sesión recurre a un relay que reenvía el tráfico entre los dos lados.

Cómo se conecta Vexaro Desk

Una sesión de Vexaro Desk se conecta directamente siempre que la red lo permite y, si no, a través de un relay de Vexaro autenticado. No hay nada que configurar: el cliente encuentra una ruta por sí solo.

El instalador añade una regla al Firewall de Windows para que funcionen las conexiones directas y las de red local; una versión portátil no puede añadirla, así que sus sesiones pasan más a menudo por un relay. Las conexiones directas se pueden desactivar en Configuración, y la ventana de la sesión muestra si la sesión es directa o retransmitida. Las sesiones directas van cifradas de extremo a extremo. Cuando una red obliga a usar una conexión retransmitida, el tráfico sigue cifrado en tránsito a través de relays operados por Vexaro.

Técnicas de NAT traversal

Técnicas de NAT traversal
TécnicaQué haceLímites
Redirección de puertos (UPnP IGD, NAT-PMP, PCP)3Pide al router que redirija un puerto a la aplicaciónSolo funciona si el router lo admite y la red lo permite
STUN4Indica a un dispositivo la dirección y el puerto públicos que se ven desde fueraEncuentra direcciones; no transporta tráfico de la sesión
Hole punching simultáneo2Los dos lados envían primero, así que cada router acepta los paquetes del otro como respuestasA menudo falla frente al NAT simétrico y los cortafuegos estrictos
Probar muchos puertos1,2Aumenta la probabilidad de coincidencia a través de un NAT simétricoLa coincidencia sigue sin estar garantizada
RelayReenvía el tráfico cuando no hay ruta directaFunciona siempre que ambos lados puedan alcanzarlo, pero añade latencia y consume ancho de banda del operador

Cómo facilitar las conexiones directas

  1. Instale el cliente en lugar de ejecutar la versión portátil, para que la regla del Firewall de Windows esté presente.
  2. Permita el UDP saliente: las sesiones de Vexaro Desk, directas o retransmitidas, funcionan sobre UDP.
  3. Use IPv6 donde su red lo ofrezca: sin traducción de direcciones de por medio, es más fácil encontrar una ruta directa.

Preguntas frecuentes

¿Qué es el NAT y por qué bloquea las conexiones directas?
El NAT permite que muchos dispositivos privados compartan una dirección pública, y el router solo admite los paquetes que responden a una conexión iniciada desde dentro. Por eso un intento de conexión desde fuera se descarta a menos que algo haya abierto antes una ruta.
¿Qué es el hole punching?
Los dos equipos averiguan sus direcciones públicas, las intercambian a través de un servidor de coordinación y se envían paquetes en el mismo momento. Cada router trata los paquetes del otro lado como respuestas a los suyos, y se abre una ruta directa.
¿Funciona siempre el hole punching?
No. El NAT simétrico, los cortafuegos estrictos y el NAT de operador pueden impedirlo. Por eso las herramientas de escritorio remoto mantienen un relay como alternativa; Vexaro Desk se conecta directamente siempre que la red lo permite y, si no, a través de su propio relay autenticado.
¿Van cifradas las sesiones de Vexaro Desk retransmitidas?
Sí. Las sesiones directas van cifradas de extremo a extremo. Cuando una red obliga a usar una conexión retransmitida, el tráfico sigue cifrado en tránsito a través de relays operados por Vexaro.

Véalo en Vexaro Desk

Vexaro Desk reúne acceso asistido y desatendido, atravesamiento de NAT, un motor de códecs adaptativo y gobernanza en una sola consola. Está en acceso anticipado, y puede crear una cuenta gratuita para probarlo.