stringtranslate.com

Perforación de agujeros (redes)

La perforación de agujeros (o, a veces, "punch-through ") es una técnica en redes informáticas para establecer una conexión directa entre dos partes en las que una o ambas están detrás de cortafuegos o detrás de enrutadores que utilizan la traducción de direcciones de red (NAT). Para perforar un agujero, cada cliente se conecta a un servidor de terceros sin restricciones que almacena temporalmente la información de la dirección y el puerto interno y externo de cada cliente. Luego, el servidor retransmite la información de cada cliente al otro y, utilizando esa información, cada cliente intenta establecer una conexión directa; como resultado de las conexiones que utilizan números de puerto válidos, los cortafuegos o enrutadores restrictivos aceptan y reenvían los paquetes entrantes en cada lado.

La perforación de agujeros no requiere ningún conocimiento de la topología de la red para funcionar. La perforación de agujeros ICMP , la perforación de agujeros UDP y la perforación de agujeros TCP utilizan respectivamente mensajes de control de Internet , datagramas de usuario y protocolos de control de transmisión .

Descripción general

Los dispositivos en red con direcciones IP públicas o de acceso global pueden crear conexiones entre sí fácilmente. Los clientes con direcciones privadas también pueden conectarse fácilmente a servidores públicos, siempre que el cliente detrás de un enrutador o cortafuegos inicie la conexión. Sin embargo, se requiere la perforación de agujeros (o alguna otra forma de cruce de NAT ) para establecer una conexión directa entre dos clientes que residen detrás de diferentes cortafuegos o enrutadores que utilizan traducción de direcciones de red (NAT) .

Ambos clientes inician una conexión con un servidor sin restricciones, que registra la información de la sesión y del punto final, incluida la dirección IP pública y el puerto, junto con la dirección IP privada y el puerto. Los cortafuegos también registran los puntos finales para permitir que las respuestas del servidor pasen de vuelta. A continuación, el servidor envía la información de la sesión y el punto final de cada cliente al otro cliente o par. Cada cliente intenta conectarse con su par a través de la dirección IP y el puerto especificados que el cortafuegos del par ha abierto para el servidor. El nuevo intento de conexión abre un agujero en el cortafuegos del cliente, ya que el punto final ahora queda abierto para recibir una respuesta de su par. Según las condiciones de la red, uno o ambos clientes pueden recibir una solicitud de conexión. El intercambio exitoso de un nonce de autenticación entre ambos clientes indica la finalización de un procedimiento de perforación de agujero. [1]

Ejemplos

Los productos VoIP , las aplicaciones de juegos en línea y el software de redes P2P utilizan perforación de orificios.

Requisitos

Para una perforación de orificios confiable se requiere una traducción de punto final consistente y, para múltiples niveles de NAT, una traducción de horquilla.

Cuando una conexión saliente desde un punto final privado pasa a través de un firewall, recibe un punto final público (dirección IP pública y número de puerto) y el firewall traduce el tráfico entre ellos. Hasta que se cierra la conexión, el cliente y el servidor se comunican a través del punto final público y el firewall dirige el tráfico de manera adecuada. La traducción consistente de puntos finales reutiliza el mismo punto final público para un punto final privado determinado, en lugar de asignar un nuevo punto final público para cada nueva conexión.

La traducción de horquilla crea una conexión de bucle invertido entre dos de sus propios puntos finales privados cuando reconoce que el punto final de destino es él mismo. Esta funcionalidad es necesaria para la perforación de orificios solo cuando se utiliza dentro de un NAT de múltiples capas. [1]

Véase también

Referencias

  1. ^ ab Ford, Bryan; Srisuresh, Pyda; Kegel, Dan (2005), Comunicación punto a punto a través de traductores de direcciones de red
  2. ^ Schmidt, Jürgen (2006), El truco del agujero

Enlaces externos