NAT64 a gran escala
Debido al inminente agotamiento de las direcciones IPv4, los ISP han comenzado la transición a la infraestructura IPv6. Sin embargo, durante la transición, los ISP deben seguir admitiendo IPv4 junto con IPv6, ya que la mayor parte de la Internet pública sigue utilizando IPv4. NAT64 a gran escala es una solución de transición a IPv6 para que los ISP con infraestructura IPv6 conecten a sus suscriptores que solo utilizan IPv6 a Internet IPv4. DNS64 es una solución que permite que los clientes que solo IPv6 descubran dominios solo para IPv4. DNS64 se usa con NAT64 a gran escala para permitir una comunicación fluida entre los clientes que solo usan IPv6 y los servidores que solo usan IPv4.
Un dispositivo NetScaler implementa NAT64 y DNS64 a gran escala y cumple con los RFC 6145, 6146, 6147, 6052, 3022, 2373, 2765 y 2464.
Arquitectura
La arquitectura NAT64 de un ISP que utiliza un dispositivo NetScaler consiste en que los suscriptores de IPv6 acceden a Internet IPv4 a través de un dispositivo NetScaler implementado en la red principal del ISP. Los suscriptores de IPv6 se conectan a la red principal del ISP a través de la red de acceso solo para IPv6 del ISP.
La funcionalidad NAT64 a gran escala de un dispositivo NetScaler permite la comunicación entre los clientes IPv6 y los servidores IPv4 mediante la traducción de paquetes de IPv6 a IPv4 y viceversa, al tiempo que mantiene la información de la sesión en el dispositivo NetScaler. La funcionalidad DNS64 de IPv4 representa los dominios solo de IPv4 a los suscriptores de IPv6 al sintetizar los registros AAAA de DNS para los dominios solo de IPv4 y enviarlos a los suscriptores.
El NAT64 a gran escala tiene dos componentes principales: el prefijo NAT64 y el grupo NAT IPv4. DNS64 tiene un componente principal, el prefijo DNS64, que tiene el mismo valor que el prefijo NAT64.
Al recibir una solicitud AAAA de un suscriptor que solo usa IPv6 para un nombre de dominio alojado en un servidor web solo IPv4 en Internet, la funcionalidad DNS64 de NetScaler sintetiza un registro AAAA para el nombre de dominio y lo envía al suscriptor. El registro AAAA se sintetiza concatenando el prefijo DNS64 (que se establece en el prefijo NAT64) y la dirección IPv4 real del nombre de dominio.
El suscriptor ahora tiene una dirección de destino IPv6 que corresponde al nombre de dominio deseado. El suscriptor envía la solicitud a la dirección IPv6 sintetizada. Al recibir la solicitud IPv6, la funcionalidad NAT64 de NetScaler a gran escala traduce el paquete de solicitud IPv6 en un paquete de solicitud IPv4. NAT64 a gran escala establece la dirección de destino de la solicitud IPv4 en la dirección IPv4, que se extrae de la dirección de destino de la solicitud IPv6 quitando el prefijo NAT64 de la dirección IPv6. El puerto de destino se conserva de la solicitud de IPv6. El NAT64 a gran escala también establece la dirección IP de origen: puerto de origen del paquete IPv4 en la dirección IP NAT: puerto NAT seleccionada del grupo de NAT configurado.
El dispositivo mantiene un registro de todas las sesiones activas que utilizan la funcionalidad NAT64 a gran escala. Estas sesiones se denominan sesiones NAT64 a gran escala. El dispositivo también mantiene las asignaciones entre la dirección y el puerto IPv6 del suscriptor y la dirección y el puerto IPv4 de NAT para cada sesión de NAT64 a gran escala. Estos mapeos se denominan mapeos NAT64 a gran escala. A partir de las entradas de sesión NAT64 a gran escala y las entradas de mapeo de NAT64 a gran escala, el dispositivo NetScaler reconoce un paquete de respuesta (recibido de Internet) como perteneciente a una sesión NAT64 determinada.
Cuando el dispositivo recibe un paquete de respuesta IPv4 que pertenece a una sesión NAT64 determinada, utiliza la información almacenada en la sesión NAT64 para traducir el paquete IPv4 en un paquete IPv6 y, a continuación, envía el paquete de respuesta IPv6 al suscriptor.
Ejemplo: Flujo de tráfico de la implementación de NAT64 y DNS64
Consideremos un ejemplo de una implementación de NAT64 y DNS64 a gran escala que consiste en el dispositivo NetScaler NS-1 y dos servidores DNS locales, DNS-1 y DNS-2, en la red principal de un ISP, y el suscriptor IPv6 SUB-1. El SUB-1 está conectado al NS-1 a través de la red de acceso IPv6 del ISP. El NS-1 incluye configuraciones de NAT64 y DNS64 a gran escala para permitir la comunicación entre los hosts SUB-1 del suscriptor IPv6 y los hosts IPv4 (internos y externos).
La configuración de NAT64 a gran escala incluye un prefijo NAT64 (2001:DB 8:300: :/96) y un grupo NAT IPv4 para traducir las solicitudes de IPv6 a solicitudes de IPv4 y las respuestas de IPv4 a las respuestas de IPv6.
La configuración de DNS64 incluye un servidor virtual de equilibrio de carga DNS LBVS-DNS64-1 (2001:DB 8:9999: :99) y un prefijo DNS64 (2001:DB 8:300: :/96). El LBVS-DNS64-1 representa los servidores DNS locales DNS-1 y DNS-2 para los suscriptores del ISP. El prefijo DNS64, que tiene el mismo valor que el prefijo NAT64, se utiliza para sintetizar los registros AAAA de DNS a partir de los registros DNS A recibidos de los servidores DNS DNS-1 y DNS-2. El NS-1 responde con un registro AAAA sintetizado a SUB-1 a una solicitud de DNS para resolver un host IPv4.
Flujo de tráfico de DNS64
El tráfico fluye entre el suscriptor de IPv6 SUB-1 y el sitio www.example.com
, que reside en un servidor web solo para IPv4 en Internet, de la siguiente manera:
- El suscriptor de IPv6 SUB-1 envía una solicitud AAAA de DNS
www.example.com
a su servidor DNS designado (2001:DB 8:9999: :99). - El servidor virtual de equilibrio de carga DNS LBVS-DNS64-1 (2001:DB 8:9999: :99) del dispositivo NetScaler NS1 recibe la solicitud AAAA. El algoritmo de equilibrio de carga del LBVS-DNS64-1 selecciona el servidor DNS DNS-1 y le reenvía la solicitud AAAA.
- El DNS-1 devuelve un registro vacío o un mensaje de error, porque no hay ningún registro AAAA disponible para.
www.example.com
- Como la opción DNS64 está habilitada en LBVS-DNS64-1 y la solicitud AAAA de CL1 coincide con la condición especificada en DNS64-Policy-1, NS1 envía una solicitud de DNS A a DNS-1 para la dirección IPv4 de.
www.example.com
- DNS-1 responde con el registro A de 192.0.2.60 para.
www.example.com
- El módulo DNS64 de NS1 sintetiza un registro AAAA para
www.example.com
mediante la concatenación del prefijo DNS64 (2001:DB 8:300: :/96) asociado a LBVS-DNS64-1 y la dirección IPv4 (192.0.2.60) para = 2001:DB 8:300: :192.0.2.60www.example.com
- NS1 envía el registro AAAA sintetizado al cliente IPv6 CL1. NS1 también almacena en caché el registro A en su memoria. NS1 usa el registro A en caché para sintetizar los registros AAAA para las solicitudes AAAA posteriores.
Flujo de tráfico NAT64
-
El suscriptor de IPv6 SUB-1 envía una solicitud a 2001:DB 8:5001:30.
www.example.com
El paquete IPv6 tiene:- Dirección IP de origen = 2001:DB 8:5001:30
- Puerto de origen = 2552
- Dirección IP de destino = 2001:DB 8:300: :192.0.2.60
- Puerto de destino = 80
-
El suscriptor de IPv6 SUB-1 envía una solicitud a 2001:DB 8:5001:30.
www.example.com
El paquete IPv6 tiene:- Dirección IP de origen = 2001:DB 8:5001:30
- Puerto de origen = 2552
- Dirección IP de destino = 2001:DB 8:300: :192.0.2.60
- Puerto de destino = 80
-
Cuando el NS-1 recibe el paquete IPv6, el módulo NAT64 a gran escala crea un paquete de solicitud IPv4 traducido con:
- Dirección IP de origen = Una de las direcciones IPv4 disponibles en el grupo de NAT configurado (203.0.113.61)
- Puerto de origen = Uno de los puertos disponibles con la dirección IPv4 NAT asignada (3002)
- Dirección IP de destino = dirección IPv4 extraída de la dirección de destino de la solicitud IPv6 quitando el prefijo NAT64 (2001:DB 8:300: :/96) de la dirección IPv6 (192.0.2.60)
- Puerto de destino = puerto de destino de la solicitud IPv6 (80)
-
El módulo NAT64 a gran escala también crea entradas de mapeo y sesión para este flujo NAT64 a gran escala. Las entradas de sesión y mapeo incluyen la siguiente información:
- Dirección IP de origen del paquete IPv6 = 2001:DB 8:5001:30
- Puerto de origen del paquete IPv6 = 2552
- Dirección IP NAT = 203.0.113.61
- Puerto NAT = 3002
- El NS-1 envía el paquete IPv4 resultante a su destino en Internet.
-
Tras recibir el paquete de solicitud, el servidor
www.example.com
procesa el paquete y envía un paquete de respuesta al NS-1. El paquete de respuesta IPv4 tiene:- Dirección IP de origen = 192.0.2.60
- Puerto de origen = 80
- Dirección IP de destino = 203.0.113.61
- Puerto de destino = 3002
-
Al recibir el paquete de respuesta IPv4, el NS-1 examina el mapeo de NAT64 a gran escala y las entradas de sesión y descubre que el paquete de respuesta IPv4 pertenece a una sesión NAT64 a gran escala. El módulo NAT64 a gran escala crea un paquete de respuesta IPv6 traducido:
- Dirección IP de origen = 2001:DB 8:300: :192.0.2.60
- Puerto de origen = 80
- Dirección IP de destino = 2001:DB 8:5001:30
- Puerto de destino = 2552
-
El NS-1 envía la respuesta IPv6 traducida al cliente SUB-1.
Funciones de NAT64 a gran escala compatibles con los dispositivos NetScaler
NAT64 a gran escala en un dispositivo NetScaler admite el conjunto de funciones LSN estándar. Para obtener más información sobre estas funciones de LSN, consulte Arquitectura LSN.
A continuación se presentan algunas de las funciones NAT64 a gran escala compatibles con los dispositivos NetScaler:
- Rezagos. Compatibilidad con la aplicación Layer Gateway (ALG) para los protocolos SIP, RTSP, FTP, ICMP y TFTP.
- NAT determinista/fija. Soporte para la preasignación de bloques de puertos a los suscriptores para minimizar el registro.
- Cartografía. Compatibilidad con el mapeo independiente del punto final (EIM), el mapeo dependiente de la dirección (ADM) y el mapeo dependiente del puerto de direcciones (APDM).
- Filtrado. Compatibilidad con el filtrado independiente del punto final (EIF), el filtrado dependiente de la dirección (ADF) y el filtrado dependiente del puerto de direcciones (APDF).
- Cuotas. Límites configurables en cuanto al número de puertos, sesiones por suscriptor y sesiones por grupo LSN.
- Mapeo estático. Soporte para definir manualmente un mapeo NAT64 a gran escala.
- Hairpin Flow. Soporte para la comunicación entre suscriptores o hosts internos mediante direcciones IP NAT.
- Conexiones 464XLAT. Soporte para la comunicación entre aplicaciones que solo utilizan IPv4 en hosts de suscriptores de IPv6 y hosts IPv4 en Internet a través de la red IPv6.
- Prefijos NAT64 y DNS64 de longitud variable. El dispositivo NetScaler admite la definición de prefijos NAT64 y DNS64 de longitudes de 32, 40, 48, 56, 64 y 96.
- Prefijos múltiples de NAT64 y DNS64. El dispositivo NetScaler admite varios prefijos NAT64 y DNS64.
- Clientes de LSN. Soporte para especificar o identificar suscriptores para NAT64 a gran escala mediante prefijos de IPv6 y reglas ACL6 ampliadas.
- Captura de registros. Soporte para registrar sesiones de NAT64 para las fuerzas del orden. Además, también se admite lo siguiente para el registro.
- SYSLOG confiable. Soporte para enviar mensajes SYSLOG a través de TCP a servidores de registro externos para un mecanismo de transporte más confiable.
- Equilibrio de carga de los servidores de registro. Soporte para el equilibrio de carga de servidores de registro externos para evitar el almacenamiento de mensajes de registro redundantes.
- Registro mínimo. Las configuraciones LSN deterministas o las configuraciones LSN dinámicas con bloque de puertos reducen significativamente el volumen de registros de NAT64 a gran escala.
- Registro de información de MSISDN. Soporte para incluir la información MSISDN de los suscriptores en registros NAT64 a gran escala para identificar y rastrear la actividad de los suscriptores a través de Internet.