Articulo de referencia

Protocolo de tunelización de capa 2

En redes informáticas , el Protocolo de Túnel de Capa 2 ( L2TP ) es un protocolo de tunelización utilizado para admitir redes privadas virtuales (VPN) o como parte de la prestac...

En redes informáticas , el Protocolo de Túnel de Capa 2 ( L2TP ) es un protocolo de tunelización utilizado para admitir redes privadas virtuales (VPN) o como parte de la prestación de servicios por parte de los ISP. Utiliza cifrado (ocultación) únicamente para sus propios mensajes de control (mediante una clave precompartida opcional) y no proporciona cifrado ni confidencialidad del contenido por sí mismo. En cambio, proporciona un túnel para la Capa 2 (que puede estar cifrado), y el túnel en sí puede transmitirse a través de un protocolo de cifrado de Capa 3 como IPsec . [ 1 ]

Historia

Publicado en agosto de 1999 como estándar propuesto RFC 2661, L2TP tiene sus orígenes principalmente en dos protocolos de tunelización más antiguos para comunicación punto a punto: el Protocolo de reenvío de capa 2 (L2F) de Cisco y el Protocolo de tunelización punto a punto (PPTP) de Microsoft [ 2 ] . Una nueva versión de este protocolo, L2TPv3 , apareció como estándar propuesto RFC 3931 en 2005. L2TPv3 proporciona características de seguridad adicionales, encapsulación mejorada y la capacidad de transportar enlaces de datos distintos del Protocolo punto a punto (PPP) sobre una red IP (por ejemplo: Frame Relay , Ethernet , ATM , etc.).

Descripción

El paquete L2TP completo, incluyendo la carga útil y la cabecera L2TP, se envía dentro de un datagrama del Protocolo de Datagramas de Usuario (UDP). Una ventaja de la transmisión a través de UDP (en lugar de TCP) es que evita el problema de colapso de TCP . [ 3 ] [ 4 ] Es común transportar sesiones PPP dentro de un túnel L2TP. L2TP no proporciona confidencialidad ni autenticación robusta por sí mismo. IPsec se utiliza a menudo para proteger los paquetes L2TP proporcionando confidencialidad, autenticación e integridad. La combinación de estos dos protocolos se conoce generalmente como L2TP/IPsec (que se analiza más adelante).

Los dos extremos de un túnel L2TP se denominan concentrador de acceso L2TP (LAC) y servidor de red L2TP (LNS). El LNS espera la creación de nuevos túneles. Una vez establecido un túnel, el tráfico de red entre los nodos es bidireccional. Para facilitar la comunicación en red, los protocolos de nivel superior se ejecutan a través del túnel L2TP. Para ello, se establece una sesión L2TP dentro del túnel para cada protocolo de nivel superior, como PPP. Tanto el LAC como el LNS pueden iniciar las sesiones. El tráfico de cada sesión está aislado por L2TP, lo que permite configurar múltiples redes virtuales a través de un único túnel.

Los paquetes intercambiados dentro de un túnel L2TP se clasifican como paquetes de control o paquetes de datos . L2TP proporciona funciones de confiabilidad para los paquetes de control, pero no para los paquetes de datos. Si se desea confiabilidad, esta debe ser proporcionada por los protocolos anidados que se ejecutan dentro de cada sesión del túnel L2TP.

L2TP permite la creación de una red de acceso telefónico virtual privada (VPDN) [ 5 ] para conectar un cliente remoto a su red corporativa mediante el uso de una infraestructura compartida, que podría ser Internet o la red de un proveedor de servicios.

Modelos de túneles

Un túnel L2TP puede extenderse a través de toda una sesión PPP o solo a través de un segmento de una sesión de dos segmentos. Esto se puede representar mediante cuatro modelos de tunelización diferentes, a saber:

  • túnel voluntario
  • túnel obligatorio — llamada entrante
  • túnel obligatorio — marcación remota
  • Conexión multihop L2TP [ 6 ]

Estructura de paquetes L2TP

Un paquete L2TP consta de  :

Significados de los campos:

Banderas y versión
Indicadores de control que señalan el paquete de datos/control y la presencia de campos de longitud, secuencia y desplazamiento.
Longitud (opcional)
Longitud total del mensaje en bytes, presente solo cuando se activa el indicador de longitud.
ID del túnel
Indica el identificador de la conexión de control.
ID de sesión
Indica el identificador de una sesión dentro de un túnel.
Ns (opcional)
Número de secuencia para este mensaje de datos o control, que comienza en cero y se incrementa en uno (módulo 2¹⁶ ) por cada mensaje enviado. Presente solo cuando se activa el indicador de secuencia.
N.º (opcional)
Número de secuencia del mensaje esperado. Nr se establece en el Ns del último mensaje recibido en orden más uno (módulo 2¹⁶ ) . En los mensajes de datos, Nr está reservado y, si está presente (como lo indica el bit S), DEBE ignorarse al recibirlo.
Tamaño de desplazamiento (opcional)
Especifica la ubicación de los datos de la carga útil después del encabezado L2TP. Si el campo de desplazamiento está presente, el encabezado L2TP finaliza después del último byte del relleno de desplazamiento. Este campo existe si el indicador de desplazamiento está activado.
Almohadilla desplazada (opcional)
Longitud variable, según lo especificado por el tamaño del desplazamiento. El contenido de este campo no está definido.
Datos de carga útil
Longitud variable (tamaño máximo de la carga útil = tamaño máximo del paquete UDP − tamaño del encabezado L2TP)

Intercambio de paquetes L2TP

Al establecer una conexión L2TP, se intercambian numerosos paquetes de control entre el servidor y el cliente para crear un túnel y una sesión en cada dirección. Un extremo solicita al otro que le asigne un ID de túnel y de sesión específicos mediante estos paquetes de control. Posteriormente, utilizando este ID de túnel y de sesión, se intercambian paquetes de datos con tramas PPP comprimidas como carga útil.

La lista de mensajes de control L2TP intercambiados entre LAC y LNS, para el establecimiento de la conexión antes de establecer un túnel y una sesión en el método de tunelización voluntaria son:

L2TP/IPsec

Debido a la falta de confidencialidad inherente a L2TP, a menudo se implementa junto con IPsec . Esto se conoce como L2TP/IPsec y está estandarizado en el RFC 3193 de la IETF . El proceso para configurar una VPN L2TP/IPsec es el siguiente:

  1. La negociación de la asociación de seguridad (SA) de IPsec se realiza normalmente mediante el intercambio de claves de Internet (IKE). Esto se lleva a cabo a través del puerto UDP 500 y suele utilizar una contraseña compartida (las llamadas " claves precompartidas "), claves públicas o certificados X.509 en ambos extremos, aunque existen otros métodos de cifrado.
  2. Establecimiento de la comunicación de la carga útil de seguridad encapsulada (ESP) en modo de transporte. El número de protocolo IP para ESP es 50 (en comparación con el 6 de TCP y el 17 de UDP). En este punto, se ha establecido un canal seguro, pero no se está realizando ningún túnel.
  3. Negociación y establecimiento de un túnel L2TP entre los extremos de la SA. La negociación de parámetros se realiza a través del canal seguro de la SA, dentro del cifrado IPsec. L2TP utiliza el puerto UDP 1701.

Una vez finalizado el proceso, los paquetes L2TP entre los extremos se encapsulan mediante IPsec. Dado que el paquete L2TP se encuentra dentro del paquete IPsec, las direcciones IP de origen y destino originales se cifran dentro del paquete. Además, no es necesario abrir el puerto UDP 1701 en los cortafuegos entre los extremos, ya que los paquetes internos no se procesan hasta que los datos IPsec se hayan descifrado y eliminado, lo cual solo ocurre en los extremos.

Un posible punto de confusión en L2TP/IPsec es el uso de los términos túnel y canal seguro . El término modo túnel se refiere a un canal que permite transportar paquetes sin modificar de una red a través de otra. En el caso de L2TP/PPP, permite transportar paquetes L2TP/PPP a través de IP. Un canal seguro se refiere a una conexión en la que se garantiza la confidencialidad de todos los datos. En L2TP/IPsec, primero IPsec proporciona un canal seguro y luego L2TP proporciona un túnel. IPsec también especifica un protocolo de túnel; este no se utiliza cuando se usa un túnel L2TP.

Implementación de Windows

Windows ha ofrecido soporte nativo (configurable en el panel de control) para L2TP desde Windows 2000. Windows Vista añadió dos herramientas alternativas: un complemento MMC llamado "Firewall de Windows con seguridad avanzada" (WFwAS) y la herramienta de línea de comandos " netsh advfirewall". Una limitación de ambos comandos, WFwAS y netsh, es que los servidores deben especificarse mediante su dirección IP. Windows 10 añadió los comandos de PowerShell " Add-VpnConnection " y " Set-VpnConnectionIPsecConfiguration " . Si el servidor se encuentra detrás de un dispositivo NAT-T, es necesario crear una clave de registro tanto en el cliente como en el servidor.

L2TP en las redes de los ISP

L2TP es utilizado frecuentemente por los ISP cuando revenden servicios de internet, por ejemplo, a través de ADSL o cable . Desde el usuario final, los paquetes viajan a través de la red de un proveedor de servicios de red mayorista hasta un servidor llamado Servidor de Acceso Remoto de Banda Ancha ( BRAS ), que combina un convertidor de protocolo y un enrutador. En redes heredadas, la ruta desde el equipo del cliente final hasta el BRAS puede ser a través de una red ATM . Desde allí, a través de una red IP, un túnel L2TP se extiende desde el BRAS (que actúa como LAC) hasta un LNS, que es un enrutador de borde en el límite de la red IP del ISP de destino final. [ a ]

Referencias RFC

  • RFC 2341 Reenvío de capa dos de Cisco (Protocolo) "L2F" (predecesor de L2TP) 
  • RFC 2637 Protocolo de tunelización punto a punto (PPTP) 
  • RFC 2661 Protocolo de tunelización de capa dos "L2TP" 
  • RFC 2809 Implementación de tunelización obligatoria L2TP a través de RADIUS 
  • RFC 2888 Acceso remoto seguro con L2TP 
  • RFC 3070 Protocolo de tunelización de capa dos (L2TP) sobre Frame Relay 
  • Información sobre la causa de desconexión de L2TP según RFC 3145 
  • RFC 3193 Protección de L2TP mediante IPsec 
  • RFC 3301 Protocolo de tunelización de capa dos (L2TP): red de acceso ATM 
  • RFC 3308 Protocolo de tunelización de capa dos (L2TP) Servicios diferenciados 
  • RFC 3355 Protocolo de tunelización de capa dos (L2TP) sobre la capa de adaptación ATM 5 (AAL5) 
  • RFC 3371 Base de información de gestión del protocolo de tunelización de capa dos "L2TP" 
  • RFC 3437 Extensiones del protocolo de tunelización de capa dos para la negociación del protocolo de control de enlace PPP 
  • RFC 3438 Protocolo de tunelización de capa dos (L2TP) Números asignados por Internet: Consideraciones de la Autoridad de Números Asignados por Internet (IANA) Actualización 
  • RFC 3573 Señalización del estado de módem en espera en el protocolo de tunelización de capa 2 (L2TP) 
  • RFC 3817 Protocolo de tunelización de capa 2 (L2TP) Retransmisión de descubrimiento activo para PPP sobre Ethernet (PPPoE) 
  • RFC 3931 Protocolo de tunelización de capa dos - Versión 3 ( L2TPv3 ) 
  • Extensiones RFC 4045 para admitir el transporte eficiente de tráfico multicast en el protocolo de tunelización de capa 2 (L2TP) 
  • RFC 4951 Extensiones de conmutación por error para el protocolo de tunelización de capa 2 (L2TP) "failover" 

Véase también

Referencias

  1. Ver ejemplo de proveedores de servicios de Internet revendedores que utilizan L2TP .
  1. IETF (1999), RFC 2661, Protocolo de tunelización de capa dos "L2TP"
  2. "Protocolo de tunelización punto a punto (PPTP)" . TheNetworkEncyclopedia.com. 2013. Consultado el 28 de julio de 2014. Protocolo de tunelización punto a punto (PPTP) [:] Un protocolo de capa de enlace de datos para redes de área amplia (WAN) basado en el Protocolo punto a punto (PPP) y desarrollado por Microsoft que permite encapsular y enrutar el tráfico de red a través de una red pública no segura como Internet.
  3. Titz, Olaf (23 de abril de 2001). "Por qué TCP sobre TCP es una mala idea" . Archivado del original el 1 de septiembre de 2015. Recuperado el 17 de octubre de 2015 .
  4. Honda, Osamu; Ohsaki, Hiroyuki; Imase, Makoto; Ishizuka, Mika; Murayama, Junichi (octubre de 2005). "Understanding TCP over TCP: effects of TCP tunneling on end-to-end throughput and latency". En Atiquzzaman, Mohammed; Balandin, Sergey I (eds.). Performance, Quality of Service, and Control of Next-Generation Communication and Sensor Networks III . Vol. 6011. Bibcode : 2005SPIE.6011..138H . CiteSeerX 10.1.1.78.5815 . doi : 10.1117/12.630496 . S2CID 8945952 .   
  5. "Soporte de Cisco: Entendiendo VPDN – Actualizado el 29 de enero de 2008" . Archivado del original el 13 de diciembre de 2013. Consultado el 5 de diciembre de 2013 .
  6. Centro de conocimiento de IBM: Conexión L2TP de múltiples saltos

Implementaciones

  • Cisco: Documentación de Cisco L2TP . Lea también el informe técnico de Cisco.
  • Código abierto y Linux: xl2tpd Archivado el 23/09/2010 en Wayback Machine , Linux RP-L2TP , OpenL2TP , l2tpns , l2tpd (inactivo), Servidor Linux L2TP/IPsec Archivado el 16/07/2012 en Wayback Machine , Demonio PPP multi-link de FreeBSD , OpenBSD npppd(8) , ACCEL-PPP - Servidor PPTP/L2TP/PPPoE para Linux
  • Microsoft: cliente integrado incluido con Windows 2000 y versiones posteriores; Cliente VPN L2TP/IPsec de Microsoft para Windows 98/Windows Me/Windows NT 4.0
  • Apple: cliente integrado incluido con Mac OS X 10.3 y versiones posteriores.
  • VPDN en Cisco.com

Otro

  • IANA asignó números para L2TP.
  • Grupo de Trabajo de Extensiones L2TP (l2tpext) - (donde se coordina el trabajo de estandarización futuro)
  • Utilizar Linux como cliente VPN L2TP/IPsec
  • L2TP/IPSec con OpenBSD y npppd
  • Comparación de L2TP, PPTP y OpenVPN